:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f6f7f9;--panel:#fff;--ink:#16181d;--muted:#6b7280;--line:#e3e6ea;--accent:#2f6feb;--danger:#c0392b;--ok:#1a7f43;font-family:ui-sans-serif,-apple-system,Segoe UI,system-ui,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#16181d;--panel:#1e2128;--ink:#e8eaed;--muted:#9aa3af;--line:#2c313a}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font-size:14px}main{max-width:1100px;margin:0 auto;padding:24px 20px 64px}h1{margin:0;font-size:20px}h2{margin:0 0 12px;font-size:15px;font-weight:600}header.top{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding-bottom:16px;display:flex}nav{gap:4px;display:flex}nav button,.action{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:6px 12px}nav button:hover,.action:hover{background:var(--line);color:var(--ink)}nav button[aria-current=page]{background:var(--panel);color:var(--ink);border-color:var(--line)}.kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:24px;display:grid}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px}.kpi .value{font-size:24px;font-weight:600}.kpi .label{color:var(--muted);margin-top:2px;font-size:12px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;margin-bottom:20px;padding:16px;overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th{text-align:left;color:var(--muted);white-space:nowrap;padding:0 12px 8px 0;font-size:12px;font-weight:600}td{border-top:1px solid var(--line);white-space:nowrap;padding:8px 12px 8px 0}.pill{border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.pill.lan,.pill.p2p{color:var(--ok)}.pill.relay{color:#b45309}.pill.off{color:var(--muted)}button.danger{color:var(--danger);border-color:var(--line)}button.danger:hover{background:var(--danger);color:#fff}.login{background:var(--panel);border:1px solid var(--line);border-radius:10px;max-width:340px;margin:15vh auto;padding:24px}.login label{color:var(--muted);margin-bottom:6px;font-size:12px;display:block}.login input{width:100%;font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:6px;padding:8px 10px}.login button{width:100%;font:inherit;background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:14px;padding:9px}.login button:disabled{opacity:.6;cursor:default}.error{color:var(--danger);margin-top:12px;font-size:13px}.empty{color:var(--muted);padding:12px 0}.muted{color:var(--muted)}
