:root{--bg:#0b0f1a;--panel:#111829;--raise:#172036;--border:#23304a;--text:#e8edf9;--muted:#93a0bf;--faint:#66738f;--accent:#4cc3ff;--ok:#31d0a0;--warn:#f0b64a;--crit:#f2647a;--mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.app{max-width:1200px;margin:0 auto;padding:0 18px 40px}.top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:10px}.brand .mark{color:var(--accent);font-size:22px}.brand small{display:block;color:var(--muted);font-family:var(--mono);font-size:11px}nav{display:flex;gap:6px}nav a{color:var(--muted);text-decoration:none;padding:7px 12px;border-radius:8px}nav a.active{background:var(--raise);color:var(--text)}.banner{display:flex;gap:12px;align-items:center;margin:14px 0;padding:11px 14px;border-radius:10px;border:1px solid var(--border);background:var(--panel);color:var(--muted)}.banner.crit{border-color:#5a2a35;background:#2a141b;color:#f6c9d1}.banner.ok{border-color:#1f5a47;background:#0f2a22;color:#b8f0dc}.banner .pill{font-family:var(--mono);font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;background:#ffffff14;white-space:nowrap}.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:14px 0}.stat{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:12px 14px}.stat-label{font-size:11px;letter-spacing:.6px;text-transform:uppercase;color:var(--muted)}.stat-value{font-size:24px;font-weight:700;font-variant-numeric:tabular-nums;margin-top:2px}.stat-sub{font-size:11.5px;color:var(--faint);font-family:var(--mono)}.stat.warn .stat-value{color:var(--warn)}.stat.ok .stat-value{color:var(--ok)}.toolbar{display:flex;gap:10px;align-items:center;margin:10px 0}.toolbar input{flex:1;max-width:420px;background:var(--panel);border:1px solid var(--border);color:var(--text);padding:9px 12px;border-radius:9px;font:inherit}.toolbar button{background:var(--raise);border:1px solid var(--border);color:var(--text);padding:9px 14px;border-radius:9px;font:inherit;cursor:pointer}.toolbar button:disabled{opacity:.5;cursor:default}.muted{color:var(--muted)}.small{font-size:11px}.mono{font-family:var(--mono)}.tablewrap{overflow-x:auto;border:1px solid var(--border);border-radius:12px;background:var(--panel)}table{border-collapse:collapse;width:100%;min-width:760px}th,td{padding:9px 12px;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap}th{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none}th.on{color:var(--accent)}tr:last-child td{border-bottom:0}tbody tr{cursor:pointer}tbody tr:hover,tr.sel{background:var(--raise)}td.sym{font-weight:700;font-family:var(--mono)}td.name{color:var(--muted);max-width:280px;overflow:hidden;text-overflow:ellipsis}td.num{font-variant-numeric:tabular-nums;text-align:right}.chip{font-family:var(--mono);font-size:10.5px;padding:2px 8px;border-radius:20px;margin-left:6px}.chip.ok{background:#10362b;color:#8ff0cc}.chip.crit{background:#3a1721;color:#ffb3c0}.chip.neutral{background:var(--raise);color:var(--muted)}.drawer{position:fixed;right:16px;top:90px;width:360px;max-height:calc(100vh - 110px);overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:14px 16px;box-shadow:0 20px 50px #00000073}.drawer-head{display:flex;justify-content:space-between;align-items:center;font-size:18px;margin-bottom:8px}.drawer-head button{background:0;border:0;color:var(--muted);font-size:16px;cursor:pointer}.kv{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--border);font-size:13px}.kv span{color:var(--muted)}.kv b{text-align:right;word-break:break-all}.link{display:inline-block;margin:10px 0;color:var(--accent)}.drawer h4{margin:12px 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}.ca{padding:4px 0}.err{background:#3a1721;color:#ffb3c0;padding:9px 12px;border-radius:9px;margin:8px 0}.empty{color:var(--muted);padding:18px;border:1px dashed var(--border);border-radius:10px}footer{margin-top:28px;padding-top:14px;border-top:1px solid var(--border);color:var(--faint);font-size:11.5px;line-height:1.6}h2{margin:16px 0 4px}
