:root{--bg: #0b0e14;--panel: #131823;--panel-2: #1a2130;--border: #232c3d;--text: #e6edf3;--muted: #8b97a7;--green: #2ec27e;--red: #f2555a;--accent: #4c8dff;--chip: #202a3b}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--accent);text-decoration:none}button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:6px 12px;border-radius:8px}button:hover{border-color:var(--accent)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.danger{color:var(--red);border-color:#40252a}button.ghost{background:transparent}input,select{font:inherit;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:8px;padding:7px 10px;width:100%}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 22px;border-bottom:1px solid var(--border);background:var(--panel)}.brand{font-weight:700;letter-spacing:.5px}.brand span{color:var(--accent)}.wrap{max-width:1100px;margin:0 auto;padding:22px}.grid{display:grid;gap:14px}.cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:16px}.card h3{margin:0 0 4px}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.spacer{flex:1}.chip{font-size:12px;padding:2px 9px;border-radius:999px;background:var(--chip);color:var(--muted);border:1px solid var(--border)}.chip.paper{color:#7db3ff}.chip.live{color:var(--red);border-color:#40252a}.chip.on{color:var(--green)}.chip.off{color:var(--muted)}.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;margin:10px 0}.kv .k{color:var(--muted)}.kv .v{text-align:right;font-variant-numeric:tabular-nums}.pnl-pos{color:var(--green)}.pnl-neg{color:var(--red)}.muted{color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border)}th{color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase}td{font-variant-numeric:tabular-nums}.log{max-height:320px;overflow:auto}.log .ev{padding:7px 0;border-bottom:1px solid var(--border)}.log .ev .t{color:var(--muted);font-size:12px}.center{min-height:100vh;display:grid;place-items:center}.login{width:320px}.field{margin:10px 0}.field label{display:block;color:var(--muted);margin-bottom:4px}.err{color:var(--red);margin-top:8px;min-height:18px}.back{margin-bottom:14px;display:inline-block}
