.agenda-page{background:#f3f7fb}
.agenda-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#05294f 0%,#073b6d 58%,#0c704d 125%);color:#fff}
.agenda-hero::after{content:"";position:absolute;right:-10rem;top:-14rem;width:34rem;height:34rem;border:1px solid rgba(255,255,255,.11);border-radius:50%;box-shadow:0 0 0 5rem rgba(255,255,255,.025),0 0 0 10rem rgba(255,255,255,.018)}
.agenda-hero__inner{position:relative;z-index:1;min-height:300px;display:grid;grid-template-columns:minmax(0,1fr) 330px;align-items:center;gap:50px;padding-top:50px;padding-bottom:50px}
.agenda-hero h1{margin:0;font-size:clamp(2.4rem,5vw,4.25rem);line-height:.98;letter-spacing:-.055em}
.agenda-hero p{max-width:730px;margin:20px 0 0;color:rgba(255,255,255,.84);font-size:1.05rem;line-height:1.65}
.agenda-context{display:grid;gap:7px;padding:23px;border:1px solid rgba(255,255,255,.18);border-radius:20px;background:rgba(255,255,255,.1);box-shadow:0 24px 60px rgba(0,0,0,.16);backdrop-filter:blur(12px)}
.agenda-context strong{font-size:1.25rem}.agenda-context span{color:rgba(255,255,255,.76);font-size:.86rem;line-height:1.5}

.agenda-controls{position:sticky;top:72px;z-index:35;padding:18px 0 15px;border-bottom:1px solid var(--world-line);background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(7,53,99,.07);backdrop-filter:blur(15px)}
.agenda-controls__heading{display:flex;align-items:end;justify-content:space-between;gap:22px;margin-bottom:13px}
.agenda-controls h2{margin:0;color:var(--world-blue);font-size:1.28rem;letter-spacing:-.025em}
.agenda-select-label{display:flex;align-items:center;gap:10px;color:var(--world-muted);font-size:.75rem;font-weight:750}
.agenda-select-label select{min-height:40px;padding:0 34px 0 12px;border:1px solid #cbd8e6;border-radius:11px;background:#fff;color:var(--world-blue);font-weight:800}
.agenda-day-nav{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 9px;scrollbar-width:thin;scroll-snap-type:x proximity}
.agenda-day-button{width:60px;min-width:60px;min-height:69px;display:grid;place-content:center;gap:1px;scroll-snap-align:center;border:1px solid var(--world-line);border-radius:14px;background:#fff;color:var(--world-blue);cursor:pointer}
.agenda-day-button span,.agenda-day-button small{font-size:.61rem;font-weight:850;text-transform:uppercase;color:var(--world-muted)}
.agenda-day-button strong{font-size:1.23rem;line-height:1.05}
.agenda-day-button:hover{border-color:#9db8d2}.agenda-day-button.is-active{border-color:var(--world-green);background:var(--world-green);color:#fff;box-shadow:0 9px 22px rgba(32,164,91,.24)}
.agenda-day-button.is-active span,.agenda-day-button.is-active small{color:rgba(255,255,255,.84)}
.agenda-day-button.is-today:not(.is-active){border-color:var(--world-orange);box-shadow:inset 0 0 0 1px var(--world-orange)}
.agenda-legend{display:flex;gap:13px;flex-wrap:wrap;margin-top:4px}
.agenda-legend span{display:inline-flex;align-items:center;gap:6px;color:#5b6a7b;font-size:.66rem;font-weight:800}.agenda-legend span::before{content:"";width:9px;height:9px;border-radius:3px;background:#8396aa}
.agenda-legend .meeting::before{background:#3478c5}.agenda-legend .training::before{background:#00c853}.agenda-legend .qualifying::before{background:#07520f}.agenda-legend .finals::before{background:#ff6a3d}.agenda-legend .rest::before{background:#eda8ca}.agenda-legend .ceremony::before{background:#e63b91}

.agenda-intro{display:flex;align-items:end;justify-content:space-between;gap:28px;padding-top:42px;padding-bottom:20px}
.agenda-intro h2,.agenda-source h2{margin:0;color:var(--world-blue);font-size:clamp(1.55rem,3vw,2.15rem);letter-spacing:-.035em}.agenda-intro p,.agenda-source p{max-width:790px;margin:9px 0 0;color:var(--world-muted);font-size:.88rem;line-height:1.55}
.agenda-intro>a,.agenda-source>a{flex:0 0 auto;padding:11px 14px;border:1px solid #bad0e4;border-radius:12px;background:#fff;color:var(--world-blue);font-size:.76rem;font-weight:850;text-decoration:none}

.agenda-timeline{display:grid;gap:18px;padding-bottom:54px}
.agenda-day{scroll-margin-top:235px;overflow:hidden;border:1px solid var(--world-line);border-radius:22px;background:#fff;box-shadow:0 13px 34px rgba(8,45,84,.06);transition:border-color .18s ease,box-shadow .18s ease}
.agenda-day.is-focus{border-color:rgba(32,164,91,.5);box-shadow:0 16px 42px rgba(32,164,91,.12)}
.agenda-day.is-today{border-color:var(--world-orange)}
.agenda-day__header{position:relative;display:flex;align-items:center;gap:15px;padding:18px 20px;border-bottom:1px solid var(--world-line);background:linear-gradient(120deg,#edf5fc,#f9fcff)}
.agenda-day__date{width:62px;height:62px;display:grid;place-content:center;text-align:center;border-radius:16px;background:var(--world-blue);color:#fff}.agenda-day__date strong{font-size:1.55rem;line-height:1}.agenda-day__date span{margin-top:4px;font-size:.65rem;font-weight:900;text-transform:uppercase}
.agenda-day__header>div:nth-child(2)>span{color:var(--world-green-dark);font-size:.66rem;font-weight:900;text-transform:uppercase}.agenda-day__header h2{margin:3px 0 0;color:var(--world-blue);font-size:1.15rem}.agenda-day__header p{margin:3px 0 0;color:var(--world-muted);font-size:.73rem}
.agenda-today-badge{margin-left:auto;padding:7px 10px;border-radius:999px;background:var(--world-orange);color:#fff;font-size:.66rem;text-transform:uppercase;letter-spacing:.07em}
.agenda-day__events{display:grid;gap:10px;padding:13px}
.agenda-event{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--world-line);border-radius:16px;background:#fff}
.agenda-event__stripe{position:absolute;inset:0 auto 0 0;width:5px;background:#8396aa}.agenda-event--meeting .agenda-event__stripe{background:#3478c5}.agenda-event--training .agenda-event__stripe{background:#00c853}.agenda-event--qualifying .agenda-event__stripe{background:#07520f}.agenda-event--finals .agenda-event__stripe{background:#ff6a3d}.agenda-event--rest .agenda-event__stripe{background:#eda8ca}.agenda-event--ceremony .agenda-event__stripe{background:#e63b91}
.agenda-event__main{min-width:0;padding:17px 18px 17px 22px}.agenda-event__top{display:flex;align-items:center;gap:7px;margin-bottom:7px}.agenda-event__code{display:inline-grid;place-items:center;min-width:34px;height:25px;padding:0 7px;border-radius:8px;background:#e9f1f9;color:var(--world-blue);font-size:.65rem;font-weight:950}.agenda-event__phase{font-size:.63rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#5b6b7e}
.agenda-event h3{margin:0;color:var(--world-blue);font-size:1.02rem}.agenda-event__title{display:block;margin-top:4px;color:#263f59;font-size:.82rem}.agenda-event p{margin:7px 0 0;color:var(--world-muted);font-size:.78rem;line-height:1.5}
.agenda-event__venue{display:flex;align-items:flex-start;gap:8px;margin-top:12px;color:#315a7e}.agenda-event__venue svg{width:17px;height:17px;flex:0 0 auto;margin-top:1px;color:var(--world-green)}.agenda-event__venue>span{display:grid;gap:2px}.agenda-event__venue strong{font-size:.74rem}.agenda-event__venue small{color:#718093;font-size:.68rem;line-height:1.4}.agenda-event__venue--pending{display:inline-block;padding:7px 9px;border-radius:9px;background:#fff4dd;color:#80540d;font-size:.72rem;font-weight:800}
.agenda-event__actions{width:180px;align-content:center;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:14px;border-left:1px solid var(--world-line);background:#f8fafc}
.agenda-location-button,.agenda-detail-link{min-height:36px;display:flex;align-items:center;justify-content:center;padding:7px;border:1px solid #bfe5ef;border-radius:10px;background:#fff;color:#08687f;font-family:inherit;font-size:.7rem;font-weight:850;text-decoration:none;text-align:center;cursor:pointer}.agenda-location-button,.agenda-detail-link{grid-column:1/-1}.agenda-detail-link{border-color:transparent;background:#e9f1f9;color:var(--world-blue)}.agenda-location-button:hover,.agenda-detail-link:hover{box-shadow:0 6px 16px rgba(7,53,99,.09);transform:translateY(-1px)}

.location-dialog[hidden]{display:none}.location-dialog{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px;background:rgba(3,25,48,.58);backdrop-filter:blur(5px)}
.location-dialog__panel{width:min(520px,100%);max-height:min(720px,calc(100vh - 40px));overflow:auto;border:1px solid #c9d9e8;border-radius:22px;background:#fff;box-shadow:0 28px 80px rgba(2,29,55,.28)}
.location-dialog__header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:20px 20px 16px;border-bottom:1px solid var(--world-line);background:linear-gradient(120deg,#edf7ff,#f4fbf7)}
.location-dialog__eyebrow{display:block;margin-bottom:4px;color:var(--world-green-dark);font-size:.64rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.location-dialog__header h2{margin:0;color:var(--world-blue);font-size:1.18rem;line-height:1.25}.location-dialog__close{width:36px;height:36px;flex:0 0 auto;border:1px solid #cbd8e6;border-radius:11px;background:#fff;color:var(--world-blue);font-size:1.35rem;line-height:1;cursor:pointer}
.location-dialog__content{display:grid;gap:10px;padding:14px}.location-choice{padding:15px;border:1px solid var(--world-line);border-radius:16px;background:#f9fbfd}.location-choice__address{display:grid;gap:5px}.location-choice__address strong{color:var(--world-blue);font-size:.9rem}.location-choice__address span{color:var(--world-muted);font-size:.72rem;line-height:1.45;overflow-wrap:anywhere}.location-choice__actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:13px}.location-choice__actions a,.location-choice__actions button{min-height:40px;display:flex;align-items:center;justify-content:center;padding:7px;border:1px solid #c9d9e8;border-radius:10px;background:#fff;color:var(--world-blue);font-family:inherit;font-size:.7rem;font-weight:850;text-align:center;text-decoration:none;cursor:pointer}.location-choice__actions a:nth-child(2){border-color:#bfe5ef;color:#08687f}.location-choice__actions button{background:#eaf2f9}
.location-dialog__status{min-height:18px;margin:0;padding:0 18px 15px;color:var(--world-green-dark);font-size:.72rem;font-weight:800}.is-location-open{overflow:hidden}

.agenda-source{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:60px;padding-top:24px;padding-bottom:24px;border-top:1px solid var(--world-line)}

@media (max-width:800px){
  .agenda-hero__inner{grid-template-columns:1fr;gap:25px;min-height:auto;padding-top:38px;padding-bottom:38px}.agenda-context{max-width:520px}
  .agenda-controls__heading{align-items:stretch;flex-direction:column;gap:10px}.agenda-select-label{align-items:stretch;display:grid;gap:5px}.agenda-select-label select{width:100%}
  .agenda-intro,.agenda-source{align-items:stretch;flex-direction:column}.agenda-intro>a,.agenda-source>a{text-align:center}
}

@media (max-width:600px){
  html{scroll-padding-top:210px}.agenda-controls{top:64px;padding:12px 0 10px}.agenda-controls__heading{margin-bottom:9px}.agenda-controls__heading>div{display:none}.agenda-day-nav{gap:6px}.agenda-day-button{width:53px;min-width:53px;min-height:61px;border-radius:12px}.agenda-day-button strong{font-size:1.08rem}.agenda-legend{display:none}
  .agenda-hero h1{font-size:2.25rem}.agenda-hero p{font-size:.91rem}.agenda-context{padding:18px}.agenda-intro{padding-top:29px}
  .agenda-day{scroll-margin-top:0;border-radius:18px}.agenda-day__header{padding:14px}.agenda-day__date{width:55px;height:55px}.agenda-day__header h2{font-size:1rem}.agenda-day__events{padding:9px}
  .agenda-event{grid-template-columns:1fr}.agenda-event__main{padding:15px 15px 14px 19px}.agenda-event__actions{width:auto;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px;border-left:0;border-top:1px solid var(--world-line)}
  .agenda-source{margin-bottom:35px}
  .location-dialog{align-items:end;padding:10px 8px}.location-dialog__panel{max-height:calc(100vh - 18px);border-radius:22px 22px 14px 14px}.location-dialog__header{padding:18px 16px 14px}.location-dialog__content{padding:10px}.location-choice__actions{grid-template-columns:repeat(2,minmax(0,1fr))}.location-choice__actions button{grid-column:1/-1}
}

@media print{
  .agenda-controls,.agenda-event__actions,.agenda-intro>a,.agenda-source>a,.location-dialog{display:none!important}.agenda-hero{background:#fff!important;color:#111;border-bottom:2px solid #073563}.agenda-hero__inner{display:block;min-height:auto;padding:24px 18px}.agenda-hero p,.agenda-context span{color:#333}.agenda-context{margin-top:16px;border:1px solid #bbb;background:#fff;color:#111;box-shadow:none}.agenda-intro{padding:25px 18px 15px}.agenda-timeline{width:100%;padding:0 18px}.agenda-day{break-inside:avoid;box-shadow:none}.agenda-event{break-inside:avoid}.agenda-source{width:auto;margin:20px 18px}
}
