:root{--ink:#17272d;--muted:#7c8b91;--line:#e8edef;--soft:#f6f9f9;--teal:#078e89;--teal-pale:#e8f6f5;--white:#fff;--bg:#f5f8f8;--bad:#c2410c}
@media (prefers-color-scheme:dark){:root{--ink:#edf4f4;--muted:#93a4a9;--line:#2c4147;--soft:#20343a;--white:#17272d;--bg:#102126;--teal-pale:#123c3b}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Manrope,system-ui,sans-serif}
.auth-wrap{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 16px}
.auth-card{background:var(--white);border:1px solid var(--line);border-radius:17px;padding:30px 28px;width:100%;max-width:400px}
.auth-card.wide{max-width:560px}
.brand{font-size:27px;font-weight:800;letter-spacing:-1.6px;margin-bottom:20px}.brand span{color:var(--teal)}
h1{font-size:21px;letter-spacing:-.6px;margin:0 0 4px}
.muted{color:var(--muted);font-size:13px;margin:0 0 18px}
.form{display:grid;gap:13px}
label{display:grid;gap:6px;font-size:11px;font-weight:700;color:var(--muted)}
label small{font-weight:500}
input{border:1px solid var(--line);border-radius:8px;padding:11px;font:inherit;font-size:14px;background:var(--white);color:var(--ink);outline-color:var(--teal);width:100%}
label.check{display:flex;align-items:center;gap:8px;font-weight:600;font-size:12px}
label.check input{width:auto}
.btn{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--teal);color:#fff;border:0;border-radius:9px;padding:12px 16px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(1.06)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{background:var(--soft);filter:none}
.tabs{display:flex;gap:6px;margin-bottom:14px}
.tab{flex:1;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:20px;padding:7px 10px;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.tab.active{background:var(--teal-pale);border-color:transparent;color:var(--teal)}
.or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:11px;margin:16px 0}
.or:before,.or:after{content:"";flex:1;height:1px;background:var(--line)}
.alert{border-radius:9px;padding:10px 12px;font-size:12px;margin:0 0 14px}
.alert.error{background:#fdecea;color:#9f2d1b}.alert.ok{background:var(--teal-pale);color:var(--teal)}
.checks{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:5px;font-size:12px}
.checks li{display:flex;gap:8px;align-items:center}
.checks span{width:8px;height:8px;border-radius:50%;background:#16a34a;flex:none}
.checks .bad span{background:var(--bad)}.checks .warn span{background:#e6a700}.checks .bad{color:var(--bad)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:480px){.row2{grid-template-columns:1fr}.auth-card{padding:24px 18px}}
code{background:var(--soft);padding:1px 5px;border-radius:4px;font-size:12px}
.steps{padding-left:18px;font-size:13px;line-height:1.8}
.auth-foot{color:var(--muted);font-size:11px;margin-top:16px}
[hidden]{display:none!important}
.small{font-size:12.5px;margin-top:10px}
.otp{font-size:22px!important;letter-spacing:.25em;text-align:center;font-weight:700}
.small a{color:var(--teal,#078e89);text-decoration:none;font-weight:600}
