.calendar-hero{background:#eef4ee;padding:clamp(2rem,5vw,4rem) 0}.calendar-hero h1{margin:.5rem 0;font-size:clamp(2rem,4vw,3.5rem)}.calendar-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.calendar-body{padding-top:32px}.calendar-filters{background:#fff;border:1px solid #dce2dc;border-radius:20px;flex-wrap:wrap;align-items:end;gap:16px;padding:24px;display:flex}.calendar-filters label,.calendar-dialog label{gap:8px;font-size:.875rem;font-weight:650;display:grid}.calendar-search{flex:2 250px}.calendar-filters input,.calendar-filters select,.calendar-dialog input,.calendar-dialog select{color:#343f64;min-height:48px;font:inherit;background:#fff;border:1px solid #bbc5be;border-radius:8px;min-width:0;max-width:100%;padding:10px 12px}.calendar-filters input[type=date]{width:155px}.calendar-toolbar,.calendar-month-controls,.calendar-views{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.calendar-toolbar{justify-content:space-between;margin:28px 0 12px}.calendar-month-controls h2{margin:0;font-size:1.5rem}.calendar-toolbar button{color:#343f64;min-height:44px;font:inherit;cursor:pointer;background:#fff;border:1px solid #c5ccc5;border-radius:8px;padding:8px 14px}.calendar-views button[aria-pressed=true]{color:#fff;background:#343f64}.calendar-grid{border:1px solid #dce2dc;border-radius:16px;grid-template-columns:repeat(7,minmax(0,1fr));display:grid;overflow:hidden}.calendar-weekday{text-align:center;background:#eef4ee;padding:12px;font-weight:650}.calendar-day{border-top:1px solid #dce2dc;border-right:1px solid #dce2dc;min-width:0;min-height:132px;padding:10px}.calendar-day:nth-child(7n){border-right:0}.calendar-day[data-outside=true]{background:#f5f6f5}.calendar-day[data-today=true] .calendar-day-number{color:#fff;background:#343f64;border-radius:50%;padding:3px 7px;display:inline-block}.calendar-event{text-align:left;color:#243149;width:100%;font:inherit;cursor:pointer;overflow-wrap:anywhere;background:#edf3e9;border:0;border-left:3px solid #506951;border-radius:6px;margin:8px 0 0;padding:8px;font-size:.8rem;line-height:1.5;display:block}.calendar-event[data-category=early-release]{background:#faf0e5;border-color:#b76b32}.calendar-event[data-status=cancelled]{background:#faeaea;border-color:#9e3636}.calendar-agenda{gap:14px;padding:0;list-style:none;display:grid}.calendar-agenda li{border:1px solid #dce2dc;border-radius:14px;overflow:hidden}.calendar-agenda button{color:#343f64;text-align:left;width:100%;font:inherit;cursor:pointer;background:#fff;border:0;gap:24px;padding:22px;display:flex}.calendar-agenda strong{font-size:1.05rem;display:block}.calendar-agenda small{margin-top:6px;display:block}.calendar-agenda time{flex:0 0 200px}.calendar-empty{text-align:center;border:1px dashed #c5ccc5;border-radius:16px;padding:48px 24px}.calendar-dialog{color:#343f64;border:0;border-radius:20px;width:min(600px,100% - 32px);max-height:calc(100dvh - 32px);padding:32px;box-shadow:0 24px 80px #17203940}.calendar-dialog::backdrop{background:#20283e80}.calendar-dialog h2,.calendar-detail h2{font-size:1.8rem;line-height:1.25}.calendar-dialog p,.calendar-detail p{white-space:pre-line}.calendar-detail{max-width:760px;margin:32px auto}.calendar-cancelled{background:#faeaea;border-radius:10px;padding:16px}.calendar-source{margin-top:32px;font-size:.85rem}.calendar-print-only{display:none}.calendar-upcoming{background:#edf3e9;border:1px solid #c5ccc5;border-radius:18px;margin:28px 0;padding:24px}.calendar-upcoming ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:0;list-style:none;display:grid}.calendar-upcoming a{display:block}.calendar-upcoming time{font-size:.85rem;display:block}.calendar-upcoming strong{margin-top:8px;display:block}@media (width<=700px){.calendar-grid{display:none}.calendar-agenda button{display:block}.calendar-agenda time{margin-bottom:8px;display:block}.calendar-filters{gap:12px;padding:16px}.calendar-filters label{flex:130px}.calendar-filters input[type=date]{width:100%}.calendar-toolbar{gap:16px}.calendar-dialog{padding:24px}.calendar-upcoming ul{grid-template-columns:1fr}}@media print{header,footer,.calendar-hero .calendar-actions,.calendar-filters,.calendar-toolbar,.calendar-source,.calendar-upcoming,dialog,.calendar-detail button,[data-assistant],.assistant-launcher{display:none!important}.calendar-hero{background:#fff;padding:0}.calendar-hero nav,.calendar-hero .eyebrow,.calendar-hero p{display:none}.calendar-body{padding:0}.calendar-grid{display:none!important}.calendar-agenda{display:block!important}.calendar-agenda li{break-inside:avoid;margin-bottom:12px}.calendar-agenda button{color:#000;padding:12px;display:flex}.calendar-print-only{display:block}#calendar-status{font-size:10pt}.calendar-detail{display:block}body{color:#000!important;background:#fff!important}.container{width:100%;max-width:none}h1{font-size:24pt!important}}
