/* 학생 관리 — 등록 폼과 학습자 목록. 규정과 입력 순서는 SSOT 14절 그대로다. */
.school-page { display: grid; gap: var(--wa-space-m); max-inline-size: 48rem; min-inline-size: 0; }
.school-page > :is(h1, h2, p, ul) { margin: 0; }
.school-page > h2 { margin-block-start: var(--wa-space-l); padding-block-end: var(--wa-space-xs); border-block-end: 1px solid var(--wa-color-surface-border); }
.school-page > .form { box-sizing: border-box; inline-size: 100%; max-inline-size: none; gap: var(--wa-space-m); padding: clamp(1.25rem, 2.5vw, 2rem); border: 1px solid var(--wa-color-surface-border); border-radius: var(--wa-border-radius-l); background: var(--wa-color-surface-raised); box-shadow: var(--wa-shadow-s); }
.school-page > .slot-list { padding: var(--wa-space-m); border: 1px solid var(--wa-color-surface-border); border-radius: var(--wa-border-radius-l); background: var(--wa-color-surface-raised); }
.school-page .slot-list li + li { border-block-start: 1px solid var(--wa-color-surface-border); }
.school-page > .form fieldset { border: 0; padding: 0; }
.school-page .form-check { min-block-size: 2.75rem; }
.school-heading { display: flex; align-items: center; gap: var(--wa-space-m); min-inline-size: 0; }
.school-heading h1 { margin: 0; min-inline-size: 0; }
.school-heading > .account-comparison { flex-shrink: 0; }
.school-heading .account-comparison > button { display: inline-flex; align-items: center; justify-content: center; inline-size: 2.75rem; min-block-size: 2.75rem; padding: var(--wa-space-xs); }
@media (max-width: 600px) {
    .school-heading h1 { font-size: var(--wa-font-size-2xl); overflow-wrap: anywhere; }
}

/* ── 등록 도구와 학습자 목록 두 열 — 좁은 본문은 같은 순서로 쌓는다 ─── */
.school-page:has(> .school-management) { max-inline-size: 80rem; }
.school-management { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: var(--wa-space-xl); align-items: start; }
.school-enrollment, .school-roster, .school-enrollment > section { display: grid; gap: var(--wa-space-m); min-inline-size: 0; }
.school-enrollment > section, .school-roster { padding: clamp(1rem, 2vw, 1.5rem); border: 1px solid var(--wa-color-surface-border); border-radius: var(--wa-border-radius-l); background: var(--wa-color-surface-raised); box-shadow: var(--wa-shadow-s); }
.school-management :is(h2, p) { margin: 0; }
.school-management h2 { padding-block-end: var(--wa-space-xs); border-block-end: 1px solid var(--wa-color-surface-border); }
.school-management .form { inline-size: 100%; max-inline-size: none; min-inline-size: 0; box-sizing: border-box; }
.school-management .form input { min-inline-size: 0; }
.school-roster .slot-list li { overflow-wrap: anywhere; }
.school-roster .school-chat-all { padding-block-end: var(--wa-space-s); }

/* ── 학습자 이름 수정 ─── */
.school-page .slot-list li { align-items: baseline; }
.school-page .slot-list .learner-edit { flex-basis: auto; margin-inline-start: auto; max-inline-size: 100%; }
.school-page .learner-edit[open] { flex-basis: 100%; margin-inline-start: 0; }
.school-page .learner-edit > summary { padding-block: var(--wa-space-xs); }
.school-page .learner-edit > .form { margin-block-start: var(--wa-space-s); inline-size: 100%; max-inline-size: none; box-sizing: border-box; }
.school-page .slot-list li > a { overflow-wrap: anywhere; }
/* [모두 채팅] — 학생 아이디가 있는 학생 모두와 쓰는 하나뿐인 그룹(SSOT 13절 "학생관리자 전체 학생 방") */
.school-chat-all { display: flex; flex-wrap: wrap; align-items: center; gap: var(--wa-space-xs) var(--wa-space-m); }
.school-chat-all > button { display: inline-flex; align-items: center; gap: var(--wa-space-xs); min-block-size: 2.75rem; }
.school-chat-all > .profile-help { flex: 1 1 16rem; margin: 0; }

