/* Application layout only. Shared controls, theme, icons and paging come from Eduvize. */
.sis-output { margin:0; background:var(--ev-bg); color:var(--ev-text); font-family:var(--edu-admin-font,system-ui); }
.sis-screen { box-sizing:border-box; height:100dvh; display:flex; flex-direction:column; gap:var(--sis-gap,16px); padding:var(--sis-gap,16px); font-size:var(--sis-font,22px); }
.sis-screen--web { height:auto; min-height:100dvh; }
.sis-header { display:flex; align-items:center; gap:var(--sis-gap); flex:none; }
.sis-header .edu-navigation-heading { flex:1; padding:var(--sis-gap); }
.sis-title { font-size:1.3em; line-height:1.2; margin:0; font-weight:600; }
.sis-subtitle { font-size:.72em; line-height:1.4; margin:.4em 0 0; }
.sis-tabs { display:flex; flex-wrap:wrap; gap:calc(var(--sis-gap)*.5); flex:none; }
.sis-tabs [aria-current=page] { background:var(--ev-primary); color:var(--ev-primary-text); }
.sis-board { flex:1; min-height:0; }
.sis-grid { display:grid; grid-template-columns:repeat(var(--sis-columns,2),minmax(0,1fr)); gap:var(--sis-gap); align-content:start; }
.sis-item { box-sizing:border-box; padding:var(--sis-gap); border:1px solid var(--ev-border); border-radius:var(--ev-card-radius,var(--ev-control-radius)); background:var(--ev-surface); min-width:0; }
.sis-item__meta { display:flex; flex-wrap:wrap; gap:.35em .8em; font-size:.7em; color:var(--ev-muted); margin-bottom:.5em; }
.sis-item h2 { font-size:1.05em; line-height:1.25; margin:0 0 .4em; font-weight:600; }
.sis-item p { font-size:.85em; line-height:1.45; margin:0; overflow-wrap:anywhere; }
.sis-item--change { border-inline-start:4px solid var(--ev-accent); }
.sis-footer { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.5em; flex:none; font-size:.6em; color:var(--ev-muted); }
.sis-empty { max-width:38em; margin:auto; line-height:1.5; }
.sis-status { margin-block:1em; }
.sis-admin-preview { margin-block:1.5rem; }
.sis-admin-actions { display:flex; flex-wrap:wrap; gap:12px; margin-block-start:20px; }
.sis-admin-meta { display:grid; gap:12px; }
.sis-admin-meta p { margin:0; }
.sis-connection { margin-top:24px; }
.sis-review { max-height:320px; overflow:auto; line-height:1.5; padding-inline-start:24px; }
.sis-review li+li { margin-top:8px; }
[hidden] { display:none !important; }

