.auth-page { min-height:100vh; margin:0; color:#142945; background:linear-gradient(155deg,#f7faff 0%,#edf4fc 46%,#f8fbff 100%); font-family:Inter,Arial,sans-serif; }
.auth-page *, .auth-page *::before, .auth-page *::after { box-sizing:border-box; }
.auth-brand { position:absolute; top:30px; left:clamp(24px,6vw,72px); display:inline-flex; align-items:center; gap:12px; color:#102846; font-size:1rem; font-weight:800; letter-spacing:-.03em; text-decoration:none; }
.auth-brand img { width:38px; height:38px; }
.auth-main { display:grid; min-height:100vh; place-items:center; padding:110px 24px 56px; }
.auth-card { width:min(100%,480px); padding:42px; border:1px solid #dce7f2; border-radius:22px; background:#fff; box-shadow:0 24px 66px rgba(33,69,110,.14); }
.auth-login { display:grid; gap:28px; }
.auth-heading { text-align:left; }
.auth-kicker { margin:0 0 12px; color:#5a7695; font-size:.72rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
.auth-heading h1 { margin:0; color:#102846; font-size:clamp(1.75rem,4vw,2.25rem); line-height:1.08; letter-spacing:-.055em; }
.auth-heading > p:last-child { margin:13px 0 0; color:#64768b; font-size:1rem; line-height:1.55; }
.auth-form { display:grid; gap:21px; }
.auth-field { display:grid; gap:8px; }
.auth-field label, .auth-label-row { color:#213a58; font-size:.9rem; font-weight:750; }
.auth-label-row { display:flex; justify-content:space-between; gap:12px; }
.auth-label-row a { color:#2769d8; font-size:.82rem; text-decoration:none; }
.auth-field input[type=email], .auth-field input[type=password] { width:100%; min-height:52px; padding:0 15px; border:1px solid #b8c9da; border-radius:9px; color:#142945; background:#fff; font:inherit; outline:none; }
.auth-field input:focus { border-color:#2769d8; box-shadow:0 0 0 4px rgba(39,105,216,.14); }
.auth-check { display:flex; align-items:center; gap:10px; color:#526a84; font-size:.9rem; cursor:pointer; }
.auth-check input { width:18px; height:18px; margin:0; accent-color:#2769d8; }
.auth-submit { display:flex; min-height:55px; align-items:center; justify-content:center; gap:12px; border:0; border-radius:9px; color:#fff; background:#1469ed; box-shadow:0 10px 24px rgba(20,105,237,.27); font:inherit; font-size:1rem; font-weight:800; cursor:pointer; }
.auth-submit:hover { background:#075bd7; }
.auth-submit span { font-size:1.25rem; }
.auth-status, .auth-error { margin:0; color:#af352d; font-size:.86rem; line-height:1.45; }
.auth-status { padding:12px 14px; border-radius:8px; color:#245e45; background:#ebf8f0; }
.auth-reassurance { display:flex; gap:8px; margin:0; color:#6a7d92; font-size:.78rem; line-height:1.5; }
.auth-reassurance span { display:grid; flex:0 0 17px; width:17px; height:17px; place-items:center; border-radius:50%; color:#fff; background:#299a61; font-size:.65rem; font-weight:800; }
@media (max-width:560px) { .auth-brand { top:23px; left:24px; font-size:.95rem; } .auth-main { padding:99px 17px 32px; align-items:start; } .auth-card { margin-top:28px; padding:30px 23px; border-radius:17px; } .auth-label-row { align-items:baseline; } }
