*{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0b0e14;--card: #121826;--card2: #161e30;--line: #1f2937;--text: #e5e7eb;--muted: #8b95a7;--mint: #6ee7b7;--training: #60a5fa;--search: #a78bfa;--fetcher: #f472b6;--engine: #64748b;--other: #3f4a5f;--bad: #f87171;--good: #34d399;--warn: #fbbf24}body{background:var(--bg);color:var(--text);font:14px/1.45 -apple-system,SF Pro Text,Inter,system-ui,sans-serif}.app{max-width:1180px;margin:0 auto;padding:20px 24px 60px}header{display:flex;align-items:center;gap:16px;padding:6px 0 18px}.logo{font-weight:700;font-size:17px;letter-spacing:.2px}.logo b{color:var(--mint)}.spacer{flex:1}select,.seg button{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:13px;cursor:pointer}.seg{display:flex;gap:0;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{border:0;border-radius:0}.seg button.on{background:var(--mint);color:#06281c;font-weight:600}.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.kpi .v{font-size:22px;font-weight:700;margin-top:2px}.kpi .l{color:var(--muted);font-size:12px}.kpi.bad .v{color:var(--bad)}.kpi.good .v{color:var(--good)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:14px}.card h3{font-size:13px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}table{width:100%;border-collapse:collapse;font-size:13px}th{text-align:left;color:var(--muted);font-weight:500;font-size:11px;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px}td{padding:7px 8px;border-top:1px solid var(--line)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600}.b-training{background:#60a5fa26;color:var(--training)}.b-search{background:#a78bfa26;color:var(--search)}.b-fetcher{background:#f472b626;color:var(--fetcher)}.b-engine{background:#94a3b821;color:#94a3b8}.b-other{background:#64748b26;color:#94a3b8}.b-spoofed{background:#f8717126;color:var(--bad)}.b-verified{background:#34d39921;color:var(--good)}.b-referral{background:#6ee7b721;color:var(--mint)}.path{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12px;color:var(--text)}.muted{color:var(--muted)}.feed{display:flex;flex-direction:column;gap:0;max-height:420px;overflow-y:auto}.feed .row{display:flex;gap:10px;align-items:center;padding:7px 2px;border-top:1px solid var(--line);font-size:13px}.feed .t{color:var(--muted);font-size:11px;min-width:64px}.bar{height:8px;border-radius:4px;background:var(--mint);min-width:2px}.refrow{display:flex;align-items:center;gap:10px;padding:6px 0}.refrow .name{min-width:90px;text-transform:capitalize}.refrow .n{color:var(--muted);min-width:36px;text-align:right;font-variant-numeric:tabular-nums}.login{max-width:320px;margin:18vh auto}.login input{width:100%;background:var(--card2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:14px;margin:12px 0}.login button{width:100%;background:var(--mint);color:#06281c;border:0;border-radius:8px;padding:10px;font-weight:700;cursor:pointer}.err{color:var(--bad);font-size:13px}.empty{color:var(--muted);padding:18px 0;text-align:center}@media(max-width:900px){.kpis{grid-template-columns:repeat(3,1fr)}.grid2{grid-template-columns:1fr}}.tabs{display:flex;gap:2px;margin-left:18px}.tabs button{background:transparent;border:0;color:var(--muted);padding:8px 12px;font-size:13px;cursor:pointer;border-radius:8px}.tabs button.on{color:var(--text);background:var(--card);font-weight:600}.delta{font-size:11px;font-weight:600}.delta.up{color:var(--good)}.delta.down{color:var(--bad)}.cardhead{display:flex;align-items:center;gap:12px;margin-bottom:10px}.cardhead h3{margin-bottom:0;flex:1}.csv{color:var(--mint);font-size:12px;text-decoration:none;border:1px solid var(--line);padding:4px 10px;border-radius:6px}.csv:hover{background:var(--card2)}.search{background:var(--card2);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:13px;width:220px}tr.click{cursor:pointer}tr.click:hover td,tr.sel td{background:var(--card2)}.errnum{color:var(--bad);font-weight:600}.statusrow{margin-top:10px;font-size:12px}