/* Administration layout; colors and controls remain owned by the shared theme. */
.sis-admin{display:grid;gap:24px;max-width:1480px;margin-inline:auto}
.sis-admin .edu-page-header{margin-bottom:0}
.sis-admin :is(label,.edu-admin__field-grid){min-width:0}
.sis-admin label:not(.edu-admin__checkbox):not(.edu-choice){display:grid;gap:8px;font-weight:600;align-content:start}
.sis-admin .edu-admin__hint{font-weight:400;line-height:1.5;margin:10px 0;color:var(--edu-admin-muted)}
.sis-admin .edu-admin__card{margin:0;padding:clamp(18px,2.3vw,32px)}
.sis-admin :is(h2,h3){margin:0}.sis-admin h2{font-size:21px}.sis-admin h3{font-size:17px}
.sis-section-nav{display:flex;gap:10px;flex-wrap:wrap}.sis-section-nav a{padding:9px 15px;border:1px solid var(--edu-admin-border);border-radius:var(--edu-admin-control-radius);color:var(--edu-admin-text,var(--ev-text));text-decoration:none;background:var(--edu-admin-surface)}
.sis-section-nav a:hover{background:var(--edu-admin-secondary)}
.sis-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:24px}
.sis-section-heading>div{display:flex;align-items:center;gap:12px}
.sis-step{display:grid;place-items:center;flex:none;width:32px;height:32px;background:var(--edu-admin-secondary);color:var(--edu-admin-secondary-text);border-radius:var(--edu-admin-control-radius);font-size:16px;font-weight:700}
.sis-badge{padding:7px 12px;background:var(--edu-admin-secondary);border-radius:var(--edu-admin-control-radius);font-size:14px;line-height:1.4}
.sis-badge[data-state=connected]{background:var(--edu-admin-primary);color:var(--edu-admin-primary-text)}
.sis-access{display:flex;align-items:center;flex-wrap:wrap;gap:12px 24px}.sis-access>div:first-child{flex:1;min-width:230px}.sis-access h2{font-size:18px}.sis-access .sis-access__note{flex-basis:100%;margin:0}
.sis-unlock{flex:1;min-width:min(100%,360px)}#adminKeyField{display:flex;align-items:end;gap:12px}#adminKeyField label{flex:1;min-width:0}
.sis-connection-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:32px;align-items:start}
.sis-connection-fields{min-width:0}.sis-connection{margin-top:20px}.sis-connection form{margin-top:22px}
.sis-admin .edu-admin__field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.sis-modules{padding:22px;border:1px solid var(--edu-admin-border);border-radius:var(--edu-admin-card-radius);background:var(--edu-admin-secondary);min-width:0}.sis-modules>a{font-size:14px;color:var(--edu-admin-primary)}
.sis-module-list{list-style:none;display:grid;gap:10px;padding:0;margin:16px 0}.sis-module-list li{padding:12px;background:var(--edu-admin-surface);border:1px solid var(--edu-admin-border);border-radius:var(--edu-admin-control-radius);display:grid;gap:6px;font-size:13px;line-height:1.45}.sis-module-list strong{font-size:14px}.sis-module-list li[data-state=ok]{border-inline-start:4px solid var(--edu-admin-primary)}
.sis-feedback{line-height:1.5;font-size:14px;margin:16px 0 0}.sis-feedback:empty{display:none}
.sis-help{margin-top:18px;padding-top:16px;border-top:1px solid var(--edu-admin-border);font-size:13px;color:var(--edu-admin-muted);line-height:1.5}.sis-help summary{cursor:pointer;font-weight:600}
.sis-content-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.sis-demo{margin-top:22px}.sis-publication{margin-top:26px;padding-top:24px;border-top:1px solid var(--edu-admin-border)}
.sis-permissions{display:grid;gap:14px;margin-top:20px}.sis-permissions label{line-height:1.5}
.sis-output-mode{max-width:440px;margin-bottom:22px}.sis-admin-preview{margin:20px 0}.sis-admin-preview>h2{display:none}
.sis-admin section[id]{scroll-margin-top:24px}
@media(max-width:900px){.sis-connection-layout{grid-template-columns:1fr}.sis-content-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.sis-modules{padding:18px}}
@media(max-width:600px){.sis-admin{gap:18px}.sis-admin .edu-admin__field-grid,.sis-content-fields{grid-template-columns:1fr}.sis-access,.sis-unlock{min-width:0;width:100%}#adminKeyField{flex-direction:column;align-items:stretch}#adminKeyField label{width:100%}.sis-section-nav a{flex:1;text-align:center;font-size:13px}.sis-section-heading{gap:10px}.sis-admin .sis-admin-actions{gap:10px}.sis-admin .sis-admin-actions button{flex:1 1 180px}}
.sis-class-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 14px}
.sis-provider-kind{display:grid;gap:10px;align-content:start}.sis-provider-kind>span{font-weight:600}.sis-provider-kind>strong{min-height:40px;display:flex;align-items:center;font-size:15px;color:var(--edu-admin-muted)}
/* A timetable is a matrix, rather than a sequence of large information cards. */
.sis-screen,.sis-board,.sis-timetable,.sis-week{min-width:0}
.sis-screen--web{max-width:1800px;margin:auto}
.sis-header .edu-navigation-heading{padding:0;background:none;color:inherit;min-width:0}
.sis-header .edu-header-title,.sis-header .edu-header-meta{white-space:nowrap}
.sis-class-nav{display:flex;align-items:center;flex-wrap:wrap;gap:6px;flex:none;font-size:var(--edu-text-footnote,14px)}
.sis-class-label{font-weight:650;margin-right:8px}
.sis-class-chip{font:inherit!important;min-width:54px;min-height:44px;padding:8px 12px!important}
.sis-class-chip[aria-pressed=true]{background:var(--ev-primary);color:var(--ev-primary-text);border-color:var(--ev-primary)}
.sis-timetable{display:flex;flex-direction:column;height:100%;min-height:0;gap:10px}
.sis-schedule-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex:none}
.sis-schedule-heading h2{font-size:var(--tt-title);margin:0}.sis-schedule-note{font-size:var(--tt-meta);margin:0;color:var(--ev-muted)}
.sis-week{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;border:1px solid var(--ev-border);border-radius:var(--ev-card-radius);background:var(--ev-bg)}
.sis-week:focus-visible{outline:2px solid var(--ev-primary);outline-offset:2px}
.sis-week-table{table-layout:fixed;border-collapse:separate;border-spacing:0;width:100%;font-size:var(--tt-meta);line-height:1.3;color:var(--ev-text)}
.sis-week-table th,.sis-week-table td{box-sizing:border-box;border-right:1px solid var(--ev-border);border-bottom:1px solid var(--ev-border);padding:8px 7px;vertical-align:top;overflow-wrap:anywhere}
.sis-week-table tr>:last-child{border-right:0}.sis-week-table tbody tr:last-child>*{border-bottom:0}
.sis-week-table thead th{position:sticky;top:0;z-index:2;background:var(--ev-secondary);color:var(--ev-secondary-text);text-align:center;font-weight:500}
.sis-week-table thead th span{display:block;font-size:.8em;margin-top:2px}
.sis-week-table tr>:first-child{width:6em;position:sticky;left:0;background:var(--ev-secondary);color:var(--ev-secondary-text);z-index:1}
.sis-week-table thead tr>:first-child{z-index:3}
.sis-week-table tbody th{text-align:left;text-transform:capitalize;font-weight:600}
/* The same compact information hierarchy is used in every output mode. */
.sis-lesson-list{display:flex;flex-direction:column;gap:9px}
.sis-lesson{display:block;min-width:0;margin:0;font-size:var(--tt-meta)}
.sis-lesson+.sis-lesson{margin-top:10px}
.sis-lesson-title{display:inline-block;font-size:var(--tt-title);font-weight:650;line-height:1.2;margin-bottom:.4em;color:var(--ev-text)}
.sis-subject-details{display:block;min-width:0}
.sis-lesson-line{display:flex;flex-wrap:wrap;align-items:center;gap:3px 7px}
.sis-lesson-line+.sis-lesson-line{border-top:1px solid var(--ev-border);padding-top:4px;margin-top:4px}
.sis-lesson-meta{display:flex;flex-wrap:wrap;gap:3px 7px;font-size:var(--tt-meta);line-height:1.2;color:var(--ev-text)}
.sis-detail{display:inline-flex;align-items:baseline;gap:4px;max-width:100%;overflow-wrap:anywhere}
.sis-detail-icon{width:.9em;height:.9em;fill:none;stroke:currentColor;stroke-width:1.8;flex-shrink:0;color:var(--ev-muted)}
/* Shared output styles also address spans: keep all detail text at the matrix scale. */
html body .sis-week-table .sis-lesson-meta .sis-detail,html body .sis-week-table .sis-lesson-meta .sis-detail>span{font-size:var(--tt-meta)!important;line-height:1.2!important}
.sis-lesson-group{display:inline-block;font-size:calc(var(--tt-meta)*.76);line-height:1.1;color:var(--ev-secondary-text);background:var(--ev-secondary);border:1px solid var(--ev-border);border-radius:4px;padding:2px 5px;max-width:100%;overflow-wrap:anywhere}
.sis-free{display:block;text-align:center;color:color-mix(in srgb,var(--ev-muted) 45%,var(--ev-surface));font-size:.8em}
.sis-week-table tbody td{background:var(--ev-bg)}
.sis-class-chip{border-radius:7px!important}
.sis-header{border-radius:10px!important}
.sis-matrix-hint{flex:none;font-size:var(--tt-meta);color:var(--ev-muted);margin:0}
.sis-screen--web .sis-board{flex:none}.sis-screen--web .sis-timetable{height:auto}.sis-screen--web .sis-week-table{min-width:1000px}
.sis-screen--web .sis-week-table td{height:90px}
html:not(.web-output) .sis-tabs .edu-navigation-button{font-size:var(--edu-text-footnote)}
html:not(.web-output) .sis-week-table{min-width:1100px}
@media(max-width:600px){.sis-class-nav{max-height:110px;overflow:auto}.sis-class-label{width:100%}.sis-class-chip{min-width:48px}.sis-schedule-heading{align-items:start;flex-direction:column;gap:4px}.sis-matrix-hint{line-height:1.4}}
html.nsp-output .sis-tabs,html.nsp-output .sis-schedule-heading{display:none}
html:not(.web-output) .sis-matrix-hint{display:none}
/* Fill the usable matrix area instead of leaving a blank lower half. */
.sis-week-table--filled{height:100%}
.sis-week-table--filled tbody td{vertical-align:top}
html:not(.web-output) .sis-week-table{min-width:0}
html:not(.web-output) .sis-class-nav{gap:4px}
html.kiosk-output .sis-schedule-heading{display:none}
html.kiosk-output .sis-tabs{gap:4px}

