:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0d1117;--panel:#161b22;--line:#30363d;--text:#e6edf3;--muted:#8b949e;--accent:#58a6ff;--active:#3fb950;--joining:#58a6ff;--suspect:#d29922;--failed:#f85149;--draining:#a371f7;--drained:#8b949e;--fenced:#ff7b39;font:13px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;overflow:hidden}button,input{font:inherit;color:inherit}button{border:1px solid var(--line);cursor:pointer;background:#21262d;border-radius:6px;padding:4px 10px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}button.danger{background:#3d1214;border-color:#8e1519}input[type=text],input[type=number]{border:1px solid var(--line);background:#0d1117;border-radius:4px;width:100%;padding:3px 6px}h1{margin:0;font-size:15px;font-weight:600}h2{margin:0 0 4px;font-size:15px}h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:14px 0 6px;font-size:13px}h4{margin:10px 0 4px;font-size:12px}code{background:#21262d;border-radius:3px;padding:1px 4px}.muted{color:var(--muted)}.error{color:var(--failed)}#app{position:fixed;inset:0}.bar{border-bottom:1px solid var(--line);z-index:5;background:#010409cc;justify-content:space-between;align-items:center;height:42px;padding:0 12px;display:flex;position:absolute;top:0;left:0;right:0}.bar nav{gap:6px;display:flex}.bar .account{color:var(--muted);align-items:center;gap:8px;display:flex}.bar .where{align-items:center;gap:10px;margin-left:auto;margin-right:12px;font-size:12px;display:flex}.bar .conn-node{color:var(--muted)}.bar .conn-node[data-state=connected]{color:var(--text)}.bar .reconnect-notice{color:var(--suspect);border:1px solid var(--suspect);border-radius:4px;padding:1px 6px}.signin{border:1px solid var(--line);background:#0d1117;border-radius:8px;flex-direction:column;gap:10px;width:min(420px,90vw);padding:24px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.signin h1{margin:0;font-size:18px}.signin input{border:1px solid var(--line);background:#010409;border-radius:4px;padding:6px 8px}.signin-error{color:#ffb3ad;margin:0}.view{position:absolute;inset:42px 0 0}.view canvas.gl{touch-action:none;width:100%;height:100%;display:block}.view .css2d{pointer-events:none;position:absolute;inset:0}.view.under-table .css2d{visibility:hidden}.view-tools{z-index:5;gap:6px;display:flex;position:absolute;top:10px;right:10px}body:has(.panel:not([hidden])) .view-tools{right:380px}.view.under-table .view-tools{visibility:hidden}button.icon{width:28px;height:28px;color:var(--text);justify-content:center;align-items:center;padding:0;display:inline-flex}button.icon .strike{display:none}button.icon[aria-pressed=false]{color:var(--muted)}button.icon[aria-pressed=false] .strike{display:inline}.nogl{color:var(--muted);padding:24px}.lbl-anchor{width:0;height:0}.lbl{width:max-content;transform:translate(var(--lx,-50%), var(--ly,24px));pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;white-space:nowrap;background:#0d1117c8;border:1px solid #30363d99;border-radius:5px;padding:3px 6px;font-size:11px;transition:opacity .15s;position:absolute;top:0;left:0}.lbl.lbl-hidden{opacity:0;pointer-events:none}.lbl.dragging{cursor:grabbing;border-color:var(--accent);transition:none}.lbl-guide{pointer-events:none;position:absolute;inset:0}.lbl-ring{left:calc(var(--x) - var(--r));top:calc(var(--y) - var(--r));width:calc(var(--r) * 2);height:calc(var(--r) * 2);box-sizing:border-box;background:#c9d1d912;border:1.5px solid #c9d1d973;border-radius:50%;position:absolute}.lbl-dot{left:calc(var(--ax) - 5px);top:calc(var(--ay) - 5px);background:#c9d1d9a6;border-radius:50%;width:10px;height:10px;position:absolute;box-shadow:0 0 0 2px #0d111766}.view canvas.gl.over-node{cursor:grab}.view canvas.gl.grabbing{cursor:grabbing}.lbl.stale{color:var(--muted);filter:grayscale();opacity:.6}.lbl.stale.lbl-hidden{opacity:0}.lbl.selected{border-color:var(--accent)}.lbl.alerted{border-color:var(--failed);box-shadow:0 0 0 2px #f8514966}.lbl-name{font-weight:600}.lbl-sub{color:var(--muted)}.lbl-count{color:var(--text);font-variant-numeric:tabular-nums}.lbl-count.warn,.nodes-table td.warn{color:var(--suspect)}.lbl-row{grid-template-columns:48px 46px auto;align-items:center;gap:5px;display:grid}.lbl-row .k{color:var(--muted)}.lbl meter{width:46px;height:7px}.lbl meter.unknown{opacity:.25}.lbl-bar{display:none}.lbl-bar meter{width:64px}.lbl[data-detail=far] .lbl-sub,.lbl[data-detail=far] .lbl-detail{display:none}.lbl[data-detail=far] .lbl-bar{display:block}.lbl[data-detail=mid] .lbl-detail{display:none}.lbl[data-detail=mid] .lbl-bar{display:block}.area-lbl{color:#6e7b8f;letter-spacing:.05em;pointer-events:none;font-size:11px}.dot{background:var(--muted);border-radius:50%;width:8px;height:8px;margin-right:5px;display:inline-block}.s-active{color:var(--active)}.dot.s-active{background:var(--active)}.s-joining{color:var(--joining)}.dot.s-joining{background:var(--joining)}.s-suspect{color:var(--suspect)}.dot.s-suspect{background:var(--suspect)}.s-failed{color:var(--failed)}.dot.s-failed{background:var(--failed)}.s-draining{color:var(--draining)}.dot.s-draining{background:var(--draining)}.s-drained{color:var(--drained)}.dot.s-drained{background:var(--drained)}.side{z-index:4;pointer-events:none;flex-direction:column;gap:8px;width:290px;display:flex;position:absolute;top:52px;left:10px}.side>*{pointer-events:auto}.health,.legend{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.conn.live{color:var(--active)}.conn.reconnecting{color:var(--suspect)}.fps{color:var(--muted);float:right}.kv{justify-content:space-between;gap:8px;display:flex}.kv.warn b,.levels .warn,.panel p.warn{color:var(--suspect)}.levels .crit{color:var(--failed)}.levels{color:var(--muted);flex-wrap:wrap;gap:4px 10px;margin:2px 0 4px;display:flex}.alerts{flex-direction:column;gap:4px;margin:6px 0 0;padding:0;list-style:none;display:flex}button.alert{text-align:left;color:#ffb3ad;background:#3d1214;border-color:#8e1519;width:100%}.legend{color:var(--muted);font-size:11px}.legend-row{flex-wrap:wrap;gap:2px 9px;display:flex}.fenced-key{color:var(--fenced)}.leader-key{color:#f2cc60}.c-client{color:#39c5e6}.c-last_replica{color:#ff4d4d}.c-repair{color:#ff9640}.c-drain{color:#b78cff}.c-scrub{color:#7ee787}.c-rebalance{color:#c9d1d9}.c-cluster{color:#f2cc60}.k-line{vertical-align:middle;border-radius:1px;width:16px;height:3px;margin-right:5px;display:inline-block}.k-service-backend .k-line{background:#253865}.k-backend-backend .k-line{background:#512f4d}.k-service-service .k-line{background:#545861}.panel{z-index:6;background:var(--panel);border:1px solid var(--line);border-radius:8px;width:360px;padding:12px 14px;position:absolute;top:52px;bottom:10px;right:10px;overflow:auto}.panel .close{padding:0 8px;font-size:16px;position:absolute;top:8px;right:8px}.panel .sub{color:var(--muted);margin:0 0 8px}.panel dl{grid-template-columns:110px 1fr;gap:3px 8px;margin:6px 0;display:grid}.panel dt{color:var(--muted)}.panel dd{overflow-wrap:anywhere;margin:0}.panel form label{grid-template-columns:1fr 110px;align-items:center;gap:6px;margin:3px 0;display:grid}.panel label.check{align-items:center;gap:4px;display:inline-flex}.panel .checks{flex-direction:column;gap:2px;margin-bottom:6px;display:flex}.panel .row{align-items:center;gap:6px;margin:4px 0;display:flex}.panel form button[type=submit]{margin-top:4px}.qlist{margin:4px 0;padding-left:16px;font-family:ui-monospace,monospace;font-size:11px}.linktable{border-collapse:collapse;width:100%;font-size:12px}.linktable th,.linktable td{border-bottom:1px solid var(--line);text-align:left;padding:3px 4px}.spark-row{grid-template-columns:70px 160px 1fr;align-items:center;gap:6px;display:grid}.spark-row .k{color:var(--muted)}.spark{background:#0d1117;border-radius:3px}.spark-line{fill:none;stroke:var(--accent);stroke-width:1.5px}.tables{background:var(--bg);z-index:3;padding:12px 380px 24px 310px;position:absolute;inset:42px 0 0;overflow:auto}.tables table{border-collapse:collapse;width:100%;margin-bottom:18px}.tables caption{text-align:left;padding:6px 0;font-weight:600}.tables th,.tables td{border-bottom:1px solid var(--line);text-align:left;white-space:nowrap;padding:4px 6px}.tables thead th{color:var(--muted);font-weight:500}.tables tr.stale{color:var(--muted)}.status{z-index:9;border:1px solid var(--line);background:#1f2937;border-radius:6px;max-width:70vw;padding:6px 12px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.status:empty{display:none}.status.error{border-color:var(--failed);color:#ffb3ad}.tip{left:var(--x,0);top:var(--y,0);z-index:8;pointer-events:none;border:1px solid var(--line);background:#1f2937f0;border-radius:6px;max-width:320px;padding:5px 8px;font-size:12px;position:absolute}dialog.settings{color:var(--text);border:1px solid var(--line);background:#161b22;border-radius:8px;width:460px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);padding:16px 18px;overflow:auto}dialog.settings::backdrop{background:#0008}dialog.settings h2{margin:0 0 4px;font-size:16px}dialog.settings fieldset{border:1px solid var(--line);border-radius:6px;margin:10px 0;padding:8px 10px}dialog.settings legend{color:var(--muted);padding:0 4px}dialog.settings select{margin:4px 0 8px}.settings-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-top:12px;display:flex}label.check{align-items:center;gap:4px;display:inline-flex}fieldset[data-field=scopes] label.check{margin:2px 0;display:flex}.metric-boxes{grid-template-columns:1fr 1fr;gap:2px 10px;margin:4px 0;display:grid}.label-controls .metric-boxes{margin-left:18px}.label-controls>label.check{margin:2px 0;display:flex}nav button[aria-pressed=false][data-action=labels]{color:var(--muted)}dialog.confirm{color:var(--text);border:1px solid var(--line);background:#161b22;border-radius:8px;width:380px;padding:16px}dialog.confirm::backdrop{background:#0008}dialog.confirm label{flex-direction:column;gap:6px;margin:10px 0;display:flex}dialog.confirm .row{justify-content:flex-end;gap:8px;display:flex}dialog.access{width:980px}.access .tabs{gap:4px;margin:10px 0;display:flex}.access .tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent)}.access table.grid{border-collapse:collapse;width:100%;margin:6px 0;font-size:12px}.access table.grid th,.access table.grid td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:4px 6px}.access table.grid thead th{color:var(--muted);font-weight:500}.access table.grid tr.disabled,.access table.grid tr.revoked,.access table.grid tr.expired{color:var(--muted)}.access td.actions{white-space:nowrap;flex-wrap:wrap;gap:4px;display:flex}.access input[type=search]{box-sizing:border-box;width:100%;margin:4px 0}.access details.new{margin-top:10px}.access-form{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:6px 12px;margin:8px 0;display:grid}.access-form label{flex-direction:column;gap:3px;display:flex}.access-form .row,.access-form .error{grid-column:1/-1}.access-form .row{justify-content:flex-end;display:flex}dialog.token{width:560px}dialog.token input[data-token]{flex:1;font-family:ui-monospace,monospace}[hidden]{display:none!important}@media (max-width:900px){.side{width:220px}.panel{width:300px}.tables{padding:12px}}
