:root{color-scheme:light;--brand-950: #04243f;--brand-900: #033363;--brand-800: #0a4477;--brand-700: #0e5288;--brand-600: #1c6ea4;--brand-500: #2c82bd;--brand-400: #3b90c9;--brand-350: #58a6da;--brand-300: #7fbbe1;--brand-200: #add3ec;--brand-100: #d5e7f5;--brand-50: #eef5fb;--bg: #f4f7fa;--panel: #ffffff;--panel-soft: #eaf1f7;--text: #0e2033;--muted: #54677c;--border: #d2deea;--accent: var(--brand-600);--accent-dark: var(--brand-700);--accent-text: var(--accent-dark);--accent-quiet-bg: var(--brand-100);--accent-quiet-border: var(--brand-200);--on-accent: #ffffff;--danger: #b42318;--danger-border: #f0b8b3;--danger-hover: #8f1d15;--warning: #b76e00;--ok: #16803c;--ok-solid: #166534;--ok-solid-hover: #15803d;--unreachable: #6d28d9;--focus-ring: rgba(59, 144, 201, .4);--row-hover: rgba(14, 32, 51, .04);--shadow: 0 10px 24px rgba(3, 51, 99, .08);--scrim: rgba(6, 20, 34, .55);--nav-bg: var(--brand-900);--nav-border: #0d4a7f;--nav-text: #9db8d2;--nav-text-active: #ffffff;--nav-hover-bg: color-mix(in srgb, var(--brand-400) 14%, transparent);--nav-active-bg: color-mix(in srgb, var(--brand-400) 24%, transparent);--nav-brand-bg: var(--brand-50);--nav-brand-border: var(--brand-100);--nav-brand-name: #0c2f53;--nav-brand-sub: #4d6580;--nav-width: 220px;--input-bg: #ffffff;--badge-bg: var(--brand-50);--badge-color: var(--accent-text);--badge-border: var(--brand-200);--code-bg: #f0f4f8;--chart-grid: rgba(23, 32, 42, .08);--sparkline-fill: color-mix(in srgb, var(--accent) 18%, transparent);--nodata: rgba(93, 105, 120, .16);--auth-bg: #04182b;--auth-glow: rgba(59, 144, 201, .2);--monitor-bg: #04182b;--monitor-panel: #0a2c4c;--monitor-panel-2: #06223a;--monitor-border: #143f64;--monitor-border-soft: #0e3050;--monitor-text: #cfe2f0;--monitor-text-dim: #93aec7;--monitor-text-bright: #eaf3fb;--monitor-muted: #55708c;--monitor-ok: #34d17a;--monitor-warn: #f4b345;--monitor-error: #f87171;--monitor-disabled: #4b607a;--font-sans: "Segoe UI", system-ui, Arial, sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Consolas", monospace;--text-3xs: .625rem;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .8125rem;--text-md: .875rem;--text-lg: .9375rem;--text-xl: 1.125rem;--text-2xl: 1.375rem;--text-3xl: 1.625rem;--text-kpi: 2.125rem;--text-monitor: 2.625rem;--text-clock: 3.5rem;--fw-normal: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--lh-tight: 1.2;--lh-snug: 1.35;--lh-normal: 1.5;--tracking-tight: -.01em;--tracking-label: .02em}[data-theme=dark]{color-scheme:dark;--bg: #04182b;--panel: #0a2f52;--panel-soft: #0f3b64;--text: #cfe2f0;--muted: #8aa6bf;--border: #1f4363;--accent: var(--brand-350);--accent-dark: var(--brand-300);--accent-text: var(--accent-dark);--accent-quiet-bg: color-mix(in srgb, var(--brand-400) 16%, var(--panel));--accent-quiet-border: color-mix(in srgb, var(--brand-400) 32%, transparent);--on-accent: var(--brand-950);--danger: #ef4444;--danger-border: #7f2d33;--danger-hover: #dc2626;--warning: #f59e0b;--ok: #22c55e;--ok-solid: #1e7a44;--ok-solid-hover: #249152;--unreachable: #8b5cf6;--focus-ring: rgba(88, 166, 218, .45);--row-hover: rgba(255, 255, 255, .035);--shadow: 0 10px 24px rgba(0, 0, 0, .5);--scrim: rgba(1, 9, 18, .66);--nav-bg: #062440;--nav-border: #124a74;--nav-text: #9db8d2;--nav-text-active: #ffffff;--nav-hover-bg: color-mix(in srgb, var(--brand-400) 12%, transparent);--nav-active-bg: color-mix(in srgb, var(--brand-400) 22%, transparent);--nav-brand-bg: #0a3860;--nav-brand-border: #185086;--nav-brand-name: #ffffff;--nav-brand-sub: #8ea6c0;--input-bg: #0a1520;--badge-bg: color-mix(in srgb, var(--brand-400) 12%, transparent);--badge-color: var(--accent-text);--badge-border: color-mix(in srgb, var(--brand-400) 28%, transparent);--code-bg: #0a1520;--chart-grid: rgba(204, 221, 232, .1);--sparkline-fill: color-mix(in srgb, var(--accent) 18%, transparent);--nodata: rgba(131, 152, 170, .16);--auth-bg: #03101d;--auth-glow: rgba(59, 144, 201, .16)}*{box-sizing:border-box}input[type=password]::-ms-reveal,input[type=password]::-ms-clear{display:none}html,body{height:100%;margin:0}html{scrollbar-gutter:stable}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--text-lg);line-height:1.45}#root{min-height:100%;display:flex;flex-direction:column}button,input{font:inherit}button{border:1px solid var(--border);background:var(--panel);color:var(--text);min-height:36px;padding:0 14px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:7px}button:hover{border-color:var(--accent)}button:disabled{cursor:not-allowed;opacity:.65}button.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}button.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}button.danger{border-color:var(--danger-border);color:var(--danger)}button.solid-danger{background:var(--danger);border-color:var(--danger);color:#fff}button.solid-danger:hover{background:var(--danger-hover);border-color:var(--danger-hover)}.app-tooltip{position:fixed;z-index:10000;max-width:260px;padding:6px 10px;border-radius:6px;background:var(--text);color:var(--bg);font-size:var(--text-xs);font-weight:var(--fw-medium);line-height:1.35;white-space:normal;pointer-events:none;box-shadow:0 6px 18px #00000038;animation:app-tooltip-in .12s ease-out}@keyframes app-tooltip-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.app-tooltip{animation:none}}.app-tooltip-arrow{position:absolute;left:var(--tt-arrow-left, 50%);width:8px;height:8px;background:var(--text);transform:translate(-50%) rotate(45deg)}.app-tooltip[data-placement=top] .app-tooltip-arrow{bottom:-4px}.app-tooltip[data-placement=bottom] .app-tooltip-arrow{top:-4px}.app-root{display:flex;min-height:100vh}.mobile-topbar{display:none;align-items:center;gap:12px;min-height:48px;padding:10px 16px;padding-left:max(16px,env(safe-area-inset-left));background:var(--nav-bg);position:sticky;top:0;z-index:40;flex-shrink:0}.mobile-topbar-menu-btn{background:none;border:1px solid transparent;color:var(--nav-text-active);padding:6px;min-height:unset}.mobile-topbar-menu-btn:hover{background:var(--nav-hover-bg);border-color:transparent}.mobile-topbar-brand{font-size:var(--text-md);font-weight:var(--fw-bold);color:var(--nav-text-active);letter-spacing:-.2px}.nav-rail-drawer{display:contents}.nav-rail{width:var(--nav-width);flex-shrink:0;background:var(--nav-bg);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;transition:width .22s ease}.nav-brand{min-height:58px;flex-shrink:0;padding:0 16px;background:var(--nav-brand-bg);border-bottom:1px solid var(--nav-brand-border);display:flex;flex-direction:row;align-items:center;gap:10px;transition:gap .2s ease,padding .2s ease}.nav-brand-logo{width:32px;height:32px;flex-shrink:0;background:url(/ahabflow-mark-square.svg) center / contain no-repeat}:root[data-theme=dark] .nav-brand-logo{background-image:url(/ahabflow-mark-on-dark.svg)}.nav-brand-text{display:flex;flex-direction:column;gap:1px;max-width:200px;opacity:1;overflow:hidden;white-space:nowrap;transition:opacity .15s ease,max-width .2s ease}.nav-brand-name{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--nav-brand-name);letter-spacing:-.3px;display:block}.nav-brand-sub{font-size:var(--text-2xs);color:var(--nav-brand-sub);text-transform:none;letter-spacing:0}.nav-tenant-row{display:flex;align-items:center;gap:7px;padding:10px 16px;color:var(--nav-text);border-bottom:1px solid var(--nav-border);max-height:50px;opacity:1;overflow:hidden;transition:opacity .15s ease,max-height .2s ease,padding .2s ease,border-color .2s ease}.nav-live-row{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--nav-border);max-height:50px;opacity:1;overflow:hidden;transition:opacity .15s ease,max-height .2s ease,padding .2s ease,border-color .2s ease}.nav-live-dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--nav-text) 50%,transparent);flex-shrink:0}.nav-live-dot.active{background:var(--monitor-ok);animation:live-pulse 2.2s ease-out infinite}@keyframes live-pulse{0%{box-shadow:0 0 #22c55e8c}60%{box-shadow:0 0 0 6px #22c55e00}to{box-shadow:0 0 #22c55e00}}.nav-live-text{font-size:var(--text-xs);color:var(--nav-text)}.nav-section{flex:1;padding:8px;display:flex;flex-direction:column;gap:2px}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-group+.nav-group{margin-top:14px}.nav-group-label{padding:6px 8px 2px;font-size:var(--text-3xs);font-weight:var(--fw-bold);letter-spacing:0;text-transform:none;color:var(--nav-text);opacity:.6;white-space:nowrap;overflow:hidden;transition:opacity .15s ease,max-height .2s ease,padding .2s ease}.nav-item{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:9px 8px;border-radius:8px;border:none;min-height:unset;background:transparent;color:var(--nav-text);font-size:var(--text-md);cursor:pointer;text-align:left;width:100%;transition:gap .2s ease,padding .2s ease,background .1s,color .1s}.nav-item-label{max-width:180px;opacity:1;overflow:hidden;white-space:nowrap;transition:opacity .15s ease,max-width .2s ease}.nav-item:hover{background:var(--nav-hover-bg);color:var(--nav-text-active);border-color:transparent}.nav-item.active{background:var(--nav-active-bg);color:var(--nav-text-active);border-color:transparent}.nav-item-icon{flex-shrink:0;display:flex;align-items:center;opacity:.75}.nav-item.active .nav-item-icon{opacity:1}.nav-footer{padding:10px 8px 14px;border-top:1px solid var(--nav-border);display:flex;flex-direction:column;gap:6px}.nav-updated{display:block;font-size:var(--text-2xs);color:var(--nav-text)}.nav-user-trigger{flex:1;height:40px;padding:0;border-radius:12px;justify-content:center;background:transparent;border:1px solid transparent;min-height:unset}.nav-avatar{width:30px;height:30px;border-radius:50%;background:var(--accent);color:var(--on-accent);font-weight:var(--fw-bold);font-size:var(--text-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0}.nav-user-trigger .nav-avatar{width:100%;height:100%;font-size:var(--text-md);border-radius:12px;transition:filter .1s}.nav-user-trigger:hover .nav-avatar,.nav-user-trigger.active .nav-avatar{filter:brightness(1.12)}.nav-avatar--lg{width:38px;height:38px;font-size:var(--text-lg)}.nav-user-info{flex:1;min-width:0;max-width:200px;opacity:1;overflow:hidden;transition:opacity .15s ease,max-width .2s ease}.nav-user-name{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--nav-text-active);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-user-role{font-size:var(--text-2xs);color:var(--nav-text);margin-top:1px}.nav-footer-actions{display:flex;align-items:center;gap:6px;padding:2px}.nav-theme-btn{flex:1;height:40px;padding:0;border-radius:12px;justify-content:center;background:var(--nav-hover-bg);border:1px solid var(--nav-border);color:var(--nav-text);min-height:unset;transition:background .1s,color .1s}.nav-logout-btn{width:100%;justify-content:flex-start;gap:8px;background:transparent;border:1px solid transparent;color:var(--nav-text);font-size:var(--text-sm);padding:7px 8px;min-height:unset;transition:gap .2s ease,padding .2s ease,background .1s,color .1s}.nav-theme-btn:hover,.nav-logout-btn:hover{background:var(--nav-hover-bg);color:var(--nav-text-active);border-color:transparent}.nav-user-popover{position:fixed;min-width:220px;background:var(--brand-800);border:1px solid var(--brand-700);border-radius:10px;box-shadow:0 16px 40px #00000073;padding:14px;z-index:1100;animation:nav-user-popover-in .15s ease-out}@keyframes nav-user-popover-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.nav-user-popover{animation:none}}.nav-user-popover-header{display:flex;align-items:center;gap:10px}.nav-user-popover .nav-user-info{max-width:none;opacity:1}.nav-user-popover .nav-user-name{color:var(--nav-text-active)}.nav-user-popover .nav-updated{margin-bottom:10px}.nav-user-popover-divider{height:1px;background:var(--brand-700);margin:12px 0}.nav-user-popover .nav-logout-btn{color:color-mix(in srgb,var(--monitor-error) 72%,#ffffff)}.nav-user-popover .nav-logout-btn:hover{background:color-mix(in srgb,var(--monitor-error) 14%,transparent);color:var(--monitor-error)}.nav-download-btn{display:flex;align-items:center;width:100%;gap:8px;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--nav-text);font-size:var(--text-sm);padding:7px 8px;text-decoration:none;cursor:pointer;transition:gap .2s ease,padding .2s ease,background .1s,color .1s}.nav-download-btn:hover{background:var(--nav-hover-bg);color:var(--nav-text-active);border-color:transparent}.nav-resize-handle{position:absolute;top:0;right:0;width:10px;height:100%;cursor:col-resize;display:flex;align-items:center;justify-content:center;z-index:5;background:none;border:none;padding:0;margin:0;min-height:unset;border-radius:0}.nav-resize-handle:hover{background:var(--nav-hover-bg)}.nav-resize-grip{display:flex;align-items:center;justify-content:center;color:var(--nav-text);opacity:.4;transition:opacity .15s,color .15s;pointer-events:none}.nav-rail:hover .nav-resize-grip,.nav-resize-handle:hover .nav-resize-grip{opacity:1}.nav-resize-handle:hover .nav-resize-grip{color:var(--nav-text-active)}@media(max-width:960px){.nav-resize-handle{display:none}}@media(min-width:961px){.nav-rail.nav-rail--collapsed{width:64px}.nav-rail--collapsed .nav-brand{justify-content:center;padding:0 4px;gap:0}.nav-rail--collapsed .nav-brand-text,.nav-rail--collapsed .nav-item-label{opacity:0;max-width:0}.nav-rail--collapsed .nav-group-label{opacity:0;max-height:0;padding-top:0;padding-bottom:0}.nav-rail--collapsed .nav-group+.nav-group{margin-top:8px;padding-top:8px;border-top:1px solid var(--nav-border)}.nav-rail--collapsed .nav-tenant-row,.nav-rail--collapsed .nav-live-row{opacity:0;max-height:0;padding-top:0;padding-bottom:0;border-color:transparent}.nav-rail--collapsed .nav-item{justify-content:center;padding:9px 0;gap:0}.nav-rail--collapsed .nav-footer-actions{flex-direction:column}.nav-rail--collapsed .nav-theme-btn,.nav-rail--collapsed .nav-user-trigger{flex:none;width:100%}}.app-content{flex:1;min-width:0;display:flex;flex-direction:column}.page{flex:1;display:flex;flex-direction:column;min-height:100vh}.page-header{background:var(--panel);border-bottom:1px solid var(--border);padding:0 24px;min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-shrink:0;position:sticky;top:0;z-index:10}.page-header-left{display:flex;flex-direction:column;gap:1px}.page-title{margin:0;font-size:var(--text-xl);font-weight:var(--fw-semibold)}.page-subtitle{font-size:var(--text-xs);color:var(--muted)}.stale-data-badge{display:inline-flex;align-items:center;gap:4px;margin-left:8px;padding:1px 8px;border-radius:999px;font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 35%,var(--border));background:color-mix(in srgb,var(--warning) 8%,var(--panel-soft))}.nav-stale-banner{display:flex;align-items:center;gap:6px;padding:7px 16px;font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--warning);background:color-mix(in srgb,var(--warning) 12%,transparent);border-bottom:1px solid var(--nav-border)}.page-header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.page-body{flex:1;padding:24px;overflow-y:auto;scrollbar-gutter:stable}.page-body--workspace{padding:16px 20px 20px}.dashboard-kpi-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;margin-bottom:20px}.kpi-card{background:var(--panel);border:1px solid var(--border);border-top:3px solid var(--border);border-radius:10px;padding:16px 18px 14px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;text-align:left;gap:4px;transition:transform .15s,box-shadow .15s;box-shadow:0 1px 4px #0000002e}.kpi-card--clickable{cursor:pointer}.kpi-card--clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000040}.kpi-value{font-size:var(--text-kpi);font-weight:800;line-height:1;color:var(--text)}.kpi-label{font-size:var(--text-3xs);font-weight:var(--fw-semibold);text-transform:none;letter-spacing:0;color:var(--muted);margin-top:2px}.kpi-ok{border-top-color:var(--ok)}.kpi-warn{border-top-color:var(--warning)}.kpi-error{border-top-color:var(--danger)}.kpi-ok .kpi-value{color:var(--ok)}.kpi-warn .kpi-value{color:var(--warning)}.kpi-error .kpi-value{color:var(--danger)}.dashboard-section-title{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:none;letter-spacing:0;color:var(--muted);margin:0 0 14px;padding-top:16px;border-top:1px solid var(--border)}.dashboard-section-title svg{flex-shrink:0}.dashboard-kpi-row+.dashboard-section-title{padding-top:0;border-top:none}.dashboard-live-badge{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:999px;font-size:var(--text-xs);font-weight:var(--fw-bold);text-transform:none;letter-spacing:0;border:1px solid var(--border);background:var(--panel-soft);color:var(--muted)}.dashboard-live-badge--ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 35%,var(--border));background:color-mix(in srgb,var(--ok) 5%,var(--panel-soft))}.dashboard-live-badge--warn{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 35%,var(--border));background:color-mix(in srgb,var(--warning) 5%,var(--panel-soft))}.dashboard-live-badge--error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,var(--border));background:color-mix(in srgb,var(--danger) 5%,var(--panel-soft))}.pulse-dot{width:13px;height:13px;border-radius:50%;flex-shrink:0}.pulse-dot--ok{background:var(--ok);animation:dashboard-pulse-ok 2.2s ease-out infinite}.pulse-dot--warn{background:var(--warning);animation:dashboard-pulse-warn 2.2s ease-out infinite}.pulse-dot--error{background:var(--danger);animation:dashboard-pulse-error 2.2s ease-out infinite}.pulse-dot--muted{background:var(--muted)}@keyframes dashboard-pulse-ok{0%{box-shadow:0 0 #22c55e80}60%{box-shadow:0 0 0 8px #22c55e00}to{box-shadow:0 0 #22c55e00}}@keyframes dashboard-pulse-warn{0%{box-shadow:0 0 #f59e0b80}60%{box-shadow:0 0 0 8px #f59e0b00}to{box-shadow:0 0 #f59e0b00}}@keyframes dashboard-pulse-error{0%{box-shadow:0 0 #ef444480}60%{box-shadow:0 0 0 8px #ef444400}to{box-shadow:0 0 #ef444400}}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:20px}.dashboard-health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;margin-bottom:20px}.health-card{padding:16px;display:flex;flex-direction:column;gap:10px}.health-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.health-card-meta{display:flex;flex-direction:column;min-width:0}.health-card-name{font-size:var(--text-md);font-weight:var(--fw-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-card-sub{font-size:var(--text-2xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.health-uptime-badge{font-size:var(--text-xs);font-weight:var(--fw-bold);padding:3px 9px;border-radius:100px;flex-shrink:0;font-variant-numeric:tabular-nums}.health-uptime-badge--ok{background:color-mix(in srgb,var(--ok) 14%,var(--panel));color:var(--ok)}.health-uptime-badge--warn{background:color-mix(in srgb,var(--warning) 16%,var(--panel));color:var(--warning)}.health-uptime-badge--error{background:color-mix(in srgb,var(--danger) 14%,var(--panel));color:var(--danger)}.health-chart-empty{height:40px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:var(--text-2xs);background:var(--panel-soft);border-radius:6px;text-align:center;padding:0 10px}.health-strip{height:22px}.health-card-loading{padding:18px 0;justify-content:center}.health-card-checks{display:flex;flex-wrap:wrap;gap:6px;padding-top:8px;border-top:1px solid var(--border)}.health-check-icon{display:inline-flex;align-items:center}.tenant-overview-dots{display:flex;flex-wrap:wrap;gap:5px}.tenant-overview-dot{width:12px;height:12px;border-radius:4px;display:inline-block}.tenant-overview-dot--ok{background:var(--ok)}.tenant-overview-dot--warn{background:var(--warning)}.tenant-overview-dot--error{background:var(--danger)}.tenant-overview-dot--nodata{background:var(--nodata)}.health-check-icon{background:none;border:none;min-height:auto;padding:2px;border-radius:4px;display:inline-flex;align-items:center}.health-check-icon:hover{background:var(--panel-soft);border-color:transparent}.health-card{cursor:pointer;transition:transform .12s,box-shadow .12s}.health-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #0000001f;border-color:color-mix(in srgb,var(--accent) 30%,var(--border))}.health-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.health-card-head-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.health-card-chevron{color:var(--muted)}.health-chart-caption{font-size:var(--text-3xs);font-weight:var(--fw-bold);text-transform:none;letter-spacing:0;color:var(--muted)}.probe-status-scroll{overflow-x:auto;-webkit-mask-image:linear-gradient(to right,black calc(100% - 20px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 20px),transparent 100%)}.probe-status-table{border-collapse:collapse;width:100%;min-width:480px}.probe-status-table th{font-size:var(--text-3xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted);text-align:left;padding:10px 16px 8px}.probe-status-table th:nth-child(3),.probe-status-table th:nth-child(4){text-align:right}.probe-status-table td{padding:8px 16px;border-top:1px solid var(--border);vertical-align:middle;font-size:var(--text-sm)}.probe-status-group-row td{padding:10px 16px 6px;font-size:var(--text-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted);background:var(--panel-soft);border-top:1px solid var(--border)}.probe-status-row{cursor:pointer}.probe-status-row:hover{background:var(--row-hover)}.probe-status-name{display:flex;align-items:center;gap:8px;font-weight:var(--fw-semibold)}.probe-status-parent{color:var(--muted)}.probe-status-count{text-align:right;font-variant-numeric:tabular-nums;font-weight:var(--fw-bold)}.probe-status-count--ok{color:var(--ok)}.probe-status-count--bad{color:var(--danger)}.probe-status-count--muted{color:var(--muted);font-weight:var(--fw-medium)}.drawer-overlay{justify-content:flex-end;padding:0;align-items:stretch}@media(max-width:980px){.dashboard-health-grid{grid-template-columns:1fr}}.group-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}.group-card{background:var(--panel);border:1px solid var(--border);border-top-width:4px;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px #17202a0f;transition:box-shadow .18s,transform .18s}.group-card:hover{box-shadow:0 8px 24px #17202a21;transform:translateY(-2px)}[data-theme=dark] .group-card:hover{box-shadow:0 8px 24px #0006}.group-card--ungrouped{border-top-color:var(--border);opacity:.85}.group-card-header{display:flex;align-items:center;gap:10px;padding:13px 14px 11px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--card-color, var(--border)) 6%,var(--panel))}.group-card-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.group-card-meta{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.group-card-name{font-size:var(--text-md);font-weight:var(--fw-bold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-card-desc{font-size:var(--text-2xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-card-status-badge{flex-shrink:0;font-size:var(--text-xs);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;padding:2px 9px;border-radius:999px;border:1px solid var(--border);background:var(--panel-soft);color:var(--muted)}.group-card-status-badge--ok{background:color-mix(in srgb,var(--ok) 12%,transparent);color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.group-card-status-badge--warn{background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning);border-color:color-mix(in srgb,var(--warning) 30%,transparent)}.group-card-status-badge--error{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.group-card-body{display:flex;gap:0}.group-card-stat{display:flex;flex-direction:column;align-items:center;gap:3px;flex:1;padding:14px 10px 12px;border-right:1px solid var(--border)}.group-card-stat:last-child{border-right:none}.group-card-stat-value{font-size:var(--text-3xl);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.group-card-stat-label{font-size:var(--text-3xs);font-weight:var(--fw-semibold);text-transform:none;letter-spacing:0;color:var(--muted)}.tenant-groups{display:flex;flex-direction:column;gap:16px}.tenant-group-card{background:var(--panel);border:1px solid var(--border);border-top:4px solid var(--muted);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #17202a0f}[data-theme=dark] .tenant-group-card{box-shadow:0 2px 8px #0000004d}.tenant-group-header{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;border:none;border-bottom:1px solid var(--border);background:var(--panel-soft);font:inherit;color:inherit;text-align:left;cursor:pointer}.tenant-group-header:hover{background:color-mix(in srgb,var(--text) 4%,var(--panel-soft))}.tenant-group-name{flex:1;font-size:var(--text-lg);font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tenant-group-chevron{color:var(--muted);flex-shrink:0;transition:transform .15s ease}.tenant-group-chevron.expanded{transform:rotate(180deg)}.tenant-group-body{padding:16px 18px 18px;border-top:1px solid var(--border)}.workspace{display:grid;grid-template-columns:minmax(280px,340px) 1fr;gap:16px;min-height:calc(100vh - 130px)}.connector-pane,.detail-pane{background:var(--panel);border:1px solid var(--border);border-radius:8px;box-shadow:var(--shadow);min-width:0}.connector-pane{padding:14px}.detail-pane{padding:18px}.detail-pane-back{display:none;gap:6px;margin-bottom:14px;font-size:var(--text-sm);color:var(--muted);background:none;border:none;min-height:unset;padding:4px 0}.detail-pane-back:hover{color:var(--accent-dark);border-color:transparent}.group-card-connectors{border-top:1px solid var(--border);padding:8px 10px 6px;display:flex;flex-direction:column;gap:4px}.group-card-connector-row{display:flex;align-items:center;gap:7px;font-size:var(--text-xs);min-height:22px}.connector-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--muted)}.connector-status-dot.online{background:var(--ok)}.connector-status-dot.warning{background:var(--warning)}.connector-status-dot.offline,.connector-status-dot.error{background:var(--danger)}.connector-status-dot.disabled{background:var(--muted);opacity:.5}.group-card-connector-name{flex:1;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-card-checks{display:flex;align-items:center;gap:3px;flex-shrink:0}.group-card-check-icon{display:inline-flex;align-items:center}.group-card-connector-row--probe{padding-left:16px;opacity:.9}.group-card-connector-row--probe .group-card-connector-name{font-size:var(--text-2xs)}.groups-layout{display:grid;grid-template-columns:1fr 360px;gap:20px;align-items:start}.groups-list-panel,.groups-create-panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px}.groups-list-panel h3,.groups-create-panel h3{margin:0 0 14px;font-size:var(--text-lg);font-weight:var(--fw-semibold)}.groups-list{display:flex;flex-direction:column;gap:8px}.group-full-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg)}.tenant-pending-approval{border-color:color-mix(in srgb,var(--warning) 40%,var(--border));background:color-mix(in srgb,var(--warning) 5%,var(--bg))}.tenant-self-service-badge{margin-left:8px}.tenant-approve-row{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.group-full-color{width:16px;height:16px;border-radius:4px;flex-shrink:0}.group-full-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.group-full-name{font-size:var(--text-md);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.group-full-desc{font-size:var(--text-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-row-wrapper{display:flex;flex-direction:column;gap:6px}.user-row-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.user-reset-form{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);flex-wrap:wrap}.user-reset-form .field-icon-wrap{flex:1}.user-reset-fields{display:flex;flex-direction:column;gap:6px;flex:1;min-width:160px}.user-reset-form .field-error{flex-basis:100%;margin:0}.user-role-select{font-size:var(--text-xs);padding:5px 8px;border:1px solid var(--border);border-radius:6px;background:var(--panel-soft);color:var(--text);font-family:inherit;cursor:pointer}.user-role-select:hover{border-color:var(--accent)}.group-full-count{font-size:var(--text-2xs);color:var(--muted)}.login-view{min-height:100vh;display:grid;grid-template-rows:1fr auto;place-items:center;padding:32px 20px 20px;background:var(--auth-bg);position:relative;overflow:hidden}.login-view-bg{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(ellipse 85% 65% at 12% 68%,rgba(59,144,201,.22) 0%,transparent 65%),radial-gradient(ellipse 65% 52% at 88% 15%,rgba(59,144,201,.14) 0%,transparent 60%),radial-gradient(ellipse 50% 38% at 58% 88%,rgba(59,144,201,.09) 0%,transparent 52%)}.login-view:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.055) 1px,transparent 1px);background-size:28px 28px;pointer-events:none;z-index:0}.login-panel{position:relative;z-index:1;width:min(400px,100%);background:var(--panel);border:1px solid var(--border);border-top:3px solid var(--accent);border-radius:16px;box-shadow:0 0 0 1px #ffffff0a,0 8px 16px #0000001f,0 28px 70px #00000073;padding:40px 36px 32px;display:grid;gap:14px}.login-logo-row{display:flex;justify-content:center;padding-bottom:6px}.login-logo{width:72px;height:72px;object-fit:contain}.login-heading{text-align:center;margin-bottom:4px}.login-product{margin:0 0 4px;font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:0;text-transform:none;color:var(--accent-text)}.login-title{margin:0;font-size:var(--text-2xl);font-weight:var(--fw-bold);color:var(--text)}.login-field{display:flex;flex-direction:column;gap:6px}.login-label{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--muted)}.login-input-wrap{position:relative}.login-input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.login-input{width:100%;min-height:44px;border-radius:8px;border:1px solid var(--border);padding:0 12px 0 38px;font-size:var(--text-md);background:var(--input-bg);color:var(--text);transition:border-color .15s,box-shadow .15s}.login-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.login-input--pw,.login-input--suffixed{padding-right:38px}.signup-slug-preview{display:flex;align-items:center;color:var(--text)}.signup-slug-preview--empty{color:var(--muted)}.login-section-title{margin:0;font-size:var(--text-2xs);font-weight:var(--fw-semibold);letter-spacing:0;text-transform:none;color:var(--muted)}.login-section-title--divider{padding-top:6px;border-top:1px solid var(--border)}.login-field-row{display:flex;gap:10px}.login-field-row .login-field{flex:1;min-width:0}.login-input-toggle-btn{top:50%;transform:translateY(-50%)}.login-submit{min-height:44px;font-size:var(--text-lg);font-weight:var(--fw-semibold);border-radius:8px;width:100%;justify-content:center;margin-top:2px}.login-toggle-mode{background:none;border:none;color:var(--muted);font-size:var(--text-xs);text-decoration:underline;cursor:pointer;margin-top:4px;padding:4px;align-self:center}.login-toggle-mode:hover{color:var(--text)}.login-footer{position:relative;z-index:1;text-align:center;font-size:var(--text-xs);color:#b7d2e873;margin:16px 0 0;letter-spacing:.03em}.form-error{margin:0;color:var(--danger);font-size:var(--text-sm)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:12px}.section-heading h2,.section-heading h3{margin:0;font-size:var(--text-xl)}.section-heading span{color:var(--muted);font-size:var(--text-xs)}.section-heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.connector-list-search{width:100%;margin-bottom:10px}.connector-list{display:flex;flex-direction:column;gap:3px}.connector-item{width:100%;text-align:left;display:grid;grid-template-columns:18px 18px 1fr auto;gap:8px;padding:6px 10px;min-height:46px;align-items:center;border-left:3px solid transparent;transition:background .1s,border-left-color .15s}.connector-drag-handle{display:inline-flex;align-items:center;justify-content:center;cursor:grab;color:var(--muted);opacity:.25;transition:opacity .15s;touch-action:none;align-self:center}.connector-drag-handle:hover{opacity:1}.connector-drag-handle:active{cursor:grabbing}.connector-item:hover .connector-drag-handle{opacity:.55}.connector-item-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--row-color, var(--accent));flex-shrink:0}.connector-item-body{display:flex;flex-direction:column;min-width:0}.connector-item:hover{background:color-mix(in srgb,var(--accent) 5%,var(--panel))}.connector-item.active{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel));box-shadow:none}.connector-item.active .connector-title{color:var(--accent-dark)}.connector-title{font-weight:var(--fw-semibold);font-size:var(--text-sm)}.connector-subtitle{display:block;color:var(--muted);font-size:var(--text-2xs);margin-top:1px}.status{display:inline-flex;align-items:center;height:22px;border-radius:999px;padding:0 8px;font-size:var(--text-2xs);font-weight:var(--fw-semibold);border:1px solid var(--border);background:var(--panel-soft);white-space:nowrap}.status.online{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 40%,transparent);background:color-mix(in srgb,var(--ok) 10%,transparent)}.status.warning{color:var(--warning);border-color:color-mix(in srgb,var(--warning) 40%,transparent);background:color-mix(in srgb,var(--warning) 10%,transparent)}.status.error{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 35%,transparent);background:color-mix(in srgb,var(--danger) 8%,transparent)}.status.disabled{color:var(--muted);border-color:color-mix(in srgb,var(--muted) 35%,transparent);background:color-mix(in srgb,var(--muted) 8%,transparent)}.status.running{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.status--sm{height:20px;font-size:var(--text-2xs);padding:0 7px}.glossary-hint{display:inline-flex;align-items:center;color:var(--muted);cursor:help;vertical-align:middle;margin-left:5px;border-radius:50%}.glossary-hint:hover,.glossary-hint:focus-visible{color:var(--accent)}.glossary-hint:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.empty-state{max-width:640px;padding:36px 8px}.empty-state h2{margin:0 0 8px}.empty-state p{color:var(--muted);margin:0}.error-boundary{min-height:100vh;width:100%;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg);color:var(--text)}.error-boundary-card{max-width:420px;text-align:center;padding:32px 28px;border:1px solid var(--border);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.error-boundary-icon{color:var(--danger);margin-bottom:12px}.error-boundary-card h2{margin:0 0 8px}.error-boundary-card p{color:var(--muted);margin:0 0 18px}.error-boundary-detail{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--code-bg);border-radius:6px;padding:8px 10px;word-break:break-word;text-align:left}.error-boundary-card button{margin:0 auto}.empty-hint{color:var(--muted);margin:0 0 20px;font-size:var(--text-sm)}.connector-empty{color:var(--muted);font-size:var(--text-sm);margin:8px 0}.inline-reset-link{border:none;background:none;cursor:pointer;padding:0;font:inherit;color:var(--accent);text-decoration:underline}.inline-reset-link:hover{color:var(--accent-dark)}.eyebrow{display:flex;align-items:center;gap:6px;color:var(--muted);margin:0 0 3px;font-size:var(--text-xs);text-transform:none}.modal-back-btn{display:inline-flex;color:var(--muted);flex-shrink:0}.modal-back-btn:hover{color:var(--text)}.modal-step-dots{display:inline-flex;gap:4px;margin-left:4px}.modal-step-dot{width:6px;height:6px;border-radius:50%;background:var(--border)}.modal-step-dot--active{background:var(--accent)}.connector-item--indented{padding-left:20px}.probe-item{width:100%;text-align:left;display:grid;grid-template-columns:14px 15px 1fr auto;gap:6px;padding:4px 10px 4px 26px;min-height:34px;align-items:center;border-left:3px solid transparent;background:color-mix(in srgb,var(--panel-soft) 55%,transparent);transition:background .1s,border-left-color .15s}.probe-item--indented{padding-left:46px}.probe-drag-handle{display:inline-flex;align-items:center;justify-content:center;cursor:grab;color:var(--muted);opacity:.2;transition:opacity .15s;touch-action:none;align-self:center}.probe-drag-handle:hover{opacity:1}.probe-drag-handle:active{cursor:grabbing}.probe-item:hover .probe-drag-handle{opacity:.5}.probe-item-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--row-color, var(--muted));flex-shrink:0}.probe-item.active .probe-item-icon{color:var(--accent-dark)}.probe-item-body{display:flex;flex-direction:column;min-width:0}.probe-item:hover{background:color-mix(in srgb,var(--accent) 5%,var(--panel))}.probe-item.active{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--panel))}.probe-item.active .probe-title{color:var(--accent-dark)}.probe-title{font-weight:var(--fw-semibold);font-size:var(--text-xs)}.probe-subtitle{display:block;color:var(--muted);font-size:var(--text-3xs);margin-top:1px}.detail-probe-parent--link{border:none;background:none;cursor:pointer;padding:0;font:inherit}.detail-probe-parent--link:hover{color:var(--accent-dark);text-decoration:underline}.detail-status-bar{height:3px;margin:-18px -18px 16px;border-radius:8px 8px 0 0;flex-shrink:0}.detail-header{display:flex;justify-content:space-between;gap:16px;align-items:start;border-bottom:1px solid var(--border);padding-bottom:16px}.detail-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.label-display-row{display:flex;align-items:center;gap:6px;margin:2px 0 0}.detail-title{margin:0;font-size:var(--text-2xl);font-weight:var(--fw-bold);line-height:1.2}.label-edit-btn{opacity:0;transition:opacity .15s}.detail-header:hover .label-edit-btn,.label-edit-btn:focus{opacity:1}.label-edit-row{display:flex;align-items:center;gap:6px;margin:4px 0}.label-edit-input{font-size:var(--text-xl);font-weight:var(--fw-bold);border:1px solid var(--accent);border-radius:6px;padding:3px 8px;outline:none;min-width:180px;max-width:320px;color:var(--text)}.label-edit-row button{min-height:32px;font-size:var(--text-sm);padding:0 10px}.connector-system-field{margin-top:10px}.detail-header h2{margin:0;font-size:var(--text-2xl)}.detail-header p:last-child{margin:4px 0 0;color:var(--muted)}.detail-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:6px 0 0}.detail-meta-chip{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--muted);background:var(--panel-soft);border:1px solid var(--border);border-radius:6px;padding:2px 8px;height:22px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);margin:16px -18px;padding:0 18px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(to right,black calc(100% - 24px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 24px),transparent 100%)}.tabs::-webkit-scrollbar{display:none}.tabs.page-tabs{margin:16px 0;padding:0 24px}.tab{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;white-space:nowrap;font-size:var(--text-sm);gap:5px;padding:0 10px;min-height:38px;color:var(--muted);scroll-snap-align:start;flex-shrink:0}.tab:hover{background:var(--row-hover);border-color:var(--border);color:var(--text)}.tab.active{border-bottom-color:var(--accent);color:var(--accent-dark);font-weight:var(--fw-semibold)}.connector-group-section{margin-bottom:6px;border:1px solid var(--border);border-left:3px solid var(--group-color, var(--border));border-radius:8px;background:var(--panel);overflow:hidden}.connector-group-section--ungrouped{border-left-color:var(--border);margin-top:10px}.connector-group-header{display:flex;align-items:center;gap:6px;padding:4px 10px;font-size:var(--text-2xs);font-weight:var(--fw-semibold);text-transform:none;letter-spacing:0;color:var(--muted);background:var(--panel-soft);border-bottom:1px solid var(--border)}.connector-group-body{padding:4px}.connector-group-toggle{display:flex;align-items:center;gap:6px;width:100%;border:none;background:none;padding:0;margin:0;font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer}.connector-group-chevron{color:var(--muted);flex-shrink:0;transition:transform .15s ease}.connector-group-chevron.expanded{transform:rotate(180deg)}.group-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.group-section-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.group-count{font-size:var(--text-3xs);background:var(--panel-soft);border:1px solid var(--border);border-radius:10px;padding:0 5px;color:var(--muted)}.connector-group-mini-status{display:inline-flex;align-items:center;gap:3px;flex-shrink:0}.mini-status-icon{display:inline-flex;flex-shrink:0}.mini-status-overflow{font-size:var(--text-3xs);font-weight:var(--fw-semibold);color:var(--muted);margin-left:1px}.group-assignment{display:flex;align-items:center;gap:8px;margin-top:6px}.group-assignment-select{font-size:var(--text-xs);padding:3px 6px;border:1px solid var(--border);border-radius:6px;background:var(--panel-soft);color:var(--text);cursor:pointer;max-width:220px}.group-badge-detail{width:10px;height:10px;border-radius:50%;flex-shrink:0;display:inline-block}.group-create-form{display:flex;flex-direction:column;gap:12px}.group-create-form h4{margin:0 0 4px;font-size:var(--text-sm);font-weight:var(--fw-semibold)}.color-picker{display:flex;gap:6px;flex-wrap:wrap}.color-swatch{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;min-height:unset;transition:transform .1s}.color-swatch:hover{transform:scale(1.15);border-color:transparent}.color-swatch.selected{border-color:var(--text);transform:scale(1.15)}.icon-btn{border-radius:999px;width:38px;height:38px;padding:0;justify-content:center}.filter-trigger{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:999px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:var(--text-sm);font-weight:var(--fw-semibold);transition:border-color .15s,background .15s,color .15s}.filter-trigger:hover{border-color:var(--accent)}.filter-trigger.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));background:color-mix(in srgb,var(--accent) 10%,var(--panel));color:var(--accent-dark)}.filter-trigger-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-size:var(--text-3xs);font-weight:var(--fw-bold)}.rollout-version-editor{position:relative}.rollout-version-popover{position:absolute;right:0;top:calc(100% + 8px);width:280px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 40px #1018202e;padding:12px;z-index:1100}[data-theme=dark] .rollout-version-popover{box-shadow:0 16px 40px #00000080}.rollout-version-popover label{display:block;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--muted);margin-bottom:6px}.rollout-version-hint{font-size:var(--text-xs);color:var(--muted);margin:8px 0 0}.filter-menu{position:fixed;min-width:220px;max-width:280px;background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:0 16px 40px #1018202e;padding:10px;z-index:1100;animation:filter-menu-in .15s ease-out}[data-theme=dark] .filter-menu{box-shadow:0 16px 40px #00000080}@keyframes filter-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.filter-menu{animation:none}}.filter-menu-section{position:relative}.filter-menu-section+.filter-menu-section{margin-top:6px;padding-top:10px;border-top:1px solid var(--border)}.filter-menu-label{display:block;padding:4px 8px 6px;font-size:var(--text-3xs);font-weight:var(--fw-bold);text-transform:none;letter-spacing:0;color:var(--muted)}.filter-select-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:36px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft);color:var(--text);font-size:var(--text-sm);font-weight:var(--fw-medium)}.filter-select-trigger:hover{border-color:var(--accent)}.filter-select-trigger svg{flex-shrink:0;color:var(--muted);transition:transform .15s ease}.filter-select-trigger.expanded svg{transform:rotate(180deg)}.filter-select-list{position:absolute;top:100%;left:0;right:0;z-index:10;display:flex;flex-direction:column;gap:1px;max-height:220px;overflow-y:auto;margin-top:4px;padding:4px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:0 10px 24px #10182029}[data-theme=dark] .filter-select-list{box-shadow:0 10px 24px #00000073}.header-select-trigger{width:auto;min-width:200px}.header-select-popover{position:fixed;top:auto;left:auto;right:auto;margin-top:0}.filter-menu-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:unset;padding:7px 8px;border:none;border-radius:7px;background:transparent;color:var(--text);font-size:var(--text-sm);text-align:left}.filter-menu-option:hover{background:var(--row-hover);border-color:transparent}.filter-menu-option-label{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-menu-option-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.filter-menu-option.active{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-dark);font-weight:var(--fw-semibold)}.filter-menu-option-meta{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.filter-menu-option.active .filter-menu-option-meta{color:var(--accent-dark)}.filter-menu-reset{width:100%;margin-top:8px;padding:8px;border:none;border-top:1px solid var(--border);border-radius:0;background:none;color:var(--muted);font-size:var(--text-xs);min-height:unset;justify-content:center}.filter-menu-reset:hover{color:var(--danger);background:none;border-top-color:var(--border)}.card-action-menu-trigger.active{border-color:color-mix(in srgb,var(--accent) 45%,var(--border));color:var(--accent)}.card-action-menu{position:fixed;min-width:190px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 16px 40px #1018202e;padding:6px;z-index:1100;display:flex;flex-direction:column;animation:filter-menu-in .15s ease-out}[data-theme=dark] .card-action-menu{box-shadow:0 16px 40px #00000080}@media(prefers-reduced-motion:reduce){.card-action-menu{animation:none}}.card-action-menu-item{display:flex;align-items:center;gap:9px;width:100%;min-height:34px;padding:0 10px;border:none;border-radius:7px;background:transparent;color:var(--text);font-size:var(--text-sm);text-align:left;justify-content:flex-start}.card-action-menu-item:hover{background:var(--row-hover)}.card-action-menu-item--danger{margin-top:6px;padding-top:7px;border-top:1px solid var(--border);border-radius:0 0 7px 7px;color:var(--danger)}.card-action-menu-item--danger:hover{background:color-mix(in srgb,var(--danger) 10%,transparent)}.form-fields-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.form-field{display:flex;flex-direction:column;gap:4px;flex:1;min-width:140px}.form-field-narrow{flex:0 0 110px;min-width:unset}.form-field span{color:var(--muted);font-size:var(--text-xs)}.form-field input,.form-field select,.form-field textarea{min-height:36px;border:1px solid var(--border);border-radius:6px;padding:0 10px;color:var(--text);background:var(--input-bg);font:inherit}.form-field textarea{padding:8px 10px;resize:vertical}.form-field input[type=checkbox]{width:16px;min-height:auto;height:16px;padding:0;border:none;background:none;flex:0 0 auto}.db-connection-card{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--panel-soft);margin-bottom:12px}.field-icon-wrap{position:relative;display:flex;align-items:center}.field-icon{position:absolute;left:10px;color:var(--muted);pointer-events:none}.field-icon-wrap input{flex:1;min-width:0;width:100%}.field-icon-wrap input.field-icon-input{padding-left:32px}.field-icon-wrap input.field-icon-input--suffixed{padding-right:34px}.field-icon-suffix-btn{position:absolute;right:4px;width:26px;height:26px;border:none;border-radius:6px;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer}.field-icon-suffix-btn:hover{color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}.field-icon-suffix-btn svg{flex-shrink:0}.segmented-control{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;width:fit-content}.segmented-control button{border:none;border-radius:0;background:var(--panel);padding:7px 14px;font-size:var(--text-xs);cursor:pointer;color:var(--muted)}.segmented-control button+button{border-left:1px solid var(--border)}.segmented-control button.active{background:var(--accent);color:var(--on-accent)}.workflow-target-choice{display:grid;grid-template-columns:1fr 1fr;gap:10px}.workflow-target-option{display:flex;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--text);cursor:pointer;text-align:center;transition:border-color .15s,background .15s}.workflow-target-option svg{color:var(--muted)}.workflow-target-option strong{font-size:var(--text-sm)}.workflow-target-option span{font-size:var(--text-2xs);color:var(--muted)}.workflow-target-option.selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.workflow-target-option.selected svg{color:var(--accent)}.monitoring-tab{display:flex;flex-direction:column;gap:0}.monitoring-groups{display:flex;flex-direction:column;gap:16px}.monitoring-type-group{border:1px solid color-mix(in srgb,var(--group-color, var(--muted)) 28%,var(--border));border-radius:10px;overflow:hidden;background:var(--bg)}.monitoring-type-group-header{display:flex;align-items:center;gap:8px;padding:9px 14px;background:color-mix(in srgb,var(--group-color, var(--muted)) 11%,var(--panel));border-bottom:1px solid color-mix(in srgb,var(--group-color, var(--muted)) 22%,var(--border))}.monitoring-type-label{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:var(--fw-bold);letter-spacing:0;text-transform:none;color:var(--group-color, var(--muted))}.monitoring-type-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;border-radius:9px;padding:0 6px;font-size:var(--text-2xs);font-weight:var(--fw-semibold);background:color-mix(in srgb,var(--group-color, var(--muted)) 16%,transparent);color:var(--group-color, var(--muted));border:1px solid color-mix(in srgb,var(--group-color, var(--muted)) 30%,transparent)}.monitoring-type-group .monitoring-check-list,.monitoring-type-group .reading-list{margin-bottom:0;padding:12px}.monitoring-type-toggle{display:inline-flex;align-items:center;gap:8px;border:none;background:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;flex:1;min-width:0;justify-content:flex-start}.monitoring-type-alert-badge{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-2xs);font-weight:var(--fw-bold)}.monitoring-type-chevron{color:var(--group-color, var(--muted));flex-shrink:0;transition:transform .15s ease}.monitoring-type-chevron.expanded{transform:rotate(180deg)}.monitoring-check-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;margin-bottom:24px}.load-more-row{display:flex;justify-content:center;margin:-12px 0 20px}.monitoring-check-card{border:1px solid var(--border);border-radius:8px;padding:12px;background:var(--panel);display:flex;flex-direction:column;gap:6px}.monitoring-check-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.drag-handle{display:inline-flex;align-items:center;cursor:grab;color:var(--muted);padding:0 2px 0 0;flex-shrink:0;touch-action:none;opacity:.45;transition:opacity .15s}.drag-handle:hover{opacity:1}.drag-handle:active{cursor:grabbing}.monitoring-check-card.is-dragging{box-shadow:0 6px 20px #0000002e;z-index:10;position:relative}.monitoring-check-type-badge{display:inline-flex;align-items:center;height:20px;border-radius:4px;padding:0 7px;font-size:var(--text-2xs);font-weight:var(--fw-semibold);background:var(--badge-bg);color:var(--badge-color);border:1px solid var(--badge-border);white-space:nowrap;flex-shrink:0}.monitoring-check-value{font-size:var(--text-md);font-weight:var(--fw-bold);white-space:nowrap;color:var(--fg)}.monitoring-check-name{margin:0;font-size:var(--text-md);font-weight:var(--fw-semibold);line-height:1.3;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.monitoring-check-target{margin:0;font-size:var(--text-2xs);font-family:var(--font-mono);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:color-mix(in srgb,var(--muted) 6%,transparent);border-radius:4px;padding:3px 7px}.monitoring-check-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.monitoring-check-interval{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-2xs);color:var(--muted)}.monitoring-check-interval svg{color:var(--muted);flex-shrink:0}.monitoring-check-mode-badge{display:inline-flex;align-items:center;height:18px;border-radius:4px;padding:0 6px;font-size:var(--text-3xs);font-weight:var(--fw-medium);background:color-mix(in srgb,var(--warning) 12%,transparent);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent);white-space:nowrap}.inline-error{color:var(--danger);font-size:var(--text-xs);margin:0}.inline-notice{color:var(--ok);font-size:var(--text-xs);margin:0 0 10px}.monitoring-check-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:2px;padding-top:8px;border-top:1px solid var(--border)}.monitoring-check-actions{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.diskspace-drives{display:flex;flex-direction:column;gap:4px;padding:6px 0 2px}.diskspace-drive-row{display:grid;grid-template-columns:14px auto 1fr auto;align-items:center;gap:6px;font-size:var(--text-xs);border-radius:4px;padding:2px 4px}.diskspace-drive-row--warn{background:color-mix(in srgb,var(--warning) 8%,transparent)}.diskspace-icon{flex-shrink:0}.diskspace-icon--ok{color:var(--ok)}.diskspace-icon--warn{color:var(--warning)}.diskspace-icon--danger{color:var(--danger)}.diskspace-icon--pending{color:var(--accent)}.diskspace-drive-name{font-family:var(--font-mono);font-size:var(--text-2xs);color:var(--text);font-weight:var(--fw-semibold);white-space:nowrap}.diskspace-drive-free{color:var(--muted);font-size:var(--text-2xs);text-align:right}.diskspace-drive-pct{font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--text);text-align:right;white-space:nowrap;min-width:42px}.diskspace-drive-row--warn .diskspace-drive-pct,.diskspace-drive-row--warn .diskspace-drive-free{color:var(--warning)}.db-check-value{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--text);text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.diskspace-drive-row--warn .db-check-value{color:var(--danger)}.diskspace-threshold-hint{display:block;font-size:var(--text-3xs);color:var(--muted);margin-top:4px;padding:0 4px}.readings-heading{margin-top:8px;padding-top:16px;border-top:1px solid var(--border)}.reading-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-bottom:8px}.reading-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px 8px;background:var(--panel-soft);display:flex;flex-direction:column;min-height:110px}.reading-card-top{display:flex;justify-content:flex-end;align-items:center;margin-bottom:8px}.reading-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.reading-status-dot.status-dot-online{background:var(--ok)}.reading-status-dot.status-dot-warning{background:var(--warning)}.reading-status-dot.status-dot-error{background:var(--danger)}.reading-card-body{display:flex;flex-direction:column;gap:2px;flex:1}.reading-card-value{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--text);line-height:1.2;word-break:break-all}.reading-card-name{font-size:var(--text-2xs);color:var(--muted);margin-top:2px}.reading-card-desc{font-size:var(--text-3xs);color:var(--muted);opacity:.75;margin-top:4px;line-height:1.4;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.reading-card-footer{display:flex;justify-content:flex-end;margin-top:8px}.reading-card-time{color:var(--muted);font-size:var(--text-3xs);opacity:.7}.capabilities-tab{display:flex;flex-direction:column;gap:0}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.chip{border:1px solid var(--border);border-radius:999px;padding:5px 10px;background:var(--panel-soft);font-size:var(--text-sm)}.chip-disabled{opacity:.55}.chip-unregistered{background:color-mix(in srgb,var(--warning) 10%,transparent);border-color:color-mix(in srgb,var(--warning) 40%,transparent);color:var(--warning)}.version-update-badge{display:inline-flex;align-items:center;margin-left:8px;padding:2px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-dark);font-size:var(--text-xs);font-weight:var(--fw-semibold);white-space:nowrap}.connector-item-trailing{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px}.version-update-icon{display:inline-flex;align-items:center;color:var(--accent);flex-shrink:0}.self-update-progress{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border:1px solid var(--border);border-radius:6px;background:var(--panel-soft);font-size:var(--text-sm);max-width:240px}.self-update-progress-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.self-update-progress-icon{flex-shrink:0}.self-update-progress-icon--spin{animation:spin 1s linear infinite;color:var(--accent)}.self-update-progress-icon--ok{color:var(--ok)}.self-update-progress-icon--warn{color:var(--warning)}.self-update-progress-close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;padding:0;border:none;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}.self-update-progress-close:hover{background:var(--row-hover);color:var(--text)}.identity-conflict-banner{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border:1px solid var(--danger-border);border-radius:6px;background:var(--panel-soft);color:var(--danger);font-size:var(--text-sm);max-width:320px}.identity-conflict-banner-icon{flex-shrink:0}.identity-conflict-banner-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.identity-conflict-banner-action{flex-shrink:0;border:none;background:transparent;color:inherit;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer;padding:0}.page-search-row.cascade-update-search{flex:0 0 auto;width:100%;margin-bottom:10px}.cascade-update-list{display:flex;flex-direction:column;max-height:50vh;overflow-y:auto;scrollbar-gutter:stable;border:1px solid var(--border);border-radius:8px}.cascade-update-row{display:grid;grid-template-columns:18px minmax(18px,auto) 1fr auto;gap:8px;padding:8px 10px;min-height:44px;align-items:center;border-bottom:1px solid var(--border);border-left:3px solid transparent}.cascade-update-row:last-child{border-bottom:none}.cascade-update-row--header{grid-template-columns:18px 1fr;background:var(--panel-soft);position:sticky;top:0;font-size:var(--text-xs);color:var(--muted)}.cascade-update-row--probe .cascade-update-row-icon{margin-left:16px}.cascade-update-row--disabled{opacity:.55}.cascade-update-row-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--row-color, var(--accent));flex-shrink:0}.cascade-update-row-body{display:flex;flex-direction:column;min-width:0}.cascade-update-row-title{font-weight:var(--fw-semibold);font-size:var(--text-sm)}.cascade-update-row-subtitle{display:block;color:var(--muted);font-size:var(--text-2xs);margin-top:1px}.cascade-update-row-trailing{display:flex;align-items:center;gap:6px;justify-self:end}.cascade-update-row-error{display:inline-flex;align-items:center;gap:6px;color:var(--danger);font-size:var(--text-xs);white-space:nowrap}.cascade-confirm-list{margin:4px 0 12px;padding:4px 8px;max-height:30vh;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft);list-style:none}.cascade-confirm-list li{padding:3px 4px;font-size:var(--text-xs);border-bottom:1px solid var(--border)}.cascade-confirm-list li:last-child{border-bottom:none}.self-update-tracker{position:fixed;right:22px;bottom:90px;width:min(320px,calc(100vw - 44px));background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow);z-index:45;overflow:hidden}.self-update-tracker-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:none;background:var(--panel-soft);color:var(--text);font-size:var(--text-sm);font-weight:var(--fw-semibold);cursor:pointer;min-height:auto}.self-update-tracker-header:hover{background:var(--row-hover);border-color:transparent}.self-update-tracker-header span{flex:1;text-align:left}.self-update-tracker-header-icon{color:var(--accent);animation:spin 1s linear infinite;flex-shrink:0}.self-update-tracker-list{display:flex;flex-direction:column;max-height:50vh;overflow-y:auto;scrollbar-gutter:stable}.self-update-tracker-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--border)}.self-update-tracker-row-icon{display:inline-flex;align-items:center;color:var(--muted);flex-shrink:0}.self-update-tracker-row-name{flex:1;min-width:0;font-size:var(--text-xs);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.self-update-tracker-row .self-update-progress{max-width:150px;padding:0 8px;min-height:30px;font-size:var(--text-xs)}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:0}.health-grid div{border:1px solid var(--border);border-radius:8px;padding:12px}.health-grid dt{color:var(--muted);font-size:var(--text-xs)}.health-grid dd{margin:4px 0 0;font-weight:var(--fw-semibold);overflow-wrap:anywhere}.connector-id-value{display:inline-flex;align-items:center;gap:4px;font-weight:var(--fw-normal);color:var(--muted)}.connector-id-value code{font-size:var(--text-2xs);word-break:break-all}.commands-tab{display:flex;flex-direction:column;gap:0}.command-list{display:flex;flex-direction:column;gap:6px;margin-top:4px}.commands-tab--panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px 20px 20px}.commands-tab--panel .monitoring-check-card{background:var(--panel-soft)}.workflow-table-scroll{overflow-x:auto;-webkit-mask-image:linear-gradient(to right,black calc(100% - 20px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 20px),transparent 100%)}.workflow-table{border-collapse:collapse;width:100%;min-width:720px}.workflow-table th{font-size:var(--text-3xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted);text-align:left;padding:10px 14px 8px}.workflow-table td{padding:8px 14px;border-top:1px solid var(--border);vertical-align:middle;font-size:var(--text-sm)}.workflow-table tbody tr:hover{background:var(--row-hover)}.workflow-table-name{font-weight:var(--fw-semibold)}.workflow-table-description{display:block;max-width:340px;font-size:var(--text-2xs);font-weight:var(--fw-normal);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workflow-table-muted{color:var(--muted)}.workflow-table-connector-link{margin-left:4px}.workflow-table-run-cell{display:flex;align-items:center;gap:6px;white-space:nowrap}.workflow-table-actions{display:flex;align-items:center;gap:4px;white-space:nowrap}.command-row{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--panel-soft)}.command-row-main{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.command-row-left{display:flex;flex-direction:column;gap:3px;min-width:0}.command-row-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.command-type{font-size:var(--text-sm);font-weight:var(--fw-semibold);font-family:var(--font-mono);color:var(--text)}.command-time{font-size:var(--text-2xs);color:var(--muted)}.command-error{font-size:var(--text-2xs);color:var(--danger)}.schedule-rule-editor{display:flex;flex-direction:column;gap:10px;margin:6px 0 14px}.schedule-rule-editor>span{color:var(--muted);font-size:var(--text-xs)}.schedule-rule-row{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:8px;background:var(--panel-soft)}.form-hint{color:var(--muted);font-size:var(--text-xs);margin:0}.weekday-picker{display:flex;flex-wrap:wrap;gap:6px}.weekday-chip{display:flex;align-items:center;justify-content:center;width:34px;height:28px;border-radius:6px;border:1px solid var(--border);font-size:var(--text-xs);cursor:pointer;-webkit-user-select:none;user-select:none}.weekday-chip input{display:none}.weekday-chip.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}.command-icon-btn{width:28px;height:28px;min-height:unset;padding:0;border-radius:6px;border:1px solid var(--border);background:var(--panel);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.command-icon-btn:hover{border-color:var(--accent);color:var(--accent)}.command-icon-btn--danger:hover{border-color:var(--danger-border);color:var(--danger)}.command-result{margin:10px 0 0;padding:10px 12px;background:var(--code-bg);border:1px solid var(--border);border-radius:6px;font-size:var(--text-xs);max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-all}.ps-script-editor{font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.55;border:1px solid var(--border);border-radius:6px;padding:10px 12px;background:var(--brand-950);color:var(--monitor-text);resize:vertical;width:100%;min-height:200px;-moz-tab-size:4;tab-size:4;white-space:pre;overflow-x:auto}.ps-script-editor:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--focus-ring)}.al-view{display:flex;flex-direction:column;gap:14px}.al-card{display:flex;flex-direction:column;border-radius:10px;border:1px solid var(--border);background:var(--panel);overflow:hidden}.al-card-header{display:flex;align-items:center;gap:7px;padding:10px 12px;border:none;border-bottom:1px solid var(--border);background:var(--panel-soft);font:inherit;color:inherit;text-align:left;cursor:pointer}.al-card-header:hover{background:color-mix(in srgb,var(--text) 4%,var(--panel-soft))}.al-card-chevron{margin-left:auto;color:var(--muted);flex-shrink:0;transition:transform .15s ease}.al-card-chevron.expanded{transform:rotate(180deg)}.al-card .al-entry-list{border:none;border-radius:0}.al-card-more{padding:8px 12px;border:none;border-top:1px solid var(--border);background:var(--panel);color:var(--accent-text);font-size:var(--text-xs);font-weight:var(--fw-semibold);cursor:pointer;text-align:center}.al-card-more:hover{background:var(--panel-soft)}.al-entry-date{font-size:var(--text-3xs);font-weight:var(--fw-semibold);color:var(--muted);margin-right:4px}.al-category-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;background:var(--panel-soft);border:1px solid var(--border);color:var(--muted);flex-shrink:0}.al-category-label{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text)}.al-category-count{font-size:var(--text-3xs);font-weight:var(--fw-semibold);padding:1px 7px;border-radius:999px;background:var(--panel-soft);border:1px solid var(--border);color:var(--muted)}.al-entry-list{display:flex;flex-direction:column;border-radius:9px;border:1px solid var(--border);overflow:hidden;background:var(--panel)}.al-entry{display:grid;grid-template-columns:40px 1fr auto;align-items:center;min-height:44px;transition:background .1s;cursor:default}.al-entry+.al-entry{border-top:1px solid var(--border)}.al-entry:hover{background:color-mix(in srgb,var(--al-color, var(--muted)) 5%,var(--panel-soft))}.al-entry-icon-wrap{display:flex;align-items:center;justify-content:center;height:100%;border-right:1px solid var(--border);background:color-mix(in srgb,var(--al-color, var(--muted)) 8%,var(--panel))}.al-entry-body{display:flex;flex-direction:column;gap:2px;padding:10px 14px;min-width:0}.al-entry-action{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text);line-height:1.3}.al-entry-sub{display:flex;align-items:center;gap:5px;font-size:var(--text-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.al-entry-sep{color:var(--border)}.al-entry-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;padding:10px 14px;flex-shrink:0}.al-entry-time{font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--text);font-variant-numeric:tabular-nums}.al-entry-admin{font-size:var(--text-2xs);color:var(--muted);white-space:nowrap}.toast{position:fixed;right:22px;bottom:22px;max-width:360px;padding:12px 14px;border-radius:8px;background:var(--brand-950);color:#fff;box-shadow:var(--shadow);z-index:50}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;padding:20px;z-index:30}.modal-dialog{width:min(520px,100%);background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 24px 64px #1018204d;display:flex;flex-direction:column;max-height:calc(100vh - 40px)}.modal-dialog--wide{width:min(860px,calc(100vw - 40px))}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid var(--border);cursor:grab;touch-action:none}.modal-header--dragging,.modal-header:active{cursor:grabbing}.modal-header button{cursor:pointer}.mh-title{font-size:var(--text-lg);font-weight:var(--fw-bold);margin:0}.mh-subtitle{font-size:var(--text-2xs);color:var(--muted);margin-top:2px}.mh-stats{display:flex;align-items:center;background:var(--panel-soft);border:1px solid var(--border);border-radius:8px;padding:10px 16px;gap:0}.mh-stat-block{display:flex;flex-direction:column;align-items:center;padding:0 20px 0 4px;gap:1px}.mh-stat-num{font-size:var(--text-2xl);font-weight:var(--fw-bold);line-height:1.1}.mh-stat-lbl{font-size:var(--text-3xs);font-weight:var(--fw-semibold);text-transform:none;letter-spacing:0;color:var(--muted)}.mh-stats-divider{width:1px;background:var(--border);align-self:stretch;margin:2px 0;flex-shrink:0}.mh-stat-pills{display:flex;flex-wrap:wrap;gap:6px;padding-left:16px;align-items:center}.mh-stat-pill{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-2xs);font-weight:var(--fw-semibold);padding:3px 8px;border-radius:20px;background:color-mix(in srgb,var(--pill-color) 12%,var(--panel));color:var(--pill-color);border:1px solid color-mix(in srgb,var(--pill-color) 25%,transparent)}.mh-strip-row{display:flex;align-items:center;gap:8px}.mh-strip-cap{font-size:var(--text-3xs);color:var(--muted);white-space:nowrap;flex-shrink:0}.mh-strip{display:flex;gap:2px;height:32px;flex:1;border-radius:6px;overflow:hidden}.mh-block{flex:1;min-width:3px;cursor:default;transition:opacity .1s}.mh-block:hover{opacity:.65}.mh-loading{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:var(--text-md);padding:24px 0}.mh-spinner{width:16px;height:16px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:mh-spin .7s linear infinite;flex-shrink:0}@keyframes mh-spin{to{transform:rotate(360deg)}}.mh-list{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:8px;overflow:hidden;max-height:440px;overflow-y:auto}.mh-row{display:grid;grid-template-columns:22px 150px 1fr auto;grid-template-rows:auto auto;column-gap:0;align-items:center;padding:10px 14px 10px 12px;background:var(--panel);border-left:4px solid var(--row-color, var(--border));transition:background .12s;min-height:44px}.mh-row+.mh-row{border-top:1px solid var(--border)}.mh-row:hover{background:color-mix(in srgb,var(--row-color, var(--muted)) 6%,var(--panel-soft))}.mh-row-accent{display:none}.mh-row-icon{grid-column:1;grid-row:1;display:flex;align-items:center;justify-content:center}.mh-row-status{grid-column:2;grid-row:1;font-size:var(--text-sm);font-weight:var(--fw-bold);white-space:nowrap;padding-right:8px}.mh-row-time{grid-column:3;grid-row:1;display:flex;align-items:baseline;gap:6px;min-width:0;overflow:hidden}.mh-row-date{font-size:var(--text-xs);color:var(--text);font-variant-numeric:tabular-nums;white-space:nowrap}.mh-row-clock{font-size:var(--text-2xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.mh-row-error-inline{font-size:var(--text-2xs);color:var(--danger);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mh-row-value{grid-column:4;grid-row:1;font-size:var(--text-2xs);font-weight:var(--fw-semibold);padding:2px 9px;border-radius:5px;background:var(--panel-soft);border:1px solid var(--border);color:var(--text);white-space:nowrap;justify-self:end}.alarm-row-action{grid-column:4;grid-row:1;justify-self:end}.alarm-row-acked{font-size:var(--text-2xs);color:var(--muted);white-space:nowrap}.mh-row-new{grid-column:4;grid-row:1;font-size:var(--text-3xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-label);padding:2px 8px;border-radius:5px;background:var(--accent);color:var(--on-accent);white-space:nowrap;justify-self:end}.mh-row-error{display:none}.mh-row-ai-cost{grid-column:3;grid-row:2;font-size:var(--text-2xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.mh-row-active-since{grid-column:3;grid-row:2;font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--danger);white-space:nowrap}.mh-list::-webkit-scrollbar{width:5px}.mh-list::-webkit-scrollbar-track{background:transparent}.mh-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.modal-header h3{margin:0;font-size:var(--text-lg)}.modal-close{background:none;border:none;color:var(--muted);padding:4px;cursor:pointer;border-radius:4px;display:flex;align-items:center;min-height:unset}.modal-close:hover{background:var(--panel-soft);color:var(--text);border-color:transparent}.modal-body{padding:20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;overflow-x:visible}.modal-body>*{flex-shrink:0}.modal-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:6px}.service-list{list-style:none;margin:4px 0 0;padding:2px 0;border:1px solid var(--border);border-radius:6px;max-height:180px;overflow-y:auto;background:var(--panel-soft)}.service-list li{display:flex;flex-direction:column;padding:6px 10px;cursor:pointer;gap:1px;border-radius:4px}.service-list li:hover,.service-list li.active{background:var(--border)}.service-display{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text)}.service-name{font-size:var(--text-3xs);color:var(--muted);font-family:var(--font-mono)}@media(max-width:960px){.workspace{grid-template-columns:1fr}.mobile-topbar{display:flex}.page{min-height:calc(100vh - 48px)}.nav-rail-drawer{display:block;position:fixed;inset:0 auto 0 0;z-index:1000;width:min(260px,84vw);transform:translate(-100%);transition:transform .2s ease-out;padding-left:env(safe-area-inset-left)}.nav-rail-drawer .nav-rail{width:100%;height:100%}.nav-rail-drawer--open{transform:translate(0);box-shadow:24px 0 64px #1018204d}.nav-drawer-overlay{justify-content:flex-start}.detail-pane-back{display:inline-flex}.workspace.workspace--detail-active .connector-pane{display:none}.workspace:not(.workspace--detail-active) .detail-pane{display:none}.page-header{flex-wrap:wrap;row-gap:8px}.page-header-actions{flex-wrap:wrap}.page-search-row{width:100%}.detail-header{flex-wrap:wrap}.detail-header>*{flex-basis:100%}.detail-actions{justify-content:flex-start}}@media(max-width:960px)and (prefers-reduced-motion:reduce){.nav-rail-drawer{transition:none}}@media(max-width:700px){:root{--nav-width: 180px}.groups-layout{grid-template-columns:1fr}.modal-actions{display:grid;grid-template-columns:1fr}.page-header{padding:0 16px}.page-body{padding:16px}.page-body--workspace{padding:12px 16px 16px}.probe-status-table td{padding:7px 10px}.probe-status-table th{padding:8px 10px}.workflow-table td{padding:7px 10px}.workflow-table th{padding:8px 10px}.modal-backdrop{align-items:end;padding:0}.modal-overlay:not(.drawer-overlay){align-items:flex-end;padding:0}.modal,.modal--wide,.modal-dialog,.modal-dialog--wide{width:100%;max-width:100%;max-height:88vh;border-radius:14px 14px 0 0}.modal-header{position:relative;padding-top:22px}.modal-header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:36px;height:4px;border-radius:2px;background:var(--border)}.modal-actions{padding-bottom:max(6px,env(safe-area-inset-bottom))}}@media(max-width:480px){.page-header{padding:0 14px}.page-body{padding:14px}.page-body--workspace{padding:10px 14px 14px}}@media(hover:none){.connector-drag-handle,.probe-drag-handle,.drag-handle{opacity:.6}}@media(pointer:coarse){button{min-height:44px}.modal-close{min-width:40px;min-height:40px}.probe-item{min-height:44px}}@keyframes monitor-pulse{0%,to{opacity:1;box-shadow:0 0 0 0 currentColor}50%{opacity:.7;box-shadow:0 0 0 6px transparent}}@keyframes monitor-pulse-warn{0%,to{opacity:1}50%{opacity:.55}}.monitor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:var(--monitor-bg);display:flex;flex-direction:column;overflow:hidden;font-family:var(--font-sans)}.monitor-header{display:flex;align-items:center;padding:14px 28px;border-bottom:1px solid var(--monitor-border);flex-shrink:0;gap:20px}.monitor-brand{display:flex;flex-direction:row;align-items:center;gap:12px;min-width:160px}.monitor-brand-logo{width:36px;height:36px;object-fit:contain;flex-shrink:0}.monitor-brand-text{display:flex;flex-direction:column;gap:1px}.monitor-brand-name{font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--monitor-text-bright);letter-spacing:-.2px}.monitor-brand-sub{font-size:var(--text-3xs);font-weight:var(--fw-semibold);text-transform:none;letter-spacing:0;color:var(--monitor-muted)}.monitor-clock{flex:1;text-align:center;font-size:var(--text-monitor);font-weight:800;color:var(--monitor-text-bright);font-variant-numeric:tabular-nums;letter-spacing:2px;line-height:1}.monitor-connectivity{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:var(--text-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-label);border:1px solid var(--monitor-border);background:#ffffff08;flex-shrink:0}.monitor-connectivity-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;animation:monitor-pulse 2s ease-in-out infinite}.monitor-exit-btn{min-height:unset;width:36px;height:36px;padding:0;border-radius:8px;border:1px solid var(--monitor-border);background:transparent;color:var(--monitor-muted);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .15s,border-color .15s;flex-shrink:0}.monitor-exit-btn:hover{border-color:var(--monitor-error);color:var(--monitor-error)}.monitor-global-status{display:flex;align-items:center;gap:14px;padding:14px 28px;flex-shrink:0;border-bottom:1px solid var(--monitor-border)}.monitor-global-status--ok{background:#16803c1f}.monitor-global-status--warn{background:#b76e001f;animation:monitor-pulse-warn 2s ease-in-out infinite}.monitor-pulse-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;animation:monitor-pulse 2s ease-in-out infinite}.monitor-pulse-dot--ok{background:var(--monitor-ok);color:var(--monitor-ok)}.monitor-pulse-dot--warn{background:var(--monitor-warn);color:var(--monitor-warn)}.monitor-global-text{font-size:var(--text-xl);font-weight:var(--fw-bold);flex:1}.monitor-global-status--ok .monitor-global-text{color:var(--monitor-ok)}.monitor-global-status--warn .monitor-global-text{color:var(--monitor-warn)}.monitor-global-date{font-size:var(--text-sm);color:var(--monitor-muted);font-weight:var(--fw-medium);white-space:nowrap}.monitor-body{flex:1;overflow-y:auto;scrollbar-gutter:stable;padding:20px 28px 24px;display:flex;flex-direction:column;gap:20px}.monitor-body::-webkit-scrollbar{width:6px}.monitor-body::-webkit-scrollbar-track{background:transparent}.monitor-body::-webkit-scrollbar-thumb{background:var(--monitor-border);border-radius:3px}.monitor-kpi-row{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;flex-shrink:0}.monitor-kpi{background:var(--monitor-panel);border:1px solid var(--monitor-border);border-top:3px solid var(--monitor-border);border-radius:12px;padding:18px 22px 16px;display:flex;flex-direction:column;gap:4px;box-shadow:0 2px 8px #00000059}.monitor-kpi-value{font-size:var(--text-clock);font-weight:800;line-height:1;color:var(--monitor-text);font-variant-numeric:tabular-nums;display:block}.monitor-kpi--online{border-top-color:var(--monitor-ok)}.monitor-kpi--offline{border-top-color:var(--monitor-warn)}.monitor-kpi--online .monitor-kpi-value{color:var(--monitor-ok)}.monitor-kpi--offline .monitor-kpi-value{color:var(--monitor-warn)}.monitor-kpi-label{font-size:var(--text-3xs);font-weight:var(--fw-bold);text-transform:none;letter-spacing:0;color:var(--monitor-muted);margin-top:2px}.monitor-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;align-content:start}.monitor-group-card{background:var(--monitor-panel);border:1px solid var(--monitor-border);border-top:3px solid var(--monitor-border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.monitor-group-card--ungrouped{border-top-color:var(--monitor-border)}.monitor-group-header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--monitor-border);flex-shrink:0}.monitor-group-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.monitor-group-name{flex:1;font-size:var(--text-md);font-weight:var(--fw-bold);color:var(--monitor-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-group-badge{font-size:var(--text-xs);font-weight:var(--fw-bold);font-variant-numeric:tabular-nums;border-radius:8px;padding:2px 8px;flex-shrink:0}.monitor-group-badge--ok{background:#22c55e26;color:var(--monitor-ok)}.monitor-group-badge--warn{background:#f59e0b26;color:var(--monitor-warn)}.monitor-tenant-groups{display:flex;flex-direction:column;gap:22px}.monitor-tenant-group{background:var(--monitor-panel-2);border:1px solid var(--monitor-border);border-top:3px solid var(--monitor-border);border-radius:12px;overflow:hidden;padding-bottom:14px}.monitor-tenant-header{display:flex;align-items:center;gap:10px;padding:14px 18px;border-bottom:1px solid var(--monitor-border)}.monitor-tenant-name{flex:1;font-size:var(--text-xl);font-weight:800;color:var(--monitor-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-tenant-group .monitor-groups{padding:14px 16px 0}.monitor-connector-list{padding:6px 0}.monitor-connector-row{display:flex;align-items:center;gap:10px;padding:7px 16px}.monitor-connector-row:hover{background:#ffffff05}.monitor-connector-row--probe{flex-direction:column;align-items:stretch;gap:3px;padding:6px 16px 6px 34px;opacity:.85}.monitor-connector-row--probe .monitor-connector-name{font-size:var(--text-xs)}.monitor-connector-row-main{display:flex;align-items:center;gap:10px}.monitor-connector-row--probe .monitor-check-icons{flex-wrap:wrap;padding-left:18px}.monitor-connector-row--summary{opacity:.55;font-style:italic}.monitor-connector-row--summary .monitor-connector-name{font-size:var(--text-xs)}.monitor-connector-list--virtualized{border-top:1px solid var(--monitor-border-soft)}.monitor-virtual-scroll::-webkit-scrollbar{width:6px}.monitor-virtual-scroll::-webkit-scrollbar-track{background:transparent}.monitor-virtual-scroll::-webkit-scrollbar-thumb{background:var(--monitor-border);border-radius:3px}.monitor-type-icon{flex-shrink:0}.monitor-connector-name{flex:1;font-size:var(--text-sm);color:var(--monitor-text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.monitor-connector-status{font-size:var(--text-2xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-label);flex-shrink:0}.monitor-check-icons{display:flex;align-items:center;gap:3px;flex-shrink:0}.monitor-check-icon{display:inline-flex;align-items:center}.monitor-label--online{color:var(--monitor-ok)}.monitor-label--warning{color:var(--monitor-warn)}.monitor-label--error,.monitor-label--offline{color:var(--monitor-error)}.monitor-label--disabled{color:var(--monitor-disabled)}.btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;min-height:unset;font-size:var(--text-sm);font-weight:var(--fw-medium);border-radius:6px;cursor:pointer;border:1px solid var(--border);background:var(--panel-soft);color:var(--text);transition:border-color .15s,background .15s;white-space:nowrap}.btn:hover{border-color:var(--accent)}.btn:disabled{cursor:not-allowed;opacity:.65}.btn-sm{padding:3px 9px;font-size:var(--text-xs)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.btn-secondary{background:var(--panel-soft);border-color:var(--border);color:var(--text)}.btn-secondary:hover{border-color:var(--accent)}.btn-success{background:var(--ok-solid);border-color:var(--ok-solid);color:#fff}.btn-success:hover{background:var(--ok-solid-hover);border-color:var(--ok-solid-hover)}.field-label{display:block;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--muted);text-transform:none;letter-spacing:0;margin-bottom:4px}.field-input{width:100%;padding:8px 10px;border-radius:6px;border:1px solid var(--border);background:var(--panel-soft);color:var(--text);font-size:var(--text-md);box-sizing:border-box}.field-input:focus{outline:none;border-color:var(--accent)}.field-error{font-size:var(--text-xs);color:var(--danger);margin:0}.credential-usage-warning{margin-top:8px}.credential-usage-list{margin:4px 0 6px;padding-left:18px;font-size:var(--text-xs);color:var(--text)}.credential-usage-list li{margin-bottom:2px}.modal-success-text{font-size:var(--text-sm);color:var(--muted);margin:0}.pairing-code-box{display:flex;align-items:center;gap:8px;background:var(--panel-soft);border:1px solid var(--border);border-radius:8px;padding:12px 14px}.pairing-code{flex:1;font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--fw-bold);letter-spacing:.12em;color:var(--accent-text)}.pairing-code-hint{font-size:var(--text-2xs);color:var(--muted);margin:0}.group-item-actions{display:flex;gap:2px;flex-shrink:0}.field-checkbox{display:flex;align-items:center;gap:6px;font-size:var(--text-sm);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;margin:6px 0}.field-hint{font-size:var(--text-2xs);color:var(--muted);margin:2px 0 6px}.cred-graph-test{margin:8px 0 12px;display:flex;flex-direction:column;gap:4px}.cred-test-ok,.cred-test-fail{font-size:var(--text-xs);border-radius:6px;padding:8px 10px;display:flex;flex-direction:column;gap:3px}.cred-test-ok{color:var(--ok);background:color-mix(in srgb,var(--ok) 10%,transparent)}.cred-test-fail{color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent)}.field-inline-link{background:none;border:none;padding:0;margin:-2px 0 6px;min-height:unset;font-size:var(--text-2xs);color:var(--accent);cursor:pointer;text-decoration:underline}.field-inline-link:hover{color:var(--accent)}.field-error-hint{font-size:var(--text-xs);color:var(--danger);margin:2px 0 6px}.alert-section{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:18px 20px 20px;margin-bottom:18px}.alert-section-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;flex-wrap:wrap}.alert-section-header h3{display:flex;align-items:center;gap:7px;font-size:var(--text-md);font-weight:var(--fw-semibold);color:var(--text);margin:0;flex:1}.alert-section-desc{flex-basis:100%;font-size:var(--text-xs);color:var(--muted);margin:-8px 0 2px;order:2}.alert-section-header .btn{flex-shrink:0}.alert-item-list{display:flex;flex-direction:column;gap:6px}.alert-item{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel-soft);border:1px solid var(--border);border-radius:8px}.alert-item-icon{flex-shrink:0;color:var(--muted);display:flex;align-items:center}.alert-item-info{flex:1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.alert-item-info strong{font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text)}.alert-item-sub{font-size:var(--text-xs);color:var(--muted)}.alert-item-scope{font-style:italic}.credential-item-body{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.credential-item-name{display:block;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text)}.credential-item-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.credential-item-description{font-size:var(--text-xs);color:var(--muted);margin:0}.alert-section-count{font-weight:var(--fw-normal);color:var(--muted);font-size:var(--text-xs)}.alert-item-toggle{flex-shrink:0;font-size:var(--text-xs);color:var(--muted);margin:0}.alert-item-actions{display:flex;gap:4px;flex-shrink:0}.alert-badge{display:inline-block;padding:1px 7px;border-radius:20px;font-size:var(--text-2xs);font-weight:var(--fw-medium);background:var(--panel);border:1px solid var(--border);color:var(--muted);white-space:nowrap}.alert-badge-trigger{background:color-mix(in srgb,var(--accent) 12%,transparent);border-color:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--accent)}.tenant-badge{display:inline-block;padding:1px 7px;border-radius:20px;font-size:var(--text-2xs);font-weight:var(--fw-medium);background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--accent);white-space:nowrap}.tenant-badge-global{background:var(--panel);border-color:var(--border);color:var(--muted);font-style:italic}.system-badge{display:inline-block;padding:1px 7px;border-radius:20px;font-size:var(--text-2xs);font-weight:var(--fw-medium);background:color-mix(in srgb,var(--group-color, var(--accent)) 10%,transparent);border:1px solid color-mix(in srgb,var(--group-color, var(--accent)) 30%,transparent);color:var(--group-color, var(--accent));white-space:nowrap}.alert-settings-form{display:flex;flex-direction:column;gap:10px;max-width:380px}.templates-page-body{display:flex;gap:18px;align-items:flex-start}.templates-list-section{flex:0 0 320px;max-width:320px}.templates-detail-section{flex:1;min-width:0}.template-list-item{cursor:pointer}.template-list-item.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel-soft))}.alert-settings-form .form-field{display:flex;align-items:center;gap:10px}.alert-settings-form .form-field span{flex:1;font-size:var(--text-sm);color:var(--text)}.alert-settings-form .form-field input[type=number]{width:80px;padding:5px 8px;border-radius:6px;border:1px solid var(--border);background:var(--panel-soft);color:var(--text);font-size:var(--text-sm);text-align:right}.alert-header-row{display:flex;gap:6px;align-items:center;margin-bottom:6px}.alert-header-row .field-input,.alert-header-row .field-icon-wrap{flex:1}@keyframes spin{to{transform:rotate(360deg)}}.color-pick-wrap{position:relative;margin-left:auto;flex-shrink:0}.color-pick-btn{width:18px;height:18px;min-height:unset;min-width:unset;border-radius:50%;border:2px solid rgba(255,255,255,.55);box-shadow:0 0 0 1px #0003;cursor:pointer;padding:0;outline:none;display:flex;align-items:center;justify-content:center;color:#ffffffd9;flex-shrink:0;transition:transform .12s}.color-pick-btn:hover{transform:scale(1.2)}.color-palette-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50}.color-palette-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:51;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px;box-shadow:0 4px 16px #0000002e;min-width:140px}.color-palette-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:8px}.color-swatch{width:26px;height:26px;min-height:unset;min-width:unset;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0;transition:transform .1s,box-shadow .1s}.color-swatch:hover{transform:scale(1.15)}.color-swatch--active{box-shadow:0 0 0 2px var(--panel),0 0 0 4px currentColor}.color-palette-reset{display:block;width:100%;text-align:center;font-size:var(--text-2xs);color:var(--muted);background:none;border:1px solid var(--border);border-radius:4px;cursor:pointer;padding:3px 0}.color-palette-reset:hover{color:var(--text)}.page-search-row{position:relative;width:220px;flex:1 1 140px;min-width:140px}.page-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.page-search-input{width:100%;height:36px;padding:0 10px 0 32px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:var(--text-sm);outline:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.page-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.sensor-search-row{position:relative;margin-bottom:10px}.sensor-search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.sensor-search-input{width:100%;height:36px;padding:0 10px 0 32px;border:1px solid var(--border);border-radius:8px;background:var(--input-bg);color:var(--text);font-size:var(--text-sm);outline:none;box-sizing:border-box;transition:border-color .15s,box-shadow .15s}.sensor-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.sensor-filter-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.sensor-filter-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;border:1px solid var(--border);background:var(--panel-soft);color:var(--muted);font-size:var(--text-xs);font-weight:var(--fw-medium);cursor:pointer;transition:border-color .12s,background .12s,color .12s}.sensor-filter-chip:hover{border-color:var(--cat-color, var(--accent));color:var(--text)}.sensor-filter-chip.active{border-color:var(--cat-color, var(--accent));background:color-mix(in srgb,var(--cat-color, var(--accent)) 12%,var(--panel-soft));color:var(--cat-color, var(--accent))}.sensor-no-results{font-size:var(--text-sm);color:var(--muted);text-align:center;padding:16px 0;grid-column:1 / -1}.sensor-back-btn{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs);color:var(--muted);background:none;border:none;padding:0 0 8px;cursor:pointer;transition:color .1s}.sensor-back-btn:hover{color:var(--accent)}.sensor-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;margin-bottom:16px}.sensor-type-card{display:flex;align-items:flex-start;justify-content:flex-start;gap:8px;padding:10px;border-radius:8px;border:1.5px solid var(--border);background:var(--panel-soft);cursor:pointer;text-align:left;transition:border-color .12s,background .12s}.sensor-type-card:hover{border-color:color-mix(in srgb,var(--cat-color, var(--accent)) 60%,var(--border))}.sensor-type-card.active{border-color:var(--cat-color, var(--accent));background:color-mix(in srgb,var(--cat-color, var(--accent)) 10%,var(--panel))}.sensor-type-icon{color:var(--cat-color, var(--accent));flex-shrink:0;opacity:.8;display:flex;align-self:flex-start;padding-top:2px}.sensor-type-card.active .sensor-type-icon{opacity:1}.sensor-type-label{font-size:var(--text-xs);font-weight:var(--fw-medium);color:var(--text);line-height:1.3}.spin{animation:spin 1s linear infinite}.detail-probe-parent{font-size:var(--text-xs);color:var(--muted);display:flex;align-items:center;gap:5px;margin-top:6px}.tab-toolbar{display:flex;gap:8px;align-items:center;margin-bottom:12px}.probe-list{display:flex;flex-direction:column;gap:6px}.probe-card{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;border:1.5px solid var(--border);background:var(--panel-soft);cursor:pointer;text-align:left;transition:border-color .12s,background .12s;width:100%}.probe-card:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.probe-card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.probe-card-name{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text)}.probe-card-meta{font-size:var(--text-2xs);color:var(--muted)}.muted-hint{color:var(--muted);font-size:var(--text-sm);margin-top:8px}.token-display{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--panel-soft);border:1.5px solid var(--border);border-radius:8px;margin:12px 0}.token-value{flex:1;min-width:0;font-family:var(--font-mono);font-size:var(--text-sm);white-space:nowrap;overflow-x:auto;color:var(--text)}.sessions-modal{width:min(760px,calc(100vw - 32px))}.session-list{display:grid;gap:10px;margin:18px 0;max-height:52vh;overflow:auto}.session-item{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--border);border-radius:10px}.session-item-info{display:grid;gap:3px;flex:1;min-width:0}.session-item-info span{color:var(--text-muted);font-size:var(--text-xs)}.wf-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--bg)}.wf-editor{display:flex;flex-direction:column;height:100%}.wf-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);border-top:3px solid var(--accent);background:var(--panel);flex-shrink:0}.wf-editor-title-group{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.wf-editor-title{margin:0;font-size:var(--text-lg);font-weight:var(--fw-bold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-editor-subtitle{font-size:var(--text-xs);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-editor-toolbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.wf-palette-scrim{display:none}.wf-run-bar{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:210;display:flex;align-items:stretch;gap:8px}.wf-run-bar-group{display:flex;align-items:stretch;border-radius:8px;overflow:hidden;box-shadow:var(--shadow)}.wf-run-bar-run{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:6px 18px;border:none;background:var(--accent);color:var(--on-accent);white-space:nowrap;cursor:pointer}.wf-run-bar-run-text{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.2}.wf-run-bar-run-label{font-size:var(--text-sm);font-weight:var(--fw-semibold)}.wf-run-bar-run-source{font-size:var(--text-3xs);font-weight:var(--fw-medium);opacity:.75}.wf-run-bar-run:disabled{opacity:.7;cursor:default}.wf-run-bar-run:not(:disabled):hover{filter:brightness(1.08)}.wf-run-bar-chevron{display:inline-flex;align-items:center;justify-content:center;width:30px;min-height:42px;padding:0;border:none;border-left:1px solid color-mix(in srgb,var(--on-accent) 25%,transparent);background:var(--accent);color:var(--on-accent);cursor:pointer}.wf-run-bar-chevron:disabled{opacity:.7;cursor:default}.wf-run-bar-chevron:not(:disabled):hover{filter:brightness(1.08)}.wf-run-bar-stop{display:inline-flex;align-items:center;justify-content:center;width:42px;min-height:42px;padding:0;border-radius:8px;border:1px solid var(--danger);background:var(--panel);color:var(--danger);box-shadow:var(--shadow);cursor:pointer;flex-shrink:0}.wf-run-bar-stop:hover{background:var(--danger);color:#fff}.wf-run-bar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:209;background:transparent}.wf-run-bar-dropdown{position:absolute;left:0;bottom:calc(100% + 8px);z-index:211;min-width:260px;max-width:340px;border-radius:8px;border:1px solid var(--border);background:var(--panel);box-shadow:var(--shadow);padding:6px;display:flex;flex-direction:column;gap:2px}.wf-run-bar-dropdown-item{display:flex;align-items:center;gap:8px;padding:8px 10px;border:none;border-radius:6px;background:transparent;color:var(--text);font-size:var(--text-sm);text-align:left;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wf-run-bar-dropdown-item:hover{background:var(--panel-soft)}.wf-run-bar-dropdown-check{display:inline-flex;align-items:center;justify-content:center;width:14px;flex-shrink:0;color:var(--accent)}@media(max-width:720px){.wf-run-bar{bottom:12px}.wf-run-bar-run-text{display:none}.wf-run-bar-run{padding:0 12px}.wf-run-bar-dropdown{min-width:220px}}.wf-editor-body{flex:1;display:flex;min-height:0}.wf-palette{width:260px;flex-shrink:0;overflow-y:auto;border-right:1px solid var(--border);background:var(--panel-soft);padding:10px;text-align:left}.wf-palette-group{text-align:left}.wf-palette-group h4{margin:14px 0 4px;padding:0 8px;font-size:var(--text-3xs);font-weight:var(--fw-bold);text-transform:none;letter-spacing:0;color:var(--muted);text-align:left}.wf-palette-group:first-child h4{margin-top:0}.wf-palette-item{display:flex;align-items:flex-start;gap:10px;width:100%;padding:8px;border:none;background:transparent;border-radius:8px;text-align:left;cursor:pointer;color:var(--text)}.wf-palette-item:hover{background:var(--bg)}.wf-palette-item-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.wf-palette-item-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left;min-width:0}.wf-palette-item-title{font-size:var(--text-xs);font-weight:var(--fw-semibold);text-align:left;display:inline-flex;align-items:center;gap:6px}.wf-palette-item-beta{font-size:var(--text-3xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 45%,transparent);border-radius:4px;padding:1px 4px;line-height:1.4}.wf-palette-item-desc{margin-top:1px;font-size:var(--text-2xs);line-height:1.35;color:var(--muted);text-align:left}.wf-palette-search{margin-bottom:12px}.wf-palette-search .page-search-row{width:100%}.wf-canvas{flex:1;min-width:0;position:relative}.wf-canvas-empty-state{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:5}.wf-canvas-empty-card{pointer-events:auto;max-width:320px;text-align:center;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:24px 28px;box-shadow:0 4px 16px #17202a14;color:var(--muted)}[data-theme=dark] .wf-canvas-empty-card{box-shadow:0 4px 16px #0000004d}.wf-canvas-empty-card svg{color:var(--accent)}.wf-canvas-empty-card h4{margin:10px 0 6px;font-size:var(--text-lg);color:var(--text)}.wf-canvas-empty-card p{margin:0 0 16px;font-size:var(--text-xs);line-height:1.5}.wf-snap-hint{position:absolute;bottom:16px;left:50%;transform:translate(-50%);z-index:5;display:flex;align-items:center;gap:10px;max-width:380px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:8px 10px 8px 14px;box-shadow:0 4px 16px #17202a1f;font-size:var(--text-xs);color:var(--text)}[data-theme=dark] .wf-snap-hint{box-shadow:0 4px 16px #00000059}.wf-snap-hint button{flex-shrink:0;display:inline-flex;color:var(--muted)}.wf-snap-hint button:hover{color:var(--text)}.wf-properties-panel{width:320px;flex-shrink:0;overflow-y:auto;border-left:1px solid var(--border);background:var(--panel-soft);padding:14px}.wf-properties-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.wf-properties-type{font-size:var(--text-sm);font-weight:var(--fw-bold)}.wf-form{display:grid;gap:12px}.wf-form input:required:invalid,.wf-form select:required:invalid,.wf-form textarea:required:invalid{border-color:var(--danger)}.wf-code-editor{font-family:var(--font-mono);font-size:var(--text-xs);-moz-tab-size:2;tab-size:2}.wf-minimap{border:1px solid var(--border);border-radius:10px;box-shadow:0 6px 20px #00000040;overflow:hidden}.wf-alignment-guide{position:absolute;background:var(--accent);pointer-events:none;z-index:5}.wf-alignment-guide--vertical{height:20000px}.wf-alignment-guide--horizontal{width:20000px}.wf-node{min-width:150px;border:1.5px solid var(--border);border-top:3px solid var(--wf-node-accent, var(--accent));border-radius:8px;background:var(--panel);box-shadow:0 1px 3px #0000001f;font-size:var(--text-xs)}.wf-node--selected{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 35%,transparent)}.wf-node-toolbar{display:flex;gap:2px;padding:3px;background:var(--panel);border:1px solid var(--border);border-radius:7px;box-shadow:0 4px 14px #0000002e}.wf-node-toolbar button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:5px;background:transparent;color:var(--muted);cursor:pointer}.wf-node-toolbar button:hover,.wf-node-toolbar button.active{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.wf-node-toolbar button:first-child:hover{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.wf-node-toolbar-swatches{display:flex;align-items:center;gap:5px;padding-left:5px;margin-left:3px;border-left:1px solid var(--border)}.wf-node-swatch{width:16px;height:16px;flex-shrink:0;border-radius:50%;border:1px solid rgba(0,0,0,.18);padding:0;cursor:pointer}.wf-node-swatch:hover{transform:scale(1.15)}.wf-node-swatch--reset{background:repeating-linear-gradient(45deg,var(--border),var(--border) 2px,transparent 2px,transparent 4px)}.wf-node--grouped{background:color-mix(in srgb,var(--accent) 6%,var(--panel))}.wf-node-group-icon{display:inline-flex;align-items:center;color:var(--muted);flex-shrink:0}.wf-node--run-running{border-color:var(--accent);animation:wf-node-running-pulse 1.1s ease-out infinite}@keyframes wf-node-running-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--accent) 55%,transparent)}70%{box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 0%,transparent)}to{box-shadow:0 0 color-mix(in srgb,var(--accent) 0%,transparent)}}.wf-node--run-succeeded{border-color:var(--ok);box-shadow:0 0 0 1px color-mix(in srgb,var(--ok) 45%,transparent)}.wf-node--run-failed{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 7%,var(--panel));box-shadow:0 0 0 2px color-mix(in srgb,var(--danger) 55%,transparent)}.wf-node--run-skipped{opacity:.6;border-style:dashed}.wf-node-header{display:flex;align-items:center;gap:6px;padding:7px 9px 2px;font-weight:var(--fw-semibold)}.wf-node-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-node-menu-btn{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;color:var(--muted);opacity:0;transition:opacity .1s ease}.wf-node:hover .wf-node-menu-btn,.wf-node-menu-btn:focus-visible,.wf-node-menu-btn--active{opacity:1}.wf-node-menu-btn:hover{background:var(--panel-soft);color:var(--text)}.wf-node-type{padding:0 9px 7px;font-size:var(--text-3xs);color:var(--muted)}.wf-node-status-icon--running{color:var(--accent)}.wf-node-status-icon--ok,.wf-node-status-icon--fail{color:#fff;border-radius:50%;padding:2px;box-sizing:content-box;flex-shrink:0}.wf-node-status-icon--ok{background:var(--ok)}.wf-node-status-icon--fail{background:var(--danger)}.wf-node-status-icon--skipped-icon{color:var(--muted);flex-shrink:0}.wf-status-icon{display:inline-flex;align-items:center;line-height:0}.wf-status-icon--pending{color:var(--muted)}.wf-status-icon--running{color:var(--accent)}.wf-status-icon--ok{color:var(--ok)}.wf-status-icon--fail{color:var(--danger)}.wf-status-icon--cancelled{color:var(--muted)}.wf-status-icon--timedout{color:var(--warning)}.wf-status-icon--skipped{color:var(--muted)}.wf-sticky{min-width:160px;min-height:100px;padding:8px;background:#fef3c7;border:1px solid #f5d488;border-radius:4px;color:#713f12;font-size:var(--text-xs)}:root[data-theme=dark] .wf-sticky{background:#4a3a10;border-color:#6b5518;color:#fde68a}.wf-sticky--selected{outline:2px solid var(--accent)}.wf-sticky-header{margin-bottom:4px;opacity:.7}.wf-sticky-text{white-space:pre-wrap;word-break:break-word}.wf-group{position:relative;width:100%;height:100%;border:1.5px dashed var(--border);border-radius:10px;background:color-mix(in srgb,var(--accent) 5%,transparent);pointer-events:none}.wf-group--selected{border-color:var(--accent);border-style:solid}.wf-group-header{position:absolute;top:0;left:0;right:0;height:28px;display:flex;align-items:center;padding:0 12px;border-bottom:1.5px dashed var(--border);border-radius:9px 9px 0 0;background:var(--panel-soft);color:var(--muted);font-size:var(--text-xs);font-weight:var(--fw-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab;pointer-events:auto}.wf-group-header:active{cursor:grabbing}.wf-group--selected .wf-group-header{border-bottom-color:var(--accent);color:var(--accent)}.wf-group--drag-over .wf-group-header{border-bottom-style:solid}.wf-group--drag-over{border-color:var(--accent);border-style:solid;background:color-mix(in srgb,var(--accent) 14%,transparent)}.wf-run-row{cursor:pointer}.wf-run-node-list{display:grid;gap:4px;padding:6px 0 10px 34px}.wf-run-node-entry{display:flex;flex-direction:column;gap:2px}.wf-run-node-row{display:flex;align-items:center;gap:8px;font-size:var(--text-xs)}.wf-run-node-id:not(:has(.wf-run-node-type)){font-family:var(--font-mono)}.wf-run-node-type{color:var(--muted);font-size:var(--text-2xs)}.wf-run-node-status{color:var(--muted)}.wf-run-node-log{margin-left:21px;font-size:var(--text-2xs)}.wf-run-node-log summary{cursor:pointer;color:var(--muted)}.wf-run-node-log ul{list-style:none;margin:4px 0 0;padding:0;color:var(--muted)}.wf-run-node-log li{padding:1px 0}@media(max-width:960px){.wf-palette{position:fixed;top:49px;bottom:0;left:0;z-index:10;width:min(260px,80vw);box-shadow:2px 0 12px #00000040}.wf-palette-scrim{display:block;position:fixed;top:49px;right:0;bottom:0;left:0;z-index:9;background:#00000059}.wf-properties-panel{position:fixed;top:49px;bottom:0;right:0;z-index:10;width:min(320px,85vw);box-shadow:-2px 0 12px #00000040}.wf-minimap{display:none}}@media(max-width:640px){.wf-editor-btn-label{display:none}.wf-editor-toolbar{padding:8px 10px;gap:8px}}.wf-ndv-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:220;background:#00000073;display:flex;align-items:center;justify-content:center;padding:clamp(8px,3vw,40px)}.wf-ndv{width:100%;height:100%;max-width:1400px;max-height:900px;background:var(--bg);border-radius:10px;border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.wf-ndv-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--panel);flex-shrink:0}.wf-ndv-type{display:block;font-size:var(--text-3xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--muted)}.wf-ndv-name-input{border:none;background:transparent;font-size:var(--text-lg);font-weight:var(--fw-bold);color:var(--text);padding:2px 0;min-width:200px}.wf-ndv-name-input:focus{outline:none;border-bottom:1px solid var(--accent)}.wf-ndv-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.wf-ndv-body{flex:1;display:grid;grid-template-columns:1fr 1.15fr 1fr;min-height:0}.wf-ndv-pane{min-width:0;overflow-y:auto;padding:14px;border-right:1px solid var(--border)}.wf-ndv-pane:last-child{border-right:none}.wf-ndv-pane h4{margin:0 0 8px;font-size:var(--text-2xs);font-weight:var(--fw-bold);text-transform:none;letter-spacing:0;color:var(--muted)}.wf-ndv-subheading{margin:18px 0 8px;padding-top:14px;border-top:1px solid var(--border);font-size:var(--text-2xs);font-weight:var(--fw-bold);text-transform:none;letter-spacing:0;color:var(--muted)}.wf-ndv-pane--params .wf-properties-panel{position:static;width:auto;height:auto;border:none;box-shadow:none;padding:0}.wf-ndv-json-editor,.wf-ndv-json-view{width:100%;min-height:260px;font-family:var(--font-mono);font-size:var(--text-xs);white-space:pre-wrap;word-break:break-word}.wf-ndv-json-view{margin:8px 0 0;padding:10px;background:var(--panel);border:1px solid var(--border);border-radius:6px;overflow:auto}.wf-data-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.wf-data-view-modes{display:flex;gap:2px;background:var(--panel-soft);border-radius:6px;padding:2px}.wf-data-view-modes button{border:none;background:transparent;color:var(--muted);font-size:var(--text-2xs);font-weight:var(--fw-semibold);padding:4px 10px;border-radius:5px;cursor:pointer}.wf-data-view-modes button.active{background:var(--panel);color:var(--text);box-shadow:0 1px 2px #00000026}.wf-data-view-modes button:hover:not(.active){color:var(--text)}.wf-data-view-count{font-size:var(--text-2xs);color:var(--muted);flex-shrink:0}.wf-data-view-toolbar-right{display:flex;align-items:center;gap:6px;flex-shrink:0}.wf-ndv-json-view--schema,.wf-ndv-json-view--table{white-space:normal;font-family:inherit}.wf-schema-root{display:grid;gap:2px}.wf-schema-item-group+.wf-schema-item-group{margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}.wf-schema-item-header{font-size:var(--text-3xs);font-weight:var(--fw-bold);text-transform:none;letter-spacing:0;color:var(--muted);margin-bottom:4px}.wf-schema-children{display:grid;gap:2px;padding-left:16px;border-left:1px solid var(--border);margin:2px 0 2px 6px}.wf-schema-row{display:flex;align-items:baseline;gap:8px;font-size:var(--text-xs);padding:2px 0}.wf-schema-row--group{font-weight:var(--fw-semibold)}.wf-schema-badge{flex-shrink:0;width:20px;text-align:center;font-size:var(--text-3xs);font-weight:var(--fw-bold);color:var(--accent);font-family:var(--font-mono)}.wf-schema-badge--blob{font-size:var(--text-xs)}.wf-schema-name{color:var(--text);flex-shrink:0}.wf-schema-value{color:var(--muted);overflow-wrap:anywhere}.wf-blob-preview{display:flex;flex-direction:column;gap:6px;align-items:flex-start;margin:2px 0}.wf-blob-preview-image{max-width:220px;max-height:160px;border-radius:6px;border:1px solid var(--border)}.wf-blob-preview-pdf{width:100%;max-width:320px;height:220px;border-radius:6px;border:1px solid var(--border)}.wf-blob-download{display:inline-flex;align-items:center;gap:5px;font-size:var(--text-2xs);font-weight:var(--fw-semibold);color:var(--accent);text-decoration:none;padding:3px 8px;border-radius:5px;background:color-mix(in srgb,var(--accent) 10%,transparent)}.wf-blob-download:hover{background:color-mix(in srgb,var(--accent) 18%,transparent)}.wf-blob-download--compact{padding:2px 6px;font-size:var(--text-2xs)}.wf-data-table-scroll{overflow:auto}.wf-data-table{border-collapse:collapse;font-size:var(--text-xs);width:100%}.wf-data-table th,.wf-data-table td{border:1px solid var(--border);padding:5px 8px;text-align:left;white-space:nowrap}.wf-data-table th{background:var(--panel-soft);font-weight:var(--fw-semibold);color:var(--muted);position:sticky;top:0}.wf-table-index{color:var(--muted);text-align:center}.wf-table-empty{color:var(--muted);font-style:italic}.wf-table-object{color:var(--muted);font-family:var(--font-mono)}.wf-ndv-output-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.wf-ndv-output-header h4{margin:0}.wf-ndv-output-status{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);font-weight:var(--fw-semibold);margin-top:6px}.wf-ndv-output-status--ok{color:var(--ok)}.wf-ndv-output-status--fail{color:var(--danger)}.wf-ndv-output-source{color:var(--muted);font-weight:var(--fw-normal)}.wf-ndv-log{list-style:none;margin:6px 0;padding:6px 8px;border:1px solid var(--border);border-radius:6px;background:var(--code-bg);max-height:180px;overflow-y:auto;font-size:var(--text-xs);font-family:var(--font-mono);color:var(--muted)}.wf-ndv-log li{padding:1px 0}@media(max-width:900px){.wf-ndv-overlay{padding:0}.wf-ndv{max-width:none;max-height:none;border-radius:0}.wf-ndv-body{grid-template-columns:1fr;overflow-y:auto}.wf-ndv-pane{border-right:none;border-bottom:1px solid var(--border);overflow-y:visible}.wf-ndv-name-input{min-width:120px;font-size:var(--text-md)}}.sessions-actions{flex-wrap:wrap}.wf-mon-controls{display:flex;gap:14px;flex-wrap:wrap;align-items:flex-end}.wf-mon-field{display:flex;flex-direction:column;gap:3px;font-size:var(--text-2xs);text-transform:none;letter-spacing:0;color:var(--muted)}.wf-mon-field>select{font:inherit;text-transform:none;letter-spacing:0;padding:5px 8px;border:1px solid var(--border);border-radius:7px;background:var(--input-bg, var(--panel));color:var(--text)}.wf-mon-seg{display:inline-flex;border:1px solid var(--border);border-radius:7px;overflow:hidden}.wf-mon-seg button{font:inherit;text-transform:none;letter-spacing:0;padding:5px 11px;border:0;background:var(--panel);color:var(--muted);cursor:pointer}.wf-mon-seg button[aria-pressed=true]{background:var(--accent);color:var(--on-accent);font-weight:var(--fw-semibold)}.wf-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:10px;overflow:hidden;margin:14px 0 4px}.wf-kpi{background:var(--panel);padding:12px 14px 13px;display:flex;flex-direction:column;gap:2px;align-items:stretch;justify-content:flex-start;text-align:left;border:0;border-radius:0}button.wf-kpi{font:inherit;color:inherit;min-height:0}.wf-kpi-value{font-size:var(--text-xl);font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.wf-kpi-label{font-size:var(--text-2xs);text-transform:none;letter-spacing:0;color:var(--muted)}.wf-kpi--bad .wf-kpi-value{color:var(--danger)}.wf-kpi--warn .wf-kpi-value{color:var(--warning)}.wf-kpi--clickable{cursor:pointer}.wf-kpi--clickable:hover{background:var(--panel-soft)}.wf-kpi--active{box-shadow:inset 0 -2px 0 var(--accent)}.wf-queue{border:1px solid var(--border);border-radius:10px;background:var(--panel);overflow:hidden;margin:14px 0;box-shadow:var(--shadow)}.wf-queue-head{display:flex;align-items:center;gap:8px;padding:10px 14px;font-size:var(--text-xs);font-weight:var(--fw-semibold);text-transform:none;letter-spacing:0;color:var(--muted);background:var(--panel-soft);border-bottom:1px solid var(--border)}.wf-queue-head .btn{margin-left:auto;text-transform:none;letter-spacing:0}.wf-queue-row{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:12px;padding:10px 14px 10px 0;border-left:3px solid var(--danger);border-bottom:1px solid var(--border)}.wf-queue-row:last-child{border-bottom:0}.wf-queue-row--overdue{border-left-color:var(--warning)}.wf-queue-glyph{display:flex;justify-content:center;color:var(--danger)}.wf-queue-row--overdue .wf-queue-glyph{color:var(--warning)}.wf-queue-main{min-width:0}.wf-queue-title{font-size:var(--text-sm);font-weight:var(--fw-semibold);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.wf-queue-probe{color:var(--muted);font-weight:var(--fw-medium)}.wf-queue-meta{font-size:var(--text-xs);color:var(--muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-queue-err{color:var(--danger)}.wf-queue-actions{display:flex;gap:6px;padding-right:6px}.wf-queue-actions .btn{white-space:nowrap}.wf-matrix{border:1px solid var(--border);border-radius:10px;background:var(--panel);overflow:hidden;box-shadow:var(--shadow);margin-top:10px}.wf-matrix-scroll{overflow-x:auto}.wf-head,.wf-mrow{display:grid;grid-template-columns:minmax(210px,1.5fr) 82px 108px 64px 92px minmax(220px,1fr) 26px;align-items:center;gap:12px;padding:0 14px}.wf-head{height:36px;background:var(--panel-soft);border-bottom:1px solid var(--border);font-size:var(--text-3xs);text-transform:none;letter-spacing:0;color:var(--muted)}.wf-head span:nth-child(2),.wf-head span:nth-child(3),.wf-head span:nth-child(4),.wf-head span:nth-child(5){text-align:right}.wf-mrow{min-height:44px;border-bottom:1px solid var(--border);font-size:var(--text-xs)}.wf-mrow:last-child{border-bottom:0}.wf-mrow--group{cursor:pointer}.wf-mrow--group:hover,.wf-mrow--child:hover{background:var(--row-hover)}.wf-mrow--child{background:var(--panel-soft);font-size:var(--text-xs);cursor:pointer}.wf-mrow--child .wf-mname{padding-left:22px}.wf-mrow--child .wf-mname-text{color:var(--muted)}.wf-mname{display:flex;align-items:center;gap:7px;min-width:0;font-weight:var(--fw-medium)}.wf-mname--empty{font-weight:var(--fw-normal);color:var(--muted)}.wf-mcaret{color:var(--muted);flex:none;transition:transform .15s}.wf-mrow--open .wf-mcaret{transform:rotate(90deg)}.wf-mname-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-mcount{color:var(--muted);font-size:var(--text-3xs);font-variant-numeric:tabular-nums;white-space:nowrap}.wf-mnum,.wf-mnext{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--text-2xs);color:var(--muted)}.wf-mnext--od{color:var(--warning)}.wf-mrate{display:flex;gap:7px;align-items:center;justify-content:flex-end;font-variant-numeric:tabular-nums;font-size:var(--text-2xs);color:var(--muted)}.wf-mrate--mid,.wf-mrate--low{color:var(--text)}.wf-mratebar{width:32px;height:5px;border-radius:3px;background:var(--border);overflow:hidden;flex:none}.wf-mratebar i{display:block;height:100%;background:var(--ok)}.wf-mrate--mid .wf-mratebar i{background:var(--warning)}.wf-mrate--low .wf-mratebar i{background:var(--danger)}.wf-mstat{text-align:center;font-size:var(--text-xs)}.wf-mstat--ok{color:var(--ok)}.wf-mstat--warn{color:var(--warning)}.wf-mstat--danger{color:var(--danger)}.wf-mstat--muted{color:var(--muted)}.wf-mstat--running{color:var(--accent)}.wf-strip{display:inline-flex;gap:2px;align-items:center;flex-wrap:wrap}.wf-strip--dense{gap:2px}.wf-strip-empty{font-size:var(--text-2xs);color:var(--muted);font-style:italic}.wf-tick{width:13px;height:15px;border-radius:3px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-3xs);line-height:1;color:var(--on-accent);flex:none}.wf-strip--dense .wf-tick{width:8px;height:8px;border-radius:2px;font-size:0}.wf-tick--ok{background:var(--ok)}.wf-tick--fail{background:var(--danger)}.wf-tick--warn{background:var(--warning)}.wf-tick--running{background:var(--accent)}.wf-tick--muted{background:var(--border);color:var(--muted)}@media(max-width:720px){.wf-kpis{grid-template-columns:repeat(2,1fr)}}.wf-tl{border:1px solid var(--border);border-radius:10px;background:var(--panel);box-shadow:var(--shadow);margin-top:16px}.wf-tl-head{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border)}.wf-tl-head h4{margin:0;font-size:var(--text-md);font-weight:var(--fw-semibold)}.wf-tl-sub{font-size:var(--text-xs);color:var(--muted)}.wf-tl-head .btn{margin-left:auto}.wf-tl-close{border:0;background:none;color:var(--muted);cursor:pointer;display:flex;padding:2px}.wf-tl-close:hover{color:var(--text)}.wf-tl-body{display:grid;grid-template-columns:1.6fr 1fr;gap:22px;padding:14px}@media(max-width:860px){.wf-tl-body{grid-template-columns:1fr}}.wf-tl-cap{font-size:var(--text-3xs);text-transform:none;letter-spacing:0;color:var(--muted);margin-bottom:6px}.wf-tl-chart svg{display:block;width:100%;height:auto}.wf-tl-chart svg text{fill:var(--muted);font-family:var(--font-mono)}.wf-tl-chart svg .grid{stroke:var(--border);stroke-width:1}.wf-tl-chart svg .p95{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}.wf-tl-chart svg rect.bar{cursor:pointer}.wf-tl-chart svg rect.b-ok{fill:var(--ok)}.wf-tl-chart svg rect.b-fail{fill:var(--danger)}.wf-tl-chart svg rect.b-warn{fill:var(--warning)}.wf-tl-chart svg rect.b-run{fill:var(--accent)}.wf-tl-chart svg rect.b-muted{fill:var(--border)}.wf-tl-chart svg rect.sel{stroke:var(--text);stroke-width:1.5}.wf-tl-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:var(--text-2xs);color:var(--muted);font-family:var(--font-mono);margin-top:8px}.wf-tl-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:middle}.wf-tl-legend i.b-ok{background:var(--ok)}.wf-tl-legend i.b-fail{background:var(--danger)}.wf-tl-legend i.b-warn{background:var(--warning)}.wf-tl-run{font-size:var(--text-xs);color:var(--muted);font-family:var(--font-mono);margin-bottom:10px}.wf-tl-steps{display:flex;flex-direction:column}.wf-tl-step{display:grid;grid-template-columns:15px 1fr auto;gap:8px;align-items:baseline;padding:4px 0;border-bottom:1px solid var(--border);font-size:var(--text-xs)}.wf-tl-step:last-child{border-bottom:0}.wf-tl-step .g{text-align:center;font-family:var(--font-mono);font-size:var(--text-2xs)}.wf-tl-step .g.succeeded{color:var(--ok)}.wf-tl-step .g.failed{color:var(--danger)}.wf-tl-step .g.skipped{color:var(--muted)}.wf-tl-step .g.running{color:var(--accent)}.wf-tl-step .sn{font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wf-tl-step .sn .st,.wf-tl-step.is-skip .sn{color:var(--muted)}.wf-tl-step .si{color:var(--muted);font-family:var(--font-mono);font-size:var(--text-2xs);white-space:nowrap}.wf-tl-step .serr{color:var(--danger);font-size:var(--text-2xs);grid-column:2 / -1}.wf-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}.wf-chip{font-size:var(--text-xs);padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--muted);cursor:pointer}.wf-chip:hover{color:var(--text);border-color:var(--muted)}.wf-chip--active{background:var(--accent);color:var(--on-accent);border-color:var(--accent);font-weight:var(--fw-medium)}.wf-chip--reset{color:var(--muted);border-style:dashed}