/* Desktop web retains the complete week in the current page; narrow windows scroll normally. */
@media(min-width:1100px) and (min-height:800px){
 .sis-screen--web:has(.sis-board--schedule){height:100dvh}
 .sis-screen--web .sis-board--schedule{flex:1;min-height:0}
 .sis-screen--web .sis-board--schedule .sis-timetable{height:100%}
 .sis-screen--web .sis-board--schedule .sis-schedule-heading,.sis-screen--web .sis-board--schedule .sis-matrix-hint{display:none}
 .sis-screen--web .sis-week-table td{height:auto}
}
/* Preserve text size in narrower segments by reducing spacing before introducing scrolling. */
.sis-week{container-type:inline-size}
@container(max-width:1100px){
 .sis-week-table th,.sis-week-table td{padding:6px 4px}
 .sis-lesson+.sis-lesson{margin-top:5px}
 .sis-lesson-title{margin-bottom:3px}
 .sis-lesson-line+.sis-lesson-line{padding-top:3px;margin-top:3px}
 .sis-lesson-meta{gap:2px 5px}
}


/* Timetable cards share the surface and semantic markers of substitution rows. */
.sis-lesson .edu-change-badge{display:table;font-size:calc(var(--tt-meta)*.8);margin-bottom:.4em}
.sis-lesson[data-change-type=cancelled] .sis-lesson-title{text-decoration:line-through;color:var(--change-ink)}
.sis-lesson .edu-change-original{font-size:calc(var(--tt-meta)*.85)}
.sis-substitutions{height:100%;display:flex;flex-direction:column;gap:16px;container-type:inline-size;min-width:0;min-height:0}
.sis-substitutions-content{position:relative;flex:1;min-height:0;min-width:0}
.sis-screen--web .sis-substitutions{height:auto}.sis-screen--web .sis-substitutions-content{flex:none}
.sis-week-table:has(tbody tr:only-child) td{height:140px}