/* ── 계정 비교와 학습자 전용 출석 링크 ─── */
.account-comparison wa-dialog:not(:defined), .learner-link wa-dialog:not(:defined) { display: none; }
.account-comparison wa-dialog { --width: 52rem; }
.account-comparison-table { border: 1px solid var(--wa-color-surface-border); border-radius: var(--wa-border-radius-m); overflow: hidden; }
.account-comparison table { border-collapse: collapse; table-layout: fixed; inline-size: 100%; }
.account-comparison :is(th, td) { padding: var(--wa-space-m); text-align: start; vertical-align: top; white-space: normal; overflow-wrap: anywhere; line-height: 1.5; }
.account-comparison thead th { background: var(--wa-color-surface-lowered); border-block-end: 2px solid var(--wa-color-surface-border); }
.account-comparison small { display: block; margin-block-start: var(--wa-space-2xs); font-size: var(--wa-font-size-s); font-weight: normal; color: var(--wa-color-text-quiet); }
.account-comparison tbody tr + tr { border-block-start: 1px solid var(--wa-color-surface-border); }
.account-comparison tbody tr:nth-child(even) { background: color-mix(in srgb, var(--wa-color-brand-fill-loud) 4%, var(--wa-color-surface-raised)); }
.account-comparison tbody tr:nth-child(4) { border-block-start-width: 2px; }
.account-comparison :is(th, td) + :is(th, td) { border-inline-start: 1px solid var(--wa-color-surface-border); }
.account-comparison-account { display: none; }
@media (max-width: 700px) {
    .account-comparison-table { border: 0; overflow: visible; }
    .account-comparison :is(table, tbody) { display: block; }
    .account-comparison thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip-path: inset(50%); }
    .account-comparison tbody tr { display: grid; border: 1px solid var(--wa-color-surface-border); border-radius: var(--wa-border-radius-m); overflow: hidden; }
    .account-comparison tbody tr + tr { margin-block-start: var(--wa-space-m); }
    .account-comparison tbody tr:nth-child(4) { border-block-start-width: 1px; }
    .account-comparison tbody tr:nth-child(even) { background: none; }
    .account-comparison tbody th { background: var(--wa-color-surface-lowered); }
    .account-comparison td { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--wa-space-m); border-block-start: 1px solid var(--wa-color-surface-border); }
    .account-comparison :is(th, td) { padding: var(--wa-space-s) var(--wa-space-m); }
    .account-comparison :is(th, td) + :is(th, td) { border-inline-start: 0; }
    .account-comparison-account { display: block; font-weight: var(--wa-font-weight-semibold); }
}
.learner-link wa-dialog { --width: 40rem; white-space: normal; }
.learner-link-field { display: grid; gap: var(--wa-space-s); }
.learner-link-field input { box-sizing: border-box; inline-size: 100%; min-inline-size: 0; padding: var(--wa-space-s); color: var(--wa-color-text-normal); background: var(--wa-color-surface-raised); border: 1px solid var(--wa-color-surface-border); border-radius: var(--wa-border-radius-m); }

