:root{--bg:#0b1020;--panel:#121a2e;--ink:#e7eaf3;--muted:#9aa3b2;--accent:#3b82f6;--danger:#ef4444;--border:#1f2741}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.topbar{background:rgba(18,26,46,.9);border-bottom:1px solid var(--border);position:sticky;top:0;backdrop-filter:saturate(1.2) blur(6px);}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;max-width:980px;margin:0 auto}
.wrap{max-width:980px;margin:16px auto;padding:0 16px}
h1,h2{margin:.4em 0}
nav a{margin-left:12px}
.container{max-width:420px;margin:48px auto;padding:16px}
.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 10px 24px rgba(0,0,0,.25)}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
label{display:flex;flex-direction:column;font-size:14px;gap:6px;margin:6px 0}
input,select,button{font-size:14px;padding:10px;border-radius:10px;border:1px solid var(--border);background:#0e1630;color:var(--ink)}
input::placeholder{color:var(--muted)}
button.btn, .btn{background:var(--accent);border-color:transparent;color:white;cursor:pointer;display:inline-block}
.btn.ghost{background:transparent;border-color:var(--accent);color:var(--accent)}
.btn.danger{background:var(--danger)}
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid var(--border);padding:10px;text-align:left}
.error{color:#fca5a5}
.ok{color:#86efac}
.muted{color:var(--muted)}