.sis-week-table tbody th>span{display:block;font-weight:400;margin-top:.25em;font-size:.85em}
.sis-changes-summary{font-size:var(--tt-meta);color:var(--ev-muted);margin:0;flex:none}
[data-sis-original=false] [data-edu-original]{display:none}

.sis-timetable--vertical .sis-week{overflow:hidden;position:relative}
.sis-hour-list{display:flex;flex-direction:column;gap:.5em;font-size:var(--tt-meta);line-height:1.3}
.sis-hour-day{font-size:var(--tt-title);text-transform:capitalize;margin:.25em 0}
.sis-hour-card{display:grid;grid-template-columns:4em minmax(0,1fr);gap:.7em;padding:.65em;border:1px solid var(--ev-border);border-radius:var(--ev-card-radius);background:var(--ev-surface);min-width:0}
.sis-hour-time{font-size:var(--tt-meta);font-weight:650}.sis-hour-time small{display:block;font-weight:400;color:var(--ev-muted);font-size:.85em;margin-top:.3em}
.sis-hour-content{min-width:0}.sis-hour-content .sis-lesson{border:0;padding:.1em .65em;border-inline-start:3px solid var(--change-ink,var(--ev-border));border-radius:0}.sis-hour-probe{position:absolute;visibility:hidden;height:auto;pointer-events:none;inset:0 auto auto 0}

