:root{--bg:#0b1220;--card:#111827;--fg:#e5e7eb;--muted:#9ca3af;--ok:#22c55e;--bad:#ef4444}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:Inter,system-ui,Arial}
.topbar{padding:12px 16px 12px 64px;border-bottom:1px solid #1f2937;background:#0f172a;position:sticky;top:0;z-index:20;display:flex;gap:12px;align-items:center}
.topbar h1{margin:0 0 4px}.topbar p{margin:0;color:var(--muted)}
.hamb{position:fixed;right:14px;bottom:14px;width:46px;height:46px;border-radius:999px;border:1px solid #334155;background:#0a0f1d;color:#fff;font-size:20px;z-index:60;box-shadow:0 6px 20px rgba(0,0,0,.35)}
.drawer{position:fixed;left:-260px;top:0;height:100%;width:240px;background:#0b1220;border-right:1px solid #1f2937;padding:70px 14px 14px;display:flex;flex-direction:column;gap:8px;transition:left .2s ease;z-index:35}
.drawer.open{left:0}
.drawer a{color:#cbd5e1;text-decoration:none;padding:8px 10px;border-radius:8px;background:#111827}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;padding:14px}
.card{background:var(--card);border:1px solid #1f2937;border-radius:12px;padding:14px}
.card.full{grid-column:1/-1}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px}
.tile{border:1px solid #263244;border-radius:10px;padding:8px}.tile .sym{font-weight:700}.up{color:var(--ok)}.dn{color:var(--bad)}
label{display:block;margin:8px 0;color:var(--muted)} input,select,button{width:100%;padding:10px;border-radius:8px;border:1px solid #334155;background:#0a0f1d;color:#fff}
button{background:#2563eb;border:0;font-weight:700;cursor:pointer;margin-top:8px}
pre{white-space:pre-wrap;max-height:280px;overflow:auto;background:#0a0f1d;padding:10px;border-radius:8px}
@media (max-width:600px){.topbar{position:static}}

#ipc_table th,#ipc_table td{border-bottom:1px solid #1f2937;padding:8px;text-align:left}#ipc_table th{color:#94a3b8;font-weight:600}
