.calendar-shell{--cal-photo:url('assets/calendar-seasons/fall.jpg');border:1px solid #52605a;border-radius:18px;overflow:hidden;background:linear-gradient(#181d1b25,#181d1b80),var(--cal-photo) center/cover;color:#f5f0e8}
.calendar-shell[data-season=winter]{--cal-photo:url('assets/calendar-seasons/winter.jpg')}.calendar-shell[data-season=spring]{--cal-photo:url('assets/calendar-seasons/spring.jpg')}.calendar-shell[data-season=summer]{--cal-photo:url('assets/calendar-seasons/summer.jpg')}
.calendar-season-hero{min-height:240px;padding:32px;display:flex;align-items:end;background:linear-gradient(180deg,#10171310,#101713c9)}.calendar-season-hero h2{font-size:38px;margin:10px 0;color:#fff}.calendar-season-hero p{color:#fff;line-height:1.6;margin:0}.cal-season-kicker{font-size:13px;font-weight:bold;letter-spacing:.08em;color:#fff;text-shadow:0 1px 5px #000}
.calendar-main{padding:24px;background:#181d1bc9;min-width:0}.cal-navigation{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:0 0 22px}.calendar-shell button,.calendar-shell input,.calendar-shell select{min-height:48px;font-size:14px}.calendar-shell label{display:grid;gap:8px;line-height:1.5}.cal-navigation label{margin-left:auto}.calendar-shell input,.calendar-shell select{width:100%;min-width:0;background:#222b27;color:#f5f0e8;border:1px solid #69766d;border-radius:8px;padding:12px;color-scheme:dark}.calendar-shell button{white-space:normal;line-height:1.5}
.cal-sync-strip{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px;background:#222b27e8;border:1px solid #52605a;border-radius:12px;margin-bottom:24px}.cal-sync-strip p{font-size:13px;line-height:1.7;margin:8px 0 0;color:#d9dfd8}.cal-sync-strip .tools{display:flex;gap:12px;flex-wrap:wrap;flex-shrink:0;margin:0}.cal-filters{display:grid;grid-template-columns:2fr 1fr auto auto;align-items:end;gap:14px;margin-bottom:20px}.cal-view-toggle{display:flex;gap:8px}.cal-view-toggle button[aria-pressed=true]{border-color:#e47a39;background:#493325;color:#fff}.cal-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.cal-overview>span{padding:16px;border:1px solid #52605a;border-radius:10px;font-size:13px;background:#222b27d9}.cal-overview strong{display:block;font-size:24px;margin-bottom:5px;color:#fff}.cal-timezone{font-size:12px;line-height:1.7;color:#cbd3cc;margin:18px 0 24px}
.cal-month-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.cal-weekday{text-align:center;font-size:13px;font-weight:bold;padding:10px 0}.calendar-shell .cal-day{min-width:0;min-height:125px;padding:10px;text-align:left;display:flex;flex-direction:column;align-items:start;gap:7px;background:#222b27d4;border:1px solid #536056;border-radius:8px}.cal-day strong{font-size:18px;color:#fff}.cal-day.is-outside{opacity:.5}.calendar-shell .cal-day.is-selected{border-color:#e47a39;box-shadow:inset 0 0 0 1px #e47a39}.cal-day.is-today strong{color:#ffb783}.cal-day-count{font-size:12px;color:#f9d1b5}.cal-day-titles{font-size:11px;line-height:1.5;max-width:100%;overflow:hidden;overflow-wrap:anywhere}.cal-day-empty{color:#849487}.cal-selected-day{margin-top:28px;scroll-margin-top:120px}.cal-selected-day h3,.cal-agenda h3{font-size:21px;line-height:1.5;margin:0 0 18px}.cal-agenda{display:grid;gap:16px}.cal-event-card{min-width:0;padding:18px;margin-bottom:14px;border:1px solid #52605a;border-radius:12px;background:#222b27ed}.cal-event-date{font-size:13px;color:#d9dfd8;line-height:1.7;margin:0 0 10px}.calendar-shell .calendar-event{display:block;width:100%;text-align:left;min-height:74px;padding:14px 16px;border:1px solid #69766d;background:#181d1bd9;border-radius:9px;overflow-wrap:anywhere}.calendar-event strong{font-size:17px;line-height:1.5;display:block}.calendar-event small{display:block;font-size:13px;line-height:1.7;margin-top:7px;color:#d9dfd8}.cal-open-label{display:block;font-size:12px;color:#ffb783;margin-top:10px}.cal-empty{padding:20px;border:1px dashed #69766d;line-height:1.7;border-radius:10px}.cal-photo-credit{margin-top:26px;font-size:11px;line-height:1.7;color:#cbd3cc}.cal-photo-credit a{color:#e8d4bf}.cal-action-status{line-height:1.7}.calendar-event-details{line-height:1.7;overflow-wrap:anywhere}.calendar-event-details dt{font-weight:bold;margin-top:14px}.calendar-event-details dd{margin:5px 0 0}
@media(max-width:1100px){.cal-sync-strip{align-items:start;flex-direction:column}.cal-filters{grid-template-columns:2fr 1fr}.cal-view-toggle button{flex:1}.cal-day-titles{display:none}}
@media(max-width:850px){.calendar-season-hero{min-height:220px;padding:24px}.calendar-season-hero h2{font-size:30px}.calendar-main{padding:16px}.cal-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cal-navigation label{grid-column:1/-1;grid-row:1;margin:0}.cal-navigation #calToday{grid-column:1/-1}.calendar-shell input,.calendar-shell select{font-size:16px}.cal-sync-strip{padding:16px;gap:18px}.cal-sync-strip .tools{display:grid;width:100%;grid-template-columns:minmax(0,1fr);gap:12px}.cal-filters{grid-template-columns:minmax(0,1fr);gap:18px}.cal-view-toggle{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cal-overview{gap:8px}.cal-overview>span{padding:12px 8px;font-size:11px;line-height:1.6}.cal-overview strong{font-size:22px}.cal-month-board{gap:4px}.calendar-shell .cal-day{min-height:72px;padding:7px 3px;align-items:center;gap:6px}.cal-day strong{font-size:15px}.cal-day-count{font-size:11px}.cal-day-count>span,.cal-day-empty{display:none}.cal-weekday{font-size:11px}.cal-event-card{padding:16px}.calendar-event strong{font-size:16px}.calendar-shell .calendar-event{padding:14px}.cal-season-kicker{font-size:12px}.cal-timezone{line-height:1.8}}
@media(prefers-reduced-motion:reduce){.calendar-shell *{scroll-behavior:auto!important}}
@media print{.calendar-shell,.calendar-main,.calendar-season-hero{background:#fff;color:#111}.cal-navigation,.cal-filters,.cal-sync-strip,.cal-photo-credit{display:none}.calendar-season-hero{min-height:0;padding:12px}.calendar-season-hero h2,.calendar-season-hero p{color:#111}}
.calendar-season-hero{background:linear-gradient(180deg,#10171315,#101713c9),var(--cal-photo) center 55%/cover}
.calendar-shell[data-month="01"]{--cal-photo:url('assets/calendar-seasons/month-01.jpg')}
.calendar-shell[data-month="02"]{--cal-photo:url('assets/calendar-seasons/month-02.jpg')}
.calendar-shell[data-month="03"]{--cal-photo:url('assets/calendar-seasons/month-03.jpg')}
.calendar-shell[data-month="04"]{--cal-photo:url('assets/calendar-seasons/spring.jpg')}
.calendar-shell[data-month="05"]{--cal-photo:url('assets/calendar-seasons/month-05.jpg')}
.calendar-shell[data-month="06"]{--cal-photo:url('assets/calendar-seasons/month-06.jpg')}
.calendar-shell[data-month="07"]{--cal-photo:url('assets/calendar-seasons/summer.jpg')}
.calendar-shell[data-month="08"]{--cal-photo:url('assets/calendar-seasons/month-08.jpg')}
.calendar-shell[data-month="09"]{--cal-photo:url('assets/calendar-seasons/month-09.jpg')}
.calendar-shell[data-month="10"]{--cal-photo:url('assets/calendar-seasons/fall.jpg')}
.calendar-shell[data-month="11"]{--cal-photo:url('assets/calendar-seasons/month-11.jpg')}
.calendar-shell[data-month="12"]{--cal-photo:url('assets/calendar-seasons/winter.jpg')}