[data-sis-automatic=true] .edu-pagination-button{display:none}

.sis-lesson-line>[data-edu-original]{flex-basis:100%}
.sis-lesson.edu-schedule-change :is(.sis-lesson-meta,.sis-detail){color:var(--change-ink)}
.sis-lesson.edu-schedule-change .edu-change-original{color:var(--change-ink)}

.sis-substitution-probe{position:absolute;inset:0 auto auto 0;visibility:hidden;pointer-events:none;height:auto}
.sis-target-chip[aria-pressed=true]{background:var(--ev-primary);color:var(--ev-primary-text)}
.sis-entity-select{display:flex;align-items:center;gap:10px;margin-inline-start:12px;font:inherit}
.sis-entity-select select{font:inherit;max-width:min(55vw,540px);min-height:44px;padding:6px 12px;border:1px solid var(--ev-border);border-radius:var(--ev-control-radius);background:var(--ev-surface);color:var(--ev-text)}
.sis-period-caption{font-weight:400;opacity:.8;margin:0 0 3px!important}


/* Entity selection stays in one landscape row or two portrait rows. */
#classNavigation{display:flex;flex-direction:column;align-items:stretch;gap:8px;flex:none}
.sis-target-types,.sis-schedule-tools,.sis-week-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.sis-choice-row{display:flex;align-items:center;gap:10px;min-width:0;width:100%}
.sis-choice-grid{display:grid;gap:6px;flex:1;min-width:0}
.sis-choice-grid .sis-class-chip{width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-inline:6px;min-height:44px}
.sis-choice-next{flex:none;min-height:44px;white-space:nowrap}
.sis-schedule-tools .sis-entity-select{margin-inline-start:0}
.sis-week-navigation strong{font-size:clamp(14px,1.1vw,22px);white-space:nowrap}
[hidden][data-edu-original]{display:none!important}

