:root { --bg:#0b1412; --card:#0f1a18; --mint:#1db98a; --muted:#7c948c; --text:#e6f5f0; --err:#ff8a8f; --line:rgba(255,255,255,.08); }
* { box-sizing: border-box; }
body { margin:0; min-height:100vh; background:var(--bg); color:var(--text); font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif; display:flex; align-items:center; justify-content:center; padding:24px; }
.card { width:100%; max-width:420px; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:28px; }
h1 { font-size:22px; margin:0 0 4px; letter-spacing:-.01em; }
.sub { color:var(--muted); margin:0 0 20px; font-size:13px; }
label { display:block; font-size:12px; color:var(--muted); margin:14px 0 6px; letter-spacing:.03em; text-transform:uppercase; }
input { width:100%; background:#0a1513; border:1px solid var(--line); border-radius:10px; color:var(--text); font-size:15px; padding:12px 13px; outline:none; }
input:focus { border-color:var(--mint); }
input[readonly] { color:var(--muted); }
button { width:100%; margin-top:20px; background:var(--mint); color:#04211a; border:none; border-radius:10px; font-size:15px; font-weight:700; padding:13px; cursor:pointer; }
button:disabled { opacity:.5; cursor:not-allowed; }
.hint { font-size:12px; color:var(--muted); margin-top:6px; min-height:16px; }
.hint.err { color:var(--err); }
.msg { margin-top:16px; padding:12px; border-radius:10px; font-size:13px; display:none; }
.msg.show { display:block; }
.msg.ok { background:rgba(29,185,138,.12); color:#7ff0cf; }
.msg.err { background:rgba(255,138,143,.12); color:var(--err); }
.brand { color:var(--mint); font-weight:800; letter-spacing:.04em; font-size:12px; margin-bottom:16px; }
.link { display:block; text-align:center; margin-top:16px; color:var(--mint); font-size:13px; cursor:pointer; text-decoration:none; }
.divider { border:0; border-top:1px solid var(--line); margin:22px 0; }
