body { min-height: 100vh; background: var(--canvas,#f7f9fc); }
.auth-main { min-height: calc(100vh - 92px); display: grid; place-items: center; padding: 32px 20px 64px; }
.auth-card { width: min(100%, 480px); padding: clamp(26px, 5vw, 44px); border-radius: 22px; background: #fff; box-shadow: 0 18px 48px #22365312; border: 1px solid #e9edf4; }
.auth-card [hidden] { display: none !important; }
.auth-kicker { color: #3156ae; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.auth-card h1 { font-size: clamp(30px, 5vw, 43px); line-height: 1.08; margin: 14px 0; }
.auth-card p { color: #627087; line-height: 1.6; }
.auth-card form { display: grid; gap: 11px; margin-top: 28px; }
.auth-card label { font-weight: 700; }
.auth-card input { width: 100%; min-height: 50px; border: 1px solid #ced6e6; border-radius: 12px; padding: 0 14px; font: inherit; }
.auth-card input:focus { outline: 3px solid #adc2fb; outline-offset: 2px; border-color: #315fe8; }
.auth-card form .button { margin-top: 7px; justify-self: start; }
.auth-card #auth-status { min-height: 24px; font-weight: 700; color: #28634d; }
.auth-card #auth-status.error { color: #a93434; }
.auth-card .auth-foot { border-top: 1px solid #e8edf5; padding-top: 18px; margin-top: 24px; font-size: 13px; }
.auth-tabs { display:flex; gap:8px; margin-top:20px; }
.auth-tabs button { border:1px solid #dce3f3; border-radius:10px; background:#fff; padding:9px 12px; color:#42516b; font-weight:700; }
.auth-tabs button.active { background:#eef2ff; color:#2d49d6; border-color:#b8c7ff; }
.auth-text-button { border:0; background:transparent; color:#3152d5; padding:0; font-weight:700; }
