:root{--bg:#f6f7f9;--surface:#fff;--surface-2:#fafbfc;--border:#e5e7eb;--border-strong:#c7d0e0;--text:#0f172a;--text-2:#4b5563;--muted:#6b7280;--faint:#9ca3af;--track:#eef0f4;--seg:#eef0f4;--seg-active:#fff;--hover:#f1f3f7;--free:#e5e7eb;--avatar-bg:#e8edfb;--avatar-fg:#1e3a8a;--link:#2f5bea;--shadow:#0f172a12;--accent:#2f5bea;--danger:#b91c1c;--danger-solid:#dc2626;--ok-bg:#e7f6ec;--ok-fg:#15803d;--ok-dot:#16a34a;--ok-border:#bfe3cb;--warn-bg:#fef3e2;--warn-fg:#a14a06;--warn-dot:#f59e0b;--warn-border:#f3d9ae;--err-bg:#fdecec;--err-fg:#b91c1c;--err-dot:#dc2626;--err-border:#f1c4c4;--info-bg:#e8edfb;--info-fg:#1e40af;--info-dot:#2f5bea;--info-border:#c5d2f6;--panel-bg:#0b1530;--panel-dot:#1b2a52;--panel-text:#f3f6fc;--panel-muted:#aebad4;--panel-chip:#16223f;--panel-border:#25335a;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--bg:#0b0f17;--surface:#121826;--surface-2:#161d2d;--border:#232c3d;--border-strong:#34405a;--text:#e6eaf2;--text-2:#b4bdcc;--muted:#8c97aa;--faint:#5e6a80;--track:#1e2635;--seg:#1a2130;--seg-active:#2a3550;--hover:#1c2433;--free:#2a3345;--avatar-bg:#1f2a44;--avatar-fg:#c7d4ff;--link:#8fb0ff;--shadow:#0006;--danger:#f87171;--ok-bg:#22c55e1f;--ok-fg:#4ade80;--ok-dot:#22c55e;--ok-border:#22c55e61;--warn-bg:#f59e0b21;--warn-fg:#fbbf24;--warn-dot:#f59e0b;--warn-border:#f59e0b6b;--err-bg:#ef444421;--err-fg:#f87171;--err-dot:#ef4444;--err-border:#ef444473;--info-bg:#60a5fa24;--info-fg:#93c5fd;--info-dot:#60a5fa;--info-border:#60a5fa73;--panel-bg:#0f1830;--panel-dot:#1d2b50;--panel-border:#2a3961;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:14px/1.45 Inter,system-ui,-apple-system,Segoe UI,sans-serif}a{color:var(--link)}button{font:inherit;color:inherit}h1,h2,h3{margin:0}.mono{font-family:var(--mono);font-size:12.5px}.muted{color:var(--muted)}.ic{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;flex:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.pulse{animation:1.6s ease-in-out infinite pulse}@media (prefers-reduced-motion:reduce){.pulse{animation:none}}.topbar{background:var(--surface);border-bottom:1px solid var(--border)}.topbar-in{flex-wrap:wrap;align-items:center;gap:12px 16px;max-width:1360px;margin:0 auto;padding:12px 24px;display:flex}.brand{color:var(--text);letter-spacing:-.01em;align-items:center;gap:10px;font-size:15px;font-weight:600;text-decoration:none;display:flex}.brand span.sub{color:var(--muted);font-weight:500}.logo{background:var(--accent);color:#fff;border-radius:9px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.hostchip{border:1px solid var(--border);color:var(--text-2);background:var(--surface-2);border-radius:999px;align-items:center;gap:8px;padding:5px 11px;font-size:12.5px;display:flex}.hostchip b{color:var(--text);font-weight:500}.spacer{flex:1}.user{align-items:center;gap:8px;display:flex}.iconbtn{border:1px solid var(--border);background:var(--surface);width:36px;height:36px;color:var(--text-2);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;display:flex}.iconbtn.ghost{background:0 0;border-color:#0000}.iconbtn:hover{background:var(--hover)}.avatar{background:var(--avatar-bg);width:32px;height:32px;color:var(--avatar-fg);border-radius:50%;justify-content:center;align-items:center;margin-left:4px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.avatar img{object-fit:cover;width:100%;height:100%}.page{flex-direction:column;gap:24px;max-width:1360px;margin:0 auto;padding:28px 24px 56px;display:flex}.page-head{flex-wrap:wrap;align-items:flex-end;gap:12px 16px;display:flex}.page-head h1{letter-spacing:-.02em;font-size:24px;font-weight:600}.live{color:var(--muted);align-items:center;gap:8px;margin:6px 0 0;font-size:13.5px;display:flex}.dot{border-radius:50%;flex:none;width:7px;height:7px;display:inline-block}.dot.ok{background:var(--ok-dot)}.dot.warn{background:var(--warn-dot)}.dot.err{background:var(--err-dot)}.dot.info{background:var(--info-dot)}.dot.off{background:var(--faint)}.banner{background:var(--err-bg);color:var(--err-fg);border-radius:12px;align-items:flex-start;gap:10px;padding:12px 16px;font-size:13.5px;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px}.kpis{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;display:grid}.kpi{flex-direction:column;gap:10px;padding:18px;display:flex}.kpi-head{color:var(--text-2);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.kpi-head .aside{color:var(--muted);margin-left:auto;font-size:12px;font-weight:400}.kpi-value{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.kpi-value .big{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:600}.kpi-value .unit{color:var(--muted);font-size:15px;font-weight:500}.kpi-value .note{color:var(--muted);font-size:12px}.net-values{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.net-values span{letter-spacing:-.02em;font-size:22px;font-weight:600}.net-values small{color:var(--muted);font-size:13px;font-weight:500}.bar{background:var(--track);border-radius:99px;gap:2px;height:8px;display:flex;overflow:hidden}.bar>div{background:var(--accent)}.bar>div.soft{opacity:.35}.legend{color:var(--text-2);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.sw{background:var(--accent);border-radius:2px;width:8px;height:8px}.sw.soft{opacity:.35}.sw.free{background:var(--free)}.sw.up{background:#94a3b8}.spark{width:100%;height:44px;display:block}.spark-axis{color:var(--muted);justify-content:space-between;font-size:11.5px;display:flex}.line{fill:none;stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.columns{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.col-main{flex-direction:column;flex:999 640px;gap:16px;min-width:0;display:flex}.col-side{flex-direction:column;flex:300px;gap:16px;min-width:0;display:flex}.section-head{flex-wrap:wrap;align-items:center;gap:12px 16px;display:flex}.section-head .title{flex:auto;align-items:baseline;gap:10px;display:flex}.section-head h2{letter-spacing:-.01em;font-size:18px;font-weight:600}.counts{flex-wrap:wrap;gap:8px;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pill{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:4px 9px;font-size:12px;font-weight:500;display:inline-flex}.pill.big{padding:4px 10px;font-size:12.5px}.pill.ok{background:var(--ok-bg);color:var(--ok-fg)}.pill.warn{background:var(--warn-bg);color:var(--warn-fg)}.pill.err{background:var(--err-bg);color:var(--err-fg)}.pill.info{background:var(--info-bg);color:var(--info-fg)}.seg{background:var(--seg);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{cursor:pointer;height:32px;color:var(--text);background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:500;display:inline-flex}.seg.small button{height:30px}.seg button[aria-pressed=true]{background:var(--seg-active);box-shadow:0 1px 2px var(--shadow);font-weight:600}.seg button .n{color:var(--muted);font-weight:500}.search{background:var(--surface);border:1px solid var(--border);max-width:320px;height:38px;color:var(--muted);border-radius:10px;flex:220px;align-items:center;gap:8px;padding:0 12px;display:flex}.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #2f5bea26}.search input{font:inherit;color:var(--text);background:0 0;border:0;outline:none;flex:1;min-width:0;height:100%}.search input::placeholder{color:var(--muted)}.ccards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.ccard{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:14px;flex-direction:column;gap:14px;padding:16px;text-decoration:none;transition:box-shadow .15s,transform .15s;display:flex}.ccard:hover{box-shadow:0 8px 24px var(--shadow);transform:translateY(-1px)}.ccard.ok{border-color:var(--ok-border)}.ccard.warn{border-color:var(--warn-border)}.ccard.err{border-color:var(--err-border)}.ccard.info{border-color:var(--info-border)}.ccard-head{align-items:flex-start;gap:10px;display:flex}.ccard-name{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.ccard-image{font-family:var(--mono);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:12px;overflow:hidden}.metrics3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.metrics3 .k{color:var(--muted);font-size:11.5px}.metrics3 .v{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-weight:600;overflow:hidden}.minibar{background:var(--track);border-radius:99px;height:4px;overflow:hidden}.minibar>div{background:var(--accent);border-radius:99px;height:100%;transition:width .4s}.minibar>div.info{background:var(--info-dot)}.ccard-note{color:var(--info-fg);font-size:12px}.ccard-foot{color:var(--muted);justify-content:space-between;gap:8px;font-size:12px;display:flex}.ccard-foot span{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;min-width:0;display:inline-flex;overflow:hidden}.empty{text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:14px;padding:40px 16px}.side-card{padding:18px}.side-card h2{margin-bottom:14px;font-size:14px;font-weight:600}.events{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.events li{gap:12px;display:flex}.events .dot{width:8px;height:8px;margin-top:6px}.events .row{justify-content:space-between;gap:8px;display:flex}.events .t{font-size:13px;font-weight:500}.events .when{color:var(--muted);white-space:nowrap;font-size:12px}.events .d{color:var(--muted);margin-top:2px;font-size:12.5px}.kv{grid-template-columns:auto 1fr;gap:10px 16px;margin:0;font-size:13px;display:grid}.kv dt{color:var(--muted)}.kv dd{text-align:right;overflow-wrap:anywhere;min-width:0;margin:0}.kv.left dd{text-align:left}.crumbs{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;display:flex}.crumbs a{font-weight:500;text-decoration:none}.crumbs .here{color:var(--text);font-weight:500}.detail-head{border-radius:16px;flex-wrap:wrap;align-items:center;gap:18px 24px;padding:22px 24px;display:flex}.detail-head .who{flex-direction:column;flex:380px;gap:8px;min-width:0;display:flex}.detail-head .name{flex-wrap:wrap;align-items:center;gap:10px 12px;display:flex}.detail-head h1{letter-spacing:-.02em;overflow-wrap:anywhere;font-size:24px;font-weight:600}.meta{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:13px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.btn{border:1px solid var(--border);background:var(--surface);height:40px;color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 14px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--hover)}.btn.danger{color:var(--danger)}.btn.primary{background:var(--accent);color:#fff;border:0;padding:0 16px}.btn.primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.08)}.btn.solid-danger{background:var(--danger-solid);color:#fff;border:0}.btn.solid-danger:hover:not(:disabled){background:var(--danger-solid);filter:brightness(1.08)}.btn.small{height:36px;padding:0 12px;font-size:13px}button:disabled{opacity:.45;cursor:not-allowed}.toast{color:var(--ok-fg);align-items:center;gap:6px;font-size:13px;display:inline-flex}.toast.err{color:var(--err-fg)}.tabs{border-bottom:1px solid var(--border);gap:4px;display:flex;overflow:auto hidden}.tabs button{cursor:pointer;white-space:nowrap;height:42px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;margin-bottom:-1px;padding:0 14px;font-size:14px;font-weight:500}.tabs button[aria-selected=true]{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.stack{flex-direction:column;gap:16px;display:flex}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;display:grid}.tile{padding:14px 16px}.tile .k{color:var(--muted);font-size:12.5px}.tile .v{letter-spacing:-.01em;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:20px;font-weight:600;overflow:hidden}.tile .s{color:var(--muted);margin-top:2px;font-size:12px}.charts{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;display:grid}.chart{flex-direction:column;gap:12px;padding:18px;display:flex}.chart-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.chart-head h3{font-size:13.5px;font-weight:600}.chart-head span{color:var(--muted);font-size:12.5px}.chart-body{gap:10px;display:flex}.yaxis{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;flex:none;justify-content:space-between;min-width:34px;height:160px;font-size:11.5px;display:flex}.chart svg{flex:1;min-width:0;height:160px;display:block}.gridline{stroke:var(--track);stroke-width:1px;vector-effect:non-scaling-stroke}.xaxis{color:var(--muted);justify-content:space-between;padding-left:44px;font-size:11.5px;display:flex}.chart-empty{height:160px;color:var(--muted);flex:1;justify-content:center;align-items:center;font-size:13px;display:flex}.logs-card{border-radius:16px;overflow:hidden}.logs-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.logs-toolbar .search{max-width:360px;height:36px}.logs{color:#e2e8f0;font-family:var(--mono);background:#0b1220;height:460px;padding:14px 0;font-size:12.5px;line-height:1.75;overflow:auto}.logs::-webkit-scrollbar{width:10px;height:10px}.logs::-webkit-scrollbar-thumb{background:#273247;border:3px solid #0b1220;border-radius:10px}.log{white-space:pre;gap:14px;padding:0 18px;display:flex}.log .ts{color:#8391a7;flex:none}.log .lv{flex:none;width:5ch;font-weight:500}.log .lv.INFO{color:#93c5fd}.log .lv.WARN{color:#fcd34d}.log .lv.ERROR{color:#fca5a5}.log .lv.DEBUG{color:#a5b4fc}.logs .none{color:#8391a7;padding:0 18px}.logs-foot{color:var(--muted);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:8px;padding:10px 14px;font-size:12px;display:flex}.two{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px;display:grid}.info-card{padding:18px 20px}.info-card h2{margin-bottom:14px;font-size:14px;font-weight:600}.info-card .kv{grid-template-columns:minmax(110px,auto) 1fr;gap:12px 16px}.backdrop{z-index:10;background:#02060f8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.dialog{background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:16px;width:100%;max-width:420px;padding:24px;display:flex;box-shadow:0 24px 60px #0000004d}.dialog .row{align-items:flex-start;gap:14px;display:flex}.dialog .badge{background:var(--err-bg);width:40px;height:40px;color:var(--err-fg);border-radius:10px;flex:none;justify-content:center;align-items:center;display:flex}.dialog h2{font-size:16px;font-weight:600}.dialog p{color:var(--text-2);margin:6px 0 0;font-size:13.5px}.dialog .buttons{justify-content:flex-end;gap:10px;display:flex}.login{background:var(--bg);flex-wrap:wrap;min-height:100vh;font-size:15px;line-height:1.5;display:flex}.login-panel{background-color:var(--panel-bg);min-width:0;color:var(--panel-text);background-image:radial-gradient(var(--panel-dot) 1.2px, transparent 1.2px);background-size:22px 22px;flex-direction:column;flex:480px;gap:40px;min-height:360px;padding:40px 48px;display:flex;position:relative;overflow:hidden}.login-panel .brand{color:var(--panel-text);font-size:17px;position:relative}.login-panel .brand span.sub{color:var(--panel-muted)}.login-panel .logo{border-radius:10px;width:34px;height:34px}.login-pitch{flex-direction:column;gap:20px;max-width:460px;margin-top:auto;display:flex;position:relative}.login-pitch h2{letter-spacing:-.03em;font-size:44px;font-weight:600;line-height:1.08}.login-pitch h2 em{color:#9db7ff;font-family:Instrument Serif,Georgia,serif;font-style:italic;font-weight:400}.login-pitch p{color:var(--panel-muted);margin:0;font-size:16.5px}.login-pitch ul{flex-direction:column;gap:14px;margin:8px 0 0;padding:0;font-size:15px;list-style:none;display:flex}.login-pitch li{align-items:center;gap:12px;display:flex}.chipicon{background:var(--panel-chip);border:1px solid var(--panel-border);color:#9db7ff;border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.login-tags{color:var(--panel-muted);flex-wrap:wrap;gap:10px;font-size:13px;display:flex;position:relative}.login-tags span{background:var(--panel-chip);border:1px solid var(--panel-border);border-radius:999px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.gem{opacity:.9;width:380px;position:absolute;top:40px;right:-90px}.facet{stroke:#ffffff4d;stroke-width:1.5px;stroke-linejoin:round}.login-main{flex-direction:column;flex:440px;min-width:0;padding:24px 32px;display:flex}.login-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.login-top .back{color:var(--muted);align-items:center;gap:8px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.login-top .back:hover{color:var(--text)}.login-center{flex:1;justify-content:center;align-items:center;padding:48px 0;display:flex}.login-box{flex-direction:column;gap:28px;width:100%;max-width:360px;display:flex}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:13px;font-weight:600}.login-box h1{letter-spacing:-.025em;margin-top:10px;font-size:32px;font-weight:600;line-height:1.15}.login-box p{color:var(--muted);margin:10px 0 0}.gbtn{border:1px solid var(--border-strong);background:var(--surface);height:52px;color:var(--text);border-radius:12px;justify-content:center;align-items:center;gap:12px;font-size:15px;font-weight:500;text-decoration:none;transition:background .15s,box-shadow .15s;display:flex}.gbtn:hover{background:var(--hover);box-shadow:0 4px 14px var(--shadow)}.alert{background:var(--err-bg);color:var(--err-fg);border-radius:10px;gap:10px;padding:12px 14px;font-size:14px;display:flex}.restricted{border-top:1px solid var(--track);color:var(--muted);align-items:center;gap:8px;margin:0;padding-top:20px;font-size:13.5px;display:flex}.copy{color:var(--muted);margin:0;font-size:13px}.login-pitch,.login-tags{z-index:1}@media (width<=960px){.login-main{order:-1;min-height:70vh}.login-panel{gap:28px}.gem{opacity:.35;width:240px;top:24px;right:-60px}}.loading{min-height:100vh;color:var(--muted);justify-content:center;align-items:center;display:flex}@media (width<=640px){.page{padding:20px 16px 48px}.topbar-in{padding:10px 16px}.hostchip{display:none}.login-panel{padding:28px 20px}.login-pitch h2{font-size:34px}.login-main{padding:20px 16px}.gem{opacity:.5;width:260px;top:20px;right:-80px}.detail-head{padding:18px}}
