:root {
    --bg:#0d0c0a; --surface:#141310; --border:#252320;
    --gold:#c9a84c; --gold-dim:#6b5a2a;
    --text:#e8e0d0; --text-muted:#6a6458;
    --cormorant:'Cormorant Garamond',serif; --mono:'JetBrains Mono',monospace;
}
* { box-sizing:border-box; margin:0; padding:0; }
body { background:var(--bg); color:var(--text); font-family:var(--cormorant);
    min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px; }
.card { background:var(--surface); border:1px solid var(--border); border-radius:2px;
    padding:40px 36px; width:100%; max-width:360px; }
.symbol { text-align:center; font-size:24px; color:var(--gold-dim); letter-spacing:12px; margin-bottom:20px; }
h1 { text-align:center; font-size:32px; font-weight:300; letter-spacing:4px;
    text-transform:uppercase; margin-bottom:6px; }
.sub { text-align:center; font-family:var(--mono); font-size:10px; color:var(--text-muted);
    letter-spacing:2px; text-transform:uppercase; margin-bottom:32px; }
label { display:block; font-family:var(--mono); font-size:10px; letter-spacing:1.5px;
    text-transform:uppercase; color:var(--text-muted); margin-bottom:6px; }
input { width:100%; background:#0d0c0a; border:1px solid var(--border); border-radius:2px;
    color:var(--text); font-family:var(--mono); font-size:13px; padding:10px 12px;
    margin-bottom:16px; outline:none; transition:border-color 0.15s; }
input:focus { border-color:var(--gold-dim); }
button { width:100%; background:transparent; border:1px solid var(--gold-dim);
    color:var(--gold); font-family:var(--cormorant); font-size:18px; font-weight:300;
    letter-spacing:4px; text-transform:uppercase; padding:12px;
    cursor:pointer; transition:all 0.15s; border-radius:2px; margin-top:4px; }
button:hover { border-color:var(--gold); background:rgba(201,168,76,0.06); }
.alert { font-family:var(--mono); font-size:11px; padding:10px 12px;
    border-radius:2px; margin-bottom:16px; }
.alert-error { background:#1a0e0e; border:1px solid #3a1a1a; color:#c05040; }
.alert-success { background:#0e1a0e; border:1px solid #1a3a1a; color:#60a060; }
.footer-link { text-align:center; margin-top:20px; font-size:14px; color:var(--text-muted); }
.footer-link a { color:var(--gold); text-decoration:none; }
.footer-link a:hover { color:var(--gold); text-decoration:underline; }