/* Calendar UX phase 6: content-first month view, dynamic filters and linked agenda. */
.ux-cal-filter{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding-bottom:4px}.ux-cal-filter .g-filter{flex:0 0 auto;white-space:nowrap}
.ux-cal-layout{grid-template-columns:minmax(0,1fr) 360px;gap:34px}
.ux-cal-toolbar{justify-content:space-between;gap:18px;margin-bottom:18px}.ux-cal-month-control{display:flex;align-items:center;gap:9px}.ux-cal-arrow,.ux-cal-today{display:inline-grid;place-items:center;border:1px solid var(--g-line-strong);color:var(--g-text-soft);background:transparent;text-decoration:none;transition:border-color .18s ease,color .18s ease,background .18s ease}.ux-cal-arrow{width:32px;height:32px;border-radius:50%}.ux-cal-today{min-height:32px;padding:0 13px;border-radius:18px;font-size:.72rem;font-weight:700;letter-spacing:.03em}.ux-cal-arrow:hover,.ux-cal-arrow:focus-visible,.ux-cal-today:hover,.ux-cal-today:focus-visible{border-color:var(--g-gold);color:var(--g-gold-deep);background:var(--g-surface)}
.ux-cal-month-jump{position:relative}.ux-cal-month-jump>summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none}.ux-cal-month-jump>summary::-webkit-details-marker{display:none}.ux-cal-month{font-size:1.2rem}.ux-cal-month-caret{color:var(--g-muted);font-size:.78rem}.ux-cal-month-form{position:absolute;z-index:20;top:calc(100% + 10px);left:50%;transform:translateX(-50%);display:flex;gap:8px;padding:10px;border:1px solid var(--g-line);background:var(--g-surface);box-shadow:0 12px 28px rgba(40,32,22,.10);white-space:nowrap}.ux-cal-month-form input{min-height:34px;border:1px solid var(--g-line-strong);background:transparent;color:var(--g-text);padding:4px 7px;font:inherit}.ux-cal-month-form button{min-height:34px;padding:0 12px;border:1px solid var(--g-gold);background:var(--g-gold);color:#fff;font-size:.72rem;font-weight:700;cursor:pointer}
.ux-cal-month-empty{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:11px 13px;border:1px solid var(--g-line);background:var(--g-surface-soft);color:var(--g-muted);font-size:.76rem}.ux-cal-month-empty a{color:var(--g-gold-deep);font-weight:700;text-decoration:none;white-space:nowrap}
.ux-cal-day{min-height:122px;padding:9px 8px}.ux-cal-day.is-focused{box-shadow:inset 0 0 0 2px var(--g-gold);background:color-mix(in srgb,var(--g-gold) 5%,var(--g-surface))}.ux-cal-day-events{display:flex;flex-direction:column;gap:4px;margin-top:7px}.ux-cal-event{float:none;position:relative;display:flex;align-items:stretch;width:100%;height:auto;margin:0;padding:0;border:1px solid transparent;border-radius:2px;background:color-mix(in srgb,var(--g-gold) 10%,var(--g-surface));color:var(--g-text-soft);font-size:.66rem;line-height:1.2;overflow:hidden}.ux-cal-event:nth-of-type(2),.ux-cal-event:nth-of-type(3){background:color-mix(in srgb,var(--g-gold) 10%,var(--g-surface))}.ux-cal-event.is-focused{border-color:var(--g-gold);background:color-mix(in srgb,var(--g-gold) 18%,var(--g-surface))}.ux-cal-event-focus{min-width:0;flex:1;display:flex;align-items:flex-start;justify-content:space-between;gap:5px;padding:5px 5px 5px 7px;color:inherit;text-decoration:none}.ux-cal-event-title{display:-webkit-box;min-width:0;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:650}.ux-cal-event time{display:block;flex:0 0 auto;margin-top:1px;color:var(--g-gold-deep);font-size:.58rem;font-weight:700}.ux-cal-event-detail{flex:0 0 20px;display:grid;place-items:center;border-left:1px solid color-mix(in srgb,var(--g-line) 75%,transparent);color:var(--g-muted);text-decoration:none;font-size:.64rem}.ux-cal-event-detail:hover,.ux-cal-event-detail:focus-visible{color:var(--g-gold-deep);background:var(--g-surface)}.ux-cal-more{color:var(--g-muted);font-size:.62rem;font-weight:700;padding:1px 2px}
.ux-cal-rail>.g-section-title{margin-bottom:14px}.ux-cal-agenda{gap:10px}.ux-cal-agenda-item{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr);gap:13px;min-height:88px;padding:13px;border-radius:2px;transition:border-color .18s ease,transform .18s ease,background .18s ease}.ux-cal-agenda-item:hover,.ux-cal-agenda-item:focus-within{border-color:var(--g-gold);transform:translateY(-1px)}.ux-cal-agenda-item.is-focused{border-color:var(--g-gold);background:color-mix(in srgb,var(--g-gold) 6%,var(--g-surface))}.ux-cal-agenda-focus{position:absolute;inset:0;z-index:1}.ux-cal-agenda-dateblock,.ux-cal-agenda-copy{position:relative;z-index:2;pointer-events:none}.ux-cal-agenda-dateblock{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding-right:10px;border-right:1px solid var(--g-line)}.ux-cal-agenda-dateblock strong{font-family:var(--g-font-display);font-size:1.75rem;line-height:.9;font-weight:600;color:var(--g-text)}.ux-cal-agenda-dateblock span{margin-top:6px;color:var(--g-gold-deep);font-size:.64rem;font-weight:800;letter-spacing:.08em}.ux-cal-agenda-dateblock small{margin-top:2px;color:var(--g-muted);font-size:.6rem}.ux-cal-agenda-copy{min-width:0}.ux-cal-agenda-time{color:var(--g-gold-deep);font-size:.65rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.ux-cal-agenda-title{pointer-events:auto;position:relative;z-index:3;display:block;margin:4px 0 5px;color:var(--g-text);font-family:var(--g-font-display);font-size:.96rem;font-weight:700;line-height:1.28;text-decoration:none}.ux-cal-agenda-title:hover,.ux-cal-agenda-title:focus-visible{color:var(--g-gold-deep)}.ux-cal-agenda-meta{font-size:.69rem}
@media(max-width:1050px){.ux-cal-layout{grid-template-columns:1fr}.ux-cal-rail{margin-top:8px}.ux-cal-agenda{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.ux-cal-filter{margin-right:calc(var(--g-pad,20px) * -1);padding-right:var(--g-pad,20px)}.ux-cal-toolbar{padding-bottom:14px}.ux-cal-agenda{grid-template-columns:1fr}.ux-cal-agenda-focus{display:none}.ux-cal-agenda-title{pointer-events:auto}}
@media(max-width:560px){.ux-cal-toolbar{align-items:flex-start}.ux-cal-month-control{gap:6px}.ux-cal-arrow{width:30px;height:30px}.ux-cal-today{min-height:30px;padding:0 10px}.ux-cal-month{font-size:1rem}.ux-cal-month-form{left:0;transform:none}.ux-cal-month-empty{align-items:flex-start;flex-direction:column}.ux-cal-agenda-item{grid-template-columns:52px minmax(0,1fr)}}