.sis-footer #emptyNote{flex:1;text-align:center;font:inherit;color:inherit;line-height:1.5}
.sis-personnel-list{display:flex;flex-direction:column;gap:12px}
.sis-personnel-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(150px,1.3fr) minmax(0,3fr);gap:20px;align-items:center;padding:18px 22px;border:1px solid var(--ev-border);border-inline-start:4px solid var(--ev-primary);border-radius:var(--ev-card-radius,10px);background:var(--ev-surface);color:var(--ev-text);font-size:var(--tt-meta,18px)}
.sis-personnel-row[data-kind=guards]{border-inline-start-color:var(--ev-accent,var(--ev-primary))}
.sis-personnel-time,.sis-personnel-who,.sis-personnel-detail{display:flex;flex-direction:column;gap:5px;min-width:0}
.sis-personnel-time strong,.sis-personnel-who strong{font-size:1.15em}.sis-personnel-row small{font-size:.8em;color:var(--ev-muted)}
.sis-personnel-detail p{margin:0;color:var(--ev-muted);line-height:1.4}.sis-personnel-detail span{font-size:.9em}.sis-personnel-detail strong{font-size:1em}
@media(max-width:700px){.sis-personnel-row{grid-template-columns:minmax(80px,.8fr) minmax(0,1.5fr);gap:12px;padding:14px}.sis-personnel-detail{grid-column:1/-1}.sis-footer #emptyNote{flex-basis:100%;order:3;text-align:start}}

.sis-footer{margin-top:auto}


/* Width-aware entity pages: full labels and explicit navigation cells. */
.sis-choice-grid{align-items:stretch}.sis-choice-grid .sis-class-chip{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:normal;word-break:normal;line-height:1.25;padding:8px 12px!important;min-height:44px;height:auto}
.sis-choice-grid .sis-choice-next{padding:6px!important;font-size:1.4em;width:44px;min-width:44px;align-self:stretch}
.sis-class-nav{max-height:none!important;overflow:visible!important}
.sis-footer{font-size:var(--edu-text-footnote,14px)!important;line-height:1.35}.sis-footer>*{font:inherit}
html:not(.web-output) .sis-board--schedule .sis-week{overflow:hidden}
.sis-week-table--transposed tr>:first-child{width:4.5em}.sis-week-table--transposed tbody th>span{font-size:.8em}
.sis-lesson-title{display:block;max-width:100%;overflow-wrap:normal;word-break:normal;hyphens:none}
.sis-overview-options{border:1px solid var(--edu-admin-border);border-radius:var(--edu-admin-card-radius,14px);padding:20px;margin-block:20px}.sis-overview-options legend{font-weight:650;padding:0 8px}

/* Compact intrinsic entity labels; schedule controls follow the paging arrows. */
.sis-choice-row{align-items:center;flex-wrap:wrap;gap:12px}
.sis-choice-grid{display:flex;flex:1 1 120px;flex-wrap:nowrap;gap:6px;align-items:stretch}
.sis-choice-grid .sis-class-chip{width:auto;flex:0 1 auto;max-width:min(100%,24em);min-width:64px}
.sis-choice-grid .sis-choice-next{flex:none}
.sis-choice-row .sis-schedule-tools{flex:0 1 auto;max-width:55%;margin-inline-start:auto;gap:12px;font-size:clamp(16px,1.1vw,24px)}
.sis-schedule-tools:empty{display:none}
.sis-week-navigation{gap:10px}.sis-week-navigation strong{font-size:inherit}
.sis-week-navigation .edu-navigation-button{font-size:inherit!important;min-height:44px;padding:8px 12px!important}
.sis-schedule-tools .sis-entity-select{display:flex;align-items:center;gap:8px;font-size:inherit}
#overviewSections.sis-overview-choices{display:flex;flex-wrap:wrap;gap:12px;margin-block:12px 20px}
#overviewSections .edu-choice{flex:0 1 auto;margin:0;min-height:44px}
@media(max-width:700px){.sis-choice-row .sis-schedule-tools{max-width:100%;flex-basis:100%;margin-inline-start:0}}
/* Public school events share the news application's editorial cards and geometry. */
.sis-board.sis-events{display:flex;flex-direction:column;gap:var(--sis-gap)}
.sis-events .grid{flex:1;min-height:0}.sis-events .edu-pagination{flex:none}
.sis-screen--web .sis-events .grid{flex:none}

.sis-schedule-tools>.sis-class-label{font-size:inherit;font-weight:650}
.sis-group-picker{position:relative;font-size:inherit}.sis-group-picker summary{font-size:inherit!important;min-height:44px;display:flex;align-items:center;gap:12px;padding:8px 12px!important;cursor:pointer;list-style:none}.sis-group-picker summary:after{content:'⌄'}.sis-group-picker summary::-webkit-details-marker{display:none}
.sis-group-options{position:absolute;z-index:30;inset:calc(100% + 8px) 0 auto auto;min-width:220px;max-height:320px;overflow:auto;padding:8px;display:grid;gap:6px;background:var(--ev-surface);border:1px solid var(--ev-border);border-radius:var(--ev-control-radius);box-shadow:0 8px 28px #0002;font-size:18px}
.sis-group-options button{font-size:18px!important;text-align:start;padding:10px 14px!important}
.sis-class-label{font-size:inherit;font-weight:650}
.sis-lesson.edu-schedule-change{background:var(--change-bg)!important;border:2px solid var(--change-ink)!important;border-inline-start-width:5px!important}
.sis-lesson.edu-schedule-change .sis-lesson-title{color:var(--change-ink)}
.sis-load-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center;color:var(--ev-muted);font-size:clamp(16px,1.4vw,24px)}.sis-load-state p{margin:0;line-height:1.5}
.sis-load-spinner{width:32px;height:32px;border:3px solid var(--ev-border);border-top-color:var(--ev-primary);border-radius:50%;animation:sis-spin 1s linear infinite}@keyframes sis-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.sis-load-spinner{animation:none}}
.sis-day-progress{display:grid;gap:12px}.sis-day-progress progress{width:100%;height:18px;accent-color:var(--ev-primary)}

