:root { --bg:#0f1115; --fg:#e6e8eb; --muted:#9aa0a6; --card:#1a1d23; --accent:#3ea6ff; --err:#ff6b6b; --border:#2a2e37; }
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif; }
.nav { display:flex; gap:1rem; padding:.8rem 1.2rem; background:var(--card); border-bottom:1px solid var(--border); }
.nav a { color:var(--fg); text-decoration:none; }
.nav a:hover { color:var(--accent); }
.nav .right { margin-left:auto; color:var(--muted); }
.container { max-width:820px; margin:0 auto; padding:1.4rem 1.2rem; }
h1 { font-size:1.4rem; margin:0 0 1rem; }
.login { max-width:420px; margin:4rem auto; text-align:center; }
.error { color:var(--err); }
.cards { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:1.4rem; }
.card { flex:1; min-width:120px; background:var(--card); border:1px solid var(--border); border-radius:10px; padding:1rem; text-align:center; }
.card .num { font-size:1.8rem; font-weight:600; }
.card .lbl { color:var(--muted); font-size:.85rem; }
.kv { width:100%; border-collapse:collapse; }
.kv th, .kv td { text-align:left; padding:.5rem .6rem; border-bottom:1px solid var(--border); }
.kv th { color:var(--muted); font-weight:500; width:40%; }
table.list { width:100%; border-collapse:collapse; }
table.list th, table.list td { text-align:left; padding:.5rem .6rem; border-bottom:1px solid var(--border); }
a.btn, button.btn { display:inline-block; padding:.4rem .8rem; border-radius:8px; border:1px solid var(--border); background:var(--card); color:var(--fg); cursor:pointer; text-decoration:none; font-size:.9rem; }
button.btn.danger { border-color:var(--err); color:var(--err); }
button.btn.primary { border-color:var(--accent); color:var(--accent); }
input[type=text], textarea { width:100%; padding:.5rem; background:var(--bg); color:var(--fg); border:1px solid var(--border); border-radius:8px; font:inherit; }
textarea { min-height:340px; font-family:ui-monospace,monospace; font-size:13px; }
.field { margin-bottom:1rem; }
.field .cur { color:var(--muted); font-size:.85rem; }
.badge { font-size:.75rem; color:var(--accent); }
form.inline { display:inline; }
