.auth-page { overflow: auto; background: #f3f6fb; }
.auth-shell { min-height: 100vh; display: grid; grid-template-columns: minmax(0, .9fr) minmax(420px, .55fr); }
.auth-brand-panel { padding: 52px; color: #dce9ff; background: radial-gradient(circle at 20% 15%, rgba(22,197,232,.18), transparent 35%), #091426; display: flex; flex-direction: column; justify-content: space-between; }
.auth-brand-panel .brand { color: #fff; }
.auth-brand-panel h1 { max-width: 570px; margin: 16px 0 12px; color: #fff; font-size: clamp(32px, 5vw, 58px); line-height: 1.08; letter-spacing: -1.5px; }
.auth-brand-panel p:last-child { max-width: 580px; color: #a9bad5; font-size: 14px; line-height: 1.9; }
.auth-card { align-self: center; width: min(430px, calc(100% - 44px)); margin: 40px auto; padding: 32px; border: 1px solid #e5eaf2; border-radius: 24px; background: #fff; box-shadow: 0 24px 70px rgba(20,33,61,.1); }
.auth-card h2 { margin: 7px 0 8px; font-size: 27px; }
.auth-copy { margin: 0 0 22px; color: #7b899d; font-size: 12px; line-height: 1.7; }
.auth-form { display: grid; gap: 14px; }
.auth-form label { display: grid; gap: 7px; color: #536279; font-size: 11px; font-weight: 800; }
.auth-form input { width: 100%; height: 45px; padding: 0 12px; border: 1px solid #dce4ef; border-radius: 11px; outline: 0; }
.auth-form input:focus { border-color: #8dd6e7; box-shadow: 0 0 0 3px rgba(22,197,232,.1); }
.auth-form small { color: #98a5b6; font-size: 10px; font-weight: 400; line-height: 1.5; }
.auth-form em, .form-errors { color: #b44736; font-size: 10px; font-style: normal; line-height: 1.5; }
.auth-form ul { margin: 5px 0 0; padding-left: 18px; color: #8c99aa; font-size: 10px; line-height: 1.6; }
.auth-switch, .auth-back { margin: 17px 0 0; text-align: center; color: #8693a5; font-size: 12px; }
.auth-switch a, .auth-back a { color: #246bfd; font-weight: 800; text-decoration: none; }
.auth-back { margin-top: 10px; }
@media (max-width: 850px) { .auth-shell { grid-template-columns: 1fr; } .auth-brand-panel { min-height: 320px; padding: 32px 24px; } .auth-brand-panel h1 { font-size: 36px; } .auth-card { margin: -28px auto 36px; position: relative; z-index: 2; } }
