:root{--bg:#0d1117;--card:#161b22;--fg:#e6edf3;--mut:#8b98a6;--line:#30363d;
--grn:#3fb950;--red:#f85149;--gold:#f7931a;--blue:#58a6ff}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.5 -apple-system,Segoe UI,Arial,sans-serif}
a{color:var(--blue);text-decoration:none}
.topnav{display:flex;gap:18px;align-items:center;padding:12px 20px;background:#0b0f14;border-bottom:1px solid var(--line)}
.topnav .brand{font-weight:800;color:var(--gold);margin-right:10px}
.topnav a{color:var(--fg)} .topnav a:hover{color:var(--gold)} .topnav .right{margin-left:auto;color:var(--mut)}
main{max-width:1100px;margin:0 auto;padding:20px}
.flash{max-width:1100px;margin:10px auto 0;padding:0 20px}
.flash div{background:#1f2a1a;border:1px solid var(--grn);color:#b6f0c4;padding:8px 12px;border-radius:6px;margin-bottom:6px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.stat{background:#0f151c;border:1px solid var(--line);border-radius:8px;padding:12px}
.stat .k{color:var(--mut);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
.stat .v{font-size:22px;font-weight:700;margin-top:4px}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line)}
th{color:var(--mut);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.04em}
.pos{color:var(--grn)} .neg{color:var(--red)} .mut{color:var(--mut)}
.badge{display:inline-block;padding:2px 9px;border-radius:20px;font-size:12px;font-weight:700}
.badge.paper{background:#1c2733;color:var(--blue)} .badge.live{background:#3a1a1a;color:var(--red)}
.badge.on{background:#14301c;color:var(--grn)} .badge.off{background:#2a2a2a;color:var(--mut)}
.btn{display:inline-block;padding:9px 16px;border-radius:8px;border:1px solid var(--line);
background:#1c2430;color:var(--fg);font-weight:700;cursor:pointer;font-size:14px}
.btn:hover{border-color:var(--gold)}
.btn.red{background:#3a1414;border-color:var(--red);color:#ffb4ae}
.btn.grn{background:#14301c;border-color:var(--grn);color:#b6f0c4}
.btn.gold{background:#2a2210;border-color:var(--gold);color:#ffd591}
form.inline{display:inline}
h1{font-size:20px;margin:0 0 14px} h2{font-size:16px;margin:18px 0 10px}
input[type=text],input[type=number],input[type=password]{background:#0f151c;border:1px solid var(--line);
color:var(--fg);border-radius:6px;padding:8px 10px;width:100%;font-size:14px}
label{display:block;margin-bottom:14px}
label .lab{font-weight:600;margin-bottom:3px;display:block}
label .help{color:var(--mut);font-size:12px;margin-top:3px}
.warn{background:#3a1a1a;border:1px solid var(--red);color:#ffb4ae;padding:10px 14px;border-radius:8px}
.ok{background:#14301c;border:1px solid var(--grn);color:#b6f0c4;padding:10px 14px;border-radius:8px}
canvas{width:100%;height:120px;display:block}
.controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
