.auth-shell{grid-template-columns:minmax(440px,1fr) minmax(0,.85fr);background:var(--bg)}.auth-panel{padding:32px 56px;min-height:100svh;background:var(--surface)}.auth-shell .form-wrap{width:min(440px,100%);margin:64px auto 48px}.auth-shell h1{font-size:32px;line-height:1.6;letter-spacing:normal;margin:0 0 16px}.auth-shell .lead{font-size:16px;line-height:1.9;color:var(--muted);margin-bottom:32px}.auth-shell .progress-steps{margin-bottom:28px;gap:8px}.auth-shell .progress-steps span{height:3px;background:var(--surface2)}.auth-shell .progress-steps .active{background:var(--red)}.auth-shell .field{gap:8px;margin-bottom:20px}.auth-shell .field label{font-size:14px;font-weight:700}.auth-shell .input-wrap{height:56px;background:var(--bg);border:1px solid var(--line);border-radius:6px}.auth-shell .input-wrap input{font-size:16px}.auth-shell .input-wrap:focus-within{box-shadow:none;outline:2px solid var(--text);outline-offset:2px}.auth-shell .hint{font-size:13px;line-height:1.85;color:var(--muted)}.auth-shell .error{font-size:13px;color:var(--text);margin:0;min-height:0}.auth-shell .error:not(:empty){padding-top:8px}.auth-shell .btn{min-height:54px;border-radius:6px;background:var(--red);color:#fff;font-size:16px;box-shadow:none;transition:transform 160ms ease,background-color 180ms ease}.auth-shell .btn:active{transform:scale(.98)}.auth-shell .btn:focus-visible,.auth-shell a:focus-visible,.auth-shell button:focus-visible{outline:2px solid var(--text);outline-offset:4px}.auth-shell .auth-switch{font-size:14px;margin-top:24px}.auth-shell .auth-switch a{display:inline-flex;align-items:center;min-height:44px}.auth-shell .footer-note{font-size:13px;line-height:1.85;max-width:440px;width:100%;margin:0 auto;color:var(--muted)}.auth-shell .footer-note a{min-height:44px;display:inline-flex;align-items:center;gap:8px}.auth-shell .otp-meta{font-size:13px;flex-wrap:wrap;gap:12px}.auth-shell .text-btn{min-height:44px;padding:8px}.auth-shell .otp-row{gap:8px}.auth-shell .otp-row input{width:min(52px,12vw);height:56px;border-radius:6px;box-shadow:none}.auth-shell .otp-row input:focus{box-shadow:none;outline:2px solid var(--text);transform:none}.auth-shell .step{animation-duration:220ms}.auth-shell .visual{display:flex;align-items:center;justify-content:center;padding:56px;background:var(--red);position:relative;overflow:clip}.auth-shell .visual:before,.auth-shell .visual:after{content:none}.school-auth-note{max-width:420px;color:#fff}.school-auth-note img{width:220px;max-width:65%;height:auto;display:block;margin-bottom:32px}.school-auth-note h2{font-size:34px;line-height:1.7;margin:0 0 24px}.school-auth-note p{font-size:17px;line-height:1.9;color:#fff}.auth-shell .theme-btn{min-width:44px;min-height:44px;border-radius:6px}
@media(hover:hover) and (pointer:fine){.auth-shell .btn:hover{background:#861728;transform:none}.auth-shell a:hover{text-decoration:underline;text-underline-offset:5px}}
@media(max-width:1000px){.auth-shell{grid-template-columns:1fr}.auth-shell .visual{display:none}.auth-panel{padding:28px 32px}.auth-shell .form-wrap{margin:48px auto 32px}.auth-shell .footer-note{margin-top:auto;padding-top:24px}}
@media(max-width:600px){.auth-panel{padding:24px;min-height:100svh}.auth-shell h1{font-size:28px}.auth-shell .form-wrap{margin:40px auto 24px}.auth-shell .lead{font-size:16px}.auth-top .brand-logo{width:48px;height:48px}.auth-shell .brand strong{font-size:16px}.auth-shell .footer-note{padding-top:24px}.auth-shell .otp-row{gap:6px}}
@media(prefers-reduced-motion:reduce){.auth-shell .step{animation:none}.auth-shell .btn{transition:none;transform:none!important}}
