.uplot,.uplot *,.uplot :before,.uplot :after{box-sizing:border-box}.uplot{width:min-content;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}.u-title{text-align:center;font-size:18px;font-weight:700}.u-wrap{-webkit-user-select:none;user-select:none;position:relative}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{width:100%;height:100%;display:block;position:relative}.u-axis{position:absolute}.u-legend{text-align:center;margin:auto;font-size:14px}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{vertical-align:middle;display:inline-block}.u-legend .u-marker{width:1em;height:1em;margin-right:4px;background-clip:padding-box!important}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{pointer-events:none;background:#00000012;position:absolute}.u-cursor-x,.u-cursor-y{pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{pointer-events:none;will-change:transform;border:0 solid;border-radius:50%;position:absolute;top:0;left:0;background-clip:padding-box!important}.u-axis.u-off,.u-select.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-cursor-pt.u-off{display:none}.term-bar{border-bottom:1px solid var(--line,#80808040);align-items:center;gap:14px;padding:10px 14px;display:flex}.term-bar .spacer{flex:1}.term-host{border-radius:0 0 var(--radius,10px) var(--radius,10px);background:#0b0e14;height:380px;padding:8px 6px 4px 10px;overflow:hidden}.term-host.hidden{display:none}.term-host .xterm{height:100%}.term-host .xterm-viewport{background:0 0!important}.racks{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:16px;display:grid}.rack-card .card-body{padding:12px}.rack{--u:20px}.rack-frame{background:var(--panel-2);border:2px solid var(--line);border-radius:8px;grid-template-columns:26px minmax(0,1fr);gap:1px;padding:4px;display:grid;position:relative}.rack-u{font:10px/1 var(--mono);color:var(--faint);border-bottom:1px dashed var(--line-2,var(--line));grid-column:1;justify-content:flex-end;align-items:center;padding-right:6px;display:flex}.rack-dev{border:1px solid var(--line);background:var(--chip);min-width:0;color:var(--ink);border-radius:4px;flex-direction:column;grid-column:2;justify-content:center;gap:1px;padding:0 10px;text-decoration:none;display:flex;position:relative;overflow:hidden}.rack-dev:hover{border-color:var(--accent);text-decoration:none}.rack-dev b{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;font-weight:600;overflow:hidden}.rack-dev small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.rack-dev.ok{border-left:4px solid var(--ok)}.rack-dev.warn{border-left:4px solid var(--warn)}.rack-dev.bad{border-left:4px solid var(--bad);background:var(--bad-soft)}.rack-dev svg{color:var(--bad);width:14px;height:14px;position:absolute;top:6px;right:8px}.rack .hint,.rack-loose{color:var(--muted);margin:8px 2px 0;font-size:12px}.room{margin-bottom:12px}.room h3{margin-bottom:8px;font-size:14px}.devlist{margin:0;padding:4px 0;list-style:none}.devlist li{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:8px 16px;display:flex}.devlist li:last-child{border-bottom:0}.devlist li .faint{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.row-btns{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.findings{flex-direction:column;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.finding{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);border-left-width:4px;align-items:flex-start;gap:12px;padding:10px 14px;display:flex}.finding.critical{border-left-color:var(--bad)}.finding.warning{border-left-color:var(--warn)}.finding.info{border-left-color:var(--info)}.finding .badge{margin-top:2px}.finding-body{flex:1;min-width:0}.finding-msg{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.finding-msg .name{white-space:nowrap;font-weight:600}.finding-meta{color:var(--muted);flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:12px;display:flex}.finding-meta code{background:var(--chip);border-radius:4px;padding:0 6px}.finding-meta .apps{color:var(--warn)}.unknown{margin:0;padding:4px 0;list-style:none}.unknown li{border-bottom:1px solid var(--line);grid-template-columns:200px 1fr;gap:12px;padding:8px 16px;display:grid}.unknown li:last-child{border-bottom:0}@media (max-width:640px){.unknown li{grid-template-columns:1fr;gap:2px}.finding{flex-direction:column;gap:6px}}.badge.src{padding:0 8px;font-size:11px}.factstable td:first-child{white-space:nowrap;width:28%}tr.dim td{opacity:.55}.bad-text{color:var(--bad);font-weight:600}.linklike{appearance:none;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.chiplist{flex-wrap:wrap;gap:8px;display:flex}.chip-link{background:var(--chip);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:3px 12px;font-size:13px;text-decoration:none}.chip-link:hover{border-color:var(--accent);color:var(--accent);text-decoration:none}.stack{flex-direction:column;gap:12px;display:flex}.incident .card-head h3{gap:10px;font-weight:500}.dl{grid-template-columns:130px minmax(0,1fr);gap:6px 14px;margin:0 0 12px;display:grid}.dl dt{color:var(--muted);font-size:13px}.dl dd{margin:0}.dl dd.pre{white-space:pre-wrap}.timeline{margin:0;padding:4px 18px;list-style:none}.tl{border-left:2px solid var(--line);margin-left:4px;padding:12px 0 12px 16px;position:relative}.tl:before{content:"";background:var(--chip);border:2px solid var(--line);border-radius:50%;width:10px;height:10px;position:absolute;top:18px;left:-6px}.tl.incident:before{background:var(--bad);border-color:var(--bad)}.tl.maintenance:before{background:var(--ok);border-color:var(--ok)}.tl-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tl p{color:var(--ink-2);white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0 0}.tl-meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:12px;display:flex}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f6f7f9;--panel:#fff;--panel-2:#f9fafb;--hover:#f3f4f7;--ink:#0f1420;--ink-2:#313a4b;--muted:#667085;--faint:#98a2b3;--line:#e4e7ec;--line-2:#eef0f4;--chip:#f0f2f5;--accent:#5b5bf0;--accent-ink:#fff;--accent-soft:#eeeefe;--accent-line:#c9c9fa;--ok:#12a05c;--ok-soft:#e6f6ee;--warn:#b7791f;--warn-soft:#fdf3dc;--bad:#d92d3a;--bad-soft:#fdebed;--info:#2272e8;--info-soft:#e8f0fd;--s1:#5b5bf0;--s2:#f2802d;--s3:#12a05c;--s4:#0ea5c6;--shadow:0 1px 2px #1018280d;--shadow-lg:0 20px 50px -12px #10182847, 0 4px 12px #10182814;--radius:12px;--radius-sm:8px;--sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans Thai", "Leelawadee UI", Thonburi, sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", "Noto Sans Thai", monospace;--logbg:#0c0f16;--logink:#cdd5e1}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090b10;--panel:#11141b;--panel-2:#151922;--hover:#1a1f29;--ink:#eceef3;--ink-2:#c3c9d6;--muted:#8b94a7;--faint:#5f687a;--line:#232834;--line-2:#1b2029;--chip:#1b202a;--accent:#8587ff;--accent-ink:#0b0c18;--accent-soft:#1b1c3a;--accent-line:#35387a;--ok:#3ccf86;--ok-soft:#10281d;--warn:#e8b04b;--warn-soft:#2c2210;--bad:#ff6b76;--bad-soft:#301518;--info:#6aa3ff;--info-soft:#14233d;--s1:#8587ff;--s2:#ff9a55;--s3:#3ccf86;--s4:#3cc8e6;--shadow:0 1px 2px #0006;--shadow-lg:0 24px 60px -12px #000000bf, 0 4px 12px #0006;--logbg:#07090d;--logink:#c9d1de}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#090b10;--panel:#11141b;--panel-2:#151922;--hover:#1a1f29;--ink:#eceef3;--ink-2:#c3c9d6;--muted:#8b94a7;--faint:#5f687a;--line:#232834;--line-2:#1b2029;--chip:#1b202a;--accent:#8587ff;--accent-ink:#0b0c18;--accent-soft:#1b1c3a;--accent-line:#35387a;--ok:#3ccf86;--ok-soft:#10281d;--warn:#e8b04b;--warn-soft:#2c2210;--bad:#ff6b76;--bad-soft:#301518;--info:#6aa3ff;--info-soft:#14233d;--s1:#8587ff;--s2:#ff9a55;--s3:#3ccf86;--s4:#3cc8e6;--shadow:0 1px 2px #0006;--shadow-lg:0 24px 60px -12px #000000bf, 0 4px 12px #0006;--logbg:#07090d;--logink:#c9d1de}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}html,body{background:var(--bg);color:var(--ink);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased;margin:0}body{min-height:100vh;overflow-x:hidden}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,p{margin:0}h1{letter-spacing:-.02em;font-size:24px;font-weight:650;line-height:1.2}h2{letter-spacing:-.01em;font-size:15px;font-weight:600}h3{font-size:13px;font-weight:600}code,.mono{font-family:var(--mono);font-size:.92em}.muted{color:var(--muted)}.faint{color:var(--faint)}.nowrap{white-space:nowrap}.num{font-variant-numeric:tabular-nums}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}svg.i{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}svg.i.lg{width:20px;height:20px}svg.i.spin,.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.35}}.shell{grid-template-columns:236px minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--panel);border-right:1px solid var(--line);z-index:40;flex-direction:column;gap:4px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;padding:4px 8px 16px;font-size:16px;font-weight:700;display:flex}.brand:hover{text-decoration:none}.logo{color:#fff;background:linear-gradient(135deg,#7c7cff,#4a47d8);border-radius:8px;place-items:center;width:28px;height:28px;display:grid;box-shadow:0 1px 2px #3c3cc866,inset 0 1px #ffffff40}.logo svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.brand small{color:var(--muted);letter-spacing:0;align-self:flex-end;margin-left:-4px;padding-bottom:2px;font-size:11px;font-weight:500}.nav{flex-direction:column;gap:2px;display:flex}.nav a{color:var(--ink-2);border-radius:8px;align-items:center;gap:10px;padding:7px 10px;font-weight:500;display:flex}.nav a:hover{background:var(--hover);text-decoration:none}.nav a svg{color:var(--muted)}.nav .count{color:var(--muted);background:var(--chip);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;min-width:20px;margin-left:auto;padding:0 7px;font-size:11px;font-weight:600}.nav a.active{background:var(--accent-soft);color:var(--accent)}.nav a.active svg{color:var(--accent)}.side-foot{flex-direction:column;gap:10px;margin-top:auto;display:flex}.live-card{border:1px solid var(--line);background:var(--panel-2);border-radius:10px;align-items:flex-start;gap:10px;padding:10px;display:flex}.live-card b{font-size:12px;font-weight:600;display:block}.live-card small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;display:block}.live-dot{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px;margin-top:4px}.live-dot.on{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft);animation:2.4s ease-in-out infinite pulse}.live-dot.off{background:var(--bad)}.main{min-width:0}.content{flex-direction:column;gap:24px;max-width:1400px;margin:0 auto;padding:28px 32px 72px;display:flex}.mobilebar,.scrim{display:none}.sleep-opt{flex-direction:column;gap:12px;display:flex}.badge{text-overflow:ellipsis;max-width:280px;overflow:hidden}.seg{background:var(--chip);border-radius:9px;gap:2px;padding:3px;display:inline-flex}.seg button{appearance:none;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:6px;padding:5px 9px;font-size:12px;font-weight:500;display:inline-flex}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true],.seg button.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px #0000001f, 0 0 0 1px var(--line)}.crumbs{color:var(--muted);align-items:center;gap:6px;margin-bottom:-10px;font-size:13px;display:flex}.crumbs a{color:var(--muted)}.crumbs a:hover{color:var(--ink);text-decoration:none}.crumbs b{color:var(--ink-2);font-weight:500}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-head .titles{flex-direction:column;gap:6px;min-width:0;display:flex}.page-head .sub{color:var(--muted);font-size:14px}.title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.title-row h1{overflow-wrap:anywhere}.head-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chips{color:var(--muted);flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.chips>span{align-items:center;gap:6px;display:inline-flex}.chips b{color:var(--ink-2);font-weight:500}.section{flex-direction:column;gap:12px;min-width:0;display:flex}.section-head{justify-content:space-between;align-items:center;gap:12px;min-height:28px;display:flex}.section-head .more{align-items:center;gap:4px;font-size:13px;display:inline-flex}.btn{appearance:none;font:inherit;border:1px solid var(--line);background:var(--panel);height:34px;color:var(--ink);cursor:pointer;white-space:nowrap;box-shadow:var(--shadow);border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:13px;font-weight:500;line-height:1;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.btn:hover{background:var(--hover);border-color:color-mix(in srgb, var(--line) 60%, var(--faint));text-decoration:none}.btn:active{transform:translateY(.5px)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);box-shadow:0 1px 2px #3c3cc859}.btn.primary:hover{background:color-mix(in srgb, var(--accent) 88%, #000);border-color:#0000}.btn.danger{color:var(--bad)}.btn.danger:hover{background:var(--bad-soft);border-color:color-mix(in srgb, var(--bad) 40%, var(--line))}.btn.danger-solid{background:var(--bad);border-color:var(--bad);color:#fff}.btn.danger-solid:hover{background:color-mix(in srgb, var(--bad) 86%, #000)}.btn.ghost{box-shadow:none;color:var(--ink-2);background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--hover)}.btn.sm{border-radius:7px;height:28px;padding:0 9px;font-size:12px}.btn.icon{border-radius:7px;width:28px;height:28px;padding:0}.btn.icon.ghost{color:var(--muted)}.btn.icon.ghost:hover{color:var(--ink)}.btn.block{width:100%}.btn[disabled],.btn[aria-busy=true]{opacity:.55;cursor:default;pointer-events:none}.btn .spin{width:14px;height:14px}.kbd{font:11px var(--mono);color:var(--muted);border:1px solid var(--line);background:var(--panel-2);border-bottom-width:2px;border-radius:5px;padding:0 5px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.card-head{border-bottom:1px solid var(--line-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:14px 16px;display:flex}.card-head h3{align-items:center;gap:8px;font-size:14px;display:flex}.card-head .hint{color:var(--muted);font-size:12px;font-weight:400}.card-body{padding:16px}.banner{word-break:break-word;border:1px solid;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;display:flex}.banner svg{margin-top:2px}.banner.bad{background:var(--bad-soft);color:var(--bad);border-color:color-mix(in srgb, var(--bad) 30%, transparent)}.banner.warn{background:var(--warn-soft);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 30%, transparent)}.banner.info{background:var(--info-soft);color:var(--info);border-color:color-mix(in srgb, var(--info) 30%, transparent)}.kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;display:grid}.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;gap:4px;min-width:0;padding:14px 16px;display:flex}.kpi .label{color:var(--muted);align-items:center;gap:6px;font-size:12px;font-weight:500;display:flex}.kpi .value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:6px;font-size:24px;font-weight:650;line-height:1.15;display:flex}.kpi .value small{color:var(--muted);letter-spacing:0;font-size:13px;font-weight:500}.kpi .sub{color:var(--muted);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:12px}.kpi .sub.warn{color:var(--warn)}.kpi .sub.bad{color:var(--bad)}.kpis.six{grid-template-columns:repeat(6,minmax(0,1fr))}.kpis.five{grid-template-columns:repeat(5,minmax(0,1fr))}.kpis.dense:not(.five){grid-template-columns:repeat(4,minmax(0,1fr))}.u-legend .u-series:first-child{display:none}.kpis.dense{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.kpis.dense .kpi{padding:12px 14px}.kpis.dense .kpi .value{font-size:20px}.bar{background:var(--chip);border-radius:999px;height:6px;position:relative;overflow:hidden}.bar>i{background:var(--accent);border-radius:999px;transition:width .4s;position:absolute;inset:0 auto 0 0}.bar>i.res{background:var(--accent-line)}.bar.warn>i:not(.res){background:var(--warn)}.bar.bad>i:not(.res){background:var(--bad)}.bar.thin{height:4px}.meter{grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:12px;display:grid}.meter>span{color:var(--muted)}.meter>b{font-variant-numeric:tabular-nums;text-align:right;font-weight:500}.badge{background:var(--chip);color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;font-size:12px;font-weight:500;line-height:1.5;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.badge.running,.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.failed,.badge.node-offline,.badge.bad{background:var(--bad-soft);color:var(--bad)}.badge.pending,.badge.created,.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.pending:before,.badge.created:before{animation:1.4s ease-in-out infinite pulse}.badge.info,.badge.sleeping{background:var(--info-soft);color:var(--info)}.badge.plain:before{display:none}.badge.lg{padding:3px 11px;font-size:13px}.dot{background:var(--faint);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-soft)}.dot.bad{background:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}.dot.warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-soft)}.table-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th,td{border-bottom:1px solid var(--line-2);text-align:left;white-space:nowrap;vertical-align:middle;padding:10px 12px}th{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--panel-2);border-bottom-color:var(--line);font-size:11.5px;font-weight:600;position:sticky;top:0}th[data-sort]{cursor:pointer;-webkit-user-select:none;user-select:none}th[data-sort]:hover{color:var(--ink)}th .arr{opacity:.8;margin-left:3px;font-size:10px}tbody tr{transition:background .1s}tbody tr:hover{background:var(--panel-2)}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.acts,th.acts{text-align:right;width:1%}td .sub{color:var(--muted);font-size:11.5px;font-weight:400;display:block}td .name{color:var(--ink);font-weight:600}td a.name:hover{color:var(--accent)}td .sub.err{color:var(--bad);white-space:normal;max-width:280px}.cellbar{flex-direction:column;gap:4px;min-width:84px;display:flex}.cellbar .bar{height:4px}td.num .cellbar{align-items:stretch}.row-acts{justify-content:flex-end;gap:2px;display:inline-flex}.empty-row td{border:0;padding:0}.empty{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:6px;padding:44px 20px;display:flex}.empty .ico{background:var(--accent-soft);width:44px;height:44px;color:var(--accent);border-radius:12px;place-items:center;margin-bottom:8px;display:grid}.empty .ico svg{width:22px;height:22px}.empty h3{color:var(--ink);font-size:15px}.empty p{max-width:380px;font-size:13px}.empty .btn{margin-top:10px}.skel{background:linear-gradient(90deg, var(--chip), var(--hover), var(--chip));background-size:200% 100%;border-radius:6px;width:80px;height:12px;animation:1.4s linear infinite shimmer;display:inline-block}@keyframes shimmer{to{background-position:-200% 0}}.loading{text-align:center;color:var(--muted);padding:28px}.nodes{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px;display:grid}.node{flex-direction:column;gap:12px;padding:16px;display:flex}.node-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.node-title{flex-direction:column;gap:2px;min-width:0;display:flex}.node-title .nm{align-items:center;gap:9px;font-size:15px;font-weight:650;display:flex}.node-title .nm a{color:var(--ink)}.node-title small{color:var(--muted);font-size:12px;font-family:var(--mono);flex-wrap:wrap;gap:0 10px;display:flex}.node .meters{flex-direction:column;gap:9px;display:flex}.node .spark{height:44px;margin:0 -4px}.node-foot{color:var(--muted);border-top:1px solid var(--line-2);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:10px;font-size:12px;display:flex}.node-foot b{color:var(--ink-2);font-weight:500}.job{color:var(--warn);align-items:center;gap:6px;font-size:12px;display:flex}.err{color:var(--bad);overflow-wrap:anywhere;font-size:12px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.search{flex:260px;max-width:420px;position:relative}.search svg{color:var(--faint);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.search input{padding-left:34px}.count-note{color:var(--muted);margin-left:auto;font-size:13px}input,select,textarea{font:inherit;color:var(--ink);background:var(--panel);border:1px solid var(--line);width:100%;min-width:0;height:34px;box-shadow:var(--shadow);border-radius:8px;padding:0 11px;transition:border-color .12s,box-shadow .12s}input::placeholder,textarea::placeholder{color:var(--faint)}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb, var(--line) 55%, var(--faint))}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}textarea{height:auto;font-family:var(--mono);resize:vertical;padding:8px 11px;font-size:12.5px;line-height:1.5}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2398a2b3' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}select.sm,.toolbar select{width:auto}input[readonly],textarea[readonly]{background:var(--panel-2);color:var(--ink-2)}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--accent);box-shadow:none;flex:none;padding:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.form-grid .wide{grid-column:1/-1}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field>label,.field>.lbl{color:var(--ink-2);justify-content:space-between;gap:8px;font-size:12.5px;font-weight:550;display:flex}.field>label em{color:var(--faint);font-style:normal;font-weight:400}.field .hint{color:var(--muted);font-size:12px}.field .field-err{color:var(--bad);font-size:12px;display:none}.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:var(--bad);box-shadow:0 0 0 3px var(--bad-soft)}.field.invalid .field-err{display:block}.field.invalid .hint{display:none}.input-group{position:relative}.input-group input{padding-right:70px}.input-group .unit{color:var(--faint);pointer-events:none;font-size:12px;position:absolute;top:50%;right:11px;transform:translateY(-50%)}.fieldset{flex-direction:column;grid-column:1/-1;gap:12px;padding-top:4px;display:flex}.fieldset>.legend{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-top:1px solid var(--line-2);padding-top:14px;font-size:11.5px;font-weight:600}.check{color:var(--ink-2);cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;display:flex}.check input{margin-top:2px}.check small{color:var(--muted);font-size:12px;display:block}.switch{color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:13px;display:inline-flex}.switch input{appearance:none;background:var(--line);width:30px;height:18px;box-shadow:none;cursor:pointer;border:0;border-radius:999px;padding:0;transition:background .15s;position:relative}.switch input:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(12px)}.adv summary{cursor:pointer;color:var(--ink-2);align-items:center;gap:6px;padding:4px 0;font-size:12.5px;font-weight:550;list-style:none;display:flex}.adv summary::-webkit-details-marker{display:none}.adv summary .muted{font-weight:400}.adv summary:before{content:"▸";color:var(--muted);font-size:11px;transition:transform .15s}.adv[open] summary:before{transform:rotate(90deg)}.adv .form-grid{margin-top:12px}.form-foot{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.copybox{align-items:stretch;gap:8px;display:flex}.copybox textarea{flex:1}dialog.modal{background:var(--panel);color:var(--ink);width:min(680px,100vw - 24px);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-lg);outline:1px solid var(--line);border:0;border-radius:16px;margin:auto;padding:0;overflow:hidden}dialog.modal[open]{flex-direction:column;animation:.16s ease-out pop;display:flex}dialog.modal.sm{width:min(440px,100vw - 24px)}dialog.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080a108c;animation:.16s ease-out fade}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.985)}}@keyframes fade{0%{opacity:0}}dialog.modal>form{flex-direction:column;flex:1;min-height:0;display:flex}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px 4px;display:flex}.modal-head h2{letter-spacing:-.02em;font-size:17px}.modal-head p{color:var(--muted);margin-top:3px;font-size:13px}.modal-body{flex-direction:column;gap:14px;min-height:0;padding:16px 20px;display:flex;overflow-y:auto}.modal-foot{border-top:1px solid var(--line-2);background:var(--panel-2);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 20px;display:flex}.modal-ico{border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid}.modal-ico.bad{background:var(--bad-soft);color:var(--bad)}.modal-ico.warn{background:var(--warn-soft);color:var(--warn)}.modal-ico.info{background:var(--accent-soft);color:var(--accent)}.modal-head.with-ico{justify-content:flex-start;gap:14px}.modal-head.with-ico .x{margin-left:auto}.popmenu{z-index:80;background:var(--panel);border:1px solid var(--line);min-width:180px;box-shadow:var(--shadow-lg);border-radius:11px;padding:5px;animation:.1s fade;position:fixed}.popmenu button,.popmenu a{width:100%;color:var(--ink-2);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:7px 10px;font-size:13px;display:flex}.popmenu button:hover,.popmenu a:hover{background:var(--hover);text-decoration:none}.popmenu .danger{color:var(--bad)}.popmenu .danger:hover{background:var(--bad-soft)}.popmenu hr{border:0;border-top:1px solid var(--line-2);margin:4px 0}.toasts{z-index:100;pointer-events:none;flex-direction:column;align-items:flex-end;gap:8px;max-width:calc(100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{pointer-events:auto;background:var(--ink);width:max-content;max-width:min(460px,100vw - 32px);color:var(--bg);box-shadow:var(--shadow-lg);overflow-wrap:anywhere;border-radius:11px;align-items:flex-start;gap:10px;padding:11px 12px 11px 13px;font-size:13px;animation:.18s ease-out pop;display:flex}.toast svg{margin-top:2px}.toast.ok svg{color:var(--ok)}.toast.error{background:var(--bad);color:#fff}.toast button{appearance:none;color:inherit;opacity:.7;cursor:pointer;background:0 0;border:0;padding:0 0 0 4px;font-size:16px;line-height:1}.toast button:hover{opacity:1}.charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.chart-card{flex-direction:column;gap:8px;min-width:0;padding:14px 16px 10px;display:flex}.chart-card header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.chart-card h3{color:var(--ink-2);font-size:13px}.chart-card h3 small{color:var(--faint);margin-left:4px;font-weight:400}.chart-card .cur{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.chart{min-width:0;min-height:190px;overflow:hidden}.u-legend{text-align:left;padding-top:4px;font-size:11.5px}.u-legend .u-marker{border-radius:50%}.u-legend th{color:var(--muted);font-weight:500}.u-legend .u-value{color:var(--ink-2);font-variant-numeric:tabular-nums}.u-cursor-pt{border-radius:50%}.u-select{background:var(--accent-soft)}.evlist{max-height:440px;margin:0;padding:0;list-style:none;overflow:auto}.evlist li{border-bottom:1px solid var(--line-2);grid-template-columns:62px 1fr;align-items:baseline;gap:12px;padding:9px 16px;font-size:13px;display:grid}.evlist li:last-child{border-bottom:0}.evlist time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.evlist .msg{overflow-wrap:anywhere;color:var(--ink-2)}.evlist .msg b{color:var(--ink);font-weight:600}.k{font:600 11px/1.6 var(--mono);background:var(--chip);color:var(--muted);border-radius:6px;margin-right:6px;padding:0 7px;display:inline-block}.k.error{background:var(--bad-soft);color:var(--bad)}.k.node,.k.deploy{background:var(--info-soft);color:var(--info)}.k.provision,.k.migrate{background:var(--accent-soft);color:var(--accent)}.k.converge,.k.orphan{background:var(--warn-soft);color:var(--warn)}.k.sleep,.k.wake{background:var(--info-soft);color:var(--info)}.k.wake,.k.start,.k.delete-ok,.k.running{background:var(--ok-soft);color:var(--ok)}.k.delete,.k.stop{background:var(--bad-soft);color:var(--bad)}.logs-card{overflow:hidden}.logs-bar{border-bottom:1px solid var(--line-2);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 12px;display:flex}.logs-bar .search{flex:200px;max-width:320px}.logs-bar .search input{height:30px;font-size:12.5px}.logs-bar .spacer{flex:1}.logs{background:var(--logbg);color:var(--logink);font:12px/1.6 var(--mono);white-space:pre;tab-size:4;height:400px;margin:0;padding:12px 14px;overflow:auto}.logs.wrap{white-space:pre-wrap;word-break:break-all}.logs .ln{display:block}.logs .ln.err{color:#ff8b94}.logs .ln.warn{color:#f0c36a}.logs .ln.dim{color:#6c7689}.logs .none{color:#6c7689;font-style:italic}.logs mark{color:#fff;background:#5b5bf0;border-radius:3px;padding:0 1px}.dl{grid-template-columns:minmax(90px,140px) minmax(0,1fr);gap:10px 16px;font-size:13px;display:grid}.dl dt{color:var(--muted)}.dl dd{overflow-wrap:anywhere;color:var(--ink-2);margin:0}.env{font:12px/1.6 var(--mono);flex-direction:column;gap:2px;display:flex}.env>div{border-bottom:1px dashed var(--line-2);grid-template-columns:minmax(80px,38%) minmax(0,1fr);gap:10px;padding:3px 0;display:grid}.env b{color:var(--ink);overflow-wrap:anywhere;font-weight:500}.env span{color:var(--muted);overflow-wrap:anywhere}.split{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;gap:16px;display:grid}.two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.theme-pick{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.theme-pick button{appearance:none;font:inherit;color:var(--ink-2);background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:12px;flex-direction:column;align-items:stretch;gap:8px;padding:10px;font-size:13px;font-weight:500;display:flex}.theme-pick button[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);color:var(--ink)}.theme-pick .sw{border:1px solid var(--line);border-radius:8px;grid-template-columns:30% 1fr;height:54px;display:grid;overflow:hidden}.theme-pick .sw.light{background:#f6f7f9}.theme-pick .sw.light:before{content:"";background:#fff;border-right:1px solid #e4e7ec}.theme-pick .sw.dark{background:#090b10}.theme-pick .sw.dark:before{content:"";background:#11141b;border-right:1px solid #232834}.theme-pick .sw.system{background:linear-gradient(110deg,#f6f7f9 50%,#090b10 50%)}.pw-meter{background:var(--chip);border-radius:999px;height:4px;overflow:hidden}.pw-meter i{background:var(--bad);width:0;height:100%;transition:width .2s,background .2s;display:block}.login-body{background:radial-gradient(900px 500px at 50% -10%, var(--accent-soft), transparent 70%), var(--bg);place-items:center;min-height:100vh;padding:20px;display:grid}.login-wrap{flex-direction:column;gap:22px;width:min(400px,100%);display:flex}.login-brand{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.login-brand .logo{border-radius:14px;width:48px;height:48px}.login-brand .logo svg{width:26px;height:26px}.login-brand h1{font-size:22px}.login-brand p{color:var(--muted);font-size:14px}.login-card{box-shadow:var(--shadow-lg);flex-direction:column;gap:16px;padding:24px;display:flex}.login-card .btn{height:38px;font-size:14px}.login-card input{height:38px}.pw{position:relative}.pw input{padding-right:40px}.pw button{position:absolute;top:50%;right:4px;transform:translateY(-50%)}.login-foot{text-align:center;color:var(--faint);font-size:12px}@media (max-width:1280px){.kpis.six{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1100px){.kpis.five{grid-template-columns:repeat(3,minmax(0,1fr))}.split,.two{grid-template-columns:minmax(0,1fr)}}@media (max-width:900px){.shell{display:block}.side{width:264px;box-shadow:var(--shadow-lg);height:100dvh;transition:transform .2s;position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-102%)}.shell.nav-open .side{transform:none}.shell.nav-open .scrim{z-index:35;background:#080a1080;display:block;position:fixed;inset:0}.mobilebar{z-index:30;background:color-mix(in srgb, var(--panel) 92%, transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:8px 14px;display:flex;position:sticky;top:0}.mobilebar .brand{padding:0;font-size:15px}.mobilebar .live-dot{margin-top:0;margin-left:auto}.content{gap:20px;padding:18px 16px 56px}}@media (max-width:640px){h1{font-size:21px}.charts,.form-grid{grid-template-columns:minmax(0,1fr)}.kpis,.kpis.six,.kpis.five,.kpis.dense:not(.five){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:12px}.kpi .value{font-size:20px}.page-head .head-actions{width:100%}.page-head .head-actions .btn{flex:auto}.theme-pick{grid-template-columns:repeat(3,1fr)}dialog.modal{border-radius:14px;max-height:calc(100dvh - 16px)}.modal-foot .btn{flex:1}.search,.logs-bar .search{flex-basis:100%;max-width:none}.count-note{margin-left:0}.evlist li{grid-template-columns:54px 1fr;padding:9px 12px}.dl{grid-template-columns:minmax(70px,100px) minmax(0,1fr)}.toasts{align-items:stretch;left:12px;right:12px}.toast{width:auto;max-width:none}}@media (prefers-reduced-motion:reduce){*{transition-duration:1ms!important;animation-duration:1ms!important}}.range-seg{flex:none}.range-seg button{padding:5px 11px}.linkbtn{appearance:none;font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.linkbtn:hover{text-decoration:underline}.copyfield{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;align-items:center;gap:4px;min-width:0;padding:2px 4px 2px 12px;display:flex}.copyfield code{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-2);flex:1;padding:6px 0;font-size:12.5px;overflow:hidden}.codeblock{background:var(--logbg);color:var(--logink);border-radius:10px;padding:14px 16px;position:relative}.codeblock pre{font:12.5px/1.6 var(--mono);white-space:pre-wrap;word-break:break-all;margin:0;padding-right:76px}.codeblock .btn{color:#dfe5f0;box-shadow:none;background:#ffffff14;border-color:#ffffff24;position:absolute;top:10px;right:10px}.codeblock .btn:hover{background:#ffffff29}.codelabel{text-transform:uppercase;letter-spacing:.06em;color:#8b94a7;margin-bottom:6px;font-size:11px}.prompt{color:var(--accent);font-family:var(--mono);font-weight:700}.exec .logs{white-space:normal;height:340px;padding:12px 14px}.exec-entry{margin-bottom:14px}.exec-cmd{color:#e8ecf4;word-break:break-all;font-weight:600}.exec .prompt{color:#8f92ff}.exec-out{font:12px/1.55 var(--mono);white-space:pre-wrap;word-break:break-all;color:var(--logink);margin:4px 0 0}.exec-out.err{color:#ff8b94}.exec-meta{color:#8b94a7;align-items:center;gap:12px;margin-top:6px;font-size:11.5px;display:flex}.exec-meta .badge{padding:0 8px;font-size:11px}.exec-form{border-top:1px solid var(--line-2);align-items:center;gap:10px;padding:10px 12px;display:flex}.exec-form input{font-family:var(--mono);box-shadow:none;background:0 0;border:0;font-size:13px}.exec-form input:focus{box-shadow:none}.logs .none code{color:#b4bccd}.tabs{border-bottom:1px solid var(--line);scrollbar-width:none;gap:2px;margin:-4px 0;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{appearance:none;font:inherit;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;align-items:center;gap:7px;margin-bottom:-1px;padding:10px 14px;font-weight:500;display:inline-flex}.tabs button:hover{color:var(--ink)}.tabs button.on{color:var(--accent);border-bottom-color:var(--accent)}.tabs button svg{opacity:.8}td .sub.ext{color:var(--muted);align-items:center;gap:4px;width:-moz-fit-content;width:fit-content;display:flex}td .sub.ext:hover{color:var(--accent);text-decoration:none}td .sub.ext svg{width:11px;height:11px;transform:rotate(-45deg)}.badge.plan-free{background:var(--info-soft);color:var(--info)}.badge.plan-pro{background:var(--accent-soft);color:var(--accent)}.badge.plan-trial{background:var(--warn-soft);color:var(--warn)}.badge.plan-admin{background:var(--chip);color:var(--ink-2)}.badge.plain{padding:2px 10px}.avatar{color:#fff;background:linear-gradient(135deg,#7c7cff,#4a47d8);border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.account-card{align-items:center!important}.account-card b,.account-card small{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.kpi.quota .bar{margin:2px 0}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat-grid div{flex-direction:column;gap:2px;display:flex}.stat-grid b{font-variant-numeric:tabular-nums;font-size:18px;font-weight:650}.cta-card{background:linear-gradient(135deg, var(--accent-soft), var(--panel));border-color:var(--accent-line)}.cta-card p{color:var(--ink-2);margin-bottom:14px}.claim{align-items:flex-start}.claim b{display:block}.claim p{margin:2px 0 10px}.claim-form{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.claim-form .field{width:100%;max-width:340px}.claim-form.compact{flex-flow:wrap;align-items:flex-end}.claim-form.compact .banner{width:100%}.choice-group{gap:8px;display:grid}.choice{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.choice.on{border-color:var(--accent);background:var(--accent-soft)}.choice b{font-size:13px;font-weight:600;display:block}.choice small{color:var(--muted);font-size:12px}.choice input{margin-top:3px}.app-picks{background:var(--panel-2);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;gap:8px 16px;padding:10px 12px;display:flex}.perm-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;display:grid}.perm-chips,.scope-list{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.perm-chips .k{margin:0}.chip-app{background:var(--chip);color:var(--ink-2);border-radius:6px;padding:1px 8px;font-size:12px}a.chip-app:hover{background:var(--accent-soft);color:var(--accent);text-decoration:none}.key-access{flex-direction:column;gap:12px;display:flex}.key-row{border-bottom:1px dashed var(--line-2);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding-bottom:12px;display:flex}.key-row:last-child{border:0;padding:0}.key-row .sub{color:var(--muted);font-size:11.5px;display:block}.db-list{flex-direction:column;gap:10px;display:flex}.db-card{flex-direction:column;gap:10px;padding:14px 16px;display:flex}.db-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.db-head .ico{background:var(--accent-soft);width:34px;height:34px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.db-title{flex-direction:column;min-width:0;margin-right:auto;display:flex}.db-title .mono{overflow-wrap:anywhere;font-size:12px}.db-size{font-variant-numeric:tabular-nums;font-size:12.5px}.db-conn{border-top:1px solid var(--line-2);flex-direction:column;gap:12px;padding-top:6px;display:flex}.envname{background:var(--chip);border-radius:5px;margin-right:4px;padding:1px 6px;font-size:11.5px}.env-edit{flex-direction:column;gap:8px;display:flex}.env-row{grid-template-columns:minmax(120px,2fr) minmax(0,3fr) auto;align-items:center;gap:8px;display:grid}.env-row.invalid input:first-child{border-color:var(--bad)}.build-logs{border-radius:10px;height:420px}.steps{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.steps li{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);align-items:flex-start;gap:16px;padding:18px;display:flex}.steps .n{background:var(--accent);width:30px;height:30px;color:var(--accent-ink);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.steps h3{margin-bottom:4px;font-size:15px}.steps li>div{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.dl.tools{grid-template-columns:minmax(150px,1fr) minmax(0,1.4fr)}.auth-page{background:var(--bg);grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-hero{background:radial-gradient(900px 500px at 0% 0%, var(--accent-soft), transparent 70%), var(--panel-2);border-right:1px solid var(--line);flex-direction:column;justify-content:center;gap:28px;padding:40px 56px;display:flex;position:relative}.auth-hero .brand{padding:0;position:absolute;top:32px;left:56px}.auth-hero h1{letter-spacing:-.03em;max-width:440px;font-size:34px;line-height:1.15}.auth-hero h1 span{color:var(--accent)}.auth-hero ul{flex-direction:column;gap:18px;max-width:460px;margin:0;padding:0;list-style:none;display:flex}.auth-hero li{gap:14px;display:flex}.auth-hero .ico{background:var(--panel);border:1px solid var(--line);width:36px;height:36px;color:var(--accent);box-shadow:var(--shadow);border-radius:10px;flex:none;place-items:center;display:grid}.auth-hero li p{color:var(--muted);margin-top:2px;font-size:13.5px}.auth-main{flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:32px 20px;display:flex}.auth-card{width:min(400px,100%)}.consent-card{width:min(520px,100%)}.consent-facts{grid-template-columns:auto minmax(0,1fr);gap:6px 14px;margin:0;font-size:13px;display:grid}.consent-facts dt{color:var(--muted)}.consent-facts dd{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.consent-actions{justify-content:flex-end;gap:8px;display:flex}.consent-actions .btn{justify-content:center;min-width:110px}.auth-title h2{letter-spacing:-.02em;font-size:22px}.auth-switch{text-align:center;color:var(--muted);font-size:13px}@media (max-width:900px){.auth-page{grid-template-columns:minmax(0,1fr)}.auth-hero{border-right:0;border-bottom:1px solid var(--line);padding:72px 20px 28px}.auth-hero h1{font-size:26px}.auth-hero .brand{top:22px;left:20px}.auth-hero ul{display:none}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.perm-list{grid-template-columns:minmax(0,1fr)}.env-row{grid-template-columns:minmax(0,1fr) auto}.env-row input:first-child{grid-column:1/-1}.steps li{gap:12px;padding:14px}.dl.tools{grid-template-columns:minmax(0,1fr);gap:2px 0}.dl.tools dd{margin-bottom:8px}.exec-form .btn{padding:0 10px}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.content{padding-bottom:96px}.toasts{bottom:72px}.ai-bar{z-index:25;background:color-mix(in srgb, var(--panel) 84%, transparent);-webkit-backdrop-filter:blur(16px)saturate(1.5);backdrop-filter:blur(16px)saturate(1.5);border-top:1px solid var(--line);align-items:center;gap:12px;min-height:44px;padding:0 12px 0 16px;transition:box-shadow .4s,background .4s;display:flex;position:fixed;bottom:0;left:236px;right:0}.ai-bar.live{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 9%, var(--panel)), color-mix(in srgb, var(--s4) 7%, var(--panel)));box-shadow:0 -10px 36px -14px color-mix(in srgb, var(--accent) 55%, transparent);border-top-color:color-mix(in srgb, var(--accent) 35%, var(--line))}.ai-scan{opacity:0;background:linear-gradient(90deg, transparent 0%, var(--accent) 30%, var(--s4) 60%, transparent 100%);background-repeat:no-repeat;background-size:50% 100%;height:2px;transition:opacity .4s;position:absolute;top:-1px;left:0;right:0}.ai-bar.live .ai-scan{opacity:1;animation:2.2s cubic-bezier(.4,0,.2,1) infinite aiscan}@keyframes aiscan{0%{background-position:-50% 0}to{background-position:150% 0}}.ai-main{appearance:none;min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1;align-items:center;gap:12px;padding:0;display:flex}.ai-main:focus-visible{outline-offset:0}.ai-stack{flex-direction:column;flex:1;gap:4px;min-width:0;padding:7px 0;display:flex}.ai-row{align-items:center;gap:9px;min-width:0;font-size:13px;line-height:1.3;display:flex}.ai-row.idle{color:var(--muted);padding:12px 0}.ai-row.idle b{color:var(--ink-2);font-weight:600}.ai-client{color:var(--ink);flex:none;font-weight:600}.ai-sep{color:var(--faint);flex:none;font-size:11px}.ai-tool{font:600 12px/1.5 var(--mono);background:var(--accent-soft);color:var(--accent);white-space:nowrap;border-radius:6px;flex:none;padding:1px 8px}.ai-app{color:var(--ink-2);flex:none;font-weight:600}.ai-line{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ai-line.err{color:var(--bad)}.ai-elapsed{font-variant-numeric:tabular-nums;color:var(--ink-2);flex:none;align-items:center;gap:6px;font-size:12.5px;font-weight:600;display:inline-flex}.ai-row.done{animation:.35s ease-out aipop}.ai-row.done.ok .ai-line{color:var(--ink-2)}.ai-badge{flex:none;margin:0}@keyframes aipop{0%{opacity:0;transform:translateY(6px)}}.ai-more-n{color:var(--muted);padding-left:31px;font-size:11.5px}.ai-open{color:var(--muted);border-radius:8px;flex:none;align-items:center;gap:4px;padding:5px 8px;font-size:12px;font-weight:600;display:inline-flex}.ai-main:hover .ai-open{color:var(--accent);background:var(--accent-soft)}.ai-open svg{transform:rotate(-90deg)}.ai-idle-glyph{background:var(--chip);width:22px;height:22px;color:var(--faint);border-radius:7px;flex:none;place-items:center;display:grid}.ai-ticker{flex:none;gap:8px;max-width:42%;display:flex;overflow:hidden}.ai-tick{color:var(--muted);background:var(--chip);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px 2px 5px;font-size:11.5px;display:inline-flex}.ai-tick .ai-mark{width:14px;height:14px}.ai-tick .ai-mark svg{width:9px;height:9px}.ai-mark{border-radius:50%;flex:none;place-items:center;width:18px;height:18px;display:inline-grid}.ai-mark svg{stroke-width:2.6px;width:11px;height:11px}.ai-mark.ok{background:var(--ok-soft);color:var(--ok)}.ai-mark.bad{background:var(--bad-soft);color:var(--bad)}.ai-spin{color:var(--accent);place-items:center;display:inline-grid}.ai-spin svg{width:14px;height:14px}.ai-glyph{--hue:var(--s1);color:var(--hue);flex:none;place-items:center;display:inline-grid;position:relative}.ai-glyph.hue-s2{--hue:var(--s2)}.ai-glyph.hue-s3{--hue:var(--s3)}.ai-glyph.hue-s4{--hue:var(--s4)}.ai-glyph svg{width:100%;height:100%;fill:color-mix(in srgb, var(--hue) 16%, transparent);stroke:var(--hue);stroke-width:1.4px;stroke-linejoin:round;position:absolute;inset:0}.ai-glyph b{font:700 10px/1 var(--sans);position:relative}.ai-glyph.live:after{content:"";border:1.5px solid var(--hue);opacity:0;border-radius:50%;animation:1.8s ease-out infinite aiping;position:absolute;inset:-3px}@keyframes aiping{0%{opacity:.7;transform:scale(.7)}to{opacity:0;transform:scale(1.5)}}.ai-drawer-wrap{z-index:60;position:fixed;inset:0}.ai-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#06080e80;animation:.2s fade;position:absolute;inset:0}.ai-drawer{background:var(--panel);border:1px solid var(--line);height:min(80vh,780px);box-shadow:var(--shadow-lg);border-bottom:0;border-radius:18px 18px 0 0;flex-direction:column;animation:.28s cubic-bezier(.2,.8,.2,1) aiRise;display:flex;position:absolute;bottom:0;left:236px;right:0;overflow:hidden}@keyframes aiRise{0%{opacity:0;transform:translateY(40px)}}.ai-drawer:before{content:"";background:linear-gradient(90deg, transparent, var(--accent), var(--s4), transparent);opacity:.7;height:2px;position:absolute;top:0;left:0;right:0}.ai-drawer-head{flex-wrap:wrap;align-items:center;gap:18px;padding:16px 18px 10px;display:flex}.ai-drawer-title{align-items:center;gap:10px;margin-right:auto;display:flex}.ai-drawer-title h2{font-size:17px}.ai-pulse{background:var(--faint);border-radius:50%;width:9px;height:9px}.ai-pulse.on{background:var(--accent);box-shadow:0 0 0 4px var(--accent-soft);animation:1.4s ease-in-out infinite pulse}.ai-stats{align-items:center;gap:16px;display:flex}.ai-spark{width:240px;height:36px}.ai-spark rect{fill:var(--accent);opacity:.85}.ai-spark rect.err{fill:var(--bad)}.ai-stat{flex-direction:column;line-height:1.15;display:flex}.ai-stat b{font-variant-numeric:tabular-nums;font-size:18px}.ai-stat b.bad{color:var(--bad)}.ai-stat span{color:var(--muted);font-size:11px}.ai-toolchips{scrollbar-width:none;gap:6px;padding:2px 18px 8px;display:flex;overflow-x:auto}.ai-chip{appearance:none;border:1px solid var(--line);background:var(--panel-2);color:var(--ink-2);font:600 11.5px var(--mono);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 5px 3px 10px;display:inline-flex}.ai-chip b{font-family:var(--sans);background:var(--chip);color:var(--muted);border-radius:999px;padding:0 7px;font-size:11px}.ai-chip:hover{border-color:var(--accent-line)}.ai-chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.ai-filters{border-bottom:1px solid var(--line-2);flex-wrap:wrap;align-items:center;gap:8px;padding:0 18px 12px;display:flex}.ai-filters select{width:auto;max-width:170px;height:30px;font-size:12.5px}.ai-filters input{height:30px;font-size:12.5px}.ai-filters .spacer{flex:1}.ai-drawer-body{overscroll-behavior:contain;flex:1;padding:8px 18px 20px;overflow-y:auto}.ai-more{place-items:center;min-height:8px;padding:14px;display:grid}.ai-timeline{flex-direction:column;gap:14px;display:flex}.ai-group>header{background:var(--panel);z-index:1;align-items:center;gap:10px;padding:8px 0 6px;font-size:12.5px;display:flex;position:sticky;top:-8px}.ai-minute{font:700 12.5px var(--mono);color:var(--ink-2)}.ai-group ul{border-left:1px solid var(--line);flex-direction:column;gap:6px;margin:0 0 0 10px;padding:0 0 0 14px;list-style:none;display:flex}.ai-entry{border:1px solid var(--line);background:var(--panel-2);border-radius:11px;transition:border-color .15s,background .15s}.ai-entry:hover{border-color:var(--accent-line)}.ai-entry.running{border-color:color-mix(in srgb, var(--accent) 45%, var(--line));background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 7%, var(--panel-2)), var(--panel-2))}.ai-entry.error .ai-entry-head .ai-tool{background:var(--bad-soft);color:var(--bad)}.ai-entry-head{appearance:none;width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:9px;min-width:0;padding:9px 12px;font-size:13px;display:flex}.ai-entry-head>svg{color:var(--faint);flex:none;transition:transform .15s;transform:rotate(90deg)}.ai-entry.open .ai-entry-head>svg{transform:rotate(-90deg)}.ai-changes{flex:none;gap:4px;display:inline-flex}.ai-changes .k{margin:0}.ai-time{font-variant-numeric:tabular-nums;flex-direction:column;flex:none;align-items:flex-end;min-width:56px;font-size:12px;font-weight:600;line-height:1.2;display:flex}.ai-time small{color:var(--faint);font-size:10.5px;font-weight:400}.ai-entry-body{flex-direction:column;gap:12px;padding:4px 14px 14px 44px;display:flex}.ai-entry-body .dl{grid-template-columns:90px minmax(0,1fr);gap:6px 14px}.ai-err{color:var(--bad)}.ai-change-list h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:6px;font-size:11.5px}.ai-change-list ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.ai-change-list li{background:var(--panel);border:1px solid var(--line-2);border-radius:8px;grid-template-columns:auto 1fr auto;align-items:baseline;gap:10px;padding:6px 10px;font-size:13px;display:grid}.ai-change-list li .k{margin:0}.ai-section{max-height:440px;padding:8px 14px;overflow:auto}.k.database,.k.limits{background:var(--info-soft);color:var(--info)}.k.restart{background:var(--warn-soft);color:var(--warn)}.k.build{background:var(--accent-soft);color:var(--accent)}@media (max-width:900px){.ai-bar,.ai-drawer{left:0}.ai-ticker,.ai-open span{display:none}}@media (max-width:640px){.ai-row{gap:7px;font-size:12.5px}.ai-row .ai-client,.ai-row .ai-sep{display:none}.ai-drawer{border-radius:16px 16px 0 0;height:88vh}.ai-spark{width:130px}.ai-drawer-head{gap:10px;padding:14px 14px 8px}.ai-toolchips,.ai-filters{padding-left:14px;padding-right:14px}.ai-drawer-body{padding:6px 12px 20px}.ai-entry-head .ai-line{display:none}.ai-entry-head{flex-wrap:wrap}.ai-entry-body{padding-left:12px}.ai-entry-body .dl{grid-template-columns:70px minmax(0,1fr)}.ai-change-list li{grid-template-columns:auto 1fr}.ai-change-list li time{display:none}}@media (prefers-reduced-motion:reduce){.ai-bar.live .ai-scan{background-size:100% 100%;animation:none}.ai-glyph.live:after{opacity:.5;animation:none;inset:-2px}}.charts.three{grid-template-columns:repeat(3,minmax(0,1fr))}@media (max-width:1100px){.charts.three{grid-template-columns:minmax(0,1fr)}}.dbcard{flex-direction:column;gap:12px;margin-bottom:28px;display:flex}.dbname{align-items:center;gap:8px;font-size:16px;display:flex}.subhead{margin:6px 0 -4px;font-size:13px;font-weight:600}.subhead .muted{margin-left:6px;font-size:12px;font-weight:400}.qtext{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:300px;display:inline-block;overflow:hidden}.findings{flex-direction:column;display:flex}.finding{border-bottom:1px solid var(--line-2);align-items:flex-start;gap:12px;padding:10px 14px;font-size:13px;display:flex}.finding:last-child{border-bottom:0}.finding .fix{margin-top:3px;font-size:12px}.finding .fix code{font-size:11.5px}details.slow>summary{cursor:pointer;color:var(--ink-2);margin:4px 0 8px;font-size:13px;font-weight:600}td .sub.err{color:var(--bad)}.dbcard .row-acts{gap:6px}.money small{white-space:nowrap;font-size:.75em;font-weight:500}.kpi .value .money small{font-size:12px}.dot{border-radius:50%;width:8px;height:8px;margin-right:8px;display:inline-block}.dbars-head{justify-content:space-between;align-items:baseline;margin-bottom:10px;font-size:12px;display:flex}.dbars{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:3px;height:168px;display:grid}.dcol{cursor:default;outline:none;min-width:0;display:block}.dstack{background:var(--line-2);border-radius:3px;flex-direction:column-reverse;justify-content:flex-start;width:100%;height:148px;min-height:2px;margin-bottom:4px;display:flex;overflow:hidden}.dcol.dnone .dstack{border-bottom:1px dashed var(--line);background:0 0;border-radius:0}.dstack i{width:100%;min-height:1px;display:block}.dcol.dhot .dstack,.dcol:focus-visible .dstack{box-shadow:0 0 0 2px var(--accent)}.dcol.dtoday .dlab{color:var(--accent);font-weight:600}.dlab{height:14px;color:var(--faint);text-align:center;white-space:nowrap;font-size:10px;line-height:14px;display:block;overflow:visible}.legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:2px;width:9px;height:9px;display:inline-block}.dsel{min-height:20px;margin-top:10px;font-size:13px}.res-table td .sub,.res-table td small.sub{display:block}.price-table td:last-child{white-space:normal;min-width:200px}.res-table tr.dim td{opacity:.55}.spark-days{align-items:flex-end;gap:1px;width:120px;height:22px;display:flex}.spark-days i{background:var(--accent);opacity:.75;border-radius:1px 1px 0 0;flex:1;min-width:1px}.badge.cls-economy{color:var(--info);background:var(--info-soft)}.badge.cls-standard{color:var(--ink-2);background:var(--chip)}.quota-rows{flex-direction:column;gap:14px;display:flex}.quota-rows>div{grid-template-columns:130px 1fr auto;align-items:center;gap:12px;font-size:13px;display:grid}.foot-note{align-items:center;gap:8px;margin-top:4px;font-size:12px;display:flex}.estimate{border:1px solid var(--line);background:var(--panel-2);border-radius:var(--radius-sm);flex-direction:column;gap:10px;padding:12px;display:flex}.est-head{flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-size:13px;display:flex}.est-head span{font-size:12px}.cls-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.cls-card{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel);cursor:pointer;flex-direction:column;gap:2px;padding:10px 12px;display:flex;position:relative}.cls-card.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.cls-card input{opacity:0;pointer-events:none;position:absolute}.cls-name{font-size:13px;font-weight:600}.cls-price{font-size:17px}.cls-price b{font-variant-numeric:tabular-nums;font-weight:650}.cls-sub{color:var(--muted);font-size:11.5px}.small-note{margin-top:8px;font-size:12px}.price-edit input.num-in{text-align:right;font-variant-numeric:tabular-nums;width:92px}.price-edit input[aria-invalid=true]{border-color:var(--bad)}.price-edit th .sub{font-weight:400;display:block}.mode-edit{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.mode-edit select{width:auto}ul.changes{margin:0;padding-left:16px;font-size:12.5px}.splitbar{background:var(--line-2);border-radius:4px;min-width:120px;height:8px;display:flex;overflow:hidden}@media (max-width:720px){.cls-grid{grid-template-columns:minmax(0,1fr)}.quota-rows>div{grid-template-columns:1fr;gap:4px}.dbars{gap:2px}}.plan-options{flex-direction:column;gap:16px;display:flex}.plan-option.on{border-color:var(--accent,var(--info));box-shadow:0 0 0 1px var(--accent,var(--info)) inset}.plan-option .card-head{flex-wrap:wrap;gap:8px}.plan-total{font-size:14px}.plan-list{flex-direction:column;gap:4px;margin:8px 0 0;padding-left:18px;font-size:13px;display:flex}.plan-list.risks{color:var(--ink-2)}.warn-text{color:var(--warn)}.app-token .copyfield{margin-top:6px}.table-block{flex-direction:column;gap:12px;min-width:0;display:flex}.table-wrap.vt-wrap{overflow:hidden}.vtable{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;outline:none;position:relative;overflow:auto}.vtable:focus-visible{box-shadow:inset 0 0 0 2px var(--accent-line);border-radius:var(--radius)}.vt-inner{position:relative}.vt-head{z-index:4;background:var(--panel-2);border-bottom:1px solid var(--line);display:grid;position:sticky;top:0}.vt-th{text-transform:uppercase;letter-spacing:.05em;min-width:0;color:var(--muted);white-space:nowrap;background:var(--panel-2);align-items:center;padding:0 12px;font-size:11.5px;font-weight:600;display:flex}.vt-th.r{justify-content:flex-end}.vt-th button{appearance:none;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:3px;padding:0;display:inline-flex}.vt-th button:hover,.vt-th[aria-sort]{color:var(--ink)}.vt-th .arr{opacity:.85;min-width:9px;font-size:9px}.vt-body{position:relative}.vt-row{background:var(--panel);border-bottom:1px solid var(--line-2);cursor:default;display:grid}.vt-row:hover{background:var(--hover)}.vt-row.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.vt-row.ai-hot{background:color-mix(in srgb, var(--accent) 7%, var(--panel))}.vt-td{white-space:nowrap;background:inherit;align-items:center;min-width:0;padding:0 12px;font-size:13px;display:flex;overflow:hidden}.vt-td.r{text-align:right;justify-content:flex-end}.vt-td.first,.vt-th.first{z-index:2;position:sticky;left:0}.vt-td.first{box-shadow:1px 0 0 var(--line-2)}.vt-td .cellbar{width:100%}.vt-td .name{color:var(--ink);text-overflow:ellipsis;font-weight:600;overflow:hidden}.vt-td a.name:hover{color:var(--accent)}.vt-td .sub{color:var(--muted);text-overflow:ellipsis;font-size:11.5px;font-weight:400;display:block;overflow:hidden}.vt-td .sub.err{color:var(--bad)}.vt-td .sub.err.inl{display:inline}.vt-td .row-acts{gap:0;display:inline-flex}.two-line{flex-direction:column;width:100%;min-width:0;line-height:1.35;display:flex}.two-line>span{text-overflow:ellipsis;overflow:hidden}.pair{flex-direction:column;min-width:0;line-height:1.35;display:flex}.vt-td.r .pair,.vt-td.r .cellbar{text-align:right;align-items:flex-end}.vtable-empty{place-items:center;min-height:160px;display:grid}.sid{font:600 10.5px var(--mono);color:var(--muted);background:var(--chip);vertical-align:1px;border-radius:5px;margin-left:7px;padding:1px 6px;display:inline-block}.owner{color:var(--ink-2);text-overflow:ellipsis;overflow:hidden}.owner:hover{color:var(--accent)}.sort-sel{display:none}.ai-live{background:var(--accent);width:7px;height:7px;box-shadow:0 0 0 3px var(--accent-soft);vertical-align:1px;border-radius:50%;margin-left:7px;animation:1.2s ease-in-out infinite pulse;display:inline-block}.aicell .bar>i{background:var(--s1)}.riskcell{gap:4px;display:inline-flex}.rk{text-align:center;min-width:20px;font:600 11.5px var(--sans);border-radius:999px;padding:0 6px;line-height:1.6}.rk.crit{background:var(--bad-soft);color:var(--bad)}.rk.warn{background:var(--warn-soft);color:var(--warn)}.rk.info{background:var(--info-soft);color:var(--info)}.bad-text{color:var(--bad)}.facts{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:1px;display:grid;overflow:hidden}.fact{background:var(--panel);flex-direction:column;gap:2px;min-width:0;padding:11px 14px;display:flex}.fact .label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:11px;font-weight:600}.fact .v{font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:600;overflow:hidden}.fact .sub{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.tabcount{font:600 11px var(--sans);background:var(--chip);color:var(--muted);border-radius:999px;margin-left:2px;padding:0 7px;line-height:1.6}.tabcount.warn{background:var(--warn-soft);color:var(--warn)}.tabcount.live{background:var(--accent-soft);color:var(--accent);animation:1.4s ease-in-out infinite pulse}.tabs{margin:0}.host-part{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.host-part+.host-part{margin-top:10px}.host-part>summary{cursor:pointer;align-items:center;gap:8px;padding:11px 16px;font-size:13.5px;font-weight:600;list-style:none;display:flex}.host-part>summary::-webkit-details-marker{display:none}.host-part>summary:after{content:"▾";color:var(--faint);margin-left:auto;transition:transform .15s}.host-part:not([open])>summary:after{transform:rotate(-90deg)}.host-part[open]>summary{border-bottom:1px solid var(--line-2)}.info-cards{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;padding:14px;display:grid}.info-cards .card{box-shadow:none}.info-cards .card.wide{grid-column:1/-1}.card .table-wrap.flat,.table-wrap.flat{box-shadow:none}.card .table-wrap.flat{border:0;border-radius:0}.ai-feed{flex-direction:column;gap:18px;display:flex}.ai-feed .ai-toolchips{padding:0}.ai-chip.static{cursor:default;padding-left:5px}.ai-filters.inline{border:0;padding:0}.section-head h2{align-items:center;gap:8px;display:inline-flex}.ai-running{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ai-run{border-radius:var(--radius);background:color-mix(in srgb, var(--accent) 7%, var(--panel));border:1px solid var(--accent-line);box-shadow:0 0 0 3px var(--accent-soft);align-items:flex-start;gap:14px;padding:14px 16px;animation:2.4s ease-in-out infinite runglow;display:flex}@keyframes runglow{50%{box-shadow:0 0 0 5px var(--accent-soft)}}.ai-run-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.ai-run-top{flex-wrap:wrap;align-items:baseline;gap:4px 10px;font-size:13px;display:flex}.ai-run-top .ai-tool{font-family:var(--mono);font-size:13.5px}.ai-run-line{color:var(--ink);font-size:13.5px}.ai-run-args{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.ai-run-bar{background:var(--chip);border-radius:999px;height:5px;position:relative;overflow:hidden}.ai-run-bar>i{background:var(--accent);border-radius:999px;transition:width .5s;position:absolute;inset:0 auto 0 0}.ai-run-bar.indet>i{width:34%;animation:1.5s ease-in-out infinite indet}@keyframes indet{0%{left:-34%}to{left:100%}}.ai-run-time{text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;flex:none;display:flex}.ai-run-time b{font-size:16px}.ai-run-time small{color:var(--muted);font-size:11.5px}.trendcell{align-items:center;gap:10px;display:flex}.trendcell .spark{width:110px;height:30px}.statusbar{background:var(--line-2);border-radius:6px;height:12px;display:flex;overflow:hidden}.statusbar i{height:100%;display:block}.c-s1{background:var(--s1)}.c-s2{background:var(--s2)}.c-s3{background:var(--s3)}.c-s4{background:var(--s4)}.c-bad{background:var(--bad)}.status-legend{margin-top:12px}.ipbars{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.ipbars li{grid-template-columns:minmax(110px,170px) minmax(0,1fr) 54px;align-items:center;gap:12px;font-size:13px;display:grid}.ipbars b{text-align:right;font-variant-numeric:tabular-nums}.bar.warn>i{background:var(--warn)}.bar.bad>i{background:var(--bad)}.risks{margin:0;padding:0;list-style:none}.risk{border-bottom:1px solid var(--line-2);align-items:flex-start;gap:14px;padding:13px 16px;display:flex}.risk:last-child{border-bottom:0}.risk .badge{flex:none;margin-top:1px}.risk-main{flex-direction:column;gap:4px;min-width:0;display:flex}.risk-sum{color:var(--ink-2);font-size:13px}.risk-ev{font:12px var(--mono);color:var(--muted);background:var(--panel-2);border:1px solid var(--line-2);overflow-wrap:anywhere;border-radius:6px;padding:4px 8px}.risk-fix{color:var(--info);align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.lvl{font:600 11px var(--mono);text-transform:uppercase;color:var(--muted)}.lvl.bad{color:var(--bad)}.lvl.warn{color:var(--warn)}.logmsg{text-overflow:ellipsis;color:var(--ink-2);font-size:12.5px;overflow:hidden}.logmsg.bad{color:var(--bad)}.logmsg.warn{color:var(--warn)}.logsearch .vt-td{font-size:12.5px}.jsonbox{font:12px/1.55 var(--mono);max-height:320px;color:var(--ink-2);margin:0;padding:14px 16px;overflow:auto}.hint-line{font-size:12px}.alloc{flex-direction:column;gap:18px;display:flex}.alloc-row{flex-direction:column;gap:6px;display:flex}.alloc-top{justify-content:space-between;gap:12px;font-size:13px;display:flex}.alloc-sub{color:var(--muted);justify-content:space-between;gap:12px;font-size:12px;display:flex}.alloc .bar{height:8px}@media (max-width:900px){.sort-sel{display:block}.info-cards{grid-template-columns:minmax(0,1fr);padding:10px}.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.ai-run{flex-wrap:wrap;padding:12px}.ai-run-time{text-align:left;flex-direction:row;align-items:baseline;gap:8px;width:100%}.ipbars li{grid-template-columns:minmax(90px,120px) minmax(0,1fr) 44px;gap:8px}.trendcell{flex-wrap:wrap}.risk{padding:12px}.vt-td,.vt-th{padding:0 9px}}.chips-inline{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.chips-inline .badge{padding:0 7px;font-size:11px}.nic{color:var(--ink-2);white-space:nowrap;font-size:12.5px;display:block}.small{font-size:12px}table.heatmap th,table.heatmap td{text-align:center}table.heatmap tbody th{text-align:left;font-weight:600}td.hm{vertical-align:middle;min-width:128px;transition:background .2s}td.hm b{font-variant-numeric:tabular-nums;font-size:14px;display:block}td.hm .sub{font-size:11px;display:block}td.hm.none,td.hm.self{color:var(--faint);background:0 0}td.hm.old b{opacity:.7}.unm{margin:2px 8px 2px 0;display:inline-block}.sid{appearance:none;font:500 11px/1.4 var(--mono);border:1px solid var(--line);background:var(--chip);color:var(--muted);cursor:copy;vertical-align:middle;letter-spacing:.02em;border-radius:6px;padding:1px 6px}.sid:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.actor{background:var(--accent-soft);color:var(--accent);font:500 11px/1.6 var(--mono);border-radius:6px;margin-left:8px;padding:0 6px;display:inline-block}.alloc{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px 20px;display:grid}.alloc .al-row{flex-direction:column;gap:4px;min-width:0;display:flex}.alloc .al-row>span:first-child{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px}.alloc .al-row b{font-variant-numeric:tabular-nums;font-size:15px}.alloc .al-row small{color:var(--muted);font-size:12px}.alloc-group+.alloc-group{border-top:1px solid var(--line-2);margin-top:16px;padding-top:16px}.alloc-group h4{margin:0 0 4px;font-size:13px}.alloc-group p.hint{color:var(--muted);margin:0 0 10px;font-size:12px}.role{text-transform:capitalize}.role-owner{background:var(--accent-soft);color:var(--accent)}.role-admin{background:var(--info-soft);color:var(--info)}.role-support{background:var(--warn-soft);color:var(--warn)}.role-viewer{background:var(--chip);color:var(--muted)}.who-card{border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);flex-direction:column;gap:2px;padding:8px 10px;font-size:12px;display:flex}.who-card b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}dialog.modal.wide{width:min(980px,100vw - 24px)}.mp{flex-direction:column;gap:12px;display:flex}.mp-grid{grid-template-columns:1fr 1fr 1fr;gap:12px;display:grid}@media (max-width:820px){.mp-grid{grid-template-columns:1fr}}.mp-col{background:var(--panel-2);border:1px solid var(--line-2);border-radius:10px;flex-direction:column;gap:8px;min-width:0;padding:10px 12px;display:flex}.mp-col h4{align-items:center;gap:6px;font-size:13px;display:flex}.mp-row{flex-direction:column;gap:3px;display:flex}.mp-lab{color:var(--muted);justify-content:space-between;gap:8px;font-size:12px;display:flex}.mp-lab b{color:var(--ink-2);text-align:right;font-size:11.5px;font-weight:500}.mp-note{color:var(--muted);font-size:12px}.mp-spark{width:100%;height:18px;stroke:var(--accent);opacity:.85}.mp-path{border:1px solid #0000;border-radius:8px;flex-direction:column;gap:4px;padding:6px 8px;display:flex}.mp-path.on{border-color:var(--accent-line);background:var(--accent-soft)}.mp-verdict{border-radius:10px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.mp-verdict.go{background:var(--ok-soft);color:var(--ok)}.mp-verdict.caution{background:var(--warn-soft);color:var(--warn)}.mp-verdict.wait{background:var(--bad-soft);color:var(--bad)}.mp-verdict span{color:var(--ink-2)}.mp-est{color:var(--ink-2);font-size:13px}.mp-est small{color:var(--muted)}.mp-warn{color:var(--warn);margin:0;padding-left:18px;font-size:13px}.mp-bad{color:var(--bad);font-size:13px}.mp-cands{flex-direction:column;gap:6px;display:flex}.mp-cand{border:1px solid var(--line-2);cursor:pointer;background:var(--panel);text-align:left;color:var(--ink);font:inherit;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;padding:8px 10px;display:grid}.mp-cand.sel{border-color:var(--accent);background:var(--accent-soft)}.mp-cand small{color:var(--muted);grid-column:2;font-size:12px}.mp-job{font-family:var(--mono,ui-monospace, monospace);color:var(--ink-2);background:var(--panel-2);word-break:break-word;border-radius:8px;padding:8px 10px;font-size:12px}.nav .count.alert{background:var(--warn-soft);color:var(--warn)}.nav .count.alert.crit{background:var(--bad);color:#fff;animation:1.8s ease-in-out infinite pulse}.bell{color:var(--muted);border-radius:8px;align-items:center;gap:4px;margin-left:auto;padding:4px 8px;font-size:12px;display:none;position:relative}.bell:hover{background:var(--hover);text-decoration:none}.bell.warn{color:var(--warn);background:var(--warn-soft)}.bell.crit{color:#fff;background:var(--bad)}.bell b{font-variant-numeric:tabular-nums;font-weight:650}.mobilebar .bell{display:inline-flex}.mobilebar .bell+.live-dot{margin-left:0}.badge.alert-chip{vertical-align:middle;margin-left:6px;padding:1px 8px 1px 6px;font-size:11.5px;text-decoration:none}.badge.alert-chip:before{display:none}.badge.alert-chip svg{width:12px;height:12px}a.badge.alert-chip:hover{filter:brightness(1.08);text-decoration:none}.badge.plain.info{background:var(--info-soft);color:var(--info)}.badge.plain.bad{background:var(--bad-soft);color:var(--bad)}.badge.plain.warn{background:var(--warn-soft);color:var(--warn)}.badge.plain.ok{background:var(--ok-soft);color:var(--ok)}.k.anomaly{background:var(--warn-soft);color:var(--warn)}.alert-toasts{z-index:120;flex-direction:column;gap:10px;max-width:min(420px,100vw - 32px);display:flex;position:fixed;top:16px;right:16px}.alert-toast{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--warn);box-shadow:var(--shadow-lg);border-radius:12px;align-items:flex-start;gap:12px;padding:13px 12px 13px 14px;animation:.18s ease-out pop;display:flex}.alert-toast.bad{border-left-color:var(--bad)}.alert-toast>svg{color:var(--warn);margin-top:2px}.alert-toast.bad>svg{color:var(--bad)}.alert-toast>div{flex-direction:column;gap:2px;min-width:0;font-size:13px;display:flex}.alert-toast>div span{color:var(--muted)}.alert-toast>div a{align-items:center;gap:4px;margin-top:4px;font-weight:500;display:inline-flex}.alert-toast button{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-left:auto;font-size:18px;line-height:1}@media (max-width:860px){.alert-toasts{max-width:none;top:56px;left:12px;right:12px}}.vt-row.alert-row.crit{box-shadow:inset 3px 0 0 var(--bad);background:color-mix(in srgb, var(--bad) 5%, var(--panel))}.vt-row.alert-row.warn{box-shadow:inset 3px 0 0 var(--warn)}.fine{font-size:12px}.err-text{color:var(--bad)}.chip-code{background:var(--chip);border-radius:6px;margin-right:4px;padding:1px 6px;font-size:12px}dialog.modal:has(.alert-detail){width:min(880px,100vw - 24px)}.alert-detail{flex-direction:column;flex:1;min-height:0;display:flex}.alert-title{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.alert-detail h3{margin-top:4px}.alert-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.modal-foot .grow{flex:1;min-width:140px}.spike-charts{gap:14px;display:grid}.spike-chart header{flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:4px;font-size:13px;display:flex}.spike-chart small{margin-top:2px;display:block}.evidence{flex-direction:column;gap:8px;font-size:13px;display:flex}.proc-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.proc-head,.proc-row{grid-template-columns:minmax(110px,1fr) 56px 76px minmax(0,3fr);align-items:baseline;gap:10px;padding:7px 12px;display:grid}.proc-head{background:var(--panel-2);color:var(--muted);font-size:12px;font-weight:500}.proc-row{border-top:1px solid var(--line-2)}.proc-row .cmd{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2);overflow:hidden}.proc-row .num,.proc-head span:nth-child(2),.proc-head span:nth-child(3){text-align:right}@media (max-width:640px){.proc-head{display:none}.proc-row{grid-template-columns:1fr auto auto}.proc-row .cmd{white-space:normal;word-break:break-all;grid-column:1/-1}}.anom-row{border-top:1px solid var(--line-2);padding:10px 14px}.anom-row:first-child{border-top:0}.anom-row.open{background:color-mix(in srgb, var(--warn) 6%, transparent)}.anom-head{appearance:none;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:center;gap:6px 12px;width:100%;padding:0;display:flex}.anom-hint{color:var(--muted);margin-top:6px;font-size:13px}.anom-hint.build{color:var(--bad);font-weight:500}.anom-body{margin-top:10px}.cfg-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin:14px 0;display:grid}.cfg-field{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.cfg-in{align-items:center;gap:6px;display:flex}.cfg-in em{min-width:34px;font-style:normal}.cfg-in input{width:100%}.row-gap{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hist-head{margin-top:4px}.hist-head .subhead{margin:0}.srv-pick{flex-wrap:wrap;align-self:flex-start}.srv-pick a{color:var(--muted);border-radius:7px;align-items:center;gap:6px;padding:5px 11px;font-size:12.5px;font-weight:500;text-decoration:none;display:inline-flex}.srv-pick a:hover{color:var(--ink);text-decoration:none}.srv-pick a.on{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px #0000001f, 0 0 0 1px var(--line)}.srv-pick .dot{width:7px;height:7px;margin:0}.srv-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,460px),1fr));gap:12px;display:grid}.srv-card{flex-direction:column;display:flex}.srv-card .card-head h3{flex-wrap:wrap}.srv-badges{flex-wrap:wrap;gap:6px;display:flex}.srv-body{flex-direction:column;flex:1;gap:14px;display:flex}.srv-meta{flex-direction:column;gap:4px;font-size:13px;display:flex}.srv-meta em,.db-infoline em{color:var(--faint);text-transform:uppercase;letter-spacing:.04em;min-width:52px;margin-right:6px;font-size:11.5px;font-style:normal;display:inline-block}.srv-bars{flex-direction:column;gap:8px;display:flex}.barrow{grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:10px;font-size:12.5px;display:grid}.barrow .l{color:var(--muted)}.barrow .v{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.srv-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 14px;display:grid}.stat{flex-direction:column;gap:1px;min-width:0;display:flex}.stat .l{color:var(--muted);font-size:11.5px}.stat b{font-variant-numeric:tabular-nums;font-size:16px;font-weight:650}.stat b.warn{color:var(--warn)}.stat b.bad{color:var(--bad)}.stat small{color:var(--faint);font-size:11px}.srv-card .charts{gap:10px}.srv-card .chart-card{box-shadow:none;padding:10px 12px 6px}.srv-card .chart{min-height:110px}.srv-nochart,.srv-notes{font-size:12px}.srv-foot{border-top:1px solid var(--line-2);justify-content:flex-end;gap:8px;padding:10px 16px;display:flex}.srv-tab-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.srv-tab-head .sub{margin:0}.tabs .dot{width:7px;height:7px;margin:0}.endpoints{white-space:nowrap;font-size:12px}.endpoints .sub{font-size:11.5px}th[data-sort]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.db-infoline{flex-wrap:wrap;gap:4px 18px;font-size:12.5px;display:flex}.db-infoline>span{overflow-wrap:anywhere;min-width:0}.db-infoline em{min-width:0}.db-bars{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;font-size:12.5px;display:grid}.db-bar{font-variant-numeric:tabular-nums;flex-direction:column;gap:4px;display:flex}.db-load{margin:0;font-size:12px}.db-conn .kpis.dense{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}@media (max-width:640px){.srv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.db-bars{grid-template-columns:minmax(0,1fr)}.barrow{grid-template-columns:76px minmax(0,1fr)}.barrow .v{text-align:left;grid-column:1/-1}}.srv-card .u-legend{display:none}.db-usage{flex-direction:column;gap:10px;display:flex}.db-usage-cost{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:6px 22px;font-size:13px;display:flex}.db-usage-cost em{color:var(--muted);margin-right:4px;font-size:12px;font-style:normal}.db-usage .db-bars{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.dbars.short{height:96px}.dbars.short .dstack{height:76px}.db-daily{margin-top:4px}.top-queries code.sql{text-overflow:ellipsis;white-space:nowrap;max-width:640px;margin-bottom:4px;font-size:12px;display:block;overflow:hidden}.warn-text{color:var(--warn);font-weight:600}td.num .bar.thin{min-width:72px;margin-top:3px}.srv-econ{font-variant-numeric:tabular-nums;margin:0;font-size:12.5px}.srv-econ em{color:var(--muted);margin-right:4px;font-style:normal}.srv-econ b.bad{color:var(--bad)}.pager{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px 14px;padding:10px 12px;font-size:13px;display:flex}.pager-nav{align-items:center;gap:4px;display:inline-flex}.pager-nav .mono{text-align:center;min-width:52px}.pager select{width:auto;font-size:12px}