.sis-empty{font-size:clamp(16px,1.4vw,24px);line-height:1.5;color:var(--ev-muted);padding:24px}

/* Canonical school toolbar. One text scale for labels, choices, groups and dates. */
#classNavigation{font-size:calc(var(--edu-text-footnote,20px)*1.2)}
#classNavigation :is(.sis-class-label,.sis-class-chip,.sis-schedule-tools,.sis-week-navigation,.sis-week-navigation strong,.sis-group-picker,.sis-group-picker summary,.sis-day-navigation,.sis-day-navigation input){font-size:inherit!important;line-height:1.3}
#classNavigation .edu-navigation-button{font-size:inherit!important}
#classNavigation .sis-group-options button{font-size:20px!important}
.sis-day-navigation{display:flex;align-items:center;flex-wrap:wrap;gap:10px}.sis-day-navigation input{font:inherit;padding:8px;border:1px solid var(--ev-border);background:var(--ev-surface);color:var(--ev-text);border-radius:var(--ev-control-radius);min-width:9em}
.sis-time-range,.edu-substitution-time small,.sis-personnel-time strong{white-space:nowrap!important}
html body .sis-substitutions .sis-schedule-heading{display:flex!important}
.sis-paging-setting{display:grid;gap:10px;max-width:540px;margin-block:20px}.sis-paging-setting input{max-width:150px}
.sis-layout-editor{padding:16px;border:1px solid var(--edu-admin-border);border-radius:var(--edu-admin-card-radius);margin-block:20px}.sis-layout-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;padding:14px;background:var(--edu-admin-secondary);border-radius:var(--edu-admin-control-radius)}
.sis-layout-tile{padding:14px;background:var(--edu-admin-surface);border:1px solid var(--edu-admin-border);border-radius:var(--edu-admin-control-radius);display:grid;gap:10px;min-width:0;cursor:grab}.sis-layout-tile strong{font-size:15px}.sis-layout-tile select{font-size:14px!important}.sis-layout-actions{display:flex;gap:8px}.sis-layout-actions button{padding:6px 10px!important;font-size:16px!important}
@media(max-width:600px){.sis-layout-grid{grid-template-columns:1fr}.sis-layout-tile{grid-column:1!important}}