/* ── 학생 관리 작업 공간 — 제목·비교·수업 이동을 한 흐름으로(SSOT 11·14절) ── */
.school-page[data-workspace='school'] { inline-size: 100%; margin-inline: auto; gap: var(--wa-space-l); }
.school-page[data-workspace='school'] .school-heading {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: var(--wa-space-s) var(--wa-space-m);
	padding: clamp(1.5rem, 2.5vw, 2.25rem);
	border: 1px solid var(--sonub-border);
	border-block-start: 3px solid var(--sonub-accent);
	border-radius: var(--sonub-radius-panel);
	background: var(--sonub-surface);
	box-shadow: var(--sonub-shadow-card);
}
.school-page[data-workspace='school'] .school-heading > :is(.sonub-eyebrow, p) { grid-column: 1 / -1; }
.school-page[data-workspace='school'] .school-heading h1 { font-size: calc(clamp(1.8rem, 2.4vw, 2.65rem) * var(--wa-font-size-scale, 1)); line-height: 1.3; letter-spacing: -0.035em; text-wrap: balance; }
.school-page[data-workspace='school'] .school-heading p { margin: 0; }
.school-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wa-space-m); }
.school-links a { display: flex; align-items: center; gap: var(--wa-space-s); min-inline-size: 0; padding: var(--wa-space-m); border: 1px solid var(--sonub-border); border-radius: var(--sonub-radius-card); background: var(--sonub-surface); color: var(--sonub-ink); text-decoration: none; font-weight: var(--wa-font-weight-semibold); }
.school-links a > span:not(.sonub-icon-tile) { flex: 1; }
.school-links a > i { color: var(--sonub-muted); font-size: var(--wa-font-size-s); }
.school-links .sonub-icon-tile { inline-size: 2.75rem; block-size: 2.75rem; flex-shrink: 0; }
.school-links a:hover { background: var(--sonub-accent-soft); border-color: var(--sonub-accent); }
.school-links a:focus-visible { outline: 2px solid var(--wa-color-focus); outline-offset: 3px; }
.school-page[data-workspace='school'] .school-management { gap: var(--wa-space-l); }
.school-page[data-workspace='school'] :is(.school-student-id, .school-roster) { border-radius: var(--sonub-radius-panel); }
.school-page[data-workspace='school'] .school-management h2 { font-size: var(--wa-font-size-l); padding-block-end: var(--wa-space-m); line-height: 1.5; }
.school-page[data-workspace='school'] .school-student-id > p { color: var(--sonub-muted); line-height: 1.8; }
.school-page[data-workspace='school'] .school-student-id .form { gap: var(--wa-space-m); }
.school-page[data-workspace='school'] .school-student-id .form > button { min-block-size: 2.75rem; inline-size: 100%; }
.school-page[data-workspace='school'] .school-roster .slot-list { display: grid; padding: 0; list-style: none; margin: 0; gap: var(--wa-space-m); }
.school-page[data-workspace='school'] .school-learner {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: var(--wa-space-s);
	align-items: center;
	padding: var(--wa-space-m);
	border: 1px solid var(--sonub-border);
	border-radius: var(--wa-border-radius-l);
	background: var(--sonub-canvas);
}
.school-page[data-workspace='school'] .school-learner > .sonub-icon-tile { grid-row: span 2; inline-size: 2.5rem; block-size: 2.5rem; }
.school-page[data-workspace='school'] .school-learner-name { min-inline-size: 0; overflow-wrap: anywhere; }
.school-page[data-workspace='school'] .school-learner > .tag { grid-column: 2; grid-row: 2; justify-self: start; overflow-wrap: anywhere; }
.school-page[data-workspace='school'] .school-learner-levels { grid-column: 1 / -1; display: inline-flex; align-items: center; gap: var(--wa-space-xs); min-block-size: 2.75rem; font-size: var(--wa-font-size-s); }
.school-page[data-workspace='school'] .school-learner .learner-edit { margin: 0; padding: 0; border: 0; background: transparent; }
.school-page[data-workspace='school'] .learner-edit > summary { min-block-size: 2.75rem; box-sizing: border-box; padding: var(--wa-space-xs) var(--wa-space-s); border: 1px solid var(--sonub-border); border-radius: var(--wa-border-radius-m); background: var(--sonub-surface); font-size: var(--wa-font-size-s); }
.school-page[data-workspace='school'] .school-roster-empty { padding: var(--wa-space-l); color: var(--sonub-muted); border: 1px dashed var(--sonub-border); border-radius: var(--wa-border-radius-m); background: var(--sonub-canvas); line-height: 1.8; }
@media (max-width: 40rem) { .school-links { grid-template-columns: minmax(0, 1fr); } }

