.school-portal .brand{flex-direction:column;align-items:center;gap:6px;width:fit-content;text-align:center;white-space:normal;max-width:100%;font-size:19px;line-height:1.2;letter-spacing:-.5px}
.school-portal .brand img{object-fit:contain;width:48px;height:48px;flex-shrink:0}
.school-portal .brand small{font-size:8px;letter-spacing:1px;color:var(--muted)}
.school-brand-fallback{width:44px;height:44px;flex-shrink:0;border-radius:13px;background:var(--school-soft);color:var(--green);display:grid;place-items:center;font-size:18px}
.school-login{min-height:100dvh;display:grid;place-items:center;padding:24px}
.school-login-card{width:min(100%,460px);padding:36px}
.school-portal .school-login-card .brand{display:flex;margin:0 auto 30px}
.school-portal .school-login-card .brand img,.school-portal .school-login-card .brand .school-brand-fallback{width:200px;height:128px;max-width:100%}
.school-portal .school-login-card .brand small{font-size:10px;letter-spacing:1.4px}
.school-login-card h1{font-size:30px}
.school-login-card .field{margin-top:24px}
.school-login-card .hint{text-align:center}
.school-portal .sidebar,.school-portal .topbar,.school-portal .mobile-nav{background:#fff}
.school-portal .sidebar>.brand{align-self:center}
.school-portal .sidebar>.brand img,.school-portal .sidebar>.brand .school-brand-fallback{width:160px;height:104px}
.school-portal .quiz-brand .brand img,.school-portal .quiz-brand .brand .school-brand-fallback{width:144px;height:96px}
.school-portal .sidebar>.brand small,.school-portal .quiz-brand .brand small{font-size:9px}
.school-portal .topbar .brand img,.school-portal .topbar .brand .school-brand-fallback{width:110px;height:48px}
.school-portal .mobile-brand{min-width:0}
.school-portal .shell-brand{max-width:100%}
.school-portal .btn:not(.secondary):not(.ghost):not(.danger):not(.lime){color:var(--school-on-primary)}
.school-portal .nav-link.active{background:var(--school-soft);color:var(--green)}
.school-portal .nav-link:hover{background:#f5f7f9}
.school-portal .start-card{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 6px 24px #24334305}
.school-portal .start-card:after{display:none}
.school-portal .start-card h2,.school-portal .start-card .study-track{color:var(--ink)}
.school-portal .start-card p{color:var(--muted)}
.school-portal .start-card .eyebrow{color:var(--green)}
.school-portal .mode-choice{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 2px 6px #24334305}
.school-portal .mode-choice small,.school-portal .mode-choice.selected small{color:var(--muted)}
.school-portal .mode-choice .icon{color:var(--green)}
.school-portal .mode-choice:hover:not(:disabled){background:#fafbfc;border-color:var(--school-border);box-shadow:0 3px 10px #24334308}
.school-portal .mode-choice.selected,.school-portal .mode-choice.selected:hover:not(:disabled){background:var(--school-soft);color:var(--ink);border-color:var(--school-border);box-shadow:inset 0 0 0 1px var(--school-border)}
.school-portal .mode-choice .mode-check{border-color:#bdc7d2}
.school-portal .mode-choice.selected .mode-check{border-color:var(--green);background:var(--green)}
.school-portal .mode-choice.selected .mode-check:after{border-color:#fff}
.school-portal .navy-choice,.school-portal .start-card .navy-choice{background:#fafbfc;border:1px solid var(--line);color:var(--ink)}
.school-portal .navy-choice strong,.school-portal .start-card .navy-choice strong{color:var(--ink)}
.school-portal .navy-choice small,.school-portal .start-card .navy-choice small{color:var(--muted)}
.school-portal .navy-choice input{accent-color:var(--green)}
.school-portal .navy-choice:has(input:checked){background:var(--school-soft);border-color:var(--school-border);box-shadow:inset 0 0 0 1px var(--school-border)}
.school-portal .navy-choice.unavailable{background:#f5f7f9;border-color:var(--line)}
.school-portal .simulation-launch .btn.start-simulation{background:var(--green);color:#fff;border:1px solid var(--green);box-shadow:0 4px 12px #24334312}
.school-portal .simulation-launch .btn.start-simulation:hover:not(:disabled){background:var(--green-dark);color:#fff;border-color:var(--green-dark);filter:none}
.school-portal .simulation-launch .btn.start-simulation:active:not(:disabled){box-shadow:0 2px 6px #24334312}
.school-portal .pill,.school-portal .avatar,.school-portal .stat-icon,.school-portal .upgrade-badge{background:var(--school-soft);color:var(--green);border-color:var(--line)}
.school-portal .pill.orange{background:#fff5e7;color:#895824}
.school-portal .pill.gray{background:#f2f4f7;color:var(--muted)}
.school-portal .practice-access-card{background:#fff;border-color:var(--line);color:var(--ink)}
.school-portal .practice-access-card h3{color:var(--ink)}
.school-portal .practice-access-card p{color:var(--muted)}
.school-portal .progress progress::-webkit-progress-value{background:var(--green)}
.school-portal .progress progress::-moz-progress-bar{background:var(--green)}
.school-portal :is(button,a,input,textarea,select):focus-visible,.school-portal .simulation-launch .btn.start-simulation:focus-visible,.school-portal .navy-choice:focus-within{outline-color:var(--green)}
@media(max-width:700px){.school-portal .quiz-brand .brand img,.school-portal .quiz-brand .brand .school-brand-fallback{width:136px;height:88px}}
@media(max-width:480px){.school-login-card{padding:25px}.school-portal .brand{font-size:16px}.school-portal .school-login-card .brand img,.school-portal .school-login-card .brand .school-brand-fallback{width:180px;height:112px}}
/* Secondary brand color stays in small decorative accents, away from mode/action fills. */
.school-portal .start-card:after{content:'';display:block;position:absolute;inset:0 28px auto auto;width:64px;height:3px;background:var(--school-secondary,var(--school-accent));border:0;border-radius:0 0 4px 4px;box-shadow:none;pointer-events:none}
.school-portal .sidebar>.brand:after,.school-portal .school-login-card .brand:after{content:'';width:40px;height:3px;margin-top:5px;border-radius:99px;background:var(--school-secondary,var(--school-accent));pointer-events:none}
.school-portal .quiz-brand{flex-direction:column;align-items:center;gap:10px}
.school-portal .quiz-brand:after{content:'';width:40px;height:3px;border-radius:99px;background:var(--school-secondary,var(--school-accent));pointer-events:none}
.school-portal .nav-link.active:after{content:'';width:5px;height:5px;flex-shrink:0;margin-left:auto;border-radius:50%;background:var(--school-secondary,var(--school-accent));pointer-events:none}
