/* Dates navigate the list; all top filters share the activity control's glass surface. */
.filter-toolbar .utility-filters>.schedule-entry{box-sizing:border-box;display:inline-flex;align-items:center;flex:none;gap:0;height:40px;padding:0!important;margin:0 2px;border:1px solid var(--glass-edge,rgba(110,130,150,.17));border-radius:999px;background:var(--glass-surface,rgba(255,255,255,.64));box-shadow:var(--glass-shadow,0 3px 12px #172b4509);overflow:hidden;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.filter-toolbar .utility-filters>.schedule-entry::before{display:none}
.filter-toolbar .utility-filters>.schedule-entry:has(#schedule-toggle.selected){background:var(--glass-hover,#edf2f8);border-color:rgba(108,128,153,.2)}
.filter-toolbar .utility-filters .schedule-entry #schedule-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;min-width:62px!important;max-width:none!important;flex:0 0 auto!important;height:38px;min-height:38px;padding:0 8px!important;gap:0;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:inherit;font-size:13.5px;white-space:nowrap}
/* Legacy filter styles target #schedule-toggle on hover and selection. The shell owns the fill. */
html body .controls .filter-toolbar .utility-filters .schedule-entry #schedule-toggle,
html body .controls .filter-toolbar .utility-filters .schedule-entry #schedule-toggle:is(.selected,[aria-expanded=true],:hover,:active,:focus-visible){background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;color:#394d64!important}
.schedule-entry .schedule-label{display:inline!important;line-height:1;white-space:nowrap}
.filter-toolbar .utility-filters .schedule-entry .schedule-step{display:grid;place-items:center;flex:0 0 27px;width:27px;height:38px;padding:0;border:0;border-radius:0;background:transparent;color:#576777;box-shadow:none}
.schedule-entry .schedule-step svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.schedule-entry .schedule-step:first-child,.schedule-entry .schedule-step:nth-of-type(3){border:0!important}
.filter-toolbar .utility-filters .schedule-entry .schedule-step:not(:disabled):hover{background:transparent;color:#175b9f}
.filter-toolbar .utility-filters .schedule-entry .schedule-step:disabled{opacity:.36;cursor:default}
.filter-toolbar .utility-filters .schedule-entry #quick-clear-schedule:not([hidden]){position:static!important;inset:auto!important;transform:none!important;flex:0 0 23px;width:23px!important;min-width:23px!important;height:38px!important;min-height:38px!important;padding:0!important;border:0!important;border-left:1px solid rgba(23,91,159,.18)!important;border-radius:0!important;background:transparent!important;color:#175b9f;box-shadow:none!important}
.filter-toolbar .utility-filters .schedule-entry #quick-clear-schedule::before{display:none}
.filter-toolbar .utility-filters .schedule-entry #quick-clear-schedule:not([hidden]):hover{background:rgba(23,91,159,.08)!important}
.filter-toolbar .utility-filters .schedule-entry #quick-clear-schedule[hidden]{display:none!important}

#schedule-popover.schedule-popover{width:min(330px,calc(100vw - 24px));padding:18px 18px 14px;border-radius:20px}
.schedule-popover .popover-heading{margin-bottom:2px}
.schedule-days{display:grid;grid-template-columns:repeat(auto-fit,minmax(36px,1fr));gap:4px;margin:16px 0 18px}
.schedule-days button,.schedule-days button:last-child:nth-child(odd){display:flex;flex-direction:column;align-items:center;justify-content:center;grid-column:auto;min-width:0;min-height:58px;padding:5px 0;border:1px solid transparent;border-radius:12px;background:transparent;color:#485564;font-size:13px;line-height:1.1}
.schedule-days button[hidden]{display:none!important}
.schedule-days button:hover{background:#eef4fb;border-color:#dce8f5}
.schedule-days button[aria-pressed=true]{background:#e7f0fc;border-color:#c4dcf5;color:#1764ac}
.schedule-days button[aria-current=date] .schedule-day-number{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.schedule-weekday{font-size:10px;font-weight:550;color:#8793a0;text-transform:uppercase}
.schedule-day-number{margin-top:7px;font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}
.schedule-days button[aria-pressed=true] .schedule-weekday{color:#5384b7}
#schedule-no-dates{margin:12px 0;color:#7b8796;font-size:13px}
.schedule-time-options{margin-top:14px;padding-top:13px;border-top:1px solid #e6eaf0}
.schedule-time-options summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;color:#485564;font-size:13px;font-weight:600}
.schedule-time-options summary::-webkit-details-marker{display:none}
.schedule-time-options summary::after{content:'⌄';margin-left:auto;color:#8995a3;font-size:18px;line-height:1;transition:transform .15s}
.schedule-time-options[open] summary::after{transform:rotate(180deg)}
.schedule-time-options output{margin-left:auto;color:#7b8796;font-size:12px;font-weight:400}
.schedule-time-options .level-range{margin-top:23px}
.schedule-time-options .range-scale{margin-bottom:6px}
#schedule-reset{display:block;min-height:34px;margin:10px 0 0 auto;padding:0 4px;border:0;background:transparent;color:#1764ac;font-size:12px;font-weight:600}
.schedule-popover button:focus-visible,.schedule-entry button:focus-visible,.schedule-time-options summary:focus-visible{outline:2px solid #0877e8;outline-offset:2px}

@media(max-width:620px){.filter-toolbar .utility-filters .schedule-entry #schedule-toggle{height:38px;min-height:38px;min-width:58px!important;padding:0 7px!important}.filter-toolbar .utility-filters .schedule-entry .schedule-step{height:38px;flex-basis:26px;width:26px}.filter-toolbar .utility-filters .schedule-entry #quick-clear-schedule:not([hidden]){height:38px!important;min-height:38px!important}}
@media(max-width:360px){.filter-toolbar .utility-filters .schedule-entry #schedule-toggle{min-width:54px!important;padding:0 6px!important}.filter-toolbar .utility-filters .schedule-entry .schedule-step{flex-basis:24px;width:24px}}

html[data-theme=dark] .filter-toolbar .utility-filters>.schedule-entry{background:linear-gradient(135deg,#292e36ee,#20252ded);border-color:#ffffff14;box-shadow:0 3px 14px #0002}
html[data-theme=dark] .filter-toolbar .utility-filters>.schedule-entry:has(#schedule-toggle.selected){background:linear-gradient(135deg,#394351ed,#303947ee);border-color:#b0c4dd30}
html[data-theme=dark] body .controls .filter-toolbar .utility-filters .schedule-entry #schedule-toggle,
html[data-theme=dark] body .controls .filter-toolbar .utility-filters .schedule-entry #schedule-toggle:is(.selected,[aria-expanded=true],:hover,:active,:focus-visible){background:transparent!important;background-image:none!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;color:#e4ebf5!important}
html[data-theme=dark] .filter-toolbar .utility-filters .schedule-entry .schedule-step:not(:disabled):hover{background:transparent!important;color:#e4ebf5}
html[data-theme=dark] .filter-toolbar .utility-filters .schedule-entry .schedule-step{color:#b8c6d6}
html[data-theme=dark] .filter-toolbar .utility-filters .schedule-entry #quick-clear-schedule:not([hidden]){border-color:#ffffff1b!important}
html[data-theme=dark] #schedule-popover.schedule-popover{background:#1b1e24;border-color:#ffffff18;color:#e6eaf0}
html[data-theme=dark] :is(.schedule-weekday,.schedule-time-options output){color:#a6b0bd}
html[data-theme=dark] .schedule-days button{background:transparent;color:#d0d8e3;border-color:transparent}
html[data-theme=dark] .schedule-days button:hover{background:#293542;border-color:#3c526c}
html[data-theme=dark] .schedule-days button[aria-pressed=true]{background:#243b55;border-color:#44678e;color:#a5cfff}
html[data-theme=dark] .schedule-days button[aria-pressed=true] .schedule-weekday{color:#8fbce9}
html[data-theme=dark] .schedule-time-options{border-color:#ffffff16}
html[data-theme=dark] .schedule-time-options summary{color:#d0d8e3}
html[data-theme=dark] #schedule-reset{color:#8ec4ff}

/* One height and type scale for the activity tabs and filter chips. */
.controls .filter-toolbar .activity-bar button,
.controls .filter-toolbar .utility-filters :is(#location-toggle,#centre-toggle,#level-toggle),
.controls .filter-toolbar .utility-filters .schedule-entry #schedule-toggle{font:500 13.5px/1 var(--ui-font)!important}
.controls .filter-toolbar .activity-bar .filter-label{font:inherit!important}
.controls .filter-toolbar .utility-filters :is(#location-toggle,#centre-toggle,#level-toggle){height:40px!important;min-height:40px!important}

/* Keep the top controls translucent, with one softer glass finish across tabs and chips. */
html[data-theme=light]{--filter-surface:linear-gradient(135deg,rgba(255,255,255,.78),rgba(255,255,255,.64) 42%,rgba(255,255,255,.73));--filter-selected:linear-gradient(145deg,rgba(247,251,255,.82),rgba(218,234,251,.69));--filter-hover:linear-gradient(135deg,rgba(255,255,255,.86),rgba(241,248,255,.72));--filter-edge:rgba(255,255,255,.2);--filter-text:#344154;--filter-selected-text:#155b9c;--filter-shadow:0 4px 16px #172b4512,inset 0 1px 0 #ffffff66}
html[data-theme=dark]{--filter-surface:linear-gradient(135deg,rgba(46,54,66,.85),rgba(31,38,48,.79) 42%,rgba(39,47,59,.83));--filter-selected:linear-gradient(145deg,rgba(58,71,88,.9),rgba(43,55,70,.84));--filter-hover:linear-gradient(135deg,rgba(59,70,85,.9),rgba(41,50,63,.84));--filter-edge:rgba(255,255,255,.08);--filter-text:#e2eaf4;--filter-selected-text:#a9d0ff;--filter-shadow:0 4px 16px #0004,inset 0 1px 0 #ffffff17}
/* The horizontally scrolling mobile filter row clips long shadows. Keep these subtle within its padding. */
@media(max-width:620px){
 html[data-theme=light]{--filter-shadow:0 2px 5px #172b4517,inset 0 1px 0 #ffffff40}
 html[data-theme=dark]{--filter-shadow:0 2px 5px #0003,inset 0 1px 0 #ffffff12}
}
html[data-theme] body .controls .filter-toolbar :is(.activity-bar,#activity-select),
html[data-theme] body .controls .filter-toolbar .utility-filters :is(#location-toggle,#centre-toggle,#level-toggle),
html[data-theme] body .controls .filter-toolbar .utility-filters>.schedule-entry{background:var(--filter-surface)!important;border-color:var(--filter-edge)!important;box-shadow:var(--filter-shadow)!important;-webkit-backdrop-filter:blur(12px) saturate(1.25)!important;backdrop-filter:blur(12px) saturate(1.25)!important}
html[data-theme] body .controls .filter-toolbar .activity-bar button,
html[data-theme] body .controls .filter-toolbar #activity-select,
html[data-theme] body .controls .filter-toolbar .utility-filters :is(#location-toggle,#centre-toggle,#level-toggle){color:var(--filter-text)!important}
html[data-theme] body .controls .filter-toolbar .activity-bar button:is(.selected,[aria-pressed=true]),
html[data-theme] body .controls .filter-toolbar .utility-filters :is(#location-toggle,#centre-toggle,#level-toggle):is(.selected,[aria-expanded=true]){background:var(--filter-selected)!important;border-color:transparent!important;color:var(--filter-selected-text)!important;box-shadow:inset 0 1px 0 #ffffff30!important}
html[data-theme] body .controls .filter-toolbar .utility-filters>.schedule-entry:has(#schedule-toggle:is(.selected,[aria-expanded=true])){background:var(--filter-selected)!important;border-color:var(--filter-edge)!important;box-shadow:var(--filter-shadow)!important}
html[data-theme] body .controls .filter-toolbar .activity-bar button:hover:not(.selected),
html[data-theme] body .controls .filter-toolbar .utility-filters :is(#location-toggle,#centre-toggle,#level-toggle):hover:not(.selected){background:var(--filter-hover)!important;border-color:transparent!important;color:var(--filter-text)!important}
html[data-theme] body .controls .filter-toolbar .utility-filters .schedule-entry #schedule-toggle,
html[data-theme] body .controls .filter-toolbar .utility-filters .schedule-entry #schedule-toggle:is(.selected,[aria-expanded=true],:hover,:active,:focus-visible){background:transparent!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;color:var(--filter-text)!important}
html[data-theme] body .controls .filter-toolbar .utility-filters .schedule-entry:has(#schedule-toggle:is(.selected,[aria-expanded=true])) #schedule-toggle{color:var(--filter-selected-text)!important}
html[data-theme] body .controls .filter-toolbar .utility-filters .schedule-entry .schedule-step{color:var(--filter-text)!important}
html[data-theme] body .controls .filter-toolbar .utility-filters :is(#location-toggle,#centre-toggle,#level-toggle) :is(.fi,.filter-circle){color:inherit!important}
@media(prefers-reduced-transparency:reduce){
 html[data-theme=light]{--filter-surface:#f7f9fc;--filter-selected:#e1ecfa;--filter-hover:#edf4fc}
 html[data-theme=dark]{--filter-surface:#252b35;--filter-selected:#374455;--filter-hover:#2e3846}
 html[data-theme] body .controls .filter-toolbar :is(.activity-bar,#activity-select),
 html[data-theme] body .controls .filter-toolbar .utility-filters :is(#location-toggle,#centre-toggle,#level-toggle),
 html[data-theme] body .controls .filter-toolbar .utility-filters>.schedule-entry{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
}
@media(min-width:901px){.day-group>.day-heading{font-size:20px;line-height:1.3;margin-bottom:16px}}

/* A selected day has one list and a direct action to the following day. */
.next-day-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin-top:18px;padding:10px 16px;border:0;border-radius:999px;background:#0877e8;color:#fff;font:600 13.5px/1.2 var(--ui-font,Inter,sans-serif)}
.next-day-button:hover{background:#0066cc}
.next-day-button[hidden]{display:none!important}
.empty #clear-all-filters{display:block;margin:12px auto 0;padding:8px 12px;border:0;background:transparent;color:#1764ac;font-size:13px}
.map-empty-day{padding:22px 20px;border-bottom:1px solid var(--edge,#e2e5e9)}
.map-empty-day h3{margin:0 0 8px;font:650 17px/1.35 var(--ui-font,Inter,sans-serif);color:var(--text,#222)}
.map-empty-day p{margin:0;color:var(--secondary,#737982);font-size:13px;line-height:1.5}
html[data-theme=dark] .empty #clear-all-filters{color:#8ec4ff}

.schedule-popover .schedule-days{grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;margin-bottom:12px}
.calendar-date-label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0;font:400 12px var(--ui-font,Inter,sans-serif);color:var(--secondary,#737982)}
.calendar-date-label input{min-width:0;width:152px;min-height:36px;padding:5px 8px;border:1px solid var(--edge,#dce2ea);border-radius:9px;background:var(--surface,#fff);color:var(--text,#222);font:400 12px var(--ui-font,Inter,sans-serif);color-scheme:light}
.calendar-date-label input:focus-visible{outline:2px solid #0877e8;outline-offset:2px}
html[data-theme=dark] .calendar-date-label input{color-scheme:dark}