/* ── 1차 검수 보완 — 같은 학생의 동작을 모으고 입력 도움말을 읽기 쉽게 ── */
.school-page[data-workspace='school'] .school-learner-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: start; justify-content: space-between; gap: var(--wa-space-xs) var(--wa-space-m); }
.school-page[data-workspace='school'] .school-learner-actions .learner-edit[open] { flex-basis: 100%; }
.school-page[data-workspace='school'] .school-learner-actions .form { padding: var(--wa-space-m); border: 1px solid var(--sonub-border); border-radius: var(--wa-border-radius-m); background: var(--sonub-surface); }
.school-page[data-workspace='school'] .school-student-id .form small { color: var(--sonub-muted); font-size: var(--wa-font-size-s); line-height: 1.65; }
.school-page[data-workspace='school'] .school-student-id .form > button { background: var(--sonub-accent); color: var(--sonub-on-accent); border-color: var(--sonub-accent); }
.school-page[data-workspace='school'] .school-student-id .form > button:hover { background: color-mix(in srgb, var(--sonub-accent) 88%, var(--sonub-ink)); }
.school-page[data-workspace='school'] :is(.school-chat-all > button, .school-heading .account-comparison > button) { background: var(--sonub-accent-soft); color: var(--sonub-accent-ink); border: 1px solid var(--sonub-border); }
.school-page[data-workspace='school'] :is(.school-chat-all > button, .school-heading .account-comparison > button):hover { border-color: var(--sonub-accent); }
.school-page[data-workspace='school'] .learner-edit > summary:focus-visible { outline: 2px solid var(--wa-color-focus); outline-offset: 3px; }

/* ── 가정·교실·일터를 위한 시작 화면(SSOT 11·14절) ── */
.school-page[data-workspace='school-register'] { max-inline-size: 82rem; margin-inline: auto; gap: clamp(1.5rem, 3vw, 2.75rem); }
.school-welcome { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr); gap: clamp(2rem, 4vw, 4rem); align-items: center; padding-block: clamp(1rem, 3vw, 3rem); }
.school-welcome-copy { display: grid; justify-items: start; gap: var(--wa-space-l); min-inline-size: 0; }
.school-welcome h1 { max-inline-size: 15ch; margin: 0; font-size: calc(clamp(2rem, 3.35vw, 3.5rem) * var(--wa-font-size-scale, 1)); font-weight: var(--wa-font-weight-bold); line-height: 1.18; letter-spacing: -0.045em; text-wrap: balance; word-break: keep-all; overflow-wrap: anywhere; }
.school-welcome .sonub-lead { margin: 0; max-inline-size: 44ch; line-height: 1.85; color: var(--sonub-muted); }
.school-welcome .sonub-button { gap: var(--wa-space-l); padding-inline: var(--wa-space-l); min-block-size: 3.25rem; }
.school-welcome-note { display: flex; align-items: center; gap: var(--wa-space-xs); font-size: var(--wa-font-size-s); color: var(--sonub-muted); }
.school-welcome-note i { color: var(--sonub-accent-ink); }
.school-workflow { padding: clamp(1.5rem, 2.5vw, 2.25rem); border: 1px solid var(--sonub-border); border-radius: var(--sonub-radius-panel); background: color-mix(in srgb, var(--sonub-accent) 5%, var(--sonub-surface)); box-shadow: var(--sonub-shadow-card); }
.school-workflow-mark { display: inline-flex; align-items: center; justify-content: center; inline-size: 3.5rem; block-size: 3.5rem; border-radius: var(--wa-border-radius-l); background: var(--sonub-accent); color: var(--sonub-on-accent); font-size: var(--wa-font-size-xl); }
.school-workflow h2 { margin-block: var(--wa-space-l); font-size: var(--wa-font-size-l); line-height: 1.5; }
.school-workflow ol { display: grid; gap: var(--wa-space-l); margin: 0; padding: 0; list-style: none; }
.school-workflow li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--wa-space-m); position: relative; }
.school-workflow li:not(:last-child)::after { content: ''; position: absolute; inset-inline-start: 1rem; inset-block: 2.5rem calc(-1 * var(--wa-space-l)); border-inline-start: 1px solid var(--sonub-border); }
.school-step-number { display: grid; place-items: center; inline-size: 2.1rem; block-size: 2.1rem; border-radius: 50%; border: 1px solid var(--sonub-border); background: var(--sonub-surface); color: var(--sonub-accent-ink); font-size: var(--wa-font-size-s); font-weight: var(--wa-font-weight-semibold); }
.school-workflow h3 { margin: 0 0 var(--wa-space-2xs); font-size: var(--wa-font-size-m); line-height: 1.5; }
.school-workflow p { margin: 0; color: var(--sonub-muted); font-size: var(--wa-font-size-s); line-height: 1.7; }
.school-page > .school-register-form { gap: var(--wa-space-l); border-radius: var(--sonub-radius-panel); padding: clamp(1.25rem, 2.5vw, 2rem); scroll-margin-block-start: 7rem; }
.school-register-heading h2 { margin: 0 0 var(--wa-space-xs); font-size: var(--wa-font-size-xl); }
.school-register-heading p { margin: 0; color: var(--sonub-muted); line-height: 1.75; }
.school-register-form fieldset { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wa-space-m); margin: 0; min-inline-size: 0; }
.school-register-form legend { padding-block-end: var(--wa-space-s); font-weight: var(--wa-font-weight-semibold); }
.school-register-form .form-check { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-content: start; align-items: center; gap: var(--wa-space-m); min-inline-size: 0; padding: var(--wa-space-l); border: 1px solid var(--sonub-border); border-radius: var(--sonub-radius-card); background: var(--sonub-canvas); cursor: pointer; transition: background var(--sonub-motion), border-color var(--sonub-motion), box-shadow var(--sonub-motion); }
.school-register-form input[type='radio'] { grid-column: 3; grid-row: 1; inline-size: 1.25rem; block-size: 1.25rem; margin: 0; accent-color: var(--sonub-accent); }
.school-register-form .sonub-icon-tile { grid-column: 1; grid-row: 1; }
.school-register-form .form-check strong { grid-column: 1 / -1; font-size: var(--wa-font-size-m); font-weight: var(--wa-font-weight-semibold); line-height: 1.6; }
.school-type-help { grid-column: 1 / -1; color: var(--sonub-muted); font-size: var(--wa-font-size-s); line-height: 1.75; overflow-wrap: anywhere; }
.school-register-form .form-check:hover { border-color: var(--sonub-accent); }
.school-register-form .form-check:has(:checked) { border-color: var(--sonub-accent); background: var(--sonub-accent-soft); box-shadow: inset 0 0 0 1px var(--sonub-accent); }
.school-register-form .form-check:has(:focus-visible) { outline: 2px solid var(--wa-color-focus); outline-offset: 3px; }
.school-register-form .school-type-selected { display: none; }
.school-self-note { display: flex; align-items: baseline; gap: var(--wa-space-s); margin: 0; padding-block: var(--wa-space-s); color: var(--sonub-muted); font-size: var(--wa-font-size-s); line-height: 1.75; }
.school-self-note i { color: var(--sonub-accent-ink); }
.school-register-form > button { display: flex; justify-content: center; align-items: center; gap: var(--wa-space-l); justify-self: end; min-inline-size: 14rem; max-inline-size: 100%; min-block-size: 3.25rem; background: var(--sonub-accent); color: var(--sonub-on-accent); border-color: var(--sonub-accent); }
.school-register-form > button:hover { background: var(--sonub-accent-hover); }

