:root{color-scheme:dark;--auth-bg:#14181f;--auth-card:#1c222c;--auth-border:#343e4e;--auth-text:#e7edf6;--auth-muted:#a5b2c5;--auth-blue:#91c5ff}
*{box-sizing:border-box}
[hidden]{display:none!important}
body.auth-page{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(ellipse at 16% 35%,#20344e50,transparent 50%),var(--auth-bg);color:var(--auth-text);font:14px/1.6 system-ui,-apple-system,"Segoe UI",sans-serif}
a{color:var(--auth-blue)}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}
:focus-visible{outline:2px solid #a4d0ff;outline-offset:4px}
.auth-header{width:min(1180px,100%);margin:0 auto;padding:30px 42px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.auth-brand{display:inline-flex;gap:12px;align-items:center;text-decoration:none;color:#c4cfe0;font-size:11px;line-height:1.45;letter-spacing:.02em}
.auth-brand strong{font-size:14px;color:#f0f5fc;font-weight:600}
.auth-mark{color:#88bdff;font-size:33px;line-height:1;width:45px;height:45px;display:grid;place-items:center;border:1px solid #395171;border-radius:12px;background:#233247}
.auth-layout{width:min(1180px,100%);margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:82px;align-items:center;padding:35px 42px 55px}
.auth-eyebrow{font-size:10px;font-weight:600;letter-spacing:.12em;color:#9bbce3;margin:0 0 18px;display:flex;align-items:center;gap:8px}
.auth-intro>.auth-eyebrow>span{width:6px;height:6px;background:#8bd1b2;border-radius:100%;box-shadow:0 0 12px #8bd1b250}
.auth-intro h1{font-size:clamp(30px,3.3vw,46px);font-weight:600;letter-spacing:-.045em;line-height:1.16;margin:0 0 22px;color:#edf4ff}
.auth-description{font-size:14px;line-height:1.9;color:var(--auth-muted);max-width:380px;margin:0 0 32px}
.auth-code{background:#171c24;border:1px solid #374353;border-radius:10px;box-shadow:0 20px 60px #050a1225;overflow:hidden;max-width:445px;transform:rotate(-1deg)}
.auth-code-bar{display:flex;gap:16px;padding:12px 14px;background:#232a35;border-bottom:1px solid #303a48;font-size:10px;color:#a0afc1}
.auth-code-dots{font-size:8px;letter-spacing:2px;color:#73849e}.auth-code-bar>span:last-child{margin-left:auto}
.auth-code-body{padding:20px 16px 25px;font:12px/2 Consolas,"Liberation Mono",monospace;white-space:pre;overflow:hidden;color:#c6d2e1}
.auth-code-body i{font-style:normal;color:#59697e;display:inline-block;width:26px;user-select:none}
.code-blue{color:#8fb9ef}.code-green{color:#a8c8b0}.code-gold{color:#dec591}.code-muted{color:#7e91a3}
.auth-code-footer{display:flex;justify-content:space-between;gap:8px;padding:6px 13px;background:#20344a;color:#a6bed9;font-size:9px}
.auth-cursor{border-right:2px solid #9bc6ff;margin-left:2px}.auth-intro-foot{font-size:11px;color:#8395ac;margin:22px 0 0}
.auth-card{background:var(--auth-card);border:1px solid var(--auth-border);border-radius:16px;padding:34px 36px;box-shadow:0 24px 70px #050a1240;min-width:0}
.auth-card-icon{width:40px;height:40px;border:1px solid #405574;background:#26364d;border-radius:11px;display:grid;place-items:center;color:#a8cdff;margin-bottom:24px}
.auth-card-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.auth-card>.auth-eyebrow{font-size:9px;margin-bottom:8px;color:#9aacbf}
.auth-card h1,.auth-card h2{font-size:26px;letter-spacing:-.035em;line-height:1.25;margin:0 0 10px;font-weight:600;color:#eef4fc}
.auth-card-description{font-size:12px;color:var(--auth-muted);margin:0 0 25px;line-height:1.8}
.auth-field{margin:18px 0 0}.auth-field label{display:block;font-size:12px;font-weight:500;margin-bottom:7px;color:#d0dced}
.auth-field input{display:block;width:100%;min-height:46px;padding:11px 13px;border:1px solid #4b586c;border-radius:7px;background:#141b25;color:#edf4ff;transition:border-color .12s;outline-offset:2px}
.auth-field input:hover{border-color:#697b94}.auth-field input:focus{border-color:#91c5ff}.auth-field input[aria-invalid=true]{border-color:#e4a097}
.auth-field input:read-only{opacity:.65}
.auth-password{position:relative;display:flex;align-items:center}.auth-password input{padding-right:82px}
.auth-reveal{position:absolute;right:5px;top:5px;bottom:5px;min-width:67px;min-height:36px;padding:4px 8px;border:0;border-radius:4px;background:transparent;color:#a4b9d3;font-size:11px;cursor:pointer}
.auth-reveal:hover{background:#2a384d;color:#e4efff}.auth-reveal[aria-pressed=true]{color:#cae2ff}
.auth-field-help{font-size:11px;color:#9dacc0;margin:7px 0 0;line-height:1.6}
.auth-primary{margin-top:24px;display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:46px;padding:12px 15px;background:#94c5ff;color:#101f32;border:1px solid #a5ceff;border-radius:7px;font-weight:650;font-size:12px;cursor:pointer;transition:background .12s}
.auth-primary:hover{background:#b4d6ff}.auth-primary:disabled{cursor:wait;opacity:.65}.auth-arrow{margin-left:auto;font-size:18px;line-height:1}.auth-primary [data-submit-label]{margin-right:auto}
.auth-form-status{font-size:11px;color:#acc2dc;margin:8px 0 0;min-height:0}.auth-form-status:empty{display:none}
.auth-notice{font-size:12px;line-height:1.7;padding:11px 13px;border-radius:6px;border:1px solid #4a5f7c;background:#203046;color:#d1e4ff;margin:18px 0 0;overflow-wrap:anywhere}
.auth-notice[data-state=error]{border-color:#865652;background:#3c292c;color:#ffc1b7}.auth-notice[data-state=success]{border-color:#476f61;background:#21392f;color:#b4e8cc}
.auth-help{font-size:11px;color:#97a8be;line-height:1.85;margin:24px 0 0;padding-top:20px;border-top:1px solid #313c4a}
.auth-footer{width:min(1180px,100%);margin:0 auto;padding:22px 42px 26px;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#8293aa}
.auth-back{font-size:12px;text-decoration:none;white-space:nowrap}.auth-back:hover{text-decoration:underline}
.auth-account-layout{width:100%;max-width:560px;margin:auto;padding:20px 28px 45px}.auth-account-card{padding:30px 36px}.auth-account-card>.auth-card-icon{margin-bottom:18px}.auth-account-card>.auth-card-description{margin-bottom:22px}
.auth-back-bottom{display:inline-block;margin-top:18px}.auth-session-link{display:inline-block;font-size:12px;margin-top:10px}
.auth-spinner{width:14px;height:14px;border:2px solid #41668c;border-top-color:transparent;border-radius:50%;animation:auth-spin .8s linear infinite;flex-shrink:0}
@keyframes auth-spin{to{transform:rotate(360deg)}}
@media(max-width:900px){.auth-layout{gap:40px;padding-left:28px;padding-right:28px}.auth-header{padding-left:28px;padding-right:28px}.auth-card{padding:28px}.auth-code-body{font-size:10px}.auth-footer{padding-left:28px;padding-right:28px}}
@media(max-width:650px){.auth-header{padding:22px 22px 14px}.auth-layout{display:block;max-width:470px;padding:20px 22px 30px}.auth-intro{display:none}.auth-card{padding:28px 25px;border-radius:12px}.auth-card h1,.auth-card h2{font-size:24px}.auth-footer{padding:18px 22px 24px;display:block;font-size:10px;text-align:center}.auth-footer>span{display:block}.auth-footer>span+span{margin-top:4px}.auth-brand strong{font-size:12px}.auth-mark{width:38px;height:38px;font-size:27px}.auth-account-layout{padding:18px 20px 30px}.auth-account-page .auth-header .auth-back{display:none}.auth-account-card .auth-card-description{margin-bottom:24px}.auth-card-icon{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
