:root { color-scheme:light; --navy:#17233b; --navy-2:#22385f; --yellow:#ffdc00; --ink:#111827; --muted:#667085; --line:#dbe2ec; --soft:#f3f6fa; --danger:#b42318; --success:#067647; font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:#edf1f6; color:var(--ink); }
button,input { font:inherit; }
.hidden { display:none !important; }
.driver-auth-shell { min-height:100vh; display:grid; grid-template-columns:minmax(330px,.9fr) minmax(420px,1.1fr); }
.driver-auth-brand { padding:clamp(32px,6vw,84px); background:linear-gradient(145deg,#111a2d 0%,var(--navy) 55%,#28436e 100%); color:#fff; display:flex; flex-direction:column; justify-content:space-between; gap:56px; position:relative; overflow:hidden; }
.driver-auth-brand::after { content:""; width:360px; height:360px; border:1px solid rgba(255,220,0,.22); border-radius:50%; position:absolute; right:-150px; bottom:-120px; box-shadow:0 0 0 70px rgba(255,220,0,.035),0 0 0 140px rgba(255,220,0,.025); }
.driver-auth-logo { color:#fff; text-decoration:none; font-size:1.7rem; font-weight:900; letter-spacing:-.04em; width:max-content; }
.driver-auth-logo span { color:var(--yellow); }
.driver-auth-kicker { margin:0 0 12px; color:#b6c5de; font-size:.75rem; font-weight:850; letter-spacing:.13em; text-transform:uppercase; }
.driver-auth-brand h1 { max-width:620px; margin:0; font-size:clamp(2rem,4vw,4rem); line-height:1.04; letter-spacing:-.045em; }
.driver-auth-brand h1 + p { max-width:570px; margin:24px 0 0; color:#d8e0ed; line-height:1.7; }
.driver-auth-benefits { margin:0; padding:0; list-style:none; display:grid; gap:14px; color:#e8edf5; position:relative; z-index:1; }
.driver-auth-benefits li { display:flex; align-items:center; gap:11px; }
.driver-auth-benefits span { width:9px; height:9px; border-radius:50%; background:var(--yellow); box-shadow:0 0 0 5px rgba(255,220,0,.12); }
.driver-auth-panel { padding:32px; display:flex; flex-direction:column; align-items:center; justify-content:center; }
.driver-auth-card { width:min(100%,470px); padding:clamp(28px,5vw,48px); background:#fff; border:1px solid rgba(23,35,59,.08); border-radius:22px; box-shadow:0 24px 65px rgba(23,35,59,.12); }
.driver-auth-panel .driver-auth-kicker { color:#8b6f00; }
.auth-view h2 { margin:0; font-size:2rem; letter-spacing:-.035em; }
.auth-help { color:var(--muted); line-height:1.55; margin:12px 0 28px; }
.auth-view form { display:grid; gap:18px; }
.auth-view label { display:grid; gap:7px; font-size:.83rem; font-weight:750; color:#344054; }
.auth-view input { width:100%; padding:13px 14px; border:1px solid var(--line); border-radius:10px; outline:none; background:#fff; }
.auth-view input:focus { border-color:#5374a8; box-shadow:0 0 0 4px rgba(83,116,168,.13); }
.auth-primary { border:0; border-radius:10px; padding:14px 18px; background:var(--navy); color:#fff; font-weight:850; cursor:pointer; box-shadow:0 8px 18px rgba(23,35,59,.17); }
.auth-primary:hover { background:var(--navy-2); }
.auth-primary:disabled { opacity:.6; cursor:wait; }
.auth-link { display:block; margin:22px auto 0; padding:4px; border:0; background:transparent; color:#314f7d; font-weight:750; cursor:pointer; }
.auth-back { display:block; margin:14px auto 0; width:max-content; color:var(--muted); text-decoration:none; font-size:.86rem; }
.password-rules { margin:-6px 0 0; color:var(--muted); font-size:.78rem; line-height:1.5; }
.auth-message { margin-top:22px; padding:12px 14px; border-radius:9px; background:#ecfdf3; color:var(--success); font-size:.87rem; line-height:1.5; }
.auth-message.is-error { background:#fef3f2; color:var(--danger); }
.driver-auth-support { color:var(--muted); text-align:center; font-size:.8rem; max-width:440px; }
@media (max-width:800px) { .driver-auth-shell { display:block; } .driver-auth-brand { min-height:260px; padding:28px 24px 34px; gap:30px; } .driver-auth-brand h1 { font-size:2.05rem; } .driver-auth-brand h1 + p,.driver-auth-benefits { display:none; } .driver-auth-panel { padding:22px 14px 34px; margin-top:-26px; position:relative; z-index:2; } .driver-auth-card { border-radius:18px; padding:28px 22px; } }
