:root { color-scheme: dark; --accent:#5682ff; --muted:#9caec4; --border:#293b52; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; display:flex; flex-direction:column; background:radial-gradient(ellipse at 20% 30%,#132c47 0,transparent 52%),#07101c; color:#e8eef8; font:14px/1.6 Inter,"Microsoft YaHei",system-ui,sans-serif; }
a { color:#91b0ff; text-decoration:none; } a:hover { color:#c5d5ff; text-decoration:none; }
button, .btn, .account-link, [role="button"],
button:hover, .btn:hover, .account-link:hover, [role="button"]:hover,
button:focus, .btn:focus, .account-link:focus, [role="button"]:focus,
button:active, .btn:active, .account-link:active, [role="button"]:active { text-decoration:none; }
.account-link:hover { background:#192941; border-color:#47607f; }
a:focus-visible,button:focus-visible { outline:3px solid #91b0ff; outline-offset:4px; }
.auth-header { padding:26px clamp(24px,5vw,80px); display:flex; justify-content:space-between; align-items:center; border-bottom:1px solid #23344a80; }
.auth-brand { display:flex; gap:12px; align-items:center; font-size:19px; font-weight:700; color:#e8eef8; }
.auth-brand:hover { text-decoration:none; } .auth-brand small { display:block; font-size:11px; letter-spacing:2px; color:var(--muted); font-weight:400; }
.brand-mark { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:linear-gradient(135deg,#6591ff,#315fe3); color:white; font-size:24px; }
.account-link { padding:9px 15px; border:1px solid var(--border); border-radius:9px; color:#bdcce0; }
.auth-shell { flex:1; display:grid; grid-template-columns:1fr 460px; align-items:center; gap:clamp(40px,8vw,130px); width:min(1100px,calc(100% - 64px)); margin:48px auto; }
.eyebrow { color:#83a6ff; letter-spacing:2.3px; font-size:11px; font-weight:700; }
.auth-intro h2 { font-size:clamp(28px,3.2vw,42px); line-height:1.5; letter-spacing:-1px; margin:18px 0; font-weight:650; }
.auth-intro>p { color:var(--muted); line-height:1.9; }
.intro-notes { display:grid; gap:12px; margin-top:32px; max-width:340px; }
.intro-note { display:flex; align-items:center; gap:14px; padding:14px 18px; border:1px solid #29405a; background:#10213699; border-radius:12px; }
.intro-note strong,.intro-note small { display:block; } .intro-note strong { font-size:14px; font-weight:500; } .intro-note small { color:var(--muted); font-size:12px; }
.note-symbol { color:#91b0ff; font-size:22px; width:28px; text-align:center; } .note-dot { margin-left:auto; width:6px; height:6px; background:#5c87ee; border-radius:50%; }
.auth-content { min-width:0; }.account-card { width:100%; padding:34px; background:linear-gradient(145deg,#111f31,#0d1928); border:1px solid var(--border); border-radius:18px; box-shadow:0 20px 65px #0003; }
.account-card h1 { font-size:26px; font-weight:650; line-height:1.4; margin:0 0 10px; letter-spacing:-.4px; }
.account-card>p.text-muted { margin-bottom:26px; }.text-muted { color:var(--muted)!important; }
.account-card label { display:block; font-size:13px; color:#c8d5e6; margin-bottom:7px; }
.form-control { min-height:46px; border-radius:9px; border:1px solid #304159; color:#e9f1fd; background:#091523; padding:11px 13px; }
.form-control:focus { border-color:#739aff; background:#0b1829; color:#fff; box-shadow:0 0 0 3px #5682ff24; }
.form-control::placeholder { color:#7f91a9; }.form-control:disabled { background:#132035; color:var(--muted); }
.form-check { display:flex; align-items:center; gap:8px; padding-left:0; }.form-check .form-check-input { float:none; margin:0; background-color:#0b1829; border-color:#47607f; }.form-check .form-check-input:checked { background-color:var(--accent); border-color:var(--accent); }.form-check label { margin:0; }
.btn { border-radius:9px; padding:11px 16px; font-size:14px; }.account-card form>.btn-primary { width:100%; margin-top:4px; }
.btn-primary { background:var(--accent); border-color:var(--accent); color:#fff; font-weight:600; }.btn-primary:hover { background:#6b92ff; border-color:#6b92ff; }.btn-primary:disabled { background:#364d7b; border-color:#364d7b; color:#abbcd5; opacity:1; }
.alert { border-radius:10px; padding:13px 15px; font-size:13px; overflow-wrap:anywhere; }.alert-warning { background:#332b1d; border-color:#625031; color:#f2d298; }.alert-info { background:#142e48; border-color:#294e71; color:#b5d8fa; }.alert-success { background:#123228; border-color:#275846; color:#92e2b7; }
.text-danger { color:#ff98a7!important; font-size:13px; }.validation-summary-errors { background:#351f2c; padding:12px; border-radius:9px; margin-bottom:16px; }.validation-summary-errors ul { padding-left:18px; margin:0; }.input-validation-error { border-color:#e37a8f; }
.auth-links { display:flex; flex-wrap:wrap; gap:10px 18px; margin-top:24px; padding-top:20px; border-top:1px solid var(--border); font-size:13px; }.account-card>p:last-child { margin-bottom:0; }
.auth-footer { padding:16px 24px 24px; text-align:center; font-size:12px; color:#8a9bb2; }.auth-footer span { padding:0 9px; }
@media(max-width:820px) { .auth-shell { grid-template-columns:1fr; max-width:460px; margin:32px auto; gap:0; }.auth-intro { display:none; }.auth-header { padding:20px 24px; } }
@media(max-width:480px) { .auth-shell { width:calc(100% - 32px); margin:24px auto; }.account-card { padding:26px 22px; }.account-card h1 { font-size:23px; }.auth-header { padding:18px 16px; }.auth-brand { font-size:17px; }.account-link { padding:7px 10px; } }
