:root { --primary:#14458c; --primary-strong:#0d376f; --primary-soft:#edf3fb; --bg:#f7f9fc; --surface:#fff; --border:#d9e0ea; --border-strong:#c7d0dd; --text:#1a1f2c; --muted:#667085; --danger:#c62828; --radius:4px; --font:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html, body { min-height:100%; }
body { margin:0; color:var(--text); background:var(--bg); border-top:2px solid #172033; font:13px/1.4 var(--font); }
a { color:inherit; text-decoration:none; }
button,input,select { font:inherit; }
:focus-visible { outline:2px solid #2b6fd3; outline-offset:2px; }
[hidden] { display:none !important; }
.auth-page { min-height:calc(100vh - 2px); display:grid; grid-template-rows:1fr auto; place-items:center; gap:12px; padding:24px 18px 14px; }
.auth-card { display:grid; width:min(920px,100%); min-height:530px; grid-template-columns:1fr 1fr; overflow:hidden; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); box-shadow:0 10px 30px rgb(16 24 40 / 10%); }
.auth-brand-panel { display:flex; flex-direction:column; padding:30px 36px; color:#fff; background:var(--primary); }
.auth-brand { display:flex; align-items:center; gap:9px; }
.auth-brand__mark { display:grid; width:34px; height:34px; flex:0 0 34px; place-items:center; color:var(--primary); background:#fff; border-radius:var(--radius); font-weight:800; }
.auth-brand > span:last-child { display:grid; line-height:1.15; }
.auth-brand strong { font-size:14px; }
.auth-brand small { margin-top:2px; color:rgb(255 255 255 / 68%); font-size:9px; }
.auth-brand-panel__content { margin:auto 0 32px; }
.auth-eyebrow { margin:0 0 7px; font-size:9px; font-weight:750; letter-spacing:.11em; text-transform:uppercase; }
.auth-brand-panel__content .auth-eyebrow { color:#c8dcf8; }
.auth-brand-panel__content h1 { max-width:390px; margin:0 0 13px; color:#fff; font-size:31px; line-height:1.13; letter-spacing:-.03em; }
.auth-brand-panel__content > p:last-child { max-width:410px; margin:0; color:rgb(255 255 255 / 75%); font-size:11.5px; line-height:1.65; }
.auth-benefits { display:grid; gap:11px; margin:0; }
.auth-benefits > div { display:grid; grid-template-columns:27px 1fr; gap:9px; align-items:start; }
.auth-benefits dt { display:grid; width:25px; height:25px; place-items:center; margin:0; color:#fff; background:rgb(255 255 255 / 10%); border:1px solid rgb(255 255 255 / 16%); border-radius:50%; font-size:8px; }
.auth-benefits dd { display:grid; gap:2px; margin:0; }
.auth-benefits strong { font-size:10.5px; }
.auth-benefits span { color:rgb(255 255 255 / 62%); font-size:9px; }
.auth-form-panel { display:flex; flex-direction:column; justify-content:center; padding:42px 48px; }
.auth-mobile-brand { display:none; align-items:center; gap:8px; margin-bottom:22px; }
.auth-mobile-brand .auth-brand__mark { color:#fff; background:var(--primary); }
.auth-heading { margin-bottom:22px; }
.auth-heading .auth-eyebrow { color:var(--primary); }
.auth-heading h2 { margin:0 0 6px; font-size:23px; line-height:1.18; letter-spacing:-.025em; }
.auth-heading > p:last-child { margin:0; color:var(--muted); font-size:11px; }
.auth-message { margin:-5px 0 14px; padding:8px 10px; color:var(--danger); background:#fff2f2; border:1px solid #efc1c1; }
.auth-message p { margin:0; }
.auth-form { display:grid; gap:14px; }
.auth-field { display:grid; gap:4px; }
.auth-field label { color:#344054; font-size:10.5px; font-weight:650; }
.auth-label-row { display:flex; align-items:center; justify-content:space-between; }
.auth-label-row span { color:var(--muted); font-size:9px; }
.auth-field input,.auth-field select { width:100%; height:38px; padding:0 10px; color:var(--text); background:#fff; border:1px solid var(--border-strong); border-radius:var(--radius); outline:0; }
.auth-field input:focus,.auth-field select:focus { border-color:var(--primary); box-shadow:0 0 0 2px rgb(20 69 140 / 10%); }
.auth-field input::placeholder { color:#98a2b3; }
.auth-password { position:relative; }
.auth-password input { padding-right:56px; }
.auth-password button { position:absolute; top:4px; right:4px; height:30px; padding:0 8px; color:var(--primary); background:transparent; border:0; border-radius:3px; cursor:pointer; font-size:9px; font-weight:700; }
.auth-password button:hover { background:var(--primary-soft); }
.auth-submit { display:flex; width:100%; height:38px; align-items:center; justify-content:center; margin-top:2px; color:#fff; background:var(--primary); border:1px solid var(--primary); border-radius:var(--radius); cursor:pointer; font-size:11px; font-weight:700; }
.auth-submit:hover { background:var(--primary-strong); }
.auth-submit:disabled { cursor:wait; opacity:.7; }
.auth-help { margin:16px 0 0; color:var(--muted); font-size:9.5px; text-align:center; }
.auth-privacy { margin:auto 0 0; padding-top:26px; color:#8b95a7; font-size:8.5px; text-align:center; }
.auth-footer { color:#7d8796; font-size:8.5px; }
@media (max-width:780px) { .auth-page { padding:14px; } .auth-card { width:min(460px,100%); min-height:auto; grid-template-columns:1fr; } .auth-brand-panel { display:none; } .auth-form-panel { min-height:540px; padding:34px 32px; } .auth-mobile-brand { display:flex; } }
@media (max-width:480px) { body { border:0; } .auth-page { display:block; padding:0; } .auth-card { min-height:100vh; border:0; box-shadow:none; } .auth-form-panel { min-height:100vh; padding:28px 21px; } .auth-footer { display:none; } }
