.cx-matrix{border-collapse:collapse;font-size:13px}.cx-matrix th,.cx-matrix td{border-bottom:1px solid var(--border);padding:0 12px;height:40px;white-space:nowrap}.cx-matrix th{font-weight:600;font-size:12px;color:var(--text-3);text-align:left}.cx-matrix th.rot{height:110px;vertical-align:bottom;padding:0 4px 8px}.cx-matrix th.rot span{writing-mode:vertical-rl;transform:rotate(180deg);font:11.5px var(--mono);color:var(--text-2)}.cx-matrix td.c{text-align:center;padding:0 4px;width:34px}.cx-matrix th.grp{text-align:center;font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-left:1px solid var(--border);height:26px}.cx-matrix td.gl,.cx-matrix th.gl{border-left:1px solid var(--border)}.cx-matrix td.num,.cx-matrix th.num{text-align:right;font-variant-numeric:tabular-nums}.cx-matrix tbody tr:last-child td{border-bottom:0}.cx-matrix tbody tr:hover{background:var(--surface-2)}.cx-cell{border:0;background:none;padding:6px;cursor:pointer;border-radius:var(--radius-sm)}.cx-cell:hover{background:var(--surface-2)}.cx-dot{display:inline-block;width:10px;height:10px;border-radius:50%;vertical-align:middle}.cx-dot.on{background:var(--brand)}.cx-dot.off{border:1px solid var(--border-strong)}.cx-linkbtn{border:0;background:none;padding:0;font:inherit;font-weight:600;color:inherit;cursor:pointer}.cx-linkbtn:hover{color:var(--brand);text-decoration:underline}.cx-tree{list-style:none;margin:0;padding:0;font-size:13px}.cx-tree ul{list-style:none;padding-left:20px;border-left:1px solid var(--border);margin:0 0 0 7px}.cx-tree li{padding:3px 0}.cx-tree .row{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:var(--radius);width:100%;border:0;background:none;text-align:left;cursor:pointer}.cx-tree .row:hover{background:var(--surface-2)}.cx-tree .row.sel{background:var(--brand-soft)}.cx-tree .row.off{opacity:.6}.cx-chips{display:flex;flex-wrap:wrap;gap:6px}.cx-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cx-topo-grid{display:grid;grid-template-columns:repeat(var(--cols, 3),minmax(0,1fr));gap:16px}@media (max-width: 1100px){.cx-topo-grid{grid-template-columns:1fr}}.cx-ingress{position:relative;width:100%;height:132px;margin-bottom:4px}.cx-ingress-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.cx-ing-link{fill:none;stroke:var(--border-strong);stroke-width:.4;stroke-dasharray:2 1.6;vector-effect:non-scaling-stroke}.cx-ing-box{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:2px;padding:7px 11px;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);text-align:left;max-width:94%}.cx-ing-box b{display:flex;align-items:center;gap:6px;font-size:13px;white-space:nowrap}.cx-ing-box .s{font:11.5px var(--mono);color:var(--text-3);overflow-wrap:anywhere}.cx-ing-box.net{border-style:dashed;border-color:var(--border-strong)}.cx-ing-box.addr{cursor:pointer;transition:box-shadow var(--t-fast),border-color var(--t-fast)}.cx-ing-box.addr:hover,.cx-ing-box.addr:focus-visible{border-color:var(--brand);box-shadow:var(--shadow-pop);z-index:5}.cx-ing-box.addr.undeclared b{color:var(--text-3);font-family:inherit}.cx-ing-kind{display:block;text-align:right;font-size:11px;line-height:1.35;color:var(--text-3);margin:-2px 0 10px}@media (max-width: 1100px){.cx-ingress,.cx-ing-kind{display:none}}.cx-beat{display:block;width:7px;height:7px;margin-top:8px;border-radius:50%;background:var(--ok);animation:cx-beat 1.6s ease-in-out infinite}.cx-beat.frozen{background:var(--border-strong);animation:none}@keyframes cx-beat{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}@media (prefers-reduced-motion: reduce){.cx-beat{animation:none}}.cx-neural{--cx-canvas: var(--surface-2);--cx-glow: .35;position:relative;background:var(--cx-canvas);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}:root[data-theme=dark] .cx-neural{--cx-canvas: #090c11;--cx-glow: 1}.cx-neural svg{display:block;width:100%;height:auto}.cx-edge{fill:none}.cx-edge.e-declared{stroke:var(--border-strong);stroke-width:1.1;stroke-dasharray:5 4;opacity:.85}.cx-edge.e-measured{stroke:var(--border-strong);stroke-width:1.1;opacity:.7}.cx-edge.e-overlay{stroke:var(--brand);stroke-width:1.2;opacity:calc(.42 * var(--cx-glow))}.cx-edge.e-unmeasured{stroke:var(--text-3);stroke-width:1.4;stroke-dasharray:1 7;stroke-linecap:round;opacity:.55}.cx-flow{fill:var(--brand)}.cx-nd{cursor:pointer}.cx-nd[tabindex="-1"]{cursor:default}.cx-halo{opacity:calc(.5 * var(--cx-glow))}.cx-core{stroke-width:1.4}.cx-nd:hover .cx-core,.cx-nd:focus-visible .cx-core{stroke:var(--brand)}.cx-nd:focus-visible{outline:none}.cx-neural text{pointer-events:none;text-anchor:middle}.cx-neural .cx-t{font:500 9.5px var(--mono);fill:var(--text-3)}.cx-neural .cx-nm{font:600 12px var(--font);fill:var(--text)}.cx-neural .cx-gap{font:italic 500 10px var(--font);fill:var(--text-3)}@media (prefers-reduced-motion: reduce){.cx-flow{display:none}}.cx-lane-off{display:grid;grid-template-columns:minmax(0,210px) minmax(0,1fr);gap:12px;align-items:baseline;padding:9px 0;border-top:1px dashed var(--border);font-size:12.5px}.cx-lane-off:first-of-type{border-top:0}.cx-lane-off .w{color:var(--text-2);font-weight:600}.cx-lane-off .y{color:var(--text-3)}@media (max-width: 700px){.cx-lane-off{grid-template-columns:1fr;gap:2px}}.cx-node-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);min-width:0}.cx-node-card.lead{border-top:3px solid var(--brand)}.cx-node-h{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);flex-wrap:wrap}.cx-node-h b{font-size:14px}.cx-node-h .addr{margin-left:auto;font-size:12px}.cx-node-ports{display:flex;gap:6px;padding:8px 14px;border-bottom:1px dashed var(--border);font-size:12px;color:var(--text-3);align-items:center;flex-wrap:wrap}.cx-ctr{display:grid;grid-template-columns:10px minmax(0,1fr) auto;gap:8px;align-items:center;width:100%;padding:8px 14px;border-top:1px solid var(--border);text-align:left;font-size:13px;cursor:pointer}.cx-ctr:first-of-type{border-top:0}.cx-ctr:hover{background:var(--surface-2)}.cx-ctr .s{font-size:11.5px;color:var(--text-3);display:block;font-family:var(--mono);overflow-wrap:anywhere}.cx-ctr.fail{background:var(--down-soft)}.cx-led{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}.cx-led.up{background:var(--ok)}.cx-led.down{background:var(--down)}.cx-led.unknown{background:var(--border-strong)}.cx-node-empty{padding:12px 14px;font-size:12.5px;color:var(--text-3)}.cx-layer-row{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px dashed var(--border-strong);border-radius:var(--radius-lg);font-size:12.5px;color:var(--text-2);background:var(--surface);flex-wrap:wrap}.cx-layer-row b{color:var(--text)}.cx-layer-row .ar{margin-left:auto;color:var(--text-3)}.cx-legend{margin-top:12px;font-size:12px;color:var(--text-3);display:flex;gap:16px;flex-wrap:wrap;align-items:center}.cx-legend span{display:inline-flex;align-items:center;gap:6px}.cx-wv{font-size:24px;font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.cx-wv small{font-size:12.5px;font-weight:500;margin-left:8px}.cx-spark{display:block;width:100%;height:56px;margin-top:8px}.cx-wlist{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13px}.cx-wlist li{display:flex;align-items:center;gap:8px}.cx-wlist .dot{width:7px;height:7px;border-radius:50%;flex:none}.cx-wfoot{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:12px;font-size:12px;color:var(--text-3)}.cx-wfoot .stale{color:var(--warn)}:root{--tr-contract: #6d28d9}:root[data-theme=dark]{--tr-contract: #c4a5ff}.tr-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tr-push{margin-left:auto}.tr-seg{display:inline-flex}.tr-seg .cx-btn{border-radius:0;margin-left:-1px}.tr-seg .cx-btn:first-child{border-radius:var(--radius) 0 0 var(--radius);margin-left:0}.tr-seg .cx-btn:last-child{border-radius:0 var(--radius) var(--radius) 0}.tr-seg .cx-btn[aria-pressed=true]{background:var(--surface-2);border-color:var(--text-3);font-weight:600;position:relative}.tr-small{font-size:12.5px}.tr-center{display:flex;justify-content:center;padding:0 0 24px}.tr-over{color:var(--down)}.tr-kpi-sm{font-size:15px;font-weight:600;letter-spacing:0}.tr-tags{display:inline-flex;flex-wrap:wrap;gap:6px 10px;align-items:center}.tr-tag-down .cx-tag{color:var(--down)}.tr-plain{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;font-size:13px}.tr-list{margin-top:10px}.tr-list-h{font-size:12px;font-weight:600;color:var(--text-3);margin-bottom:4px}.tr-field{display:grid;gap:4px;font-size:13px}.tr-field label{font-weight:500;color:var(--text-2)}.tr-hint{font-size:12px}.tr-form1{display:grid;gap:12px}.tr-form3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.cx-inp.tr-body{height:auto;padding:8px 10px;font-size:12px;resize:vertical}@media (max-width: 900px){.tr-form3{grid-template-columns:1fr}}.tr-slots{display:flex;gap:12px;flex-wrap:wrap}.tr-slot{flex:1;min-width:220px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);border-top:3px solid var(--border)}.tr-slot.empty{border:1px dashed var(--border-strong);color:var(--text-3)}.tr-slot-note{font-size:12.5px;margin-top:6px}.tr-slot-ver{margin-top:6px}.tr-slot-url{font-size:12px;overflow-wrap:anywhere}.tr-weight{margin-top:12px;font-size:13px}.tr-canary{margin-top:14px;display:grid;gap:8px}.tr-drain{margin-top:12px;font-size:12.5px}.tr-trend{display:grid;gap:16px}.tr-trend-row{display:grid;gap:6px}.tr-spark{display:block}.tr-flow-wrap{position:relative;width:100%;height:460px}.tr-flow-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.tr-edge{fill:none;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linecap:round}.tr-edge.e-fronts{stroke:var(--brand);opacity:.45}.tr-edge.e-contract{stroke:var(--tr-contract);opacity:.85}.tr-edge.e-depends{stroke:var(--text-3);stroke-dasharray:2 4}.tr-edge.e-ungranted{stroke:var(--down);stroke-dasharray:3 3}.tr-edge.e-observed{stroke:var(--ok);stroke-width:3;opacity:.8}.tr-edge.e-refused{stroke:var(--down);stroke-width:1.5}.tr-fnode{position:absolute;transform:translate(-50%,-50%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:9px 12px;min-width:150px;text-align:left;cursor:pointer;color:var(--text);transition:box-shadow var(--t-fast),border-color var(--t-fast)}.tr-fnode:hover{box-shadow:var(--shadow-pop);z-index:5}.tr-fnode.sel{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-soft)}.tr-fnode.center{background:var(--brand);border-color:transparent;color:var(--on-brand);min-width:170px}.tr-fnode.center .fn-sub{color:var(--on-brand);opacity:.85}.tr-fnode .fn-top{display:flex;align-items:center;gap:7px;font-weight:600;font-size:13px}.tr-fnode .fn-sub{font:11px var(--mono);color:var(--text-3);margin-top:2px}.tr-fnode .led{width:8px;height:8px;border-radius:50%;flex:none}.tr-fnode .cx-badge{margin-top:6px}.tr-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--text-3)}.tr-legend span{display:inline-flex;align-items:center;gap:7px}.tr-legend i{width:20px;height:0;border-top:2px solid;display:inline-block}.tr-legend .l-front{border-color:var(--brand);opacity:.6}.tr-legend .l-contract{border-color:var(--tr-contract)}.tr-legend .l-ungranted{border-color:var(--down);border-top-style:dashed}.tr-legend .l-depends{border-color:var(--text-3);border-top-style:dotted}.tr-legend .l-observed{border-color:var(--ok);border-top-width:3px}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff) format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2) format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff) format("woff")}:root{--bg: #f6f7f9;--surface: #ffffff;--surface-2: #f2f4f7;--surface-3: #e9edf2;--border: #e2e6ec;--border-strong: #cdd3dc;--text: #111827;--text-2: #414b5a;--text-3: #5f6b7a;--brand: #004ac6;--brand-hover: #003a9c;--brand-soft: #e8effb;--brand-text: #004ac6;--on-brand: #ffffff;--ok: #157a3c;--ok-soft: #e6f4ea;--warn: #a15c07;--warn-soft: #fcf1df;--down: #b42318;--down-soft: #fdeceb;--info: #3a4a63;--info-soft: #eef1f5;--focus: #004ac6;--shadow-pop: 0 8px 24px rgba(16, 24, 40, .12), 0 2px 6px rgba(16, 24, 40, .06);--radius-sm: 4px;--radius: 6px;--radius-lg: 8px;--rail-w: 240px;--mast-h: 52px;--foot-h: 28px;--font: "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--t-fast: .15s;--t: .2s;color-scheme:light}:root[data-theme=dark]{--bg: #0d1015;--surface: #141920;--surface-2: #1a2029;--surface-3: #222a35;--border: #252d39;--border-strong: #354050;--text: #e7eaef;--text-2: #b3bbc7;--text-3: #8f99a8;--brand: #2a6cf0;--brand-hover: #3f7cf3;--brand-soft: #16264a;--brand-text: #8fb2ff;--on-brand: #ffffff;--ok: #4ccf7f;--ok-soft: #12291c;--warn: #f0b04a;--warn-soft: #2e2311;--down: #ff7b72;--down-soft: #331614;--info: #b3bbc7;--info-soft: #1d2430;--focus: #8fb2ff;--shadow-pop: 0 10px 30px rgba(0, 0, 0, .5), 0 2px 8px rgba(0, 0, 0, .4);color-scheme:dark}@media (prefers-reduced-motion: reduce){:root{--t-fast: 0ms;--t: 0ms}}:root{--color-bg: var(--bg);--color-surface: var(--surface);--color-surface-alt: var(--surface-2);--color-surface-2: var(--surface-3);--color-border: var(--border);--color-border-strong: var(--border-strong);--color-heading: var(--text);--color-text: var(--text-2);--color-muted: var(--text-3);--color-muted-aa: var(--text-3);--brand-contrast: var(--on-brand);--accent2: var(--brand);--hairline: var(--border);--sev-error-fg: var(--down);--sev-error-bg: var(--down-soft);--sev-error-bd: color-mix(in srgb, var(--down) 35%, transparent);--sev-warn-fg: var(--warn);--sev-warn-bg: var(--warn-soft);--sev-warn-bd: color-mix(in srgb, var(--warn) 35%, transparent);--sev-ok-fg: var(--ok);--sev-ok-bg: var(--ok-soft);--sev-ok-bd: color-mix(in srgb, var(--ok) 35%, transparent);--sev-info-fg: var(--info);--sev-info-bg: var(--info-soft);--sev-info-bd: var(--border-strong);--st-online: var(--ok);--st-offline: var(--down);--st-degraded: var(--warn);--tip-bg: var(--text);--tip-fg: var(--surface);--skeleton-sheen: color-mix(in srgb, var(--surface) 70%, transparent);--shadow-hair: none;--shadow-sm: none;--shadow-hover: none;--radius-xs: 4px;--radius-pill: 9999px;--font-head: var(--font);--fs-body: 14px;--lh-body: 1.5;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 24px;--sp-6: 32px;--topbar-h: var(--mast-h);--nav-w: var(--rail-w);--nav-w-collapsed: 60px;--footer-h: var(--foot-h);--z-nav: 60;--z-topbar: 70;--z-footer: 80;--z-overlay: 900;--z-modal: 950;--z-toast: 1000;--z-tip: 1100;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-emphasized: cubic-bezier(.16, 1, .3, 1);--ease-shell: cubic-bezier(.4, 0, .2, 1);--dur-micro: var(--t-fast);--dur-fast: var(--t);--dur-base: var(--t);--dur-slow: var(--t);--dur-entrance: var(--t);--brand-rgb: 0, 74, 198}:root[data-theme=dark]{--brand-rgb: 42, 108, 240}*,:before,:after{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246 / .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.left-2{left:.5rem}.z-modal{z-index:var(--z-modal)}.z-tip{z-index:var(--z-tip)}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-\[var\(--sp-3\)\]{margin-top:var(--sp-3);margin-bottom:var(--sp-3)}.mb-\[var\(--sp-1\)\]{margin-bottom:var(--sp-1)}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-\[var\(--sp-2\)\]{margin-top:var(--sp-2)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-7{height:1.75rem}.h-9{height:2.25rem}.h-\[10px\]{height:10px}.h-\[11px\]{height:11px}.h-\[132px\]{height:132px}.h-\[14px\]{height:14px}.h-\[150px\]{height:150px}.h-\[15px\]{height:15px}.h-\[18px\]{height:18px}.h-\[26px\]{height:26px}.h-\[30px\]{height:30px}.h-\[34px\]{height:34px}.h-\[38px\]{height:38px}.h-\[42px\]{height:42px}.h-\[9px\]{height:9px}.h-full{height:100%}.h-px{height:1px}.max-h-\[88vh\]{max-height:88vh}.min-h-\[36px\]{min-height:36px}.w-2\.5{width:.625rem}.w-2\/3{width:66.666667%}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-40{width:10rem}.w-9{width:2.25rem}.w-\[10\%\]{width:10%}.w-\[12\%\]{width:12%}.w-\[14\%\]{width:14%}.w-\[14px\]{width:14px}.w-\[15px\]{width:15px}.w-\[16\%\]{width:16%}.w-\[18\%\]{width:18%}.w-\[18px\]{width:18px}.w-\[22\%\]{width:22%}.w-\[34px\]{width:34px}.w-\[360px\]{width:360px}.w-\[38px\]{width:38px}.w-\[55\%\]{width:55%}.w-\[88\%\]{width:88%}.w-\[92\%\]{width:92%}.w-\[95\%\]{width:95%}.w-\[97\%\]{width:97%}.w-\[9px\]{width:9px}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[190px\]{min-width:190px}.min-w-\[230px\]{min-width:230px}.min-w-\[2px\]{min-width:2px}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-\[260px\]{max-width:260px}.max-w-\[400px\]{max-width:400px}.max-w-\[540px\]{max-width:540px}.max-w-\[62ch\]{max-width:62ch}.max-w-\[760px\]{max-width:760px}.max-w-\[calc\(100vw-32px\)\]{max-width:calc(100vw - 32px)}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.translate-y-1{--tw-translate-y:.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-\.22em\]{--tw-translate-y:-.22em;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-start{place-items:start}.place-items-center{place-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0\.5{gap:.125rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-\[11px\]{gap:11px}.gap-\[3px\]{gap:3px}.gap-\[5px\]{gap:5px}.gap-\[9px\]{gap:9px}.gap-\[var\(--sp-2\)\]{gap:var(--sp-2)}.gap-\[var\(--sp-4\)\]{gap:var(--sp-4)}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1\.5{row-gap:.375rem}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:var(--radius)}.rounded-\[10px\]{border-radius:10px}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[var\(--radius\)\],.rounded-lg{border-radius:var(--radius)}.rounded-none{border-radius:0}.rounded-pill{border-radius:var(--radius-pill)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.rounded-t-\[3px\]{border-top-left-radius:3px;border-top-right-radius:3px}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-0{border-bottom-width:0px}.border-t{border-top-width:1px}.border-border{border-color:var(--color-border)}.border-border-strong{border-color:var(--color-border-strong)}.border-brand{border-color:var(--brand)}.border-current{border-color:currentColor}.border-sev-error-bd{border-color:var(--sev-error-bd)}.border-sev-error-fg{border-color:var(--sev-error-fg)}.border-sev-info-bd{border-color:var(--sev-info-bd)}.border-sev-ok-bd{border-color:var(--sev-ok-bd)}.border-sev-warn-bd{border-color:var(--sev-warn-bd)}.border-transparent{border-color:transparent}.border-r-transparent{border-right-color:transparent}.bg-\[color\:var\(--color-bg\)\]{background-color:var(--color-bg)}.bg-\[rgba\(10\,12\,22\,\.5\)\]{background-color:#0a0c1680}.bg-\[var\(--brand-soft\)\]{background-color:var(--brand-soft)}.bg-\[var\(--st-degraded\)\]{background-color:var(--st-degraded)}.bg-\[var\(--st-offline\)\]{background-color:var(--st-offline)}.bg-\[var\(--st-online\)\]{background-color:var(--st-online)}.bg-border{background-color:var(--color-border)}.bg-brand{background-color:var(--brand)}.bg-brand-soft{background-color:var(--brand-soft)}.bg-sev-error-bg{background-color:var(--sev-error-bg)}.bg-sev-error-fg{background-color:var(--sev-error-fg)}.bg-sev-info-bg{background-color:var(--sev-info-bg)}.bg-sev-info-fg{background-color:var(--sev-info-fg)}.bg-sev-ok-bg{background-color:var(--sev-ok-bg)}.bg-sev-warn-bg{background-color:var(--sev-warn-bg)}.bg-sev-warn-fg{background-color:var(--sev-warn-fg)}.bg-surface{background-color:var(--color-surface)}.bg-surface-alt{background-color:var(--color-surface-alt)}.bg-tip-bg{background-color:var(--tip-bg)}.bg-transparent{background-color:transparent}.p-0{padding:0}.p-1{padding:.25rem}.p-\[var\(--sp-4\)\]{padding:var(--sp-4)}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-\[11px\]{padding-left:11px;padding-right:11px}.px-\[13px\]{padding-left:13px;padding-right:13px}.px-\[14px\]{padding-left:14px;padding-right:14px}.px-\[9px\]{padding-left:9px;padding-right:9px}.px-\[var\(--sp-3\)\]{padding-left:var(--sp-3);padding-right:var(--sp-3)}.px-\[var\(--sp-4\)\]{padding-left:var(--sp-4);padding-right:var(--sp-4)}.px-\[var\(--sp-5\)\]{padding-left:var(--sp-5);padding-right:var(--sp-5)}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-\[13px\]{padding-top:13px;padding-bottom:13px}.py-\[18px\]{padding-top:18px;padding-bottom:18px}.py-\[5px\]{padding-top:5px;padding-bottom:5px}.py-\[9px\]{padding-top:9px;padding-bottom:9px}.py-\[calc\(var\(--sp-6\)\*1\.5\)\]{padding-top:calc(var(--sp-6) * 1.5);padding-bottom:calc(var(--sp-6) * 1.5)}.py-\[var\(--sp-3\)\]{padding-top:var(--sp-3);padding-bottom:var(--sp-3)}.py-\[var\(--sp-4\)\]{padding-top:var(--sp-4);padding-bottom:var(--sp-4)}.py-\[var\(--sp-6\)\]{padding-top:var(--sp-6);padding-bottom:var(--sp-6)}.py-px{padding-top:1px;padding-bottom:1px}.pb-4{padding-bottom:1rem}.pb-\[14px\]{padding-bottom:14px}.pb-\[18px\]{padding-bottom:18px}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pt-\[14px\]{padding-top:14px}.pt-\[18px\]{padding-top:18px}.pt-\[6vh\]{padding-top:6vh}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.align-\[-2px\]{vertical-align:-2px}.font-mono{font-family:var(--mono)}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[17px\]{font-size:17px}.text-\[26px\]{font-size:26px}.text-\[30px\]{font-size:30px}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.not-italic{font-style:normal}.leading-\[1\.05\]{line-height:1.05}.leading-\[1\.3\]{line-height:1.3}.leading-\[1\.4\]{line-height:1.4}.leading-\[1\.55\]{line-height:1.55}.leading-\[1\.5\]{line-height:1.5}.leading-\[1\.6\]{line-height:1.6}.leading-normal{line-height:1.5}.tracking-\[-\.02em\]{letter-spacing:-.02em}.tracking-\[\.04em\]{letter-spacing:.04em}.tracking-\[\.05em\]{letter-spacing:.05em}.text-\[color\:var\(--brand-text\)\]{color:var(--brand-text)}.text-\[color\:var\(--color-muted-aa\)\]{color:var(--color-muted-aa)}.text-brand{color:var(--brand)}.text-brand-contrast{color:var(--brand-contrast)}.text-current{color:currentColor}.text-heading{color:var(--color-heading)}.text-muted{color:var(--color-muted)}.text-sev-error-fg{color:var(--sev-error-fg)}.text-sev-info-fg{color:var(--sev-info-fg)}.text-sev-ok-fg{color:var(--sev-ok-fg)}.text-sev-warn-fg{color:var(--sev-warn-fg)}.text-text{color:var(--color-text)}.text-tip-fg{color:var(--tip-fg)}.text-white{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-70{opacity:.7}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--sev-error-fg\)_16\%\,transparent\)\]{--tw-shadow:0 0 0 3px color-mix(in srgb,var(--sev-error-fg) 16%,transparent);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--sev-info-fg\)_16\%\,transparent\)\]{--tw-shadow:0 0 0 3px color-mix(in srgb,var(--sev-info-fg) 16%,transparent);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--sev-warn-fg\)_16\%\,transparent\)\]{--tw-shadow:0 0 0 3px color-mix(in srgb,var(--sev-warn-fg) 16%,transparent);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--st-degraded\)_16\%\,transparent\)\]{--tw-shadow:0 0 0 3px color-mix(in srgb,var(--st-degraded) 16%,transparent);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--st-offline\)_16\%\,transparent\)\]{--tw-shadow:0 0 0 3px color-mix(in srgb,var(--st-offline) 16%,transparent);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_0_0_3px_color-mix\(in_srgb\,var\(--st-online\)_16\%\,transparent\)\]{--tw-shadow:0 0 0 3px color-mix(in srgb,var(--st-online) 16%,transparent);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\[0_1px_2px_rgba\(var\(--brand-rgb\)\,\.3\)\]{--tw-shadow:0 1px 2px rgba(var(--brand-rgb),.3);--tw-shadow-colored:0 1px 2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-hair{--tw-shadow:var(--shadow-hair);--tw-shadow-colored:var(--shadow-hair);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-pop{--tw-shadow:var(--shadow-pop);--tw-shadow-colored:var(--shadow-pop);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:var(--shadow-sm);--tw-shadow-colored:var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition-\[background\,border-color\,transform\,box-shadow\]{transition-property:background,border-color,transform,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[background\,color\]{transition-property:background,color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[border-color\,box-shadow\]{transition-property:border-color,box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[height\]{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[transform\,box-shadow\,border-color\]{transition-property:transform,box-shadow,border-color;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.duration-150{animation-duration:.15s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.\!running{animation-play-state:running!important}.running{animation-play-state:running}.\[font-variant-numeric\:tabular-nums\]{font-variant-numeric:tabular-nums}.\[transition-timing-function\:cubic-bezier\(\.16\,1\,\.3\,1\)\]{transition-timing-function:cubic-bezier(.16,1,.3,1)}*{box-sizing:border-box}html,body{margin:0}body{font-family:var(--font);font-size:var(--fs-body);line-height:var(--lh-body);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit;font-size:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:inherit}h1,h2,h3,h4{color:var(--color-heading);margin:0;letter-spacing:-.01em;font-family:var(--font-head,var(--font))}a{color:var(--brand-text);text-decoration:none}code{font-family:var(--mono);font-size:.92em;background:var(--color-surface-alt);padding:1px 5px;border-radius:5px}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:4px}::-moz-selection{background:var(--brand-soft)}::selection{background:var(--brand-soft)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px}.muted{color:var(--color-muted-aa)}.small{font-size:12px}.error{background:var(--sev-error-bg);color:var(--sev-error-fg);border:1px solid var(--sev-error-bd);padding:8px 12px;border-radius:var(--radius-sm);font-size:12.5px}.ic-svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none;box-shadow:0 0 0 3px transparent}.dot.on,.dot.ok{background:var(--st-online);box-shadow:0 0 0 3px color-mix(in srgb,var(--st-online) 16%,transparent)}.dot.off,.dot.down{background:var(--st-offline);box-shadow:0 0 0 3px color-mix(in srgb,var(--st-offline) 16%,transparent)}.dot.info{background:var(--sev-info-fg);box-shadow:0 0 0 3px color-mix(in srgb,var(--sev-info-fg) 16%,transparent)}.dot.warn{background:var(--sev-warn-fg);box-shadow:0 0 0 3px color-mix(in srgb,var(--sev-warn-fg) 16%,transparent)}.dot.err{background:var(--sev-error-fg);box-shadow:0 0 0 3px color-mix(in srgb,var(--sev-error-fg) 16%,transparent)}.dot.wait{background:var(--color-muted-aa);opacity:.5}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.dot.off{animation:pulse 1.6s infinite}@media (prefers-reduced-motion:reduce){.dot.off{animation:none}}.tag{display:inline-block;background:transparent;border:1px solid var(--color-border);color:var(--color-muted-aa);border-radius:var(--radius-pill);padding:2px 9px;font-size:11px;font-weight:500;margin:0;font-family:var(--mono)}.tag.mod{border-color:var(--color-border);color:var(--color-muted-aa);font-weight:500}.btn{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 13px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-weight:500;transition:background var(--dur-fast) var(--ease-standard),border-color var(--dur-fast) var(--ease-standard),transform var(--dur-fast) var(--ease-standard)}.btn:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong)}.btn:active{transform:translateY(1px)}.btn.danger{color:var(--sev-error-fg);border-color:var(--sev-error-bd)}.btn.danger:hover{background:var(--sev-error-bg)}.btn.sm{height:28px;padding:0 10px;font-size:11.5px}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--color-surface-alt)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:disabled:active{transform:none}.switch{position:relative;width:42px;height:24px;border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-alt);cursor:pointer;transition:background var(--dur-micro) var(--ease-standard),border-color var(--dur-micro) var(--ease-standard);flex:none}.switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform var(--dur-fast) var(--ease-emphasized)}.switch[aria-checked=true]{background:var(--brand);border-color:var(--brand)}.switch[aria-checked=true]:after{transform:translate(18px)}.two{grid-template-columns:1fr 1fr;align-items:start}.m-grid{display:grid;gap:var(--sp-3)}.m-grid.two{grid-template-columns:1fr 1fr;align-items:start}.m-field{display:grid;gap:4px}.m-field.full{grid-column:1 / -1}.m-field>span{font-size:12px;color:var(--color-muted-aa)}.m-in{padding:8px 11px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:12.5px;width:100%;transition:border-color var(--dur-micro) var(--ease-standard),box-shadow var(--dur-micro) var(--ease-standard)}.m-in:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}@media (max-width:620px){.m-grid.two{grid-template-columns:1fr}}@media (max-width:820px){.two{grid-template-columns:1fr}}.rbac-axis{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--sp-3);background:var(--color-surface-alt)}.axis-h{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted-aa)}.axis-h .ic-svg{width:14px;height:14px}.role-list{max-height:240px;overflow-y:auto;display:grid;gap:2px;margin-top:8px}.role-row{display:flex;align-items:center;gap:8px;padding:5px 6px;border-radius:var(--radius-xs);cursor:pointer}.role-row:hover{background:var(--color-surface)}.role-row input{margin:0;flex:none}.role-row .rn{font-family:var(--mono);font-size:12px;color:var(--color-text)}.role-row .rc{margin-left:auto;font-size:10px;color:var(--color-muted-aa);white-space:nowrap}.eff-box{border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:var(--sp-3);background:var(--color-surface)}.perm-groups{display:grid;gap:var(--sp-3);max-height:340px;overflow-y:auto;padding-right:2px}.perm-group{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);overflow:hidden}.perm-group-h{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;border-bottom:1px solid var(--color-border);background:var(--color-surface-2)}.perm-group-list{display:grid;gap:2px;padding:6px}#toasts{position:fixed;right:var(--sp-4);bottom:calc(var(--footer-h) + var(--sp-4));z-index:var(--z-toast);display:flex;flex-direction:column;gap:10px;max-width:360px;pointer-events:none}.toast{pointer-events:auto;display:flex;gap:11px;align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border);border-left-width:4px;border-radius:var(--radius-sm);box-shadow:var(--shadow-pop);padding:12px 14px;animation:toastin var(--dur-base) var(--ease-emphasized)}@keyframes toastin{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:none}}.toast.error{border-left-color:var(--sev-error-fg)}.toast.warn{border-left-color:var(--sev-warn-fg)}.toast.ok{border-left-color:var(--sev-ok-fg)}.toast.info{border-left-color:var(--sev-info-fg)}.toast .t-ic{flex:none;margin-top:1px}.toast .t-ic .ic-svg{width:18px;height:18px}.toast .t-ic.error{color:var(--sev-error-fg)}.toast .t-ic.warn{color:var(--sev-warn-fg)}.toast .t-ic.ok{color:var(--sev-ok-fg)}.toast .t-ic.info{color:var(--sev-info-fg)}.toast .t-body{min-width:0;flex:1}.toast .t-src{font-size:10.5px;font-weight:800;text-transform:uppercase;color:var(--color-muted-aa);letter-spacing:.04em}.toast .t-msg{font-weight:600;color:var(--color-heading);font-size:13px;margin-top:1px;overflow-wrap:anywhere}.toast .t-close{flex:none;background:transparent;border:0;color:var(--color-muted-aa);cursor:pointer;padding:0;display:grid;place-items:center;border-radius:6px}.toast .t-close:hover{color:var(--color-heading)}.toast .t-close .ic-svg{width:16px;height:16px}.hdr-icon-btn{width:40px!important;height:40px!important;border-radius:var(--radius-sm)!important}.menu{position:absolute;top:calc(100% + 9px);right:0;z-index:calc(var(--z-topbar) + 20);min-width:230px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-pop);overflow:hidden;transform-origin:top right;animation:menuIn var(--dur-base) var(--ease-emphasized)}@keyframes menuIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}}.menu.notif{width:360px;max-width:calc(100vw - 32px)}.menu-user{display:flex;align-items:center;gap:11px;padding:14px}.menu-user b{display:block;color:var(--color-heading);font-size:13px}.menu-user span{color:var(--color-muted-aa);font-size:11.5px}.menu-state{margin-left:auto;color:var(--color-muted-aa);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 14px;border-bottom:1px solid var(--color-border)}.menu-head b{color:var(--color-heading);font-size:13px}.menu-list{max-height:min(340px,60vh);overflow-y:auto}.menu-note{padding:8px 14px 10px;margin:0;font-size:11.5px;line-height:1.5;color:var(--color-muted-aa)}.menu-note b{color:var(--color-text);font-weight:700}.ntf-badge{position:absolute;top:7px;right:7px;width:8px;height:8px;padding:0;border-radius:50%;background:var(--sev-error-fg);color:transparent;font-size:0;line-height:0;box-shadow:0 0 0 2px var(--color-surface);pointer-events:none}:root.dark .ntf-badge{color:var(--color-bg)}.ntf-badge[hidden]{display:none}.ntf-empty{padding:32px 14px;text-align:center;color:var(--color-muted-aa);font-size:12.5px}.ntf-row{display:flex;gap:10px;padding:11px 12px;border-radius:var(--radius-sm);border-bottom:1px solid var(--color-border);transition:background var(--dur-micro) var(--ease-standard)}.ntf-row:last-child{border-bottom:0}.ntf-row:hover{background:var(--color-surface-alt)}.ntf-row.unread{background:var(--brand-soft)}.ntf-ic{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;flex:none}.ntf-ic .ic-svg{width:15px;height:15px}.ntf-ic.err,.ntf-ic.error{background:var(--sev-error-bg);color:var(--sev-error-fg)}.ntf-ic.warn{background:var(--sev-warn-bg);color:var(--sev-warn-fg)}.ntf-ic.ok{background:var(--sev-ok-bg);color:var(--sev-ok-fg)}.ntf-ic.info{background:var(--sev-info-bg);color:var(--sev-info-fg)}.ntf-body{flex:1;min-width:0}.ntf-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.ntf-time{color:var(--color-muted-aa);font-size:10.5px;font-family:var(--mono);white-space:nowrap;flex:none}.ntf-msg{color:var(--color-text);font-size:12px;margin-top:3px;line-height:1.4;overflow-wrap:anywhere}.nc-src{display:inline-block;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;padding:2px 7px;border-radius:var(--radius-pill);color:#fff;background:var(--color-muted)}.wa-splash{min-height:100vh;display:grid;place-items:center;grid-auto-flow:row;gap:12px;color:var(--color-muted);font-size:13px;background:var(--color-bg)}.wa-splash-dot{width:22px;height:22px;border-radius:50%;border:3px solid var(--color-border);border-top-color:var(--brand);animation:wa-spin .8s linear infinite}@keyframes wa-spin{to{transform:rotate(360deg)}}.placeholder\:text-muted::-moz-placeholder{color:var(--color-muted)}.placeholder\:text-muted::placeholder{color:var(--color-muted)}.first\:rounded-l-pill:first-child{border-top-left-radius:var(--radius-pill);border-bottom-left-radius:var(--radius-pill)}.last\:rounded-r-pill:last-child{border-top-right-radius:var(--radius-pill);border-bottom-right-radius:var(--radius-pill)}.hover\:-translate-y-0\.5:hover{--tw-translate-y:-.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-border-strong:hover{border-color:var(--color-border-strong)}.hover\:border-brand-hover:hover{border-color:var(--brand-hover)}.hover\:border-sev-error-bd:hover{border-color:var(--sev-error-bd)}.hover\:border-sev-error-fg:hover{border-color:var(--sev-error-fg)}.hover\:bg-brand-hover:hover{background-color:var(--brand-hover)}.hover\:bg-sev-error-bg:hover{background-color:var(--sev-error-bg)}.hover\:bg-sev-error-fg:hover{background-color:var(--sev-error-fg)}.hover\:bg-surface-alt:hover{background-color:var(--color-surface-alt)}.hover\:text-heading:hover{color:var(--color-heading)}.hover\:text-text:hover{color:var(--color-text)}.hover\:shadow-hover:hover{--tw-shadow:var(--shadow-hover);--tw-shadow-colored:var(--shadow-hover);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:brightness-110:hover{--tw-brightness:brightness(1.1);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.focus\:border-brand:focus{border-color:var(--brand)}.focus\:bg-sev-error-bg:focus{background-color:var(--sev-error-bg)}.focus\:bg-surface-alt:focus{background-color:var(--color-surface-alt)}.focus\:shadow-\[0_0_0_3px_var\(--brand-soft\)\]:focus{--tw-shadow:0 0 0 3px var(--brand-soft);--tw-shadow-colored:0 0 0 3px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.active\:translate-y-px:active{--tw-translate-y:1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-45:disabled{opacity:.45}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-expanded\:border-brand[aria-expanded=true]{border-color:var(--brand)}.aria-expanded\:bg-brand-soft[aria-expanded=true]{background-color:var(--brand-soft)}.aria-expanded\:text-brand[aria-expanded=true]{color:var(--brand)}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}@keyframes fade-out{0%{opacity:1}to{opacity:0}}.data-\[state\=closed\]\:animate-fade-out[data-state=closed]{animation:fade-out .15s ease}@keyframes zoom-out{0%{opacity:1;transform:none}to{opacity:0;transform:translateY(6px) scale(.97)}}.data-\[state\=closed\]\:animate-zoom-out[data-state=closed]{animation:zoom-out .12s ease}.data-\[state\=delayed-open\]\:animate-fade-in[data-state=delayed-open]{animation:fade-in .15s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.data-\[state\=open\]\:animate-fade-in[data-state=open]{animation:fade-in .15s ease}@keyframes zoom-in{0%{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}.data-\[state\=open\]\:animate-zoom-in[data-state=open]{animation:zoom-in .16s cubic-bezier(.16,1,.3,1)}.data-\[state\=checked\]\:border-brand[data-state=checked]{border-color:var(--brand)}.data-\[state\=checked\]\:bg-brand[data-state=checked]{background-color:var(--brand)}.data-\[state\=active\]\:text-\[color\:var\(--brand-text\)\][data-state=active]{color:var(--brand-text)}.data-\[state\=checked\]\:text-brand-contrast[data-state=checked]{color:var(--brand-contrast)}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:after\:absolute[data-state=active]:after{content:var(--tw-content);position:absolute}.data-\[state\=active\]\:after\:inset-x-\[14px\][data-state=active]:after{content:var(--tw-content);left:14px;right:14px}.data-\[state\=active\]\:after\:bottom-0[data-state=active]:after{content:var(--tw-content);bottom:0}.data-\[state\=active\]\:after\:h-0\.5[data-state=active]:after{content:var(--tw-content);height:.125rem}.data-\[state\=active\]\:after\:bg-brand[data-state=active]:after{content:var(--tw-content);background-color:var(--brand)}.data-\[state\=active\]\:after\:content-\[\'\'\][data-state=active]:after{--tw-content:"";content:var(--tw-content)}@media (prefers-reduced-motion: reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}.motion-reduce\:hover\:translate-y-0:hover{--tw-translate-y:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}}@media (min-width: 461px){.min-\[461px\]\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 1101px){.min-\[1101px\]\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.min-\[1101px\]\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width: 1400px){.min-\[1400px\]\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}.\[\&\>span\]\:truncate>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&_\.ic-svg\]\:h-5 .ic-svg{height:1.25rem}.\[\&_\.ic-svg\]\:h-\[17px\] .ic-svg{height:17px}.\[\&_\.ic-svg\]\:w-5 .ic-svg{width:1.25rem}.\[\&_\.ic-svg\]\:w-\[17px\] .ic-svg{width:17px}.\[\&_\.ic-svg\]\:text-muted .ic-svg{color:var(--color-muted)}.focus\:\[\&_\.ic-svg\]\:text-text .ic-svg:focus{color:var(--color-text)}.\[\&_svg\]\:h-14 svg{height:3.5rem}.\[\&_svg\]\:h-\[18px\] svg{height:18px}.\[\&_svg\]\:w-14 svg{width:3.5rem}.\[\&_svg\]\:w-\[18px\] svg{width:18px}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}:where(.cx-app,.cx-layer) :is(button,input,select,textarea){font:inherit;color:inherit}:where(.cx-app,.cx-layer) button:disabled{cursor:not-allowed;opacity:.55}.cx-mono{font-family:var(--mono);font-size:12.5px}.cx-muted{color:var(--text-3)}.cx-sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}h3.cx-sec{margin:20px 0 8px;font-size:13px;font-weight:600;color:var(--text-2)}.cx-app{display:grid;grid-template-columns:var(--rail-w) 1fr;grid-template-rows:var(--mast-h) 1fr var(--foot-h);height:100vh;transition:grid-template-columns var(--t)}.cx-app.collapsed{--rail-w: 60px}.cx-app.nofoot{grid-template-rows:var(--mast-h) 1fr 0}.cx-app.nofoot .cx-foot{visibility:hidden;border:0}.cx-rail{grid-column:1;grid-row:2 / 4;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;overflow:hidden}.collapsed .cx-rail-item span,.collapsed .cx-rail-item .cx-count,.collapsed .cx-rail-group{display:none}.collapsed .cx-rail-item{justify-content:center;padding:7px 0}.collapsed .cx-rail-group+.cx-rail-item{margin-top:10px}.collapsed .cx-rail-item[data-count]{position:relative}.collapsed .cx-rail-item[data-count]:after{content:"";position:absolute;top:4px;right:12px;width:7px;height:7px;border-radius:50%;background:var(--down);box-shadow:0 0 0 2px var(--surface)}.cx-tip{position:fixed;z-index:50;pointer-events:none;padding:5px 9px;border-radius:var(--radius);background:var(--text);color:var(--surface);font-size:12px;font-weight:500;white-space:nowrap;box-shadow:var(--shadow-pop);opacity:0;transform:translate(-4px);transition:opacity var(--t-fast),transform var(--t-fast)}.cx-tip.on{opacity:1;transform:none}.cx-tip:before{content:"";position:absolute;left:-4px;top:50%;width:8px;height:8px;margin-top:-4px;background:inherit;transform:rotate(45deg)}.cx-tip .n{margin-left:6px;padding:0 5px;border-radius:8px;background:var(--down);color:#fff;font-size:10.5px;font-weight:700}.cx-logo{width:28px;height:28px;border-radius:var(--radius);background:var(--brand);color:var(--on-brand);display:grid;place-items:center;font-weight:700;font-size:13px;flex:none;-o-object-fit:contain;object-fit:contain}img.cx-logo{background:none}.cx-brand{display:flex;align-items:center;gap:10px;white-space:nowrap}.cx-brand b{font-size:14px;font-weight:600}.cx-brand small{display:block;font-size:11.5px;color:var(--text-3);line-height:1.2;font-weight:400}.cx-nbadge{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--down);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;line-height:1}.cx-nbadge.brand{background:var(--brand)}.cx-user{display:flex;align-items:center;gap:8px;height:36px;padding:0 8px 0 4px;border:1px solid var(--border);border-radius:18px;background:var(--surface);cursor:pointer}.cx-user b{display:block;font-size:12.5px;line-height:1.1;text-align:left}.cx-user span.r{display:block;font-size:11px;color:var(--text-3);line-height:1.1;text-align:left}.cx-mast-search,.cx-chip-health{white-space:nowrap;overflow:hidden}@media (max-width: 1100px){.cx-user>span:last-child,.cx-brand small{display:none}.cx-mast .cx-chip-health{font-size:0;gap:0;padding:0 9px}}.cx-rail-nav{overflow:auto;padding:8px;flex:1}.cx-rail-group{margin:12px 8px 2px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.cx-rail-item{display:flex;align-items:center;gap:10px;width:100%;padding:5px 10px;border:0;background:none;border-radius:var(--radius);color:var(--text-2);text-align:left;font-weight:500;font-size:13.5px;line-height:1.5;cursor:pointer;transition:background var(--t-fast),color var(--t-fast)}.cx-rail-item:hover{background:var(--surface-2);color:var(--text)}.cx-rail-item[aria-current=page]{background:var(--brand-soft);color:var(--brand-text)}.cx-rail-item[aria-disabled=true]{opacity:.55;cursor:not-allowed}.cx-rail-item[aria-disabled=true]:hover{background:none;color:var(--text-2)}.cx-rail-item svg{width:16px;height:16px;flex:none}.cx-rail-item .cx-count{margin-left:auto;font-size:11px;font-weight:600;padding:0 6px;border-radius:10px;background:var(--down-soft);color:var(--down)}.cx-rail-item .cx-count.w{background:var(--warn-soft);color:var(--warn)}.cx-rail-foot{border-top:1px solid var(--border);padding:8px;flex:none}.cx-mast{grid-column:1 / 3;grid-row:1;display:flex;align-items:center;gap:8px;padding:0 16px 0 12px;background:var(--surface);border-bottom:1px solid var(--border);z-index:2;min-width:0}.cx-mast .cx-icon-btn{position:relative}.cx-mast-search{margin:0 auto;display:flex;align-items:center;gap:8px;width:440px;max-width:40vw;height:32px;padding:0 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text-3);cursor:pointer;font-size:14px}.cx-mast-search kbd{margin-left:auto;font:11px var(--mono);border:1px solid var(--border-strong);border-radius:3px;padding:0 4px}.cx-chip-health{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:14px;border:1px solid var(--border);background:var(--surface);font-size:12.5px;font-weight:500;color:var(--brand-text);cursor:pointer}.cx-chip-health:hover{text-decoration:none;background:var(--surface-2)}.cx-chip-health .dot{width:8px;height:8px;border-radius:50%;flex:none}.cx-icon-btn{width:32px;height:32px;display:grid;place-items:center;border:1px solid transparent;border-radius:var(--radius);background:none;color:var(--text-2);cursor:pointer;padding:0}.cx-icon-btn:hover{background:var(--surface-2);color:var(--text)}.cx-icon-btn svg{width:16px;height:16px}.cx-avatar{width:28px;height:28px;border-radius:50%;background:var(--surface-3);display:grid;place-items:center;font-size:12px;font-weight:600;flex:none}.cx-main{grid-column:2;grid-row:2;overflow:auto;min-width:0}.cx-main:focus{outline:none}.cx-page{max-width:1440px;margin:0 auto;padding:16px 24px 40px}.cx-foot{grid-column:2;grid-row:3;display:flex;align-items:center;gap:12px;padding:0 12px 0 16px;border-top:1px solid var(--border);background:var(--surface);font-size:12px;color:var(--text-3);white-space:nowrap;overflow:hidden}.cx-foot .sep{width:1px;height:16px;background:var(--border);flex:none}.cx-foot b{color:var(--text);font-weight:600}.cx-foot .right{margin-left:auto;display:flex;align-items:center;gap:14px}.cx-foot nav a{color:var(--text-2);font-weight:500;margin-left:12px}.cx-pill{display:inline-flex;align-items:center;gap:6px;height:20px;padding:0 8px;border-radius:10px;font-size:11px;font-weight:700;border:1px solid var(--border)}.cx-pill .dot{width:7px;height:7px;border-radius:50%;background:currentColor}.cx-pill.ok{color:var(--ok);background:var(--ok-soft);border-color:transparent}.cx-pill.deg{color:var(--warn);background:var(--warn-soft);border-color:transparent}.cx-pill.down{color:var(--down);background:var(--down-soft);border-color:transparent}.cx-pill.wait{color:var(--text-3);background:var(--surface-2);border-color:transparent}.cx-ft-toggle{width:26px;height:22px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);display:grid;place-items:center;color:var(--text-2);cursor:pointer;padding:0}.cx-foot-restore{position:fixed;right:16px;bottom:16px;width:36px;height:36px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface);color:var(--text-2);box-shadow:var(--shadow-pop);display:none;place-items:center;z-index:15;cursor:pointer}.nofoot~.cx-foot-restore{display:grid}.cx-skip{position:fixed;left:8px;top:-60px;z-index:60;padding:8px 12px;border-radius:var(--radius);background:var(--brand);color:var(--on-brand)}.cx-skip:focus{top:8px}.cx-crumbs{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-3);min-width:0;margin-bottom:6px}.cx-crumbs b{color:var(--text);font-weight:600}.cx-crumbs a{color:var(--brand-text)}.cx-crumbs svg{width:12px;height:12px}.cx-ph{display:flex;align-items:flex-start;gap:16px;margin-bottom:16px}.cx-ph h1{margin:0;font-size:20px;line-height:28px;font-weight:600;letter-spacing:-.01em;color:var(--text);font-family:var(--font)}.cx-ph p{margin:2px 0 0;color:var(--text-3);font-size:13px;max-width:760px}.cx-ph-actions{margin-left:auto;display:flex;gap:8px;align-items:center;flex:none;flex-wrap:wrap;justify-content:flex-end}.cx-ph-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cx-ph-meta{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.cx-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);font-weight:500;font-size:13px;cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast);white-space:nowrap;text-decoration:none}.cx-btn:hover:not(:disabled){background:var(--surface-2);text-decoration:none}.cx-btn svg{width:15px;height:15px}.cx-btn.primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}.cx-btn.primary:hover:not(:disabled){background:var(--brand-hover);border-color:var(--brand-hover)}.cx-btn.danger{color:var(--down)}.cx-btn.sm{height:26px;padding:0 8px;font-size:12.5px}.cx-badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:10px;font-size:11.5px;font-weight:600;white-space:nowrap}.cx-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.cx-badge.plain:before{display:none}.cx-badge.ok{background:var(--ok-soft);color:var(--ok)}.cx-badge.warn{background:var(--warn-soft);color:var(--warn)}.cx-badge.down{background:var(--down-soft);color:var(--down)}.cx-badge.info{background:var(--info-soft);color:var(--info)}.cx-badge.brand{background:var(--brand-soft);color:var(--brand-text)}.cx-tag{display:inline-block;font:11.5px var(--mono);padding:1px 6px;border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);color:var(--text-2)}.cx-inp{width:100%;height:32px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);font-size:13px}.cx-inp.err{border-color:var(--down)}.cx-err-msg{font-size:12px;color:var(--down);margin-top:4px}.cx-note{padding:10px 12px;border-radius:var(--radius);background:var(--info-soft);color:var(--text-2);font-size:12.5px;margin:12px 0}.cx-note.w{background:var(--warn-soft)}.cx-note.d{background:var(--down-soft)}.cx-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.cx-card+.cx-card{margin-top:16px}.cx-card-h{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap}.cx-card-h h2{margin:0;font-size:14px;font-weight:600;color:var(--text);font-family:var(--font);letter-spacing:0}.cx-card-h .cx-muted{font-size:12px}.cx-card-h .right{margin-left:auto;display:flex;gap:8px;align-items:center}.cx-card-b{padding:16px}.cx-grid{display:grid;gap:16px}.cx-grid>.cx-card+.cx-card{margin-top:0}.cx-grid.g-kpi{grid-template-columns:repeat(4,minmax(0,1fr))}.cx-grid.g-2{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}.cx-grid.g-2e{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-grid.g-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cx-kpi{padding:14px 16px}.cx-kpi .label{font-size:12.5px;color:var(--text-3);font-weight:500}.cx-kpi .value{font-size:24px;font-weight:600;letter-spacing:-.02em;margin-top:4px;font-variant-numeric:tabular-nums}.cx-kpi .value small{font-size:13px;font-weight:500;color:var(--text-3);margin-left:2px}.cx-kpi .meta{margin-top:6px;font-size:12px;color:var(--text-3)}.cx-att{list-style:none;margin:0;padding:0}.cx-att li+li{border-top:1px solid var(--border)}.cx-att-row{display:grid;grid-template-columns:4px 1fr auto;gap:12px;align-items:center;width:100%;padding:12px 16px 12px 0;border:0;background:none;text-align:left;cursor:pointer}.cx-att-row:hover{background:var(--surface-2)}.cx-att-row .bar{align-self:stretch;border-radius:0 3px 3px 0}.cx-att-row .t{font-weight:600;font-size:13.5px;display:block}.cx-att-row .d{font-size:12.5px;color:var(--text-3);margin-top:1px;display:block}.cx-att-row .go{font-size:12.5px;color:var(--brand-text);font-weight:500;white-space:nowrap}.cx-toolbar{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border);flex-wrap:wrap}.cx-search{display:flex;align-items:center;gap:6px;height:30px;padding:0 8px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);min-width:240px}.cx-search svg{width:14px;height:14px;color:var(--text-3);flex:none}.cx-search input{border:0;outline:0;background:none;width:100%;font-size:13px}.cx-filter{height:30px;padding:0 8px;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);font-size:13px}.cx-toolbar .right{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-3)}.cx-toolbar .stale{color:var(--warn)}.cx-bulk{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--brand-soft);border-bottom:1px solid var(--border);font-size:13px}.cx-tbl-wrap{overflow-x:auto}.cx-table{width:100%;border-collapse:collapse;font-size:13px}.cx-table th{text-align:left;font-weight:600;font-size:12px;color:var(--text-3);padding:0 12px;height:34px;border-bottom:1px solid var(--border);white-space:nowrap;background:var(--surface);letter-spacing:0;text-transform:none}.cx-table td{padding:0 12px;height:40px;border-bottom:1px solid var(--border);white-space:nowrap}.cx-table tbody tr.click{cursor:pointer}.cx-table tbody tr:hover{background:var(--surface-2)}.cx-table tbody tr:last-child td{border-bottom:0}.cx-table td.num,.cx-table th.num{text-align:right;font-variant-numeric:tabular-nums}.cx-table td.chk,.cx-table th.chk{width:36px;padding-right:0}.cx-table td.wrap{white-space:normal;padding-top:8px;padding-bottom:8px}.cx-name{font-weight:600}.cx-sub{display:block;font-size:12px;color:var(--text-3);font-weight:400}.cx-pager{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border);font-size:12px;color:var(--text-3)}.cx-pager .right{margin-left:auto;display:flex;gap:6px}.cx-pipe{list-style:none;margin:0;padding:0;counter-reset:s}.cx-pipe li{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:start;padding:10px 0;border-top:1px solid var(--border)}.cx-pipe li:first-child{border-top:0}.cx-pipe li:before{counter-increment:s;content:counter(s);width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:600;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.cx-pipe li.pass:before{background:var(--ok-soft);color:var(--ok);border-color:transparent}.cx-pipe li.fail:before{background:var(--down-soft);color:var(--down);border-color:transparent}.cx-pipe .t{font-weight:600;font-size:13px;display:block}.cx-pipe .d{font-size:12.5px;color:var(--text-3);display:block}.cx-meter{height:6px;border-radius:3px;background:var(--surface-3);overflow:hidden}.cx-meter i{display:block;height:100%;background:var(--brand)}.cx-meter i.w{background:var(--warn)}.cx-meter i.d{background:var(--down)}.cx-split{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--surface-3)}.cx-split i{display:block}.cx-steps{display:flex;gap:6px}.cx-steps span{flex:1;text-align:center;font-size:11.5px;padding:3px 0;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-3);border:1px solid var(--border)}.cx-steps span.done{background:var(--ok-soft);color:var(--ok);border-color:transparent}.cx-steps span.cur{background:var(--brand-soft);color:var(--brand-text);border-color:var(--brand);font-weight:600}.cx-state{display:grid;place-items:center;text-align:center;padding:56px 24px}.cx-state .ic{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--surface-2);color:var(--text-3);margin:0 auto 12px}.cx-state .ic svg{width:20px;height:20px}.cx-state h3{margin:0;font-size:14px;font-weight:600;color:var(--text);font-family:var(--font);letter-spacing:0}.cx-state p{margin:4px auto 14px;font-size:13px;color:var(--text-3);max-width:440px}.cx-state.unavail .ic{background:var(--warn-soft);color:var(--warn)}.cx-state .cx-mono{display:block;margin:-8px auto 14px;max-width:520px;color:var(--text-3);white-space:normal;overflow-wrap:anywhere}.cx-skel-rows>div{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px;padding:12px 0;border-top:1px solid var(--border)}.cx-skel-rows>div:first-child{border-top:0}.cx-skel{height:12px;border-radius:4px;background:linear-gradient(90deg,var(--surface-2),var(--surface-3),var(--surface-2));background-size:200% 100%;animation:cx-sh 1.2s infinite linear}@keyframes cx-sh{to{background-position:-200% 0}}@media (prefers-reduced-motion: reduce){.cx-skel{animation:none}}.cx-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px;overflow-x:auto}.cx-tab{border:0;background:none;padding:8px 12px;font-weight:500;font-size:14px;color:var(--text-3);border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;cursor:pointer;border-radius:0}.cx-tab:hover{color:var(--text)}.cx-tab[aria-selected=true]{color:var(--brand-text);border-bottom-color:var(--brand)}.cx-tab .n{margin-left:6px;font-size:11px;padding:0 6px;border-radius:9px;background:var(--surface-3);color:var(--text-2)}.cx-kv{display:grid;grid-template-columns:170px 1fr;gap:8px 16px;margin:0;font-size:13px}.cx-kv dt{color:var(--text-3)}.cx-kv dd{margin:0;min-width:0;overflow-wrap:anywhere}.cx-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#10182852;z-index:20;animation:cx-fade var(--t) ease}.cx-drawer{position:fixed;top:0;right:0;bottom:0;width:520px;max-width:100vw;background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--shadow-pop);z-index:21;display:flex;flex-direction:column;animation:cx-slide var(--t) ease;outline:none}@keyframes cx-fade{0%{opacity:0}}@keyframes cx-slide{0%{transform:translate(100%)}}.cx-drawer-h{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.cx-drawer-h h2{margin:0;font-size:15px;font-weight:600;overflow-wrap:anywhere;color:var(--text);font-family:var(--font);letter-spacing:0}.cx-drawer-b{padding:16px;overflow:auto;flex:1}.cx-drawer-f{display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;border-top:1px solid var(--border);flex-wrap:wrap}.cx-raw summary{cursor:pointer;font-size:12.5px;color:var(--text-3)}pre.cx-json{margin:12px 0 0;padding:12px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius);font:12px/1.6 var(--mono);overflow:auto;color:var(--text-2)}.cx-palette{position:fixed;top:12vh;left:50%;width:560px;max-width:calc(100vw - 32px);transform:translate(-50%);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop);z-index:31;animation:cx-drop var(--t-fast) ease;outline:none}@keyframes cx-drop{0%{opacity:0;transform:translate(-50%,-8px)}}.cx-palette input{width:100%;border:0;border-bottom:1px solid var(--border);padding:14px 16px;outline:0;background:none;font-size:15px;color:var(--text)}.cx-palette ul{list-style:none;margin:0;padding:6px;max-height:360px;overflow:auto}.cx-palette li button{display:flex;width:100%;gap:10px;align-items:center;border:0;background:none;padding:8px 10px;border-radius:var(--radius);text-align:left;cursor:pointer;font-size:14px;color:var(--text)}.cx-palette li button:hover,.cx-palette li button.sel{background:var(--surface-2)}.cx-palette li .g{margin-left:auto;font-size:12px;color:var(--text-3)}.cx-palette .empty{padding:10px;color:var(--text-3);font-size:13px}#toasts{position:fixed;right:20px;bottom:40px;left:auto;top:auto;display:flex;flex-direction:column;gap:8px;z-index:40}#toasts .toast{min-width:280px;max-width:380px;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--ok);border-radius:var(--radius);box-shadow:var(--shadow-pop);font-size:13px;color:var(--text);display:flex;gap:10px;align-items:flex-start}#toasts .toast.error{border-left-color:var(--down)}#toasts .toast.warn{border-left-color:var(--warn)}#toasts .toast.info{border-left-color:var(--brand)}#toasts .toast .t-ic{display:none}#toasts .toast .t-src{font-weight:600;font-size:12px;color:var(--text-2)}#toasts .toast .t-msg{color:var(--text)}#toasts .toast .t-close{margin-left:auto;border:0;background:none;color:var(--text-3);width:20px;height:20px;padding:0;display:grid;place-items:center;cursor:pointer}#toasts .toast .t-close svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}.cx-set{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px}.cx-set-nav{position:sticky;top:0;align-self:start;display:flex;flex-direction:column;gap:2px}.cx-field{display:grid;grid-template-columns:240px minmax(0,420px) auto;gap:4px 24px;padding:14px 0;border-top:1px solid var(--border);align-items:start}.cx-field:first-child{border-top:0}.cx-field label{font-weight:500;font-size:13px}.cx-field .help{grid-column:1;font-size:12px;color:var(--text-3)}.cx-field .ctl{grid-column:2;grid-row:1 / 3}.cx-field .ap{grid-column:3;grid-row:1 / 3}.cx-savebar{position:sticky;bottom:0;display:flex;align-items:center;gap:8px;padding:12px 16px;margin-top:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-pop)}.cx-savebar .right{margin-left:auto;display:flex;gap:8px}.cx-switch{position:relative;width:34px;height:20px;border-radius:10px;background:var(--border-strong);border:0;transition:background var(--t-fast);flex:none;cursor:pointer;padding:0}.cx-switch:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform var(--t-fast)}.cx-switch[aria-checked=true]{background:var(--brand)}.cx-switch[aria-checked=true]:after{transform:translate(14px)}.cx-mast .hdr-icon-btn{width:32px;height:32px;min-width:32px;padding:0;border-radius:var(--radius);border:1px solid transparent;background:none;color:var(--text-2);position:relative;box-shadow:none}.cx-mast .hdr-icon-btn:hover{background:var(--surface-2);color:var(--text)}.cx-mast .hdr-icon-btn .ic-svg{width:16px;height:16px}.cx-mast .ntf-badge{position:absolute;top:2px;right:2px;min-width:16px;width:auto;height:16px;padding:0 4px;border-radius:8px;background:var(--down);color:#fff;font-size:10px;font-weight:700;line-height:16px;text-align:center;box-shadow:none}.cx-mast .ntf-badge[hidden]{display:none}@media (max-width: 1100px){.cx-grid.g-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.cx-grid.g-2,.cx-grid.g-2e,.cx-grid.g-3{grid-template-columns:1fr}}@media (max-width: 1100px){.cx-set{grid-template-columns:1fr}.cx-set-nav{position:static;flex-direction:row;flex-wrap:wrap}.cx-set-nav .cx-rail-item{width:auto}.cx-field{grid-template-columns:minmax(0,1fr) auto}.cx-field .ctl{grid-column:1;grid-row:auto}.cx-field .ap{grid-column:2;grid-row:1}}@media (max-width: 760px){.cx-app{grid-template-columns:1fr}.cx-rail{display:none}.cx-mast,.cx-main,.cx-foot{grid-column:1}.cx-mast-search{display:none}.cx-page{padding:16px}.cx-set,.cx-field{grid-template-columns:1fr}.cx-field .ctl,.cx-field .ap{grid-column:1;grid-row:auto}}
