:root{--bg:#0e1621;--card:#17212b;--border:rgba(255,255,255,.08);--text:#e5e7eb;--muted:#90a4b7;--accent:#2aabee;}
*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto;background:var(--bg);color:var(--text);direction:ltr}
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:18px}
.card{width:min(440px,96vw);background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px}
.brand{display:flex;gap:10px;align-items:center}
.logo{width:42px;height:42px;border-radius:14px;background:rgba(42,171,238,.18);display:flex;align-items:center;justify-content:center;font-weight:900;color:var(--accent)}
.h1{font-size:20px;font-weight:900}
.sub{color:var(--muted);margin-top:8px;margin-bottom:12px}
.alert{display:none;position:relative;margin:12px 0 8px;padding:14px 16px 14px 44px;border-radius:16px;border:1px solid rgba(248,113,113,.34);background:linear-gradient(180deg,rgba(127,29,29,.32),rgba(69,10,10,.18));box-shadow:0 14px 28px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.04);color:#ffe2e2;font-size:13px;line-height:1.6}
.alert.show{display:block}
.alert::before{content:'!';position:absolute;left:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:999px;background:rgba(248,113,113,.18);border:1px solid rgba(248,113,113,.35);color:#fecaca;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:12px}
label{display:block;color:var(--muted);font-size:13px;margin-top:12px}
input{width:100%;background:rgba(255,255,255,.06);border:1px solid var(--border);color:var(--text);padding:12px;border-radius:14px;outline:none;margin-top:6px}
button{width:100%;margin-top:14px;background:var(--accent);border:none;color:#001018;padding:12px;border-radius:14px;font-weight:900;cursor:pointer}
.row{margin-top:12px;display:flex;justify-content:center}
a{color:var(--accent);text-decoration:none}
.msg{margin-top:10px;color:#fca5a5;font-size:13px;min-height:18px;text-align:center}
