.calendar-panel{padding:28px}.calendar-weekdays,.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{color:#69809d;font-size:.8rem;text-align:center;margin-bottom:12px}.calendar-weekdays span{padding:8px}.calendar-month{border-left:1px solid var(--line);border-top:1px solid var(--line);border-radius:12px;overflow:hidden}.calendar-day{min-height:120px;padding:12px 9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;background:#fff}.calendar-day.outside{background:#f7f9fc}.calendar-day>time{display:grid;place-items:center;width:28px;height:28px;font-size:.82rem;margin-bottom:7px;color:#617a99}.calendar-day.is-today{background:#f5faff}.calendar-day.is-today>time{background:#0874f9;color:#fff;border-radius:50%;font-weight:700}.calendar-event-chip{display:block;padding:5px 7px;background:#eaf3ff;border-left:3px solid #6ca9f5;color:#1b5da9;border-radius:5px;font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px}.calendar-event-chip:hover{background:#d8eaff}.calendar-more{font-size:.7rem;color:#0874f9;display:block;margin-top:5px}.calendar-details-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:24px;align-items:start}.calendar-details-layout:has(>section:only-child){grid-template-columns:1fr}.school-event{display:flex;gap:20px;border-top:1px solid var(--line);padding:24px 0;scroll-margin-top:24px}.school-event:last-child{padding-bottom:0}.event-date-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;background:#edf5ff;color:#176acb;border-radius:12px;width:62px;height:66px;flex-shrink:0;font-size:1.35rem;font-weight:700}.event-date-tile small{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;font-weight:600}.event-information{min-width:0}.event-information h3{margin:0 0 8px;font-size:1.1rem;overflow-wrap:anywhere}.event-information .meta{margin:0}.event-description{font-size:.9rem;overflow-wrap:anywhere;margin:14px 0}.event-information .actions{margin-top:16px}.event-information .actions button,.event-information .actions a{min-height:38px;font-size:.8rem}.timetable-selector{display:flex;align-items:end;gap:18px}.timetable-selector label{flex:1;max-width:700px;margin:0}.timetable-panel .section-heading h2{margin:8px 0 0}.timetable-image-link{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#f7faff;text-align:center}.timetable-image{display:block;max-width:100%;height:auto;margin:auto}.timetable-editor{max-width:850px}.school-overview{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:22px;margin:32px 0}.school-overview>.panel{margin:0}.school-overview h2{font-size:1.15rem}.school-overview .section-heading>a{font-size:.8rem}.school-overview p{font-size:.9rem}.upcoming-event{display:flex;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--line);font-size:.88rem}.upcoming-event>span{background:#edf5ff;color:#176acb;padding:7px 10px;border-radius:7px;font-size:.8rem;flex-shrink:0}.upcoming-event strong{overflow-wrap:anywhere;font-weight:600}.home-timetable-image{display:block;width:100%;max-height:160px;object-fit:contain;border:1px solid var(--line);border-radius:9px;margin-bottom:16px}#event-editor{scroll-margin-top:24px}@media(max-width:1100px){.calendar-details-layout{grid-template-columns:1fr}.calendar-day{min-height:100px;padding:8px 5px}.calendar-event-chip{font-size:.65rem}}@media(max-width:700px){.school-overview{grid-template-columns:1fr}.calendar-panel{padding:20px 12px}.calendar-day{min-height:82px;padding:5px 3px}.calendar-day>time{font-size:.72rem;width:24px;height:24px}.calendar-event-chip{font-size:0;height:7px;min-height:7px;padding:0;margin-top:4px;border:0;background:#7ab4fc;border-radius:4px}.calendar-weekdays span{padding:4px;font-size:.7rem}.calendar-more{font-size:.6rem}.school-event{gap:14px}.event-date-tile{width:48px;height:56px;font-size:1.1rem}.timetable-selector{flex-direction:column;align-items:stretch}.timetable-selector label{width:100%}.calendar-panel .section-heading h2{font-size:1.2rem}.calendar-panel .actions{gap:6px}.calendar-panel .actions a{padding:8px 12px;min-height:40px}}
