.school-calendar-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:20px 0}.school-calendar-controls button{border:1px solid #b5c3b7;background:#fffdf7;color:#173b34;padding:9px 13px;border-radius:4px}.school-calendar-controls button:disabled{opacity:.4;cursor:default}.school-calendar-month{font:26px Georgia,serif;margin:0;text-align:center}.school-calendar-grid{width:100%;table-layout:fixed;border-collapse:collapse}.school-calendar-grid th{font-size:12px;padding:10px 2px;background:#173b34;color:#fff}.school-calendar-grid td{vertical-align:top;height:80px;border:1px solid #d8ded4;padding:7px;overflow-wrap:anywhere}.school-day{display:block;font-size:15px;font-weight:600}.school-event-label{display:block;font-size:10px;line-height:1.35;margin-top:4px}.school-closed{background:#ddebdc}.school-early{background:#fae9bf}.school-conditional{outline:2px dashed #a66e33;outline-offset:-3px;background:#f9f0dc}.school-opening{background:#e0edf2}.school-today .school-day{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px}.school-calendar-list{margin-top:25px}.school-calendar-list h3{font:25px Georgia,serif}.school-calendar-item{display:grid;grid-template-columns:70px 1fr;gap:16px;border-bottom:1px solid #d8ded4;padding:12px 0;font-size:14px}.school-calendar-links{display:flex;flex-wrap:wrap;gap:8px 20px;margin:20px 0}.school-calendar-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.large-text .school-calendar-item{font-size:19px}.large-text .school-event-label{font-size:12px}@media(max-width:560px){.school-calendar-grid td{height:50px;padding:5px}.school-event-label{display:none}.school-calendar-controls button{font-size:12px;padding:8px}.school-calendar-month{font-size:22px}}@media print{.school-calendar-grid td{height:45px}.school-calendar-controls button{display:none}.school-calendar-grid{break-inside:avoid}.school-calendar-item{padding:7px 0;font-size:12px}}
