:root{--bg:#0c0608;--surface:#150d11;--surface-2:#1d1218;--raised:#241620;--border:#ff506e1a;--border-2:#ffffff0f;--accent:#ff2d55;--accent-2:#ff5a78;--accent-dim:#c01f43;--accent-soft:#ff2d5524;--accent-glow:#ff2d5559;--text:#f4eef1;--muted:#a99aa1;--dim:#6f626a;--green:#34d399;--green-soft:#34d39926;--amber:#f5b13d;--amber-soft:#f5b13d26;--red:#ff5169;--red-soft:#ff516926;--radius:14px;--radius-sm:9px;--shadow:0 10px 30px #00000073}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{color:var(--text);background:radial-gradient(1100px 560px at 82% -12%, #ff2a5433, transparent 58%), radial-gradient(900px 500px at 8% 108%, #ff2a541a, transparent 60%), var(--bg);-webkit-font-smoothing:antialiased;background-attachment:fixed;font-family:Inter,Segoe UI,system-ui,-apple-system,Arial,sans-serif;font-size:13px}a{color:inherit;text-decoration:none}.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#2a1c22 padding-box content-box;border:2px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#3a262e padding-box content-box}.titlebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:20;background:#0e080bb8;align-items:center;gap:14px;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.titlebar .brand{letter-spacing:-.02em;color:var(--text);font-size:17px;font-weight:800}.titlebar .brand b{color:var(--accent)}.titlebar .crumb{color:var(--muted);border-left:1px solid var(--border-2);margin-left:4px;padding-left:14px;font-weight:500}.titlebar .sp{flex:1}.titlebar .who{color:var(--muted);font-size:12.5px}.titlebar .exit{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;font:inherit;align-items:center;gap:6px;padding:7px 13px;transition:all .15s;display:inline-flex}.titlebar .exit:hover{background:var(--accent-soft);color:var(--accent-2);border-color:var(--accent-dim)}.shell{height:calc(100vh - 56px);display:flex}.sections{border-right:1px solid var(--border);background:#120a0e8c;flex-direction:column;flex:none;gap:3px;width:224px;padding:16px 12px;display:flex;overflow:auto}.sec{color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);font:inherit;text-align:left;border:1px solid #0000;align-items:center;gap:11px;padding:10px 13px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.sec i{text-align:center;width:18px;color:var(--dim);font-size:17px;transition:all .15s}.sec:hover{background:var(--surface-2);color:var(--text)}.sec:hover i{color:var(--accent-2)}.sec.on{background:var(--accent-soft);color:#fff;border-color:#ff2d554d;font-weight:600;box-shadow:inset 0 0 0 1px #ff2d550d}.sec.on i{color:var(--accent)}.sidecard{border-radius:var(--radius);border:1px solid var(--border);background:linear-gradient(160deg,#ff2d5529,#ff2d5508);align-items:center;gap:10px;margin-top:auto;padding:12px;display:flex}.sidecard .av{background:linear-gradient(135deg, var(--accent), var(--accent-dim));color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-weight:700;display:flex}.sidecard .nm{color:var(--text);font-size:12.5px;font-weight:600}.sidecard .rl{color:var(--muted);font-size:11px}.main{flex-direction:column;flex:1;min-width:0;display:flex}.head{align-items:baseline;gap:12px;padding:20px 22px 8px;display:flex}.head h1{letter-spacing:-.02em;font-size:22px;font-weight:700}.head .cnt{color:var(--muted);font-size:12.5px}.cmd{flex-wrap:wrap;align-items:center;gap:8px;padding:8px 20px 12px;display:flex}.btn{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;font:inherit;align-items:center;gap:7px;padding:8px 13px;font-weight:500;transition:all .15s;display:inline-flex}.btn:hover{background:var(--raised);border-color:var(--border)}.btn:disabled{opacity:.4;cursor:default;background:var(--surface-2)}.btn .g{color:var(--green);font-weight:700}.btn .r{color:var(--red);font-weight:700}.btn.primary{background:linear-gradient(135deg, var(--accent), var(--accent-dim));color:#fff;box-shadow:0 4px 16px var(--accent-glow);border-color:#0000}.btn.primary:hover{filter:brightness(1.08)}.cmd .sp{flex:1}.search{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-sm);width:280px;font:inherit;color:var(--text);padding:9px 13px}.search::placeholder{color:var(--dim)}.search:focus{border-color:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.filters{flex-wrap:wrap;gap:6px;padding:4px 20px 0;display:flex}.ft{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;font:inherit;border-radius:999px;padding:7px 14px;font-size:12.5px;transition:all .15s}.ft:hover{color:var(--text);border-color:var(--border)}.ft.on{background:var(--accent-soft);color:#fff;border-color:#ff2d554d;font-weight:600}.ft .b{color:var(--dim);margin-left:6px;font-weight:600}.ft.on .b{color:var(--accent-2)}.body{flex:1;gap:14px;min-height:0;padding:12px 20px 20px;display:flex}.gridwrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex:1;overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%}thead th{background:var(--surface-2);border-bottom:1px solid var(--border);text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;cursor:default;z-index:1;padding:11px 13px;font-size:11.5px;font-weight:600;position:sticky;top:0}thead th.r{text-align:right}thead th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}thead th.sortable:hover{color:var(--text)}tbody td{border-bottom:1px solid var(--border-2);color:var(--text);padding:10px 13px}tbody td.r{text-align:right}tbody tr:hover{background:var(--surface-2)}tbody tr.sel,tbody tr.sel:hover{background:var(--accent-soft)}tbody tr.clickable{cursor:pointer}tbody tr:last-child td{border-bottom:none}.empty{color:var(--dim);text-align:center;padding:22px 16px}.uid{color:var(--muted)}.chip{border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-block}.c-act{background:var(--green-soft);color:var(--green)}.c-ban{background:var(--red-soft);color:var(--red)}.c-exp{color:var(--muted);background:#ffffff0f}.c-tri{background:var(--amber-soft);color:var(--amber)}.dot{vertical-align:1px;border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.dot.on{background:var(--green);box-shadow:0 0 8px var(--green)}.dot.off{background:#3a2a30}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;flex:none;width:320px;display:flex;overflow:hidden}.card .ch{background:linear-gradient(160deg, var(--accent-soft), transparent);border-bottom:1px solid var(--border);color:var(--text);align-items:center;gap:10px;padding:14px 16px;font-weight:600;display:flex}.card .av{background:linear-gradient(135deg, var(--accent), var(--accent-dim));color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-weight:700;display:flex}.card .cardbody{flex:1;overflow:auto}.card .ch .nm{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cardclose{border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;font:inherit;background:0 0;padding:5px 8px}.cardclose:hover{color:var(--accent-2);border-color:var(--accent-dim)}.kv{border-bottom:1px solid var(--border-2);justify-content:space-between;gap:10px;padding:9px 16px;display:flex}.kv .k{color:var(--muted)}.kv .v{text-align:right;font-weight:600}.acts{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:14px 16px;display:flex}.acts .row2{gap:8px;display:flex}.acts .btn{flex:1;justify-content:center}.card .empty{color:var(--dim);text-align:center;padding:22px 16px}.foot{color:var(--muted);align-items:center;gap:16px;padding:10px 22px;font-size:12px;display:flex}.foot .sp{flex:1}.pg{border:1px solid var(--border);background:var(--surface-2);border-radius:var(--radius-sm);cursor:pointer;font:inherit;color:var(--text);padding:5px 10px}.pane{flex:1;padding:8px 22px 22px;overflow:auto}.pane .gridwrap{margin-left:0}.kpis{grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:14px;padding:8px 22px 22px;display:grid}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;padding:16px 18px;transition:all .18s;display:flex;position:relative;overflow:hidden}.kpi:after{content:"";background:radial-gradient(circle at 100% 0, var(--accent-soft), transparent 70%);pointer-events:none;width:120px;height:120px;position:absolute;inset:0 0 auto auto}.kpi:hover{border-color:#ff2d5540;transform:translateY(-1px)}.kpi .lbl{color:var(--muted);align-items:center;gap:8px;font-size:12.5px;font-weight:500;display:flex}.kpi .lbl i{color:var(--accent);font-size:16px}.kpi .big{letter-spacing:-.02em;color:var(--text);font-size:28px;font-weight:800}.kpi .sub{color:var(--dim);font-size:11px}.kpi .delta{font-size:11px;font-weight:600}.kpi .delta.up{color:var(--green)}.kpi .delta.down{color:var(--red)}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin:0 0 14px;overflow:hidden}.panel>.ph{background:var(--surface-2);border-bottom:1px solid var(--border);color:var(--text);padding:13px 16px;font-weight:600}.panel>.pb{padding:16px}.bar{background:var(--surface-2);border:1px solid var(--border-2);vertical-align:middle;border-radius:999px;width:92px;height:8px;display:inline-block;overflow:hidden}.bar>span{background:linear-gradient(90deg, var(--accent), var(--accent-2));border-radius:999px;height:100%;display:block}.bar.warn>span{background:var(--amber)}.bar.crit>span{background:var(--red)}.barlabel{color:var(--muted);margin-left:8px}.muted{color:var(--muted)}.charts{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:14px;padding:8px 22px 22px;display:grid}.note{color:var(--muted);padding:12px 22px}.gridcol{flex-direction:column;flex:1;min-width:0;display:flex}.burger{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;font:inherit;align-items:center;padding:6px 9px;display:none}.scrim{display:none}.login{flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100vh;padding:20px;display:flex}.login-brand{letter-spacing:-.03em;color:var(--text);font-size:38px;font-weight:800}.login-brand b{color:var(--accent)}.login-sub{color:var(--muted);margin-top:-2px;font-size:15px}.login-widget{min-height:48px;margin-top:16px}.login-hint{color:var(--dim);margin-top:4px;font-size:11px}.ulink{color:var(--accent-2);cursor:pointer;font-weight:600}.ulink:hover{text-decoration:underline}.tag{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;margin-left:6px;padding:2px 9px;font-size:11px;display:inline-block}.tag.sm{margin-left:4px;padding:1px 7px;font-size:10px}.tag.on{cursor:pointer;background:var(--accent-soft);color:var(--accent-2);border-color:#ff2d554d}.tag.add{cursor:pointer;border:1px dashed var(--border);color:var(--muted);background:0 0;margin:0 4px 0 0;padding:3px 10px}.tag.add:hover{background:var(--surface-2);color:var(--text)}.tagsedit{border-top:1px solid var(--border);margin-top:8px;padding:10px 0 2px}.tagsedit .chips{flex-wrap:wrap;gap:5px;margin:5px 0;display:flex}.tagsedit .muted{color:var(--dim);font-size:11px}.donut{align-items:center;gap:18px;display:flex}.donut .legend{flex-direction:column;gap:8px;font-size:12.5px;display:flex}.donut .legend .li{color:var(--muted);align-items:center;gap:8px;display:flex}.donut .legend .sw{border-radius:3px;width:10px;height:10px}@media (width<=860px){body{font-size:13.5px}.burger{display:inline-flex}.titlebar{gap:10px;padding:0 14px}.titlebar .crumb,.titlebar .who,.titlebar .exit .lbl-lg{display:none}.sections{z-index:40;width:240px;box-shadow:var(--shadow);transition:transform .22s;position:fixed;top:56px;bottom:0;left:0;transform:translate(-100%)}.sections.open{transform:translate(0)}.scrim{z-index:30;background:#0000008c;display:block;position:fixed;inset:56px 0 0}.body{flex-direction:column;padding:12px}.hide-sm{display:none!important}.search{flex:130px;width:auto}.head{padding:16px 14px 6px}.head h1{font-size:19px}.kpis,.charts,.pane{padding-left:14px;padding-right:14px}.kpis{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.kpi .big{font-size:23px}.charts{grid-template-columns:1fr}.card{z-index:35;border-radius:0;width:auto;transition:transform .22s;position:fixed;inset:56px 0 0;transform:translate(100%)}.card.open{transform:translate(0)}.cardclose{display:inline-flex}}@media (width<=560px){.hide-md{display:none!important}.kpis{grid-template-columns:1fr 1fr}}