/* ── 관리 화면: 실제 업무로 이어지는 바로가기·명단·등록 ── */
.school-page[data-workspace='school'] .school-heading { border-block-start: 1px solid var(--sonub-border); border-inline-start: 4px solid var(--sonub-accent); background: linear-gradient(120deg, var(--sonub-surface), color-mix(in srgb, var(--sonub-accent) 5%, var(--sonub-surface))); }
.school-links { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.school-links a { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; padding: var(--wa-space-l); transition: border-color var(--sonub-motion), background var(--sonub-motion); }
.school-links a > span:not(.sonub-icon-tile) { display: grid; gap: var(--wa-space-xs); }
.school-links a > i { align-self: center; }
.school-links strong { font-size: var(--wa-font-size-m); line-height: 1.5; }
.school-links small { font-size: var(--wa-font-size-s); font-weight: normal; line-height: 1.7; color: var(--sonub-muted); }
.school-section-heading { display: flex; gap: var(--wa-space-s); align-items: center; }
.school-page[data-workspace='school'] .school-section-heading h2 { flex: 1; border: 0; padding: 0; scroll-margin-block-start: 7rem; }
.school-learner-count { display: inline-grid; place-items: center; min-inline-size: 1.75rem; min-block-size: 1.75rem; padding-inline: var(--wa-space-2xs); border-radius: var(--wa-border-radius-pill); background: var(--sonub-accent-soft); color: var(--sonub-accent-ink); font-size: var(--wa-font-size-s); }
.school-section-help { color: var(--sonub-muted); line-height: 1.75; }
.school-page[data-workspace='school'] .school-roster-empty { display: grid; justify-items: center; gap: var(--wa-space-m); padding: clamp(1.5rem, 3vw, 3rem); text-align: center; }
.school-roster-empty > strong { color: var(--sonub-ink); }
.school-page[data-workspace='school'] .school-chat-all { padding: var(--wa-space-m); border-radius: var(--sonub-radius-control); background: var(--sonub-accent-soft); }
.school-page[data-workspace='school'] .school-learner { background: var(--sonub-surface); }
.school-page[data-workspace='school'] .school-student-id .form > .profile-help { padding: var(--wa-space-m); border-radius: var(--sonub-radius-control); background: var(--sonub-warning-soft); color: var(--sonub-warning); line-height: 1.7; }
.school-page :is(input, button, a, summary):focus-visible { outline: 2px solid var(--wa-color-focus); outline-offset: 3px; }
.school-context { display: flex; align-items: center; gap: var(--wa-space-m); padding-block: var(--wa-space-m) var(--wa-space-l); margin-block-end: var(--wa-space-l); border-block-end: 1px solid var(--sonub-border); }
.school-context p { display: grid; gap: var(--wa-space-2xs); flex: 1; margin: 0; }
.school-context p > span { color: var(--sonub-muted); font-size: var(--wa-font-size-s); }
.school-context strong { font-weight: var(--wa-font-weight-semibold); font-size: var(--wa-font-size-m); line-height: 1.6; }
.school-context > a { display: inline-flex; align-items: center; gap: var(--wa-space-xs); min-block-size: 2.75rem; font-size: var(--wa-font-size-s); }
.school-page :lang(ur):is(h1, h2, h3), .school-page:lang(ur) :is(h1, h2, h3) { letter-spacing: 0; line-height: 2; }
.school-page:lang(ja) h1, .school-page:lang(zh) h1 { word-break: normal; }
.school-page:lang(ko) :is(p, small, .school-type-help) { word-break: keep-all; overflow-wrap: anywhere; }
[dir='rtl'] .school-page[data-workspace='school'] .school-heading { background: linear-gradient(240deg, var(--sonub-surface), color-mix(in srgb, var(--sonub-accent) 5%, var(--sonub-surface))); }
@media (max-width: 75rem) { .school-links a { grid-template-columns: minmax(0, 1fr) auto; } .school-links a > .sonub-icon-tile { grid-column: 1 / -1; } }
@media (max-width: 64rem) { .school-welcome { gap: var(--wa-space-xl); } .school-register-form .form-check { padding: var(--wa-space-m); } }
@media (max-width: 48rem) {
	.school-welcome { grid-template-columns: minmax(0, 1fr); padding-block: var(--wa-space-m) 0; }
	.school-welcome h1 { max-inline-size: 19ch; }
	.school-workflow { padding: var(--wa-space-l); }
	.school-register-form fieldset { grid-template-columns: minmax(0, 1fr); }
	.school-register-form .form-check { grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--wa-space-xs) var(--wa-space-m); }
	.school-register-form .sonub-icon-tile { grid-row: 1 / 3; }
	.school-register-form .form-check strong { grid-column: 2; grid-row: 1; }
	.school-register-form .school-type-help { grid-column: 2; grid-row: 2; }
	.school-register-form input[type='radio'] { grid-row: 1 / 3; }
	.school-register-form > button { inline-size: 100%; min-inline-size: 0; }
	.school-links { grid-template-columns: minmax(0, 1fr); }
	.school-links a { grid-template-columns: auto minmax(0, 1fr) auto; padding: var(--wa-space-m); }
	.school-links a > .sonub-icon-tile { grid-column: auto; }
	.school-context { flex-wrap: wrap; }
	.school-context > a { margin-inline-start: auto; }
}
@media (prefers-reduced-motion: reduce) { .school-page *, .school-page *::before, .school-page *::after { transition: none !important; animation: none !important; } }
