.school-calendar{--sc-ink:#1e2429;--sc-muted:#59636b;--sc-line:#cbd4db;--sc-c:#096b70;--sc-p:#7041a5;color:var(--sc-ink);font-family:inherit;text-align:left;width:100%;min-width:0}
.school-calendar *{box-sizing:border-box}
.school-calendar .sc-charlie{--sc-color:var(--sc-c);color:var(--sc-c)}
.school-calendar .sc-penny{--sc-color:var(--sc-p);color:var(--sc-p)}
.sc-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:18px}
.school-calendar .sc-eyebrow{font-size:9px;line-height:1.4;text-transform:uppercase;letter-spacing:.13em;color:var(--sc-muted);margin:0 0 7px}
.school-calendar h2{font-size:25px;font-weight:500;letter-spacing:-.04em;line-height:1.15;margin:0}
.sc-header time{font-size:11px;line-height:1.5;color:var(--sc-muted);max-width:92px;text-align:right;flex-shrink:0}
.sc-legend{display:flex;flex-wrap:wrap;gap:15px;font-size:10px;line-height:1.5;color:var(--sc-muted);margin-bottom:11px}
.sc-legend>span:last-child{margin-left:auto;font-size:9px}
.sc-priorities{display:grid;gap:9px;margin-bottom:24px}
.sc-date-alert{border:1px solid var(--sc-line);border-left:3px solid var(--sc-color);border-radius:4px;padding:12px 14px;margin:0 0 12px;background:#f8fafb;color:var(--sc-ink)!important;font-size:11px;line-height:1.6}
.sc-date-alert strong{font-size:11px;font-weight:600}
.school-calendar .sc-date-alert p{font-size:11px;line-height:1.6;margin:5px 0 7px;color:var(--sc-muted)}
.sc-date-alert a{font-size:11px;color:var(--sc-ink);text-underline-offset:3px}
.sc-later{margin:-12px 0 12px;font-size:11px;line-height:1.6}
.sc-later summary{cursor:pointer;min-height:40px;padding:9px 0}
.sc-later ul{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:8px}
.sc-later li{display:grid;gap:2px;border-bottom:1px solid var(--sc-line);padding-bottom:8px}
.sc-later strong{font-size:10px;font-weight:500}
.sc-later a{color:var(--sc-ink);font-size:11px;text-underline-offset:3px}
.sc-priority{border:1px solid var(--sc-line);border-left:3px solid var(--sc-color);border-radius:4px;padding:14px 15px;background:#fff;color:var(--sc-ink)!important}
.sc-card-label{display:flex;justify-content:space-between;gap:8px;font-size:10px;line-height:1.4;color:var(--sc-color);margin-bottom:8px}
.sc-card-label b{font-weight:600;white-space:nowrap}
.school-calendar .sc-priority h3{font-family:inherit;font-size:21px;font-weight:500;line-height:1.15;letter-spacing:-.02em;color:var(--sc-ink);margin:0 0 4px}
.school-calendar .sc-priority p{font-size:12px;line-height:1.6;color:var(--sc-muted);margin:0 0 9px}
.school-calendar .sc-priority .sc-deadline-date{font-size:11px;margin-bottom:10px;color:var(--sc-ink)}
.sc-priority a,.sc-downloads a{font-size:11px;line-height:1.6;color:var(--sc-ink);text-underline-offset:3px}
.sc-week-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 5px}
.school-calendar .sc-week-heading h3{font-size:12px;font-weight:500;margin:0;letter-spacing:0}
.sc-week-heading>div{display:flex;align-items:center;gap:2px}
.sc-week-heading button{border:0;background:transparent;min-width:36px;min-height:44px;font:inherit;font-size:11px;padding:5px 8px;color:var(--sc-ink);cursor:pointer;border-radius:3px}
.sc-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-bottom:14px}
.sc-week button{border:1px solid var(--sc-line);border-radius:4px;background:transparent;padding:9px 2px 7px;min-width:0;min-height:76px;color:var(--sc-ink);cursor:pointer;font-family:inherit;display:grid;justify-items:center;gap:3px}
.sc-week button>span{font-size:9px;line-height:1.3}
.sc-week button>b{font-size:17px;font-weight:500;line-height:1.3}
.sc-week button>i{font-size:8px;line-height:1.3;min-height:11px;color:var(--sc-muted);font-style:normal}
.sc-week em{font-style:normal}
.sc-week button[aria-current=date]{border-bottom:3px solid var(--sc-ink);padding-bottom:5px}
.sc-week button[aria-pressed=true]{background:#1e2429;color:#fff;border-color:#1e2429}
.sc-week button[aria-pressed=true]>i{color:#fff}
.sc-week button[aria-pressed=true] em{color:#fff!important}
.sc-week button:hover,.sc-week-heading button:hover{outline:1px solid var(--sc-muted);outline-offset:2px}
.school-calendar button:focus-visible,.school-calendar a:focus-visible,.school-calendar summary:focus-visible{outline:2px solid var(--sc-ink);outline-offset:3px}
.sc-day-detail{padding:13px 0 14px;border-top:1px solid var(--sc-line);border-bottom:1px solid var(--sc-line)}
.school-calendar .sc-day-detail h3{font-size:13px;line-height:1.4;font-weight:500;letter-spacing:0;margin:0 0 9px}
.school-calendar .sc-school-note{font-size:10px;line-height:1.5;color:var(--sc-muted);margin:0 0 8px}
.school-calendar .sc-day-event{font-size:12px;line-height:1.5;margin:0 0 9px}
.sc-study-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.sc-study-list li{display:grid;grid-template-columns:54px minmax(0,1fr);gap:9px;font-size:12px;line-height:1.6}
.sc-study-list strong{font-size:11px;font-weight:500}
.sc-study-list span{color:var(--sc-ink)}
.school-calendar .sc-plan-note{font-size:10px;line-height:1.6;color:var(--sc-muted);margin:10px 0 0}
.school-calendar .sc-reading{font-size:10px;line-height:1.6;margin:9px 0 0}
.sc-downloads{display:flex;flex-wrap:wrap;gap:8px 19px;margin:16px 0 8px}
.school-calendar .sc-freshness{font-size:9px;line-height:1.6;color:var(--sc-muted);margin:0}
.school-calendar .sc-stale{font-weight:600}
.sc-sources,.sc-words{margin-top:14px;font-size:11px;line-height:1.7;color:var(--sc-muted)}
.sc-sources summary,.sc-words summary{cursor:pointer;min-height:40px;padding:9px 0;color:var(--sc-ink)}
.sc-sources ul{margin:7px 0 12px;padding-left:17px}
.sc-sources a{color:var(--sc-ink);overflow-wrap:anywhere;text-underline-offset:3px}
.sc-sources p,.sc-words p{font-size:11px;line-height:1.7;margin:8px 0}
.sc-loading{font-size:12px;line-height:1.7;padding:18px 0}
.sc-empty{border:1px solid var(--sc-line);padding:17px;border-radius:4px}
.sc-empty h3{font-size:17px;margin:0 0 7px}
.sc-empty p{font-size:12px;line-height:1.6;margin:0;color:var(--sc-muted)}
[data-school-calendar][data-child]{margin-bottom:25px}
[data-child] .sc-priority{background:#f9fbfc}
[data-child] .sc-header{margin-bottom:12px}
[data-child] .school-calendar h2{font-size:21px}
[data-child] .school-calendar .sc-eyebrow{font-family:var(--mono,monospace);font-size:9px;letter-spacing:.06em}
@media(max-width:400px){.sc-header{gap:10px}.school-calendar h2{font-size:22px}.sc-header time{font-size:10px;max-width:75px}.sc-priority{padding:12px}.sc-card-label{font-size:9px}.sc-week{gap:3px}.sc-legend{gap:10px}.sc-legend>span:last-child{font-size:8px}}
@media print{.sc-week-heading>div,.sc-downloads,.sc-sources{display:none}.sc-priority,.sc-day-detail{break-inside:avoid}.sc-week button[aria-pressed=true]{background:white;color:black}}
