.calendar-page { margin:0; background:#070b09; color:#e0e9e4; }
.calendar-main { max-width:1500px; margin:0 auto; padding:32px 24px 48px; font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.calendar-main * { box-sizing:border-box; }
.calendar-main button,.calendar-main select,.calendar-main input { font:inherit; color:inherit; border:1px solid #334139; border-radius:5px; background:#0d1510; min-height:36px; }
.calendar-main button,.calendar-main select { cursor:pointer; }
.calendar-main button:hover { background:#18281d; }
.calendar-main :focus-visible { outline:2px solid #68e69c; outline-offset:3px; }
.calendar-main a { color:#a9cab7; text-decoration:none; }
.calendar-main a:hover { text-decoration:underline; }
.calendar-breadcrumb,.calendar-status,.calendar-muted { color:#879b8e; font-size:12px; }
.calendar-breadcrumb { min-height:18px; }
.calendar-breadcrumb span { margin:0 6px; }
.calendar-title { font-size:clamp(24px,3vw,36px); margin:6px 0 22px; font-weight:550; letter-spacing:-.025em; }
.calendar-filters,.calendar-toolbar,.calendar-tools,.calendar-related { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.calendar-filters label,.calendar-related label { display:flex; align-items:center; gap:7px; font-size:12px; color:#a3b4a9; }
.calendar-filters select,.calendar-related select { padding:6px 26px 6px 9px; max-width:270px; }
.calendar-related { margin-top:12px; }
.calendar-related[hidden],.calendar-main [hidden] { display:none!important; }
.calendar-related input { min-height:16px; accent-color:#72df9d; }
.calendar-toolbar { margin:28px 0 14px; justify-content:space-between; }
.calendar-period { font-size:18px; font-weight:500; margin:0; min-width:185px; }
.calendar-toolbar button { padding:5px 11px; }
.calendar-toolbar input { max-width:144px; padding:5px 7px; color-scheme:dark; }
.calendar-views { display:flex; }
.calendar-views button { border-radius:0; border-right:0; color:#98ac9f; }
.calendar-views button:first-child { border-radius:5px 0 0 5px; }
.calendar-views button:last-child { border-radius:0 5px 5px 0; border-right:1px solid #334139; }
.calendar-views button[aria-pressed="true"] { background:#23342a; color:#f0f9f3; }
.calendar-weekdays,.calendar-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); }
.calendar-weekdays { padding:9px 0; color:#90a197; font-size:11px; }
.calendar-weekdays span { padding-left:11px; }
.calendar-grid { border-left:1px solid #26392c; border-top:1px solid #26392c; }
.calendar-main .calendar-day { display:flex; flex-direction:column; align-items:flex-start; text-align:left; border:0; border-radius:0; border-right:1px solid #26392c; border-bottom:1px solid #26392c; background:transparent; padding:9px 10px; min-width:0; min-height:116px; overflow:hidden; }
.calendar-day-number { display:grid; place-items:center; width:24px; height:24px; font-size:12px; }
.calendar-day.is-today .calendar-day-number { background:#a6ecc0; color:#07190f; border-radius:50%; }
.calendar-day.is-outside { color:#5c7164; background:#090e0b; }
.calendar-events { display:block; width:100%; margin-top:6px; }
.calendar-event { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:11px; line-height:1.6; color:#b6cdbf; }
.calendar-count { margin-top:auto; padding-top:5px; font-size:10px; color:#7caa90; }
.calendar-year { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.calendar-main .calendar-month-heading { border:0; background:none; font-weight:500; padding:0; }
.calendar-mini .calendar-day { min-height:37px; padding:4px; align-items:center; justify-content:center; position:relative; }
.calendar-mini .calendar-day-number { font-size:11px; width:21px; height:21px; }
.calendar-dot { width:3px; height:3px; background:#78bc91; border-radius:50%; position:absolute; bottom:3px; }
.calendar-week { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); border-left:1px solid #26392c; border-top:1px solid #26392c; }
.calendar-week-day { padding:8px; border-right:1px solid #26392c; border-bottom:1px solid #26392c; min-height:330px; min-width:0; }
.calendar-main .calendar-week-heading { padding:4px 0; text-align:left; border:0; background:none; font-size:12px; }
.calendar-main .calendar-week-game { display:block; padding:10px 7px; margin-top:8px; width:100%; text-align:left; overflow-wrap:anywhere; }
.calendar-week-game strong { display:block; font-size:11px; font-weight:500; }
.calendar-week-game span { display:block; margin-top:5px; color:#8fa698; font-size:10px; }
.calendar-status-row { display:flex; align-items:center; gap:12px; min-height:40px; }
.calendar-status { margin:8px 0; }
.calendar-error { color:#c3aa86; }
.calendar-main #calendarRetry { min-height:28px; padding:3px 9px; font-size:11px; }
.calendar-split { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:12px; }
.calendar-split section { border:1px solid #26392c; border-radius:5px; overflow:hidden; }
.calendar-pane-heading { display:flex; justify-content:space-between; align-items:center; padding:9px 12px; border-bottom:1px solid #26392c; }
.calendar-pane-heading h2 { font-size:13px; font-weight:500; margin:0; }
.calendar-pane-heading a { font-size:11px; }
.calendar-split iframe { border:0; display:block; width:100%; height:calc(100vh - 300px); min-height:540px; background:#030705; }
.calendar-research-prompt { display:grid; place-items:center; min-height:540px; color:#879b8e; font-size:13px; }
.calendar-embedded-slate .bb-top-header,.calendar-embedded-slate .side-date-arrow { display:none!important; }
.calendar-embedded-slate .multisport-card-main { padding:18px 12px!important; }
.calendar-embedded-slate .multisport-card-hero h1 { font-size:25px!important; }
@media(max-width:900px) { .calendar-main{padding:24px 14px;} .calendar-year{grid-template-columns:repeat(2,minmax(0,1fr));} .calendar-split{grid-template-columns:1fr;} .calendar-split iframe{min-height:500px;height:65vh;} .calendar-research-prompt{min-height:200px;} }
@media(max-width:560px) { .calendar-main{padding:22px 10px;} .calendar-filters{gap:8px;} .calendar-filters label{flex:1 1 40%;} .calendar-filters select{width:100%;max-width:240px;} .calendar-toolbar{gap:12px;} .calendar-period{font-size:16px;min-width:150px;} .calendar-tools{gap:6px;} .calendar-main .calendar-day{padding:5px 3px;min-height:86px;} .calendar-events{display:none;} .calendar-count{font-size:9px;} .calendar-weekdays span{padding-left:5px;} .calendar-year{gap:14px;} .calendar-mini .calendar-day{min-height:31px;padding:2px;} .calendar-year .calendar-weekdays{font-size:8px;} .calendar-week{grid-template-columns:1fr;} .calendar-week-day{min-height:90px;} .calendar-week-game strong{font-size:12px;} }
