:root{--bg:#0b0b0f;--bg2:#101016;--surface:#15151c;--surface2:#1c1c26;--border:#262631;--border-soft:#1e1e27;--text:#f5f5f7;--text-dim:#b8b8c2;--muted:#9a9aa6;--subtle:#6a6a74;--accent:#ff7a3d;--accent-dim:#ff7a3d29;--success:#3fd68b;--success-dim:#3fd68b29;--danger:#ff5c66;--danger-dim:#ff5c6629;--warning:#ffc45c;--warning-dim:#ffc45c29;--r-sm:10px;--r-md:14px;--r-lg:20px;--shadow:0 8px 30px #00000059;--f-display:"Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--f-body:"Inter", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--f-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.45}button,input,select,textarea{font-family:inherit}::selection{background:var(--accent-dim)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border);border:2px solid var(--bg);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--subtle)}.shell{grid-template-columns:248px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--bg2);border-right:1px solid var(--border);flex-direction:column;gap:6px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0;overflow-y:auto}.brand{font-family:var(--f-display);align-items:center;gap:10px;padding:4px 10px 18px;font-size:18px;font-weight:700;display:flex}.brand .dot{background:var(--accent);color:#0b0b0f;border-radius:8px;place-items:center;width:26px;height:26px;display:grid}.nav-group{color:var(--subtle);text-transform:uppercase;letter-spacing:.6px;padding:14px 12px 6px;font-size:11px}.nav-item{text-align:left;width:100%;color:var(--text-dim);border-radius:var(--r-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:11px;padding:9px 12px;font-size:14px;transition:background .12s,color .12s;display:flex}.nav-item:hover{background:var(--surface);color:var(--text)}.nav-item.active{background:var(--accent-dim);color:var(--accent);font-weight:600}.nav-item svg{opacity:.85;flex:none}.nav-item .badge{margin-left:auto}.main{flex-direction:column;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:5;background:#0b0b0fd1;justify-content:space-between;align-items:center;gap:16px;padding:18px 32px;display:flex;position:sticky;top:0}.topbar h1{font-family:var(--f-display);margin:0;font-size:22px;font-weight:700}.topbar .sub{color:var(--muted);margin-top:2px;font-size:13px}.content{width:100%;max-width:1120px;padding:28px 32px 64px}@media (width<=880px){.shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid var(--border);flex-flow:row;gap:6px;height:auto;padding:10px 12px;position:static;overflow-x:auto}.brand,.nav-group{display:none}.nav-item{white-space:nowrap;width:auto;padding:8px 12px}.topbar,.content{padding-left:18px;padding-right:18px}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md)}.card.pad{padding:20px}.card-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.card-head .ttl{font-family:var(--f-display);font-size:16px;font-weight:700}.btn{border-radius:var(--r-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .12s,border-color .12s,opacity .12s,transform 40ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn--primary{background:var(--accent);color:#0b0b0f;font-weight:700}.btn--primary:hover:not(:disabled){background:#ff8f5a}.btn--secondary{background:var(--surface2);color:var(--text);border-color:var(--border)}.btn--secondary:hover:not(:disabled){border-color:var(--subtle)}.btn--ghost{background:var(--surface2);color:var(--accent);border-color:var(--border)}.btn--ghost:hover:not(:disabled){background:var(--accent-dim);border-color:var(--accent)}.btn--danger{background:var(--danger-dim);color:var(--danger);border-color:var(--danger)}.btn--sm{border-radius:8px;padding:6px 11px;font-size:12px}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--muted);font-size:12px}.input,.select,.textarea{background:var(--surface2);color:var(--text);border:1px solid var(--border);border-radius:var(--r-sm);outline:none;width:100%;padding:10px 12px;font-size:14px;transition:border-color .12s}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent)}.textarea{resize:vertical;min-height:80px}.input::placeholder,.textarea::placeholder{color:var(--subtle)}.table{border-collapse:collapse;width:100%;font-size:13px}.table thead th{color:var(--muted);text-align:left;white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:600}.table tbody td{border-top:1px solid var(--border);vertical-align:middle;padding:12px 16px}.table tbody tr{transition:background .1s}.table--rows tbody tr:hover{background:var(--surface2)}.table--click tbody tr{cursor:pointer}.num{font-variant-numeric:tabular-nums}.badge{white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.badge--muted{background:var(--surface2);color:var(--muted);border-color:var(--border)}.badge--success{background:var(--success-dim);color:var(--success)}.badge--danger{background:var(--danger-dim);color:var(--danger)}.badge--accent{background:var(--accent-dim);color:var(--accent)}.badge--warning{background:var(--warning-dim);color:var(--warning)}.chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);align-items:baseline;gap:6px;padding:8px 13px;font-size:13px;display:inline-flex}.chip.danger{border-color:var(--danger)}.chip .k{color:var(--muted)}.chip.danger .k{color:var(--danger)}.chip .v{font-variant-numeric:tabular-nums;font-weight:700}.metric{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:16px 18px}.metric .label{color:var(--muted);font-size:13px}.metric .value{font-family:var(--f-display);font-variant-numeric:tabular-nums;margin-top:6px;font-size:30px;font-weight:700}.metric.alert .value{color:var(--danger)}.grid-metrics{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;display:grid}.section-title{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:12px}.stack{flex-direction:column;display:flex}.row-line{border-top:1px solid var(--border);justify-content:space-between;gap:8px;padding:7px 0;font-size:13px;display:flex}.row-line .r{color:var(--muted)}.spark{align-items:flex-end;gap:3px;height:48px;display:flex}.spark .bar{background:var(--accent);border-radius:2px;flex:1;min-height:2px}@keyframes shimmer{to{transform:translate(100%)}}.skel{background:var(--surface2);border-radius:6px;position:relative;overflow:hidden}.skel:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0a,#0000);animation:1.3s infinite shimmer;position:absolute;inset:0;transform:translate(-100%)}.skel-line{height:12px;margin:4px 0}.empty,.error-state{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:10px;padding:48px 24px;display:flex}.empty .ico,.error-state .ico{background:var(--surface2);width:48px;height:48px;color:var(--subtle);border-radius:14px;place-items:center;display:grid}.empty .ttl,.error-state .ttl{color:var(--text);font-size:15px;font-weight:600}.empty .hint,.error-state .hint{max-width:360px;font-size:13px}.error-state .ico{color:var(--danger);background:var(--danger-dim)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}.toolbar{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.pagination{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.pre{white-space:pre-wrap;font-size:13px}.note-block{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r-sm);padding:12px}.note-block.accent{border-color:var(--accent)}.cols{gap:16px;display:grid}
