/* Returning school login: app branding with a dedicated, bounded authentication flow. */
.sl-school-login .sp-login-form{padding:36px 40px}
.sl-school-login .sp-login-form>.sp-brand{margin-bottom:25px}
.sl-school-login .sp-login-story h2{font-size:30px;line-height:1.25}
.sl-school-login .sl-heading{margin-bottom:24px}
.sl-school-login .sl-heading>.sp-panel-mark{margin-bottom:17px}
.sl-school-login .sl-heading h1{font-size:24px;line-height:1.3;margin:5px 0 10px;letter-spacing:-.025em}
.sl-school-login .sl-heading>p{margin:0;color:var(--sp-muted,#627184);font-size:16px;line-height:1.6}
.sl-school-login .sl-form{display:grid;gap:19px;margin:0}
.sl-school-login .sl-field{display:grid;gap:8px}
.sl-school-login .sl-field>label{color:#405a7a;font-size:14px;line-height:1.5;font-weight:500}
.sl-school-login .sl-field>input,.sl-school-login .sl-field>select{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:50px;padding:11px 13px;border:1px solid #a9bad0;border-radius:11px;background:#fff;color:#173759;font-family:var(--font-family,Inter,sans-serif);font-size:16px;font-weight:400;line-height:1.5}
.sl-school-login .sl-field>select{padding-right:30px}
.sl-school-login .sl-field>input[aria-invalid=true]{border-color:#b76b6b}
.sl-school-login .sl-field>p,.sl-school-login .sl-form-note{margin:0;color:var(--sp-muted,#627184);font-size:14px;line-height:1.6}
.sl-school-login .sl-form>.sp-button{width:100%;min-height:48px}
.sl-school-login .sl-confirmation{display:flex;align-items:flex-start;gap:10px;padding:16px;margin:0 0 22px;border:1px solid #dbe6f8;border-radius:12px;background:#f1f6ff;color:#4d6789;font-size:14px;line-height:1.6}
.sl-school-login .sl-confirmation>.icon{flex:0 0 18px;width:18px;height:18px;margin-top:2px;color:#3b6ba7}
.sl-school-login .sl-confirmation>p{margin:0}
.sl-school-login .sl-field>input.sl-otp{height:58px;padding-left:17px;text-align:center;font-size:24px;line-height:1.3;font-weight:500;letter-spacing:.24em;font-variant-numeric:tabular-nums}
.sl-school-login .sl-code-support{display:grid;gap:12px;padding-top:20px;margin-top:23px;border-top:1px solid var(--sp-line,#e0e6ef)}
.sl-school-login .sl-code-support>p{margin:0;color:var(--sp-muted,#627184);font-size:14px;line-height:1.6}
.sl-school-login .sl-code-support>.sp-text-link{min-height:44px;justify-self:start}
.sl-school-login .sl-help{padding-top:22px;margin-top:23px;border-top:1px solid var(--sp-line,#e0e6ef)}
.sl-school-login .sl-help>strong{display:block;color:#405a7a;font-size:14px;line-height:1.5;font-weight:600}
.sl-school-login .sl-help>p{margin:6px 0;color:var(--sp-muted,#627184);font-size:14px;line-height:1.6}
.sl-school-login .sl-help>.sp-text-link{min-height:44px}
.sl-school-login .sl-error{padding:14px 16px;margin:0 0 21px;border:1px solid #ebd2d2;border-radius:11px;background:#fff5f5;color:#965555;font-size:14px;line-height:1.6}
.sl-school-login .sl-legacy{padding-top:18px;margin-top:18px;border-top:1px solid var(--sp-line,#e0e6ef)}
.sl-school-login .sl-legacy>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:0;list-style:none;color:#506987;font-size:14px;line-height:1.5;font-weight:500;cursor:pointer}
.sl-school-login .sl-legacy>summary::-webkit-details-marker{display:none}
.sl-school-login .sl-legacy>summary>.icon{flex:0 0 16px;width:16px;height:16px;transform:rotate(90deg);transition:transform .15s}
.sl-school-login .sl-legacy[open]>summary>.icon{transform:rotate(-90deg)}
.sl-school-login .sl-legacy>p{margin:10px 0 18px;color:var(--sp-muted,#627184);font-size:14px;line-height:1.6}
.sl-school-login .sl-legacy .sl-form{gap:15px}
.sl-school-login .sl-legacy .sl-form>.sp-button{background:#f5f8fd}
.sl-school-login .sl-school-context{margin:0 0 18px;color:#61758f;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:760px){
 .sl-school-login .sp-login-story h2{font-size:20px;line-height:1.3}
 .sl-school-login .sp-login-form{padding:27px 23px}
 .sl-school-login .sp-login-form>.sp-brand{margin-bottom:23px}
 .sl-school-login .sl-heading{margin-bottom:22px}
 .sl-school-login .sl-heading>.sp-panel-mark{display:none}
 .sl-school-login .sl-heading h1{font-size:24px}
 .sl-school-login .sl-confirmation{padding:14px}
 .sl-school-login .sl-code-support,.sl-school-login .sl-help{margin-top:21px;padding-top:20px}
 .sl-school-login .sl-form{gap:18px}
}
@media(max-width:380px){
 .sl-school-login.school-portal--login{padding-inline:12px}
 .sl-school-login .sp-login-form{padding-inline:20px}
 .sl-school-login .sp-login-story{grid-template-columns:minmax(0,1fr) 54px;gap:13px;padding-inline:20px}
 .sl-school-login .sp-login-mascot>.brand-mascot{width:54px}
}
@media(prefers-reduced-motion:reduce){.sl-school-login .sl-legacy>summary>.icon{transition:none}}

/* Local school search enhances the native select while retaining its submitted value. */
.sl-school-login [data-school-autocomplete-source]{display:none!important}
.sl-school-login .sl-school-search{position:relative;z-index:2;min-width:0;width:100%;isolation:isolate}
.sl-school-login .sl-school-search-input{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:50px;padding:11px 48px 11px 43px;border:1px solid var(--control-line,#a9bad0);border-radius:11px;background:var(--surface-sunken,#fff);color:var(--ink,#173759);font-family:var(--font-family,Inter,sans-serif);font-size:16px;font-weight:400;line-height:1.5;appearance:none}
.sl-school-login .sl-school-search-input::placeholder{color:var(--muted,#627184);opacity:1}
.sl-school-login .sl-school-search-input:focus-visible{outline:3px solid var(--blue,#1659e8);outline-offset:2px;border-color:var(--blue,#1659e8)}
.sl-school-login .sl-school-search-input[aria-invalid=true]{border-color:#b76b6b}
.sl-school-login .sl-school-search-icon{position:absolute;z-index:1;top:15px;left:14px;width:20px;height:20px;color:var(--muted,#627184);pointer-events:none}
.sl-school-login .sl-school-search-clear{position:absolute;z-index:1;top:3px;right:3px;display:grid;place-items:center;box-sizing:border-box;width:44px;min-height:44px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted,#627184);font:400 25px/1 Inter,system-ui,sans-serif;cursor:pointer}
.sl-school-login .sl-school-search-clear:hover{background:var(--soft,#edf3ff);color:var(--ink,#173759)}
.sl-school-login .sl-school-search-clear:focus-visible{outline:2px solid var(--blue,#1659e8);outline-offset:-2px}
.sl-school-login .sl-school-search-clear[hidden],.sl-school-login .sl-school-suggestions[hidden],.sl-school-login .sl-school-search-error[hidden]{display:none!important}
.sl-school-login .sl-school-suggestions{position:absolute;z-index:5;inset:calc(100% + 8px) 0 auto;box-sizing:border-box;max-width:100%;overflow:hidden;border:1px solid var(--line,#dbe3ee);border-radius:12px;background:var(--surface-raised,#fff);color:var(--ink,#173759);box-shadow:0 12px 32px #102c531c}
.sl-school-login .sl-school-suggestions.is-above{inset:auto 0 calc(100% + 8px)}
.sl-school-login .sl-school-suggestions>ul{display:block;max-height:min(320px,40dvh);overflow:auto;overscroll-behavior:contain;padding:5px;margin:0;list-style:none;scroll-padding:5px}
.sl-school-login .sl-school-suggestions [role=option]{display:grid;gap:2px;box-sizing:border-box;min-height:50px;padding:10px 12px;border-radius:8px;cursor:pointer;overflow-wrap:anywhere}
.sl-school-login .sl-school-suggestions [role=option]:hover,.sl-school-login .sl-school-suggestions [role=option].is-active,.sl-school-login .sl-school-suggestions [role=option][aria-selected=true]{background:var(--blue-wash,#edf3ff)}
.sl-school-login .sl-school-search-name{color:var(--ink,#173759);font-size:15px;font-weight:500;line-height:1.4}
.sl-school-login .sl-school-search-city{color:var(--muted,#627184);font-size:14px;font-weight:400;line-height:1.4}
.sl-school-login .sl-school-search-summary{padding:11px 14px;margin:0;border-top:1px solid var(--line,#dbe3ee);color:var(--muted,#627184);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
.sl-school-login .sl-school-search-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.sl-school-login .sl-field>.sl-school-search-error{margin:0;color:#a14444;font-size:14px;line-height:1.5}
html[data-theme="dark"] .sl-school-login .sl-school-suggestions{box-shadow:0 12px 32px #0004}
html[data-theme="dark"] .sl-school-login .sl-field>.sl-school-search-error{color:#ffb2b2}

@media (prefers-color-scheme: dark){
 html:not([data-theme]) .sl-school-login .sl-school-suggestions{box-shadow:0 12px 32px #0004}
 html:not([data-theme]) .sl-school-login .sl-field>.sl-school-search-error{color:#ffb2b2}
}
