:root{--bg: #0f172a;--panel: #1e293b;--panel-2: #273449;--border: #334155;--text: #e2e8f0;--muted: #94a3b8;--accent: #38bdf8;--ok: #22c55e;--err: #f87171;--radius: 10px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);line-height:1.45}.app{max-width:1280px;margin:0 auto;padding:24px 20px 64px}.app-header h1{margin:0 0 6px;font-size:22px}.subtitle{margin:0;color:var(--muted);max-width:78ch;font-size:14px}.layout{display:grid;grid-template-columns:360px 1fr;gap:20px;margin-top:22px;align-items:start}@media (max-width: 920px){.layout{grid-template-columns:1fr}}.panel,.board{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.panel-head,.board-title{display:flex;flex-direction:column;gap:4px;margin-bottom:14px}.panel-head h2,.board-title h2{margin:0;font-size:16px}.endpoint{font-size:11px;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:2px 6px;word-break:break-all;width:fit-content}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;font-size:13px}.field>span{color:var(--muted);font-weight:600}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}input,select,textarea{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:7px;padding:8px 10px;font-size:13px;font-family:inherit}textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}.actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}button{background:var(--accent);color:#04212e;border:none;border-radius:7px;padding:9px 16px;font-size:14px;font-weight:700;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button.ghost{background:transparent;color:var(--muted);border:1px solid var(--border);font-weight:600;padding:6px 12px}.status{font-size:12.5px}.status code{background:var(--bg);padding:1px 5px;border-radius:4px}.status.ok{color:var(--ok)}.status.err{color:var(--err)}.board-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}.board-meta{display:flex;align-items:center;gap:12px}.count{font-size:12px;color:var(--muted)}.conn{font-size:12px;font-weight:600}.conn-connected{color:var(--ok)}.conn-connecting{color:#fbbf24}.conn-disconnected{color:var(--err)}.hub-error{color:var(--err);font-size:13px;background:#f871711a;border:1px solid rgba(248,113,113,.3);border-radius:8px;padding:8px 10px;margin:0 0 12px}.empty{color:var(--muted);font-size:14px;border:1px dashed var(--border);border-radius:8px;padding:24px;text-align:center}.empty code{background:var(--bg);padding:1px 5px;border-radius:4px}.tenant-columns{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}.tenant-card{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:10px}.tenant-card-head{display:flex;justify-content:space-between;align-items:baseline}.tenant-card-head h3{margin:0;font-size:14px;color:var(--muted);font-weight:600}.tenant-id{color:var(--accent);font-size:18px;font-weight:800}.tenant-stats{font-size:11px;color:var(--muted)}.tenant-sources{display:flex;flex-wrap:wrap;gap:5px;padding-bottom:8px;border-bottom:1px solid var(--border)}.event-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;max-height:60vh;overflow-y:auto}.event-card{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:9px 10px;animation:pop .25s ease}@keyframes pop{0%{transform:translateY(-4px);opacity:0}to{transform:translateY(0);opacity:1}}.event-card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}.chip{color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.chip-sm{font-size:10px;padding:1px 7px;font-weight:600}.event-type{font-size:12.5px;font-weight:600;color:var(--text)}.event-time{margin-left:auto;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.event-payload{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;color:var(--text);background:#0b1220;border:1px solid var(--border);border-radius:6px;padding:8px;white-space:pre-wrap;word-break:break-word;max-height:180px;overflow:auto}.event-foot{margin-top:5px;font-size:10px;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-all}
