:root{--color-bg:#f5f7fb;--color-surface:#ffffff;--color-surface-alt:#f2f5f9;--color-surface-2:#fafbfe;--color-border:#e5e8ef;--color-border-strong:#d5dae3;--color-heading:#171a2b;--color-text:#4a5069;--color-muted:#8b91a5;--brand:#3557ff;--brand-rgb:53,87,255;--brand-hover:#233fd6;--brand-contrast:#fff;--brand-soft:rgba(53,87,255,.1);--accent2:#7c3aed;--color-muted-aa:#676d84;--brand-text:#3557ff;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--radius:14px;--radius-sm:9px;--radius-xs:7px;--radius-pill:100px;--shadow-hair:0 1px 2px 0 rgba(24,39,75,.04), 0 0 0 1px rgba(24,39,75,.03);--shadow-sm:0 1px 3px 0 rgba(24,39,75,.06), 0 1px 2px -1px rgba(24,39,75,.05);--shadow-hover:0 8px 24px -6px rgba(18,43,70,.14), 0 2px 6px -2px rgba(18,43,70,.08);--shadow-pop:0 18px 48px -12px rgba(18,43,70,.28), 0 4px 12px -4px rgba(18,43,70,.12);--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;--fs-body:13.5px;--lh-body:1.55;--sev-error-fg:#b42318;--sev-error-bg:#fef3f2;--sev-error-bd:#fda29b;--sev-warn-fg:#b54708;--sev-warn-bg:#fffaeb;--sev-warn-bd:#fedf89;--sev-ok-fg:#067647;--sev-ok-bg:#ecfdf3;--sev-ok-bd:#a6f4c5;--sev-info-fg:#175cd3;--sev-info-bg:#eff8ff;--sev-info-bd:#b2ddff;--st-online:#12b76a;--st-offline:#f04438;--st-degraded:#f79009;--tip-bg:#111827;--tip-fg:#f6f8ff;--skeleton-sheen:rgba(255,255,255,.85);--topbar-h:56px;--nav-w:228px;--nav-w-collapsed:64px;--footer-h:46px;--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:.15s;--dur-fast:.2s;--dur-base:.26s;--dur-slow:.32s;--dur-entrance:.4s}@media (prefers-reduced-motion:reduce){:root{--dur-micro:.01ms;--dur-fast:.01ms;--dur-base:.01ms;--dur-slow:.01ms;--dur-entrance:.01ms}*,*:before,*:after{transition-duration:.01ms!important;scroll-behavior:auto!important}}:root.dark{--color-bg:#0d1018;--color-surface:#161a27;--color-surface-alt:#1e2333;--color-surface-2:#141824;--color-border:#293049;--color-border-strong:#333c58;--color-heading:#eef0f7;--color-text:#b6bcd0;--color-muted:#7f879e;--brand-soft:rgba(90,120,255,.16);--color-muted-aa:#949cb2;--brand-text:#7d95ff;--shadow-hair:0 1px 2px 0 rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.02);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.5);--shadow-hover:0 8px 24px -6px rgba(0,0,0,.6), 0 2px 6px -2px rgba(0,0,0,.5);--shadow-pop:0 18px 48px -12px rgba(0,0,0,.7), 0 4px 12px -4px rgba(0,0,0,.5);--sev-error-bg:#3b1d1a;--sev-warn-bg:#3a2c12;--sev-ok-bg:#12321f;--sev-info-bg:#132a45;--sev-error-fg:#ff9d94;--sev-warn-fg:#fdd07a;--sev-ok-fg:#7be0a6;--sev-info-fg:#8ec5ff;--tip-bg:#e7eaf2;--tip-fg:#12151f;--skeleton-sheen:rgba(255,255,255,.07)}*,: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-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}.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-\[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-\[42px\]{height:42px}.h-\[9px\]{height:9px}.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-\[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-\[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}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.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))}@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}.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}.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-\[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}.whitespace-nowrap{white-space:nowrap}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[var\(--radius\)\],.rounded-lg{border-radius:var(--radius)}.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-\[rgba\(10\,12\,22\,\.5\)\]{background-color:#0a0c1680}.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-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-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-\[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)}.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-\[-2px\]{vertical-align:-2px}.font-mono{font-family:var(--mono)}.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}.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\],.leading-normal{line-height:1.5}.tracking-\[-\.02em\]{letter-spacing:-.02em}.tracking-\[\.05em\]{letter-spacing:.05em}.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_rgba\(18\,183\,106\,\.16\)\]{--tw-shadow:0 0 0 3px rgba(18,183,106,.16);--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_rgba\(240\,68\,56\,\.16\)\]{--tw-shadow:0 0 0 3px rgba(240,68,56,.16);--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_rgba\(247\,144\,9\,\.16\)\]{--tw-shadow:0 0 0 3px rgba(247,144,9,.16);--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_rgba\(53\,87\,255\,\.16\)\]{--tw-shadow:0 0 0 3px rgba(53,87,255,.16);--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}.\[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}a{color:var(--brand);text-decoration:none}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:12px}[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)}.muted{color:var(--color-muted)}.small{font-size:12px}.topbar{position:fixed;inset:0 0 auto 0;height:var(--topbar-h);z-index:var(--z-topbar);display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-4);background:color-mix(in srgb,var(--color-surface) 82%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--color-border)}.brand{display:flex;align-items:center;gap:var(--sp-2);font-weight:700;color:var(--color-heading);white-space:nowrap}.brand .logo{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--accent2));color:#fff;font-size:15px;font-weight:800;box-shadow:0 2px 8px -2px rgba(var(--brand-rgb),.5)}.brand small{font-weight:600;color:var(--color-muted);font-size:11px}.topbar .search{flex:1;min-width:80px;max-width:440px;margin:0 auto;position:relative}.topbar .search input{width:100%;height:36px;padding:0 12px 0 34px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-alt);color:var(--color-text);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.topbar .search input:focus{outline:none;border-color:var(--brand);background:var(--color-surface);box-shadow:0 0 0 3px var(--brand-soft)}.topbar .search svg{position:absolute;left:10px;top:10px;opacity:.5}.topbar .spacer{flex:1}.icon-btn{position:relative;width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);display:grid;place-items:center;transition:background .14s ease,transform .1s ease,border-color .14s ease}.icon-btn:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong)}.icon-btn:active{transform:translateY(1px)}.icon-btn[aria-expanded=true]{background:var(--brand-soft);border-color:var(--brand);color:var(--brand)}.ic-svg{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}.user{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:4px 8px 4px 6px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--color-text);transition:background .14s ease,border-color .14s ease}.user:hover{background:var(--color-surface-alt)}.user[aria-expanded=true]{background:var(--color-surface-alt);border-color:var(--color-border)}.user .av{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--accent2));color:#fff;display:grid;place-items:center;font-weight:700;font-size:12px;flex:none}.user .who{line-height:1.15;text-align:left}.user .who b{display:block;color:var(--color-heading);font-size:12.5px}.user .who span{color:var(--color-muted);font-size:11px}.user .caret{width:15px;height:15px;color:var(--color-muted);transition:transform .18s ease}.user[aria-expanded=true] .caret{transform:rotate(180deg)}.menu-wrap{position:relative;display:flex}.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 .16s cubic-bezier(.16,1,.3,1)}@keyframes menuIn{0%{opacity:0;transform:translateY(-6px) scale(.97)}}.menu-user{display:flex;align-items:center;gap:11px;padding:14px}.menu-user .av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--accent2));color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}.menu-user b{display:block;color:var(--color-heading);font-size:13px}.menu-user span{color:var(--color-muted);font-size:11.5px}.menu-div{height:1px;background:var(--color-border);margin:2px 0}.menu-item{display:flex;align-items:center;gap:11px;width:100%;padding:9px 14px;background:none;border:0;color:var(--color-text);font-weight:600;font-size:12.5px;text-align:left;transition:background .12s ease}.menu-item:hover{background:var(--color-surface-alt)}.menu-item .ic-svg{width:17px;height:17px;color:var(--color-muted);flex:none}.menu-item:hover .ic-svg{color:var(--color-text)}.menu-item.danger,.menu-item.danger .ic-svg{color:var(--sev-error-fg)}.menu-item.danger:hover{background:var(--sev-error-bg)}.menu-item:disabled,.menu-item[aria-disabled=true]{opacity:.5;cursor:not-allowed}.menu-item:disabled:hover,.menu-item[aria-disabled=true]:hover{background:none}.menu-item:disabled:hover .ic-svg,.menu-item[aria-disabled=true]:hover .ic-svg{color:var(--color-muted)}.menu-state{margin-left:auto;color:var(--color-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.skip-link{position:fixed;left:8px;top:-48px;background:var(--brand);color:var(--brand-contrast);padding:8px 14px;border-radius:8px;z-index:var(--z-toast);font-weight:700;font-size:13px;transition:top .15s ease}.skip-link:focus{top:8px;outline:2px solid var(--brand);outline-offset:2px}.main:focus{outline:none}.nav{position:fixed;top:var(--topbar-h);left:0;bottom:0;width:var(--nav-w);z-index:var(--z-nav);background:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden;transition:width .2s cubic-bezier(.4,0,.2,1)}.nav .nav-main{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:var(--sp-3) var(--sp-2) var(--sp-2)}.nav .nav-bottom{flex:none;padding:var(--sp-2);border-top:1px solid var(--color-border);background:var(--color-surface)}.nav .nav-bottom .item{margin:0}.nav .item.disabled{color:var(--color-muted);opacity:.55;cursor:not-allowed}.nav .item.disabled:hover{background:transparent}.nav .grp{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);font-weight:800;padding:var(--sp-4) var(--sp-3) var(--sp-1);transition:opacity .15s}.nav .item{position:relative;display:flex;align-items:center;gap:11px;padding:9px 11px;border-radius:var(--radius-sm);color:var(--color-text);font-weight:600;margin:2px 0;white-space:nowrap;width:100%;background:none;border:0;text-align:left;font-size:var(--fs-body);transition:background .14s ease,color .14s ease}.nav .item:hover{background:var(--color-surface-alt)}.nav .item.active{background:var(--brand-soft);color:var(--brand)}.nav .item.active:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:3px;border-radius:3px;background:var(--brand)}.nav .item .ic{width:22px;height:22px;display:grid;place-items:center;flex:none}.nav .item .ic .ic-svg{width:20px;height:20px}.nav .item .badge{margin-left:auto;font-size:10px;font-weight:800;padding:1px 7px;border-radius:var(--radius-pill);background:var(--sev-error-bg);color:var(--sev-error-fg);border:1px solid var(--sev-error-bd)}.nav .label{transition:opacity .14s}:root.nav-collapsed .nav{width:var(--nav-w-collapsed)}:root.nav-collapsed .nav .label,:root.nav-collapsed .nav .grp,:root.nav-collapsed .nav .badge{display:none}:root.nav-collapsed .nav .item{justify-content:center;gap:0;padding:11px 0;margin:3px 0}:root.nav-collapsed .nav .item .ic{width:24px;height:24px}:root.nav-collapsed .nav .item .ic .ic-svg{width:22px;height:22px}:root.nav-collapsed .nav .item.active:before{top:10px;bottom:10px}.main{margin-top:var(--topbar-h);margin-left:var(--nav-w);padding:var(--sp-5) var(--sp-5) calc(var(--footer-h) + var(--sp-5));transition:margin-left .2s cubic-bezier(.4,0,.2,1);min-height:calc(100vh - var(--topbar-h))}:root.nav-collapsed .main{margin-left:var(--nav-w-collapsed)}.view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap}.view-head h1{font-size:22px;font-weight:800}.view-head p{margin:5px 0 0;color:var(--color-muted);font-size:12.5px;max-width:70ch}@keyframes viewEnter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.view-enter{animation:viewEnter .32s cubic-bezier(.16,1,.3,1)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,border-color .2s ease}.card:hover{box-shadow:var(--shadow-hover)}.card .hd{padding:var(--sp-4) var(--sp-4);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.card .hd h3{font-size:14.5px;font-weight:700}.card .bd{padding:var(--sp-4)}.grid{display:grid;gap:var(--sp-4)}.tiles{grid-template-columns:repeat(4,1fr)}.two{grid-template-columns:1fr 1fr;align-items:start}.svc-grid{grid-template-columns:repeat(3,1fr)}.tile{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--sp-4);box-shadow:var(--shadow-sm);transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease,border-color .18s ease}.tile:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:var(--color-border-strong)}.tile .k{font-size:11px;color:var(--color-muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:6px}.tile .v{font-size:30px;font-weight:800;color:var(--color-heading);line-height:1.05;margin-top:8px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.tile .v small{font-size:14px;font-weight:600;color:var(--color-muted)}.tile .sub{font-size:12px;color:var(--color-muted);margin-top:4px}.sect-gap{margin-top:var(--sp-5)}.hint{font-size:11.5px;color:var(--color-muted)}.chart-cur{font-family:var(--mono);font-weight:700;color:var(--color-heading);font-variant-numeric:tabular-nums;font-size:12px}.chart{display:flex;align-items:flex-end;gap:3px;height:44px;margin-top:10px}.chart span{flex:1;background:linear-gradient(180deg,rgba(var(--brand-rgb),.65),rgba(var(--brand-rgb),.35));border-radius:3px 3px 0 0;min-width:2px;transition:height .3s cubic-bezier(.16,1,.3,1)}.chart.warn span{background:linear-gradient(180deg,var(--sev-warn-fg),rgba(181,71,8,.4));opacity:.7}.spark{height:26px}.lchart{width:100%;height:132px;display:block}.lchart.tall{height:150px}.line{fill:none;stroke-width:2;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}.area{stroke:none}.line.brand{stroke:var(--brand)}.area.brand{fill:var(--brand-soft)}.line.p95{stroke:var(--brand)}.area.p95{fill:var(--brand-soft)}.line.err{stroke:var(--sev-error-fg)}.area.err{fill:var(--sev-error-bg)}.grid-line{stroke:var(--color-border);stroke-width:1;vector-effect:non-scaling-stroke;opacity:.7}.x-axis{display:flex;justify-content:space-between;margin-top:8px;font-size:10px;color:var(--color-muted);font-family:var(--mono)}.chart-legend{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:11.5px;color:var(--color-muted);margin-top:12px}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend b{display:inline-block;width:10px;height:10px;border-radius:3px}.chart-legend em{font-style:normal;color:var(--color-heading);font-weight:700;font-variant-numeric:tabular-nums}.chart-legend .ovw-bars{flex:1;min-width:120px;margin-left:auto;align-self:stretch}.chart-legend .ovw-bars .chart{height:34px;margin-top:0}.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:none;box-shadow:0 0 0 3px transparent}.dot.on{background:var(--st-online);box-shadow:0 0 0 3px #12b76a29}.dot.off{background:var(--st-offline);box-shadow:0 0 0 3px #f0443829}.dot.deg{background:var(--st-degraded);box-shadow:0 0 0 3px #f7900929}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.dot.deg,.dot.off{animation:pulse 1.6s infinite}table.dt{width:100%;border-collapse:collapse;font-size:12.5px}table.dt th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);font-weight:800;padding:10px 11px;border-bottom:1px solid var(--color-border);white-space:nowrap;background:var(--color-surface-2)}table.dt td{padding:10px 11px;border-bottom:1px solid var(--color-border);vertical-align:middle}table.dt tr:last-child td{border-bottom:0}table.dt tbody tr{transition:background .12s ease}table.dt tbody tr:hover{background:var(--color-surface-alt)}.dt-wrap{overflow-x:auto;border-radius:0 0 var(--radius) var(--radius)}.dt-toolbar{display:flex;align-items:center;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.dt-search{display:flex;align-items:center;gap:8px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:6px 10px;color:var(--color-muted);flex:1 1 auto;min-width:150px;max-width:340px;transition:border-color .15s ease,box-shadow .15s ease}.dt-search:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.dt-search svg{opacity:.6;flex:none}.dt-search input{border:0;background:transparent;color:var(--color-text);outline:none;width:100%}.dt-toolbar .spacer{margin-left:auto}.dt-count{font-size:11.5px;color:var(--color-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.viewswitch{display:inline-flex;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;flex:none}.viewswitch button{width:38px;height:32px;border:0;background:var(--color-surface);color:var(--color-muted);display:grid;place-items:center;transition:background .14s ease,color .14s ease}.viewswitch button:hover{background:var(--color-surface-alt);color:var(--color-text)}.viewswitch button[aria-pressed=true]{background:var(--brand);color:var(--brand-contrast)}.viewswitch button+button{border-left:1px solid var(--color-border)}.viewswitch .ic-svg{width:18px;height:18px}.dt-colmenu{position:relative;flex:none}.dt-colmenu-btn{display:inline-flex;align-items:center;gap:6px}.dt-colmenu-btn .ic-svg{opacity:.75}.dt-colmenu-pop{top:calc(100% + 6px);min-width:190px;max-height:min(320px,60vh);overflow-y:auto;padding:4px}.dt-colmenu-item{gap:9px;cursor:pointer;border-radius:var(--radius-xs);text-transform:capitalize}.dt-colmenu-item input{accent-color:var(--brand);width:15px;height:15px;flex:none}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:var(--sp-4);padding:var(--sp-4)}.svc-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--sp-4);display:flex;flex-direction:column;gap:7px;transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .18s ease,border-color .18s ease}.svc-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover);border-color:var(--color-border-strong)}.svc-card .sc-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.svc-card .sc-key{font-family:var(--mono);font-weight:700;color:var(--color-heading);font-size:13px;word-break:break-all}.svc-card .sc-url{font-family:var(--mono);font-size:11px;color:var(--color-muted);word-break:break-all}.svc-card .sc-routes{display:flex;flex-wrap:wrap;gap:2px;margin-top:2px}.svc-card .sc-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:auto;padding-top:8px;border-top:1px solid var(--color-border)}.pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:2px 9px;border-radius:var(--radius-pill);border:1px solid transparent;white-space:nowrap}.pill.ok{background:var(--sev-ok-bg);color:var(--sev-ok-fg);border-color:var(--sev-ok-bd)}.pill.warn{background:var(--sev-warn-bg);color:var(--sev-warn-fg);border-color:var(--sev-warn-bd)}.pill.err{background:var(--sev-error-bg);color:var(--sev-error-fg);border-color:var(--sev-error-bd)}.pill.info{background:var(--sev-info-bg);color:var(--sev-info-fg);border-color:var(--sev-info-bd)}.pill.neutral{background:var(--color-surface-alt);color:var(--color-muted);border-color:var(--color-border)}.meter{height:8px;border-radius:var(--radius-pill);background:var(--color-surface-alt);overflow:hidden}.meter i{display:block;height:100%;background:var(--brand);border-radius:var(--radius-pill);transition:width .5s cubic-bezier(.16,1,.3,1)}.meter i.over{background:var(--sev-error-fg)}.meter i.warn{background:var(--sev-warn-fg)}.ntf-ic.err{background:var(--sev-error-bg);color:var(--sev-error-fg)}.tag{display:inline-block;background:var(--color-surface-alt);border:1px solid var(--color-border);color:var(--color-text);border-radius:var(--radius-xs);padding:1px 8px;font-size:11px;font-weight:600;margin:2px 4px 2px 0;font-family:var(--mono)}.tag.pub{background:var(--sev-ok-bg);color:var(--sev-ok-fg);border-color:var(--sev-ok-bd)}.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:600;transition:background .14s ease,border-color .14s ease,transform .08s ease,box-shadow .14s ease}.btn:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong)}.btn:active{transform:translateY(1px)}.btn.pri{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast);box-shadow:0 1px 2px rgba(var(--brand-rgb),.3)}.btn.pri:hover{background:var(--brand-hover);border-color:var(--brand-hover)}.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}.route{display:flex;gap:6px;align-items:center;margin:2px 0}.filters{display:flex;gap:var(--sp-2);flex-wrap:wrap;margin-bottom:var(--sp-3);align-items:center}.filters select,.filters input{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;transition:border-color .15s ease,box-shadow .15s ease}.filters select:focus,.filters input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.lead-row{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--color-border)}.lead-row:last-child{border-bottom:0}.lead-row .rank{width:24px;height:24px;border-radius:50%;background:var(--color-surface-alt);color:var(--color-muted);font-weight:800;font-size:11px;display:grid;place-items:center;flex:none}.lead-row .nm{flex:1;font-weight:600;color:var(--color-heading)}.lead-row .nm small{color:var(--color-muted);font-weight:500;font-family:var(--mono);font-size:11px}.lead-row .score{font-weight:800;font-variant-numeric:tabular-nums;width:44px;text-align:right}.evt{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--color-border);font-size:12.5px;align-items:flex-start}.evt:last-child{border-bottom:0}.evt .t{color:var(--color-muted);font-family:var(--mono);font-size:11px;white-space:nowrap;padding-top:1px}.evt .eb{flex:1;min-width:0}.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}code{font-family:var(--mono);font-size:.92em;background:var(--color-surface-alt);padding:1px 5px;border-radius:5px}body.modal-lock{overflow:hidden}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1680;z-index:var(--z-modal);display:none;align-items:flex-start;justify-content:center;padding:6vh 16px 16px;overflow-y:auto}.modal-backdrop.open{display:flex;animation:mfade .15s ease}@keyframes mfade{0%{opacity:0}to{opacity:1}}.modal{width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;max-height:88vh;animation:mrise .18s ease}@keyframes mrise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.modal.sm{max-width:400px}.modal.md{max-width:540px}.modal.lg{max-width:760px}.modal-head{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--color-border)}.modal-head .m-ic{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.modal-head .m-ic .ic-svg{width:20px;height:20px}.modal-head.warn .m-ic{background:var(--sev-warn-bg);color:var(--sev-warn-fg)}.modal-title{font-size:17px;color:var(--color-heading);line-height:1.3;font-weight:800}.modal-sub{font-size:12.5px;color:var(--color-muted);margin-top:2px}.modal-x{margin-left:auto;flex:none;width:34px;height:34px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--color-muted);display:grid;place-items:center;cursor:pointer;transition:background .14s ease,color .14s ease}.modal-x:hover{background:var(--color-surface-alt);color:var(--color-heading)}.modal-x .ic-svg{width:18px;height:18px}.modal-body{padding:18px 20px;overflow-y:auto}.modal-body p{margin:0 0 10px}.modal-body p:last-child{margin-bottom:0}.modal-body .strong{font-weight:800;color:var(--color-heading)}.modal-foot{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px 18px;border-top:1px solid var(--color-border);flex-wrap:wrap}.btn.btn-danger,.btn-danger{background:var(--sev-error-fg);border-color:var(--sev-error-fg);color:#fff}.btn.btn-danger:hover,.btn-danger:hover{filter:brightness(1.08);background:var(--sev-error-fg);border-color:var(--sev-error-fg)}.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)}.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 .15s ease,box-shadow .15s ease}.m-in:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}@media (max-width:620px){.modal-backdrop{padding:12px 10px}.modal.sm,.modal.md,.modal.lg{max-width:100%}.m-grid.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)}.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);white-space:nowrap}.eff-box{border:1px dashed var(--color-border);border-radius:var(--radius-sm);padding:var(--sp-3);background:var(--color-surface)}.rbac-tabbar{display:flex;gap:2px;align-items:center;border-bottom:1px solid var(--color-border);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:0 var(--sp-2)}.rbac-tabbar .tab{border:0;background:transparent;padding:12px 16px;font-weight:700;font-size:13px;color:var(--color-muted);position:relative;white-space:nowrap;cursor:pointer;transition:color .14s ease}.rbac-tabbar .tab:hover{color:var(--color-text)}.rbac-tabbar .tab[aria-selected=true]{color:var(--brand)}.rbac-tabbar .tab[aria-selected=true]:after{content:"";position:absolute;left:14px;right:14px;bottom:-1px;height:2px;background:var(--brand);border-radius:2px}.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}.tip{position:fixed;top:0;left:0;z-index:var(--z-tip);max-width:260px;pointer-events:none;background:var(--tip-bg);color:var(--tip-fg);font-size:11.5px;font-weight:600;line-height:1.4;padding:5px 9px;border-radius:8px;box-shadow:var(--shadow-pop);white-space:nowrap;opacity:0;transform:translateY(2px);transition:opacity .12s ease,transform .12s ease}.tip.show{opacity:1;transform:none}.app-footer{position:fixed;left:var(--nav-w);right:0;bottom:0;height:var(--footer-h);z-index:var(--z-footer);display:flex;align-items:center;gap:var(--sp-4);padding:0 52px 0 var(--sp-4);background:color-mix(in srgb,var(--color-surface) 88%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-top:1px solid var(--color-border);color:var(--color-muted);font-size:12px;overflow:hidden;transition:height .2s ease,left .2s cubic-bezier(.4,0,.2,1)}:root.nav-collapsed .app-footer{left:var(--nav-w-collapsed)}.app-footer .ft-ver{font-size:11px;font-weight:700;color:var(--color-muted);background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:2px 9px;font-family:var(--mono)}.ft-status{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:11px;padding:3px 10px;border-radius:var(--radius-pill);border:1px solid transparent;white-space:nowrap}.ft-status.ok{background:var(--sev-ok-bg);color:var(--sev-ok-fg);border-color:var(--sev-ok-bd)}.ft-status.deg{background:var(--sev-warn-bg);color:var(--sev-warn-fg);border-color:var(--sev-warn-bd)}.ft-status.err{background:var(--sev-error-bg);color:var(--sev-error-fg);border-color:var(--sev-error-bd)}.ft-node{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--color-muted)}.ft-node b{color:var(--color-text);font-weight:700}.ft-env{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;color:var(--sev-error-fg);background:var(--sev-error-bg);border:1px solid var(--sev-error-bd);border-radius:var(--radius-pill);padding:3px 9px}.ft-sep{width:1px;height:18px;background:var(--color-border);flex:none}.app-footer .ft-right{margin-left:auto;display:flex;align-items:center;gap:var(--sp-4)}.ft-clock{font-family:var(--mono);font-size:11px;color:var(--color-muted);white-space:nowrap}.ft-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:32px;height:26px;border-radius:8px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);display:grid;place-items:center;cursor:pointer;transition:background .14s ease}.ft-toggle:hover{background:var(--color-surface-alt)}:root.footer-hidden .app-footer{height:0;border-top:0;padding-top:0;padding-bottom:0}:root.footer-hidden .app-footer>*{opacity:0}:root.footer-hidden .main{padding-bottom:var(--sp-5)}.footer-restore{position:fixed;right:16px;bottom:16px;z-index:calc(var(--z-footer) + 1);width:38px;height:38px;border-radius:11px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);display:none;place-items:center;cursor:pointer;box-shadow:var(--shadow-hover);transition:background .14s ease,transform .1s ease}.footer-restore:hover{background:var(--color-surface-alt)}.footer-restore:active{transform:translateY(1px)}:root.footer-hidden .footer-restore{display:grid}.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:var(--sp-2)}.login-brand .logo{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--accent2));color:#fff;font-size:18px;font-weight:800;box-shadow:0 2px 10px -2px rgba(var(--brand-rgb),.5)}.login-brand b{display:block;color:var(--color-heading);font-size:15px;font-weight:800}.login-brand span{color:var(--color-muted);font-size:11.5px;font-weight:600}.signin{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--color-bg)}.brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:var(--sp-6) clamp(var(--sp-5),4vw,48px);color:#fff;background:linear-gradient(150deg,var(--brand),var(--brand-hover))}.brand-panel:after{content:"";position:absolute;inset:auto -160px -180px auto;width:520px;height:520px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(var(--brand-rgb),.75),transparent 68%)}.bp-brand{display:flex;align-items:center;gap:11px;position:relative;z-index:1}.bp-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;flex:none;background:#ffffff2e;border:1px solid rgba(255,255,255,.45);color:#fff;font-size:16px;font-weight:800;-o-object-fit:contain;object-fit:contain}.bp-name{font-size:18px;font-weight:800;color:#fff;letter-spacing:-.01em}.bp-body{margin-top:auto;padding-top:var(--sp-6);position:relative;z-index:1}.bp-body h2{color:#fff;font-size:clamp(24px,3vw,32px);line-height:1.15;font-weight:800;max-width:16ch}.bp-body p{margin:var(--sp-4) 0 0;color:#ffffffeb;font-size:15px;line-height:1.55;max-width:42ch}.bp-list{list-style:none;margin:var(--sp-6) 0 0;padding:0;display:grid;gap:12px}.bp-list li{display:flex;align-items:center;gap:11px;color:#ffffffeb;font-size:14px;font-weight:600}.bp-list .ic-svg{width:19px;height:19px;flex:none}.bp-foot{margin:var(--sp-6) 0 0;padding-top:var(--sp-5);position:relative;z-index:1;border-top:1px solid rgba(255,255,255,.25);color:#ffffffeb;font-size:13px;font-weight:600}.signin-pane{display:flex;flex-direction:column;justify-content:center;padding:var(--sp-6) var(--sp-5)}.signin-card{width:min(400px,100%);margin:0 auto;animation:signin-rise var(--dur-entrance) var(--ease-emphasized) both}@keyframes signin-rise{0%{opacity:0;transform:translateY(10px)}}.signin-card h1{font-size:26px;font-weight:800;letter-spacing:-.02em}.signin-card .sub{margin:6px 0 0;color:var(--color-muted-aa);font-size:14px}.signin-card>.sub+*{margin-top:var(--sp-5)}.signin-error{display:flex;align-items:center;gap:9px;margin-top:var(--sp-4);padding:10px 12px;border-radius:var(--radius-sm);background:var(--sev-error-bg);border:1px solid var(--sev-error-bd);color:var(--sev-error-fg);font-size:13px;font-weight:600}.signin-error .ic-svg{width:17px;height:17px;flex:none}.signin-field{margin-top:var(--sp-4)}.signin-field>label{display:block;margin-bottom:6px;font-size:13px;font-weight:600;color:var(--color-heading)}.signin-input{position:relative;display:flex;align-items:center}.signin-lead{position:absolute;left:12px;display:grid;place-items:center;color:var(--color-muted);pointer-events:none}.signin-lead .ic-svg{width:18px;height:18px}.signin-input input{width:100%;padding:12px 14px 12px 40px;font-size:15px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-heading);outline:none;transition:border-color var(--dur-micro) var(--ease-standard),box-shadow var(--dur-micro) var(--ease-standard)}.signin-input.has-reveal input{padding-right:44px}.signin-input input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.signin-reveal{position:absolute;right:2px;width:40px;height:40px;display:grid;place-items:center;border:0;background:transparent;border-radius:var(--radius-xs);color:var(--color-muted);transition:background var(--dur-micro) var(--ease-standard),color var(--dur-micro) var(--ease-standard)}.signin-reveal:hover{background:var(--color-surface-alt);color:var(--color-heading)}.signin-reveal .ic-svg{width:18px;height:18px}.signin-submit{width:100%;height:44px;margin-top:var(--sp-5);font-size:15px;font-weight:700;box-shadow:0 8px 20px -10px rgba(var(--brand-rgb),.65);transition:background var(--dur-micro) var(--ease-standard),border-color var(--dur-micro) var(--ease-standard),transform var(--dur-fast) var(--ease-emphasized),box-shadow var(--dur-fast) var(--ease-emphasized)}.signin-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px -10px rgba(var(--brand-rgb),.7)}.signin-submit:active:not(:disabled){transform:translateY(0)}.signin-note{display:flex;align-items:center;justify-content:center;gap:7px;margin:var(--sp-5) 0 0;color:var(--color-muted-aa);font-size:12.5px}.signin-note .ic-svg{width:15px;height:15px;flex:none}@media (max-width:900px){.signin{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.brand-panel{flex-direction:row;align-items:center;padding:var(--sp-5) var(--sp-4)}.brand-panel:after{inset:auto -90px -160px auto;width:300px;height:300px}.bp-body,.bp-foot{display:none}.signin-pane{padding:var(--sp-6) var(--sp-4)}}@media (max-width:420px){.signin-card h1{font-size:23px}.signin-pane{padding:var(--sp-5) var(--sp-4)}}@media (prefers-reduced-motion:reduce){.signin-card{animation:none}.signin-submit:hover:not(:disabled){transform:none}}#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 .22s cubic-bezier(.16,1,.3,1)}@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);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);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}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0c1666;z-index:var(--z-overlay);display:none}.drawer-backdrop.open{display:block;animation:dfade .15s ease}@keyframes dfade{0%{opacity:0}to{opacity:1}}.drawer{position:fixed;top:0;right:0;bottom:0;width:400px;max-width:92vw;background:var(--color-surface);border-left:1px solid var(--color-border);box-shadow:var(--shadow-pop);display:flex;flex-direction:column;animation:drawerin .24s cubic-bezier(.16,1,.3,1)}@keyframes drawerin{0%{transform:translate(100%)}to{transform:none}}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--color-border);flex:none}.drawer-title{font-size:16px;font-weight:800;color:var(--color-heading)}.drawer-body{flex:1;overflow-y:auto;padding:6px}.drawer-foot{flex:none;padding:12px 16px;border-top:1px solid var(--color-border);background:var(--color-surface-alt);display:flex;justify-content:flex-end;gap:var(--sp-2)}.ntf-badge{position:absolute;top:-6px;right:-6px;box-sizing:border-box;min-width:18px;height:18px;padding:0 5px;border-radius:var(--radius-pill);background:var(--sev-error-fg);color:#fff;font-size:10.5px;font-weight:700;line-height:18px;text-align:center;box-shadow:0 0 0 2px var(--color-surface);font-variant-numeric:tabular-nums;pointer-events:none}.ntf-badge[hidden]{display:none}.ntf-list{display:flex;flex-direction:column}.ntf-empty{padding:32px 14px;text-align:center;color:var(--color-muted);font-size:12.5px}.menu.notif{width:360px;max-width:calc(100vw - 32px)}.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}.ntf-row{display:flex;gap:10px;padding:11px 12px;border-radius:var(--radius-sm);border-bottom:1px solid var(--color-border);transition:background .12s ease}.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.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);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)}@media (max-width:1100px){.tiles,.svc-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:820px){.two{grid-template-columns:1fr}.app-footer .ft-node,.app-footer .ft-sep{display:none}}@media (max-width:760px){:root{--nav-w:64px}.nav .label,.nav .grp,.nav .badge{opacity:0;width:0;overflow:hidden;pointer-events:none}.nav .item{justify-content:center;padding:9px 0}.main{margin-left:64px}.topbar .search,.user .who{display:none}}@media (max-width:560px){.app-footer .ft-ver,.app-footer .ft-clock,.user .who span{display:none}}@media (max-width:460px){.tiles,.svc-grid{grid-template-columns:1fr}.brand small{display:none}}@media (prefers-reduced-motion:reduce){.view-enter,.dot.deg,.dot.off,.toast,.drawer,.drawer-backdrop,.api-panel{animation:none}*{transition-duration:.01ms!important}}.icon-btn.sm{width:28px;height:28px;border-radius:var(--radius-xs)}.icon-btn.sm .ic-svg{width:15px;height:15px}.icon-btn.ghost{border-color:transparent;background:transparent}.icon-btn.ghost:hover{background:var(--color-surface-alt);border-color:var(--color-border)}.icon-btn.danger{color:var(--sev-error-fg)}.icon-btn.danger:hover{background:var(--sev-error-bg);border-color:var(--sev-error-bd)}.icon-btn.on{color:var(--sev-ok-fg)}.icon-btn.on:hover{background:var(--sev-ok-bg);border-color:var(--sev-ok-bd)}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn:disabled:active{transform:none}table.dt th.sortable{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}table.dt th.sortable:hover,table.dt th.sortable[aria-sort=ascending],table.dt th.sortable[aria-sort=descending]{color:var(--color-text)}.bd.is-disabled,table.dt tr.is-disabled td{opacity:.6}table.dt tr.is-disabled:hover{background:transparent}.mock-note{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap}.api-layout{display:grid;grid-template-columns:1fr;gap:var(--sp-4);align-items:start}.api-layout.has-panel{grid-template-columns:minmax(0,1fr) 380px}.api-main>.api-mod.sect-gap:first-child{margin-top:0}.api-mod .bd.api-rows{padding:0}.api-row{display:grid;grid-template-columns:64px minmax(150px,1.3fr) minmax(110px,.9fr) minmax(0,2fr) auto;gap:var(--sp-3);align-items:center;padding:10px var(--sp-4);border-top:1px solid var(--color-border);cursor:pointer;transition:background .12s ease}.api-mod .bd.api-rows .api-row:first-child{border-top:none}.api-row:hover{background:var(--color-surface-alt)}.api-row.active{background:var(--color-surface-alt);box-shadow:inset 3px 0 0 var(--brand)}.api-row:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}.api-method{justify-content:center;min-width:56px}.api-path{font-size:12px;color:var(--color-heading);overflow-wrap:anywhere}.api-perm{justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis}.api-summary{font-size:12.5px;color:var(--color-muted);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.api-panel{position:sticky;top:var(--sp-4);align-self:start;animation:apiPanelIn .2s cubic-bezier(.16,1,.3,1)}@keyframes apiPanelIn{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}.api-panel .panel-path{display:inline-block;font-size:12.5px;color:var(--color-heading);margin-bottom:6px}.api-panel .panel-summary{font-size:12.5px;color:var(--color-muted);margin:0 0 10px}.api-panel .panel-perm{font-size:12px;margin-bottom:var(--sp-3)}.schema-block{margin-top:var(--sp-3)}.schema-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:5px}.schema-pre{margin:0;padding:12px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm,8px);font-size:11.5px;line-height:1.5;color:var(--color-heading);white-space:pre;overflow-x:auto}@media (max-width:900px){.api-layout.has-panel{grid-template-columns:1fr}.api-panel{position:static}.api-row{grid-template-columns:56px 1fr;row-gap:6px}.api-row .api-perm,.api-row .api-summary,.api-row .api-metrics{grid-column:1 / -1;justify-self:start}.api-row .api-summary{white-space:normal;overflow:visible}}.api-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--sp-4);margin-bottom:var(--sp-4)}.api-kpi{padding:var(--sp-4);display:flex;flex-direction:column}.api-kpi .kpi-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted);margin-bottom:6px}.api-kpi .widget-num{font-size:26px}.api-kpi .widget-num.api-kpi-when{font-size:14px;font-weight:700;line-height:1.3;letter-spacing:0}.api-kpi .kpi-spark{margin-top:8px}.api-kpi .kpi-spark .lchart{height:34px}.api-metrics{display:flex;gap:10px;font-size:11px;color:var(--color-muted);justify-self:end;white-space:nowrap;font-variant-numeric:tabular-nums}.api-metric-err.hot{color:var(--sev-warn-fg)}.api-panel .panel-metrics{justify-self:start;margin-bottom:var(--sp-3)}.api-tabs{margin-top:var(--sp-2)}.tester{display:flex;flex-direction:column;gap:var(--sp-3);margin-top:var(--sp-3)}.tester-row{display:flex;flex-direction:column;gap:5px}.tester-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.tester-path{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tester-params{display:flex;flex-wrap:wrap;gap:8px;margin-top:2px}.tester-param{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--color-muted)}.tester-param .param-in{width:120px;height:28px}.tester-headers{font-size:11.5px;color:var(--color-heading);line-height:1.7}.tester-headers .hk{color:var(--color-muted)}.tester-body{width:100%;padding:10px 11px;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm,8px);font-size:11.5px;line-height:1.5;color:var(--color-heading);resize:vertical;transition:border-color .15s ease,box-shadow .15s ease}.tester-body:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.tester-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}.tester-mock-note{font-size:11px}.resp-pending{padding:10px 0}.resp-block{margin-top:var(--sp-2);border-top:1px solid var(--color-border);padding-top:var(--sp-3)}.resp-status-row{display:flex;align-items:center;gap:10px;margin-bottom:var(--sp-2)}.resp-status{font-size:12px;font-weight:800;padding:2px 9px;border-radius:var(--radius-pill);border:1px solid transparent}.resp-status.ok{background:var(--sev-ok-bg);color:var(--sev-ok-fg);border-color:var(--sev-ok-bd)}.resp-status.err{background:var(--sev-error-bg);color:var(--sev-error-fg);border-color:var(--sev-error-bd)}.flow-wrap{height:min(620px,70vh);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;background:var(--color-surface);position:relative}.flow-node{background:var(--color-surface);border:1px solid var(--color-border-strong,var(--color-border));border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:10px 14px;min-width:126px;text-align:center;transition:box-shadow .18s ease,border-color .18s ease}.flow-node:hover{box-shadow:var(--shadow-hover)}.flow-node.selected{border-color:var(--brand);box-shadow:0 0 0 2px color-mix(in srgb,var(--brand) 35%,transparent)}.flow-node.gateway{background:var(--brand);border-color:var(--brand)}.flow-node.gateway .fn-name,.flow-node.gateway .fn-count{color:#fff}.fn-name{font-size:13px;font-weight:800;color:var(--color-heading)}.fn-count{font-size:11px;color:var(--color-muted);margin-top:3px}.flow-panel .kv{display:flex;justify-content:space-between;gap:12px;font-size:12.5px;padding:6px 0;border-top:1px solid var(--color-border)}.flow-panel .kv:first-child{border-top:none}.flow-panel .kv .mono{color:var(--color-heading)}.flow-legend{display:flex;gap:var(--sp-4);flex-wrap:wrap;margin-top:var(--sp-3);font-size:12px;color:var(--color-muted)}.flow-legend b{display:inline-block;width:22px;height:0;border-top-width:2px;border-top-style:solid;vertical-align:middle;margin-right:6px}.dash-group{margin-top:var(--sp-5)}.dash-group-hd{display:flex;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-3)}.dash-group-hd h3{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-muted)}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--sp-4);align-items:stretch}.widget{display:flex;flex-direction:column}.widget .hd{padding:12px var(--sp-4)}.widget .hd h3{font-size:12.5px;font-weight:700}.widget .bd{flex:1;display:flex;flex-direction:column;justify-content:center}.widget .kind-chip{font-size:10px;text-transform:uppercase;letter-spacing:.04em}.widget-num{font-size:32px;font-weight:800;color:var(--color-heading);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.02em}.widget-delta{font-size:12px;font-weight:700;margin-top:6px;display:inline-flex;align-items:center;gap:4px}.widget-delta.up{color:var(--sev-ok-fg)}.widget-delta.down{color:var(--sev-error-fg)}.mini-table{display:flex;flex-direction:column;font-size:12px}.mini-table .mt-row{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-top:1px solid var(--color-border)}.mini-table .mt-row:first-child{border-top:none}.mini-table .mt-row.head{font-weight:700;color:var(--color-muted);text-transform:uppercase;font-size:10.5px;letter-spacing:.04em}.mini-table .mt-row .mono{color:var(--color-heading)}.widget-list{list-style:none;margin:0;padding:0;font-size:12.5px}.widget-list li{display:flex;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--color-border)}.widget-list li:first-child{border-top:none}.widget-list .dot{flex:none}.meter-track{height:10px;border-radius:var(--radius-pill);background:var(--color-surface-alt);overflow:hidden;border:1px solid var(--color-border)}.meter-fill{height:100%;border-radius:var(--radius-pill);background:var(--brand)}.meter-fill.warn{background:var(--sev-warn-fg)}.meter-fill.err{background:var(--sev-error-fg)}.meter-row{display:flex;justify-content:space-between;font-size:12px;margin-bottom:6px;color:var(--color-muted)}.gauge{display:flex;align-items:center;gap:14px}.gauge svg{flex:none}.gauge .gauge-num{font-size:22px;font-weight:800;color:var(--color-heading);font-variant-numeric:tabular-nums}.gauge .gauge-sub{font-size:11.5px;color:var(--color-muted)}.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)}.widget-tile-msg{display:flex;align-items:center;gap:8px;font-size:12px}.widget-tile-msg.error-inline{color:var(--sev-error-fg)}.bento-grid .widget{border-top:2px solid var(--wm-accent, var(--brand))}.bento-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:158px;grid-auto-flow:row dense;gap:var(--sp-4);align-items:stretch}.bento-sm{grid-column:span 1;grid-row:span 1}.bento-wide{grid-column:span 2;grid-row:span 1}.bento-tall{grid-column:span 1;grid-row:span 2}.bento-lg{grid-column:span 2;grid-row:span 2}.bento-grid .widget{overflow:hidden;min-width:0}.bento-grid .widget .bd{min-height:0;overflow:auto}.widget-hd-main{display:flex;flex-direction:column;gap:2px;min-width:0}.widget-module{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted);line-height:1}.widget-hd-main h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bento-grid .widget .lchart{height:auto;flex:1 1 auto;min-height:64px}@media (max-width:900px){.bento-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.bento-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto}.bento-sm,.bento-wide,.bento-tall,.bento-lg{grid-column:span 1;grid-row:span 1}.bento-grid .widget .lchart{height:132px;flex:none}}.launch-wrap{min-height:100vh;display:flex;flex-direction:column;background:radial-gradient(1200px 600px at 20% -10%,rgba(var(--brand-rgb),.1),transparent 60%),var(--color-bg)}.launch-top{display:flex;align-items:center;gap:var(--sp-3);padding:14px 22px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.launch-top .spacer{flex:1}.launch-who{display:flex;align-items:center;gap:9px}.launch-who .av{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--accent2));color:#fff;font-size:12.5px;font-weight:800}.launch-who .who{display:flex;flex-direction:column;line-height:1.25}.launch-who .who b{color:var(--color-heading);font-size:13px;font-weight:800}.launch-who .who span{color:var(--color-muted);font-size:11px;font-weight:600}.launch-main{flex:1;width:min(940px,100%);margin:0 auto;padding:var(--sp-6) var(--sp-5)}.launch-head{margin-bottom:var(--sp-5)}.launch-head h1{font-size:24px;font-weight:800;color:var(--color-heading)}.launch-head .sub{color:var(--color-muted);font-size:13px;margin-top:4px}.launch-probe{padding:var(--sp-5) 0}.launch-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-4)}.launch-card{display:flex;flex-direction:column;gap:12px;text-align:left;cursor:pointer;padding:var(--sp-4);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-text);transition:border-color .14s ease,box-shadow .14s ease,transform .08s ease}.launch-card:hover{border-color:var(--brand);box-shadow:var(--shadow-pop);transform:translateY(-2px)}.launch-card:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}.launch-card:active{transform:translateY(0)}.launch-card-icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.launch-card-icon .ic-svg{width:24px;height:24px}.launch-card-body{display:flex;flex-direction:column;gap:3px}.launch-card-title{color:var(--color-heading);font-size:16px;font-weight:800}.launch-card-tag{color:var(--color-muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.launch-card-blurb{color:var(--color-muted);font-size:12.5px;line-height:1.45;margin-top:4px}.launch-card-go{display:inline-flex;align-items:center;gap:6px;margin-top:2px;color:var(--brand);font-size:12.5px;font-weight:700}.launch-card-go .ic-svg{width:15px;height:15px;transition:transform .14s ease}.launch-card:hover .launch-card-go .ic-svg{transform:translate(3px)}@media (max-width:560px){.launch-main{padding:var(--sp-5) var(--sp-4)}.launch-grid{grid-template-columns:minmax(0,1fr)}}.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)}.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))}}.\[\&\>span\]\:truncate>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\[\&_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}