.edu-school-overview{font-size:var(--overview-font,24px)!important}
.edu-school-overview__grid{height:auto;grid-auto-flow:row dense;grid-auto-rows:auto;align-content:start}
.edu-school-overview__probe .edu-school-overview__grid{height:auto;grid-auto-rows:auto}
.edu-school-overview__card{font-size:inherit!important;align-content:start}
.edu-school-overview__card h2{font-size:1.15em!important}.edu-school-overview__card h3{font-size:1em!important}.edu-school-overview__card p{font-size:.85em!important}.edu-school-overview__card small{font-size:.75em!important}
.edu-school-overview__meal{grid-template-columns:2.6em minmax(0,1fr);align-items:start}
.sis-meal-icon{display:grid;place-items:center;background:var(--ev-secondary);color:var(--ev-secondary-text);width:2.4em;height:2.4em;border-radius:var(--ev-control-radius)}.sis-meal-icon svg{width:1.7em;height:1.7em;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sis-overview-holiday-art{float:right;width:clamp(80px,35%,260px);justify-self:end;--art-bg:var(--ev-secondary);--art-main:var(--ev-primary);--art-ink:var(--ev-text);--art-soft:var(--ev-secondary);--art-accent:var(--ev-accent,var(--ev-primary))}.sis-overview-holiday-art svg{display:block;width:100%;height:auto}.edu-school-overview__card[data-section=holidays] .edu-school-overview__list{display:block}

.edu-school-overview__card{padding:.8em}.edu-school-overview__heading{margin-bottom:.5em}.sis-day-progress{gap:6px}.sis-overview-holiday-art{width:clamp(70px,28%,180px)}
/* Shared typography wraps time fragments; keep those wrappers inline inside a range. */
.sis-time-range .edu-typography-unit,.sis-personnel-time strong .edu-typography-unit,.edu-substitution-time small .edu-typography-unit{display:inline!important;font:inherit!important;margin:0!important;white-space:nowrap!important}

.sis-meal-icon{position:relative}.sis-meal-number{position:absolute;right:-.2em;bottom:-.2em;background:var(--ev-primary);color:var(--ev-primary-text);border-radius:50%;font-size:.65em;min-width:1.4em;height:1.4em;display:grid;place-items:center}
.sis-week-table--transposed tr>:first-child{width:8em}
.sis-personnel-row{grid-template-columns:minmax(max-content,1fr) minmax(150px,1.3fr) minmax(0,3fr)}
@media(max-width:700px){.sis-personnel-row{grid-template-columns:minmax(max-content,.8fr) minmax(0,1.5fr)}}

/* Cards use their own available width, including inside scaled 4K previews. */
.edu-school-overview__card .edu-school-overview__lessons{grid-template-columns:repeat(auto-fit,minmax(min(100%,11em),1fr))}
.edu-school-overview__lesson :is(h3,p){overflow-wrap:normal;word-break:normal}
.edu-school-overview__lesson time{white-space:nowrap}

/* Status text follows the same reading scale as the segment content. */
.sis-load-state{box-sizing:border-box;width:100%;height:100%;min-height:0;padding:clamp(16px,3vmin,80px);font-size:var(--sis-status-font,var(--sis-font,24px));gap:.6em}
.sis-load-state p{font-size:inherit;line-height:1.4;max-width:34em}
.sis-load-spinner{width:1.3em;height:1.3em;border-width:.12em;flex:none}
.sis-empty{font-size:var(--sis-status-font,var(--sis-font,24px))}
.sis-screen--web .sis-load-state{min-height:45vh}

/* Embedded school overviews share the outer kiosk header's content edges. */
html.kiosk-output.edu-menu-app-header .sis-screen{padding-inline:0!important;width:100%;max-width:none;margin-inline:0}
html.kiosk-output.edu-menu-app-header .sis-screen>:is(.sis-header,.sis-tabs,.sis-class-nav,.sis-board,.sis-footer){box-sizing:border-box;width:100%;max-width:none;margin-inline:0}
