/* Agenda presentation only. Source data, state calculation and URLs stay unchanged. */
.schedule-browser .agenda-panel{overflow:hidden;border:1px solid #e4deec;border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.88),rgba(248,245,252,.86));box-shadow:inset 0 1px 0 #fff,0 18px 44px -34px rgba(44,31,72,.24);backdrop-filter:none;-webkit-backdrop-filter:none}
.agenda-panel-head,.agenda-panel.is-today .agenda-panel-head{padding:22px 24px;background:rgba(255,255,255,.4);border-bottom:1px solid #e9e3ee;gap:18px}
.agenda-panel.is-today .agenda-panel-head{background:linear-gradient(110deg,rgba(255,240,207,.55),rgba(255,255,255,.35) 70%)}
.agenda-date-number,.agenda-panel.is-today .agenda-date-number{width:50px;height:54px;font-size:25px;border-radius:13px;background:#eee9f7;color:#302758;border:1px solid #ded5ee;box-shadow:none}
.agenda-panel.is-today .agenda-date-number{background:#fff0ce;color:#865a1b;border-color:#efd49c}
.agenda-panel-head h3{font-size:23px;margin:0 0 2px}
.agenda-day-identity{gap:13px}.agenda-day-meta{margin-top:5px;gap:8px}.agenda-state{font-size:10px;padding:3px 8px}
.agenda-all-button{min-height:42px;font-size:12px;padding:9px 15px;box-shadow:inset 0 1px 0 #fff;background:rgba(255,255,255,.75)}
.agenda-scroll{padding:20px;min-height:0;max-height:min(650px,70svh);scrollbar-gutter:stable;overflow-x:hidden}
.agenda-entries,.agenda-dialog .agenda-entries{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.agenda-entry,.agenda-dialog .agenda-entry{display:grid;grid-template-columns:164px minmax(0,1fr);gap:26px;padding:24px;border:1px solid #e7e0ef;border-radius:18px;background:rgba(255,255,255,.65);box-shadow:none;overflow:visible}
.agenda-entry::before,.agenda-entry.is-live-now::before{display:none}
.agenda-entry-time{position:relative;display:flex;flex-direction:row;align-items:flex-start;justify-content:flex-start;flex-wrap:nowrap;gap:9px;padding:3px 0 0;border:0;font-size:14px;font-weight:800;color:#403361;line-height:1.6;height:auto;font-variant-numeric:tabular-nums}
.agenda-time-icon{width:18px;height:22px;background:none;border-radius:0;color:#8c7aa7;flex:none}
.agenda-time-icon svg{width:16px;height:16px}
.agenda-entry-content{position:relative;padding-inline-start:24px;border-inline-start:1px solid rgba(139,121,163,.22);min-width:0}
.agenda-entry-content::before{content:'';position:absolute;inset-inline-start:-4px;top:5px;width:7px;height:7px;background:#9a8aaf;border-radius:50%;box-shadow:0 0 0 4px #fdfbff}
.agenda-entry-status{font-size:10px;color:#81738e;gap:7px;line-height:1.6}.agenda-status-dot{display:none}
.agenda-entry h4{font-size:clamp(18px,1.65vw,22px);line-height:1.55;margin:7px 0 13px;max-width:62ch}
.agenda-entry-location{display:grid;grid-template-columns:auto 16px minmax(0,1fr);align-items:start;gap:9px;border:0;padding:0;margin:0;color:#60546f;font-size:13px;line-height:1.75}
.agenda-entry-location>span:last-child{min-width:0;overflow-wrap:anywhere}
.agenda-entry-location svg{margin-top:4px;width:15px;height:15px}
.agenda-format{flex:none;align-self:center;max-width:100%;font-size:10px;padding:3px 9px;border-radius:6px;margin-inline-end:6px;font-weight:600}
.agenda-entry[data-state="completed"]{background:rgba(248,246,250,.85);border-color:#e7e2ec;box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.agenda-entry[data-state="completed"] h4{color:#70677c}.agenda-entry[data-state="completed"] .agenda-entry-time{color:#82788e;background:none}
.agenda-entry.is-live-now{background:linear-gradient(110deg,#fff4f6,#fffbfc);border:1px solid #efc6d1;border-radius:18px;margin-block:0;padding:24px;box-shadow:none}
.agenda-entry.is-live-now::after{display:none}
.agenda-entry.is-live-now .agenda-entry-content{border-color:#e9bcc8}
.agenda-entry.is-live-now .agenda-entry-content::before{background:#d33b5b;box-shadow:0 0 0 4px #fff1f4;animation:timelinePulse 2.5s ease-out infinite}
.agenda-entry.is-live-now .agenda-entry-status-text{padding:0;border:0;background:none;color:#b22f4e}
.agenda-entry.is-live-now .agenda-entry-time{background:none;border:0;color:#a62c49}
.agenda-entry.is-live-now .agenda-time-icon{background:none;color:#bd536b}
.agenda-tabs-label{margin:16px 0 10px;font-size:12px}
.agenda-tabs{gap:8px;padding:4px}
.agenda-tab{min-height:110px;padding:12px;border-radius:12px;gap:3px;box-shadow:none;transition:background .2s,border-color .2s,box-shadow .2s}
.agenda-tab b{font-size:13px}.agenda-tab-date,.agenda-tab-count{font-size:10px}
.agenda-tab .agenda-state{display:none}
.agenda-tab.is-today .agenda-state{display:inline-flex;margin-top:4px;font-size:9px;padding:2px 6px;line-height:1.5}
.agenda-tab[aria-selected="true"]{box-shadow:inset 0 2px 0 #e4b967,0 5px 14px -11px #302857;background:linear-gradient(145deg,#3b3065,#282143);border-color:#65517d}
.agenda-tab:hover{transform:none;box-shadow:none}
.agenda-empty{margin-block:16px;padding:30px;border:1px dashed #dcd3e8;border-radius:15px;background:rgba(255,255,255,.35)}
.agenda-dialog .agenda-entry{grid-template-columns:135px minmax(0,1fr);gap:16px}.agenda-dialog .agenda-entry h4{font-size:18px}
@keyframes timelinePulse{0%,100%{box-shadow:0 0 0 4px #fff1f4}50%{box-shadow:0 0 0 7px rgba(211,59,91,.1)}}
@media(max-width:600px){
 .schedule-browser .agenda-panel{border-radius:20px}
 .agenda-panel-head,.agenda-panel.is-today .agenda-panel-head{padding:17px 16px;gap:14px}
 .agenda-all-button{width:auto;min-height:44px}.agenda-panel-head h3{font-size:21px}
 .agenda-scroll{padding:12px;max-height:min(620px,72svh)}
 .agenda-entry,.agenda-dialog .agenda-entry{grid-template-columns:minmax(0,1fr);gap:12px;padding:18px 16px;border-radius:16px}
 .agenda-entry-time{font-size:13px;gap:8px;padding:0}
 .agenda-entry-content{padding-inline-start:16px}
 .agenda-entry h4{font-size:18px;line-height:1.6;margin:6px 0 12px}
 .agenda-entry.is-live-now{padding:18px 16px;margin-block:0;border-radius:16px}
 .agenda-entry-location{grid-template-columns:16px minmax(0,1fr);gap:7px;align-items:start;font-size:13px}
 .agenda-entry-location .agenda-format{grid-column:1/-1;justify-self:start;margin-bottom:2px}.agenda-entry-location svg{margin-top:4px}
 .agenda-tabs{display:flex;overflow-x:auto;gap:8px;padding:5px 4px 10px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#c8bdd8 transparent;overscroll-behavior-x:contain}
 .agenda-tab{flex:0 0 96px;min-height:108px;padding:11px;scroll-snap-align:center}
 .agenda-tab-date,.agenda-tab-count{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.agenda-entry.is-live-now .agenda-entry-content::before{animation:none}}

/* Day picker: compact calendar cards with clear selected/today states. */
.schedule-browser .agenda-tabs-label{
 display:flex;align-items:center;gap:10px;margin:24px 0 12px;color:#37304f;
 font-size:13px;font-weight:800;letter-spacing:-.01em
}
.schedule-browser .agenda-tabs-label::before{
 content:'';width:4px;height:18px;border-radius:99px;background:linear-gradient(#f6b73c,#d98c16);
 box-shadow:0 3px 10px rgba(225,148,28,.24)
}
.schedule-browser .agenda-tabs{
 position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;padding:0
}
.schedule-browser .agenda-tab{
 isolation:isolate;min-height:126px;gap:0;padding:16px 15px 14px;overflow:hidden;
 border:1px solid rgba(84,72,132,.14);border-radius:20px;
 background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(245,242,250,.84));
 box-shadow:inset 0 1px 0 #fff,0 12px 28px -25px rgba(39,29,75,.42);
 transition:transform .22s cubic-bezier(.22,1,.36,1),border-color .22s ease,box-shadow .22s ease,background .22s ease
}
.schedule-browser .agenda-tab::before{
 content:'';position:absolute;z-index:-1;inset:auto -32px -46px auto;width:100px;height:100px;
 border-radius:50%;background:radial-gradient(circle,rgba(81,68,146,.08),transparent 68%);pointer-events:none
}
.schedule-browser .agenda-tab::after{
 content:'';position:absolute;inset:0 0 auto;height:3px;background:transparent;transition:background .22s ease
}
.schedule-browser .agenda-tab b{
 margin-bottom:7px;color:#27213f;font-size:15px;font-weight:800;line-height:1.35;letter-spacing:-.018em
}
.schedule-browser .agenda-tab-date{
 color:#79728d;font-size:11px;font-weight:600;line-height:1.45;font-variant-numeric:tabular-nums
}
.schedule-browser .agenda-tab-count{
 display:inline-flex;align-items:center;width:max-content;min-height:24px;margin-top:auto;padding:4px 8px;
 border:1px solid rgba(83,71,135,.09);border-radius:999px;background:rgba(82,69,140,.055);
 color:#665f79;font-size:9px;font-weight:750;line-height:1.35;white-space:nowrap
}
.schedule-browser .agenda-tab-count::before{
 content:'';width:5px;height:5px;margin-inline-end:6px;border-radius:50%;background:#9389b6
}
.schedule-browser .agenda-tab .agenda-state{display:none}
.schedule-browser .agenda-tab.is-past:not([aria-selected="true"]){
 border-color:rgba(91,82,111,.1);background:linear-gradient(145deg,rgba(247,245,248,.82),rgba(238,235,241,.68));opacity:.76
}
.schedule-browser .agenda-tab.is-past:not([aria-selected="true"]) b{color:#665f73}
.schedule-browser .agenda-tab.is-today:not([aria-selected="true"]){
 border-color:rgba(221,163,61,.38);background:linear-gradient(145deg,#fffaf0,#fff0d4)
}
.schedule-browser .agenda-tab.is-today::after{background:linear-gradient(90deg,#f4b53f,#e89b23)}
.schedule-browser .agenda-tab.is-today .agenda-state{
 display:inline-flex;position:absolute;inset:12px 11px auto auto;margin:0;padding:4px 7px;
 border:1px solid rgba(169,107,17,.16);background:rgba(255,255,255,.64);color:#8b5912;
 font-size:8px;font-weight:800;line-height:1.35;white-space:nowrap;backdrop-filter:blur(8px)
}
.schedule-browser .agenda-tab[aria-selected="true"]{
 transform:translateY(-3px);border-color:#4e426f;
 background:radial-gradient(circle at 100% 0,rgba(255,219,145,.13),transparent 42%),linear-gradient(145deg,#403571,#261f4f);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 3px 0 #e8b756,0 18px 32px -22px rgba(36,27,75,.75)
}
.schedule-browser .agenda-tab[aria-selected="true"]::before{background:radial-gradient(circle,rgba(255,224,164,.13),transparent 67%)}
.schedule-browser .agenda-tab[aria-selected="true"] b{color:#ffe1a3}
.schedule-browser .agenda-tab[aria-selected="true"] .agenda-tab-date{color:rgba(255,255,255,.7)}
.schedule-browser .agenda-tab[aria-selected="true"] .agenda-tab-count{
 border-color:rgba(255,225,164,.18);background:rgba(255,255,255,.09);color:#f2edf8
}
.schedule-browser .agenda-tab[aria-selected="true"] .agenda-tab-count::before{background:#f2bd55;box-shadow:0 0 0 3px rgba(242,189,85,.12)}
.schedule-browser .agenda-tab[aria-selected="true"] .agenda-state{
 border-color:rgba(255,225,164,.2);background:rgba(255,255,255,.09);color:#ffe1a3
}
@media(hover:hover){
 .schedule-browser .agenda-tab:hover{transform:translateY(-3px);border-color:rgba(93,77,154,.32);box-shadow:inset 0 1px 0 #fff,0 18px 30px -24px rgba(39,29,75,.48)}
 .schedule-browser .agenda-tab[aria-selected="true"]:hover{transform:translateY(-4px);border-color:#6e5b94;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 3px 0 #e8b756,0 20px 34px -22px rgba(36,27,75,.8)}
}
.schedule-browser .agenda-tab:active{transform:translateY(0) scale(.985)}

@media(max-width:760px){
 .schedule-browser .agenda-tabs-label{margin-top:20px}
 .schedule-browser .agenda-tabs{
  display:flex;gap:10px;margin-inline:-16px;padding:5px 16px 15px;overflow-x:auto;
  scroll-snap-type:x mandatory;scroll-padding-inline:16px;scrollbar-width:none;overscroll-behavior-inline:contain;
  -webkit-overflow-scrolling:touch
 }
 .schedule-browser .agenda-tabs::-webkit-scrollbar{display:none}
 .schedule-browser .agenda-tab{
  flex:0 0 clamp(132px,41vw,166px);min-height:120px;padding:15px 14px 13px;border-radius:19px;
  scroll-snap-align:start;scroll-snap-stop:normal
 }
 .schedule-browser .agenda-tab b{font-size:14px}.schedule-browser .agenda-tab-date{font-size:10px}
 .schedule-browser .agenda-tab-count{min-height:23px;font-size:9px}
 .schedule-browser .agenda-tab[aria-selected="true"]{transform:translateY(-2px)}
}
@media(max-width:380px){
 .schedule-browser .agenda-tab{flex-basis:126px;min-height:116px;padding:14px 12px}
 .schedule-browser .agenda-tab.is-today .agenda-state{inset:10px 9px auto auto;padding-inline:6px}
}
@media(prefers-reduced-motion:reduce){.schedule-browser .agenda-tab{transition:none}}
