.calendar-pro{margin:18px 0}.calendar-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:12px;margin:15px 0 24px}.calendar-toolbar label{display:grid;gap:6px;color:#b5c4d5;font-size:13px}.calendar-pro button,.calendar-pro select,.calendar-pro input,.calendar-pro textarea{font:inherit}.calendar-pro button{background:#142a40;border:1px solid #40546b;border-radius:9px;color:#efd470;padding:10px 14px;cursor:pointer}.calendar-pro summary,.player-itinerary summary{cursor:pointer;color:#efd470;font-weight:700;padding:16px 0}.calendar-pro details{border-top:1px solid #304458}.calendar-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:12px 0}.calendar-form-grid label{display:grid;gap:7px;font-size:13px;color:#b8c8d8}.calendar-form-grid input,.calendar-form-grid select,.calendar-form-grid textarea{box-sizing:border-box;width:100%;min-width:0;padding:12px;border:1px solid #40546b;border-radius:9px;background:#0c1b2c;color:#fff;font:inherit}.calendar-form-grid textarea{min-height:90px;resize:vertical}.calendar-check{display:flex;align-items:center;gap:8px;margin:14px 0}.calendar-check input{width:auto}.calendar-help{font-size:13px;color:#afc0d3;line-height:1.6}.calendar-next{background:#142a40;border-left:3px solid #dfbb45;padding:16px;margin:18px 0;border-radius:0 12px 12px 0}.calendar-next small{display:block;color:#dfbb45;font-size:11px;letter-spacing:.12em;margin-bottom:7px}.calendar-next strong{display:block;font-size:18px;color:#f5f7fa}.calendar-event{display:grid;grid-template-columns:85px 1fr;gap:12px;border-top:1px solid #304458;padding:22px 0}.calendar-event time{color:#f5d671;font-weight:700}.calendar-event h4{font-size:18px;margin:7px 0;color:#f5f7fa}.calendar-event p,.itinerary-agenda article p{margin:8px 0;line-height:1.55;font-size:14px;color:#b7c7d9}.calendar-instructions{white-space:pre-wrap}.calendar-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:15px}.calendar-source{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#dfbb45;border:1px solid #4d4b36;border-radius:5px;padding:4px 6px;display:inline-block}.calendar-source.personal{color:#a9cce4;border-color:#3e6078}.calendar-pro a,.player-itinerary a{color:#f5d671}.calendar-template-panel{background:#0c1b2c;padding:15px 22px;border:1px solid #304458;border-radius:16px;margin-top:20px}.calendar-template-panel p{color:#b8c8d8}.calendar-template-panel hr{border:0;border-top:1px solid #304458;margin:20px 0}.calendar-toolbar select{background:#142a40;border:1px solid #40546b;color:#fff;border-radius:8px;padding:11px}.calendar-event.done h4,.itinerary-agenda article.done h4{text-decoration:line-through;opacity:.65}.player-itinerary button:disabled{opacity:.65;cursor:default}.player-itinerary #personal-task-form{display:block}.player-itinerary header button{flex-shrink:0;font-size:12px}.player-itinerary .itinerary-tabs button{font-size:12px}.calendar-pro .daily-panel{min-width:0}.calendar-pro #calendar-confirmations{padding:18px}.player-itinerary input,.player-itinerary textarea{font:inherit}@media(max-width:650px){.calendar-form-grid{grid-template-columns:1fr}.calendar-pro .daily-layout{grid-template-columns:1fr}.player-itinerary header{flex-direction:column}.itinerary-tabs{flex-wrap:wrap}.calendar-event{grid-template-columns:70px 1fr}.calendar-pro button{font-size:12px}}
/* Calendar cells share exact tracks; toolbar padding must not affect dates. */
.calendar-pro .cal-week,.calendar-pro .cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.calendar-pro .cal-grid>span{min-width:0;aspect-ratio:1}
.calendar-pro .cal-grid .cal-day{box-sizing:border-box;width:100%;min-width:0;min-height:0;height:auto;aspect-ratio:1;padding:0;display:grid;place-items:center;line-height:1;font-variant-numeric:tabular-nums;text-align:center}
.calendar-pro .cal-day b{display:block;width:100%;margin:0;padding:0;text-align:center;line-height:1}
.calendar-pro .cal-head button{padding:0;display:grid;place-items:center}
.calendar-pro .cal-week span{min-width:0;text-align:center}
.schedule-title{font-size:26px;color:#efd470;margin:0 0 12px}.schedule-switch{display:flex;gap:4px;padding:5px;border:1px solid #34465c;border-radius:10px;background:#101e30;margin:18px 0}.schedule-switch button{flex:1;padding:10px;border:0;background:transparent;color:#efd470;cursor:pointer;border-radius:7px}.schedule-switch button[aria-pressed="true"]{background:#344359;color:#fff}.schedule-jump{display:grid;grid-template-columns:1fr 90px 45px;gap:6px;margin-bottom:15px}.schedule-jump select,.schedule-jump input{width:100%;min-width:0;box-sizing:border-box;padding:8px;background:#102034;color:white;border:1px solid #3e526b;border-radius:7px;font:inherit}.schedule-jump button{padding:8px!important}.schedule-today{display:block!important}.schedule-today>.task-calendar,.schedule-today>.itinerary-calendar{display:none}.schedule-full-list{border:1px solid #304458;border-radius:14px;padding:15px}.schedule-add{position:fixed!important;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));width:54px;height:54px;padding:0!important;background:#7455d9!important;border:0!important;border-radius:15px!important;box-shadow:0 7px 24px #0006;color:#fff!important;font-size:32px!important;line-height:1;z-index:1000;cursor:pointer}.schedule-modal-backdrop{position:fixed;inset:0;background:#000b;z-index:100000;display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}.schedule-modal{position:relative;width:min(100%,480px);max-height:calc(100dvh - 40px - env(safe-area-inset-top));overflow:auto;background:#101d2d;border:1px solid #47536b;border-radius:16px;padding:25px;box-sizing:border-box;color:#efd470;overscroll-behavior:contain}.schedule-modal-title{pointer-events:none;list-style:none;font-size:20px}.schedule-modal-title::-webkit-details-marker{display:none}.schedule-modal .schedule-close{position:absolute;right:12px;top:10px;background:transparent!important;color:#efd470;border:0!important;font-size:25px;padding:7px!important;z-index:2}.schedule-modal .teamlink-form{display:grid;gap:13px}.teamlink-form label{display:grid;gap:6px;color:#efd470;font-size:13px}.teamlink-form input,.teamlink-form select,.teamlink-form textarea{box-sizing:border-box;width:100%;min-width:0;padding:10px;border:1px solid #546077;border-radius:6px;background:#0a1626;color:#fff;font:inherit}.teamlink-form .calendar-check{display:flex;align-items:center;gap:8px;margin:0;padding:10px;border:1px solid #546077;border-radius:7px}.teamlink-form .calendar-check input{width:auto}.teamlink-form textarea{min-height:85px}.teamlink-form h4{margin:8px 0}.uniform-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:12px}.schedule-modal #calendar-admin-form>button[type="submit"],.schedule-modal #personal-task-form>button[type="submit"]{background:#7455d9;color:#fff;border:0;width:100%;margin-top:18px;border-radius:7px;padding:12px}.schedule-modal details{border:0}.schedule-modal .calendar-form-grid{grid-template-columns:1fr}.schedule-modal #personal-task-form{padding:0;background:transparent}.calendar-availability{margin:15px 0}.calendar-availability button{margin:3px;padding:8px!important;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.schedule-modal [hidden]{display:none!important}@media(max-width:650px){.schedule-modal-backdrop{padding:12px}.schedule-modal{padding:22px 18px;max-height:calc(100dvh - 30px - env(safe-area-inset-top))}.schedule-jump{grid-template-columns:1fr 75px 42px}.schedule-full-list .calendar-event{grid-template-columns:88px 1fr}}
.schedule-details{margin:18px 0;display:grid;gap:0}.schedule-details>div{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;padding:11px 0;border-bottom:1px solid #304458}.schedule-details dt{color:#dfc76c;font-weight:700;font-size:12px;line-height:1.5}.schedule-details dd{margin:0;color:#f3f6fa;font-size:14px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.schedule-details dd>span{display:block;margin:0 0 4px}.schedule-details dd b{font-weight:600;color:#b8c8d8}@media(max-width:650px){.schedule-details>div{grid-template-columns:1fr;gap:4px}.schedule-details dt{font-size:11px;text-transform:uppercase;letter-spacing:.04em}}
.schedule-activity{border:1px solid #304458;border-radius:12px;margin:10px 0;background:#102034;overflow:hidden}.calendar-pro .schedule-activity,.player-itinerary .schedule-activity{border:1px solid #304458}.schedule-activity>summary{display:grid!important;grid-template-columns:85px minmax(0,1fr) 16px;align-items:center;gap:12px;padding:16px!important;cursor:pointer;list-style:none;color:#f5f7fa}.schedule-activity>summary::-webkit-details-marker{display:none}.schedule-activity>summary time{color:#efd470;font-size:13px;font-weight:700;line-height:1.5}.schedule-activity-heading h4{margin:6px 0 0;font-size:16px;line-height:1.4;overflow-wrap:anywhere;color:#fff}.schedule-activity-caret{color:#efd470;transition:transform .15s}.schedule-activity[open] .schedule-activity-caret{transform:rotate(180deg)}.schedule-activity-body{padding:0 16px 18px;border-top:1px solid #304458}.schedule-activity-body .schedule-details{margin:8px 0}.schedule-activity.done h4{text-decoration:line-through;opacity:.65}.schedule-activity-heading .calendar-source{font-size:9px}.schedule-activity>summary:focus-visible{outline:2px solid #efd470;outline-offset:-3px}
.player-itinerary .itinerary-tabs{margin:0 0 12px;gap:7px}.player-itinerary .schedule-switch{margin:0 0 16px}.player-itinerary .itinerary-layout{gap:22px}.schedule-refresh-footer{display:flex;justify-content:flex-end;margin-top:18px;padding-top:12px;border-top:1px solid #304458}.schedule-refresh-footer button{font-size:12px;padding:8px 12px}.player-itinerary #itinerary-status:empty{margin:0}.player-itinerary .itinerary-month h3{margin:8px 0}.player-itinerary .schedule-jump{margin-bottom:10px}