.portal-nav{display:flex;gap:9px;flex-wrap:wrap}.portal-note{font-size:12px;color:var(--muted);margin:0 0 22px}.portal-form{display:grid;gap:18px}.portal-form>.field{margin:0!important}.auth-card{max-width:560px;margin:20px auto}.portal-links{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px;font-size:14px}.portal-main{max-width:1160px;margin:auto;padding:25px 28px 60px}.portal-main h1{font-size:31px}.portal-main .section-stack{margin-bottom:22px}.school-search{display:flex;gap:8px;align-items:end}.school-search .field{flex:1;min-width:0}.portal-message{background:#eef7f1;border:1px solid #b9dcc6;color:#185330;padding:18px;border-radius:12px;line-height:1.6;margin:20px 0}.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.portal-main form fieldset{min-width:0}.portal-main .field input[type=checkbox]{width:20px;height:20px}.portal-main .error:empty{display:none}.portal-main .field select{min-height:44px}.portal-main .student-reading{margin-top:18px}.portal-main .read-body{max-height:none}.editor-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.editor-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px;border-bottom:1px solid var(--line)}.editor-row p{margin:6px 0;color:var(--muted);font-size:13px}.editor-row strong{overflow-wrap:anywhere}.editor-form{margin-top:22px}.high-contrast .portal-note{color:#222}.teacher-school{margin-top:20px}
@media(max-width:760px){.portal-grid{grid-template-columns:1fr}.portal-main{padding:24px 18px}.portal-main h1{font-size:27px}.editor-row{align-items:start;flex-direction:column}.school-search{flex-wrap:wrap}.portal-nav .button{font-size:12px;padding:10px}.portal-main .field input,.portal-main .field select{min-width:0}.learner-header{align-items:flex-start}}

.school-filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.school-hint{font-size:13px;color:var(--muted);margin:0}.school-filter-grid select{width:100%;min-width:0}#school-results{font-size:13px;margin:0;min-height:1.6em}@media(max-width:600px){.school-filter-grid{grid-template-columns:1fr}}
.teacher-profile{border:1px solid var(--line);border-radius:12px;padding:18px;display:grid;gap:18px}.teacher-profile>legend,.teacher-options>legend{font-weight:700;padding:0 7px}.teacher-type{display:flex;gap:12px;flex-wrap:wrap}.teacher-type label,.teacher-checks label{display:flex;gap:9px;align-items:flex-start}.teacher-type label{padding:12px;border:1px solid var(--line);border-radius:10px}.teacher-options{border:0;padding:0;margin:0}.teacher-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.teacher-checks input{width:18px;height:18px;flex:none}.teacher-checks label:has(input:disabled){display:none}@media(max-width:600px){.teacher-checks{grid-template-columns:1fr}}
.admin-verification{border-top:1px solid var(--line);padding:20px 0;margin-top:16px}.admin-verification p{margin:0;overflow-wrap:anywhere}.admin-approved{margin-top:22px}.admin-teacher{padding:18px 0;border-top:1px solid var(--line)}.admin-teacher summary{cursor:pointer;line-height:1.6;overflow-wrap:anywhere}.admin-teacher summary span{display:block;color:var(--muted);font-size:14px}.account-refresh{margin-bottom:18px}
.school-selection{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:#f4f7fb;border:1px solid var(--line);border-radius:12px;min-width:0}.school-selection>div{min-width:0}.school-selection-name{margin:6px 0 0;font-size:14px;line-height:1.5;overflow-wrap:anywhere}.school-clear{flex-shrink:0}.school-matches{list-style:none;padding:0;margin:0;max-height:440px;overflow-y:auto;border:1px solid var(--line);border-radius:12px}.school-matches li+li{border-top:1px solid var(--line)}.school-match{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;border:0;background:#fff;color:var(--ink);padding:16px;text-align:left;font:inherit;cursor:pointer}.school-match:hover{background:#f4f7fb}.school-match:focus-visible{outline:3px solid #245cc8;outline-offset:-3px}.school-match[aria-pressed=true]{background:#eaf3ff;box-shadow:inset 4px 0 #245cc8}.school-match-details{display:grid;gap:6px;min-width:0;overflow-wrap:anywhere}.school-match-details strong{font-size:14px;line-height:1.45}.school-match-details>span{font-size:13px;line-height:1.45;color:var(--muted)}.school-match-action{font-size:13px;font-weight:700;color:#245cc8;flex-shrink:0}@media(max-width:600px){.school-selection{align-items:start;flex-direction:column}.school-match{gap:10px;padding:14px}.school-match-action{font-size:12px}}
