:root{--background:0 0% 100%;--surface:0 0% 100%;--surface-2:220 14% 96%;--foreground:222 38% 14%;--text-muted:220 14% 42%;--text-muted-2:220 12% 58%;--border:220 14% 88%;--border-strong:220 14% 80%;--primary:222 38% 14%;--primary-foreground:0 0% 100%;--primary-soft:245 28% 94%;--ring:245 30% 60%;--brand-lavender:245 28% 62%;--brand-lavender-bg:245 28% 94%;--status-red:0 72% 51%;--status-red-bg:0 72% 96%;--status-amber:38 92% 50%;--status-amber-bg:38 92% 95%;--status-green:142 62% 38%;--status-green-bg:142 52% 94%;--status-blue:210 100% 50%;--status-blue-bg:210 100% 96%;--status-violet:262 52% 55%;--status-violet-bg:262 52% 96%;--status-slate:215 14% 47%;--status-slate-bg:215 16% 95%;--font-sans:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;--font-display:"DM Sans",system-ui,sans-serif;--font-size-xs:10.5px;--font-size-sm:11.5px;--font-size-base:13.5px;--font-size-md:13px;--font-size-lg:18px;--font-size-xl:26px;--line-height-tight:1.25;--line-height-normal:1.5;--letter-spacing-tight:-0.022em;--letter-spacing-normal:-0.005em;--letter-spacing-wide:0.07em;--letter-spacing-wider:0.1em;--space-1:4px;--space-2:8px;--space-3:10px;--space-4:12px;--space-5:14px;--space-6:16px;--space-7:20px;--space-8:24px;--radius-sm:0.25rem;--radius:0.375rem;--radius-lg:0.625rem;--radius-full:999px;--shadow-xs:0 1px 0 0 rgba(15,22,36,.03);--shadow-sm:0 1px 2px rgba(15,22,36,.04),0 1px 0 rgba(15,22,36,.02);--shadow-md:0 4px 14px rgba(15,22,36,.08),0 1px 0 rgba(15,22,36,.04);--transition:120ms ease;--transition-slow:200ms ease;--card:var(--surface);--card-foreground:var(--foreground);--popover:var(--surface);--popover-foreground:var(--foreground);--secondary:var(--primary-soft);--secondary-foreground:var(--foreground);--muted:var(--surface-2);--muted-foreground:var(--text-muted);--accent:var(--brand-lavender-bg);--accent-foreground:var(--brand-lavender);--destructive:var(--status-red);--destructive-foreground:0 0% 100%;--input:var(--border);--sidebar-background:220 14% 98.5%;--sidebar-foreground:var(--foreground);--sidebar-primary:var(--primary);--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:var(--brand-lavender-bg);--sidebar-accent-foreground:var(--brand-lavender);--sidebar-border:var(--border);--sidebar-ring:var(--ring)}.dark{--background:222 30% 9%;--surface:222 28% 12%;--surface-2:222 22% 15%;--foreground:220 20% 94%;--text-muted:220 14% 62%;--text-muted-2:220 12% 50%;--border:222 18% 20%;--border-strong:222 18% 28%;--primary:220 20% 94%;--primary-foreground:222 38% 14%;--primary-soft:245 30% 20%;--ring:245 50% 72%;--brand-lavender:245 50% 72%;--brand-lavender-bg:245 30% 20%;--status-red-bg:0 50% 16%;--status-amber-bg:38 60% 15%;--status-green-bg:142 40% 14%;--status-blue-bg:210 60% 16%;--status-violet-bg:262 40% 18%;--status-slate-bg:215 14% 20%;--shadow-xs:0 1px 0 0 rgba(0,0,0,.3);--shadow-sm:0 1px 2px rgba(0,0,0,.35);--shadow-md:0 8px 24px rgba(0,0,0,.4);--destructive-foreground:0 0% 100%;--sidebar-background:var(--surface-2);--sidebar-foreground:var(--foreground);--sidebar-primary:var(--brand-lavender);--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:var(--brand-lavender-bg);--sidebar-accent-foreground:var(--brand-lavender);--sidebar-border:var(--border);--sidebar-ring:var(--ring)}body{font-family:var(--font-sans);font-feature-settings:"cv11","ss01","ss03";font-size:var(--font-size-base);line-height:var(--line-height-normal);color:hsl(var(--foreground));background:hsl(var(--background));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-sans);font-weight:600;letter-spacing:var(--letter-spacing-tight);margin:0}.mono{font-family:var(--font-mono);font-feature-settings:"zero","ss01"}::selection{background:hsl(var(--primary)/.2)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:hsl(var(--border-strong));border-radius:4px;border:2px solid hsl(var(--background))}::-webkit-scrollbar-thumb:hover{background:hsl(var(--text-muted-2))}.topbar{justify-content:space-between;padding:var(--space-3) var(--space-7);border-bottom:1px solid hsl(var(--border));background:hsl(var(--surface));position:sticky;top:0;z-index:20}.brand,.topbar{display:flex;align-items:center}.brand{gap:var(--space-5)}.brand-wordmark{height:22px;width:auto;display:block}.brand-sep-v{width:1px;height:24px;background:hsl(var(--border-strong));display:inline-block}.brand-product{font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:var(--letter-spacing-wider);text-transform:uppercase;color:hsl(var(--foreground));line-height:1}.tabs{display:flex;gap:0;padding:0 var(--space-7);border-bottom:1px solid hsl(var(--border));background:hsl(var(--surface))}.tab,.tabs{align-items:center}.tab{padding:var(--space-3) var(--space-5);font-size:var(--font-size-md);font-weight:500;color:hsl(var(--text-muted));cursor:pointer;border-bottom:2px solid transparent;display:inline-flex;gap:7px;transition:color var(--transition),border-color var(--transition);letter-spacing:var(--letter-spacing-normal)}.tab.active,.tab:hover{color:hsl(var(--foreground))}.tab.active{border-bottom-color:hsl(var(--primary))}.tab .count{font-size:var(--font-size-xs);font-weight:500;padding:1px 6px;border-radius:var(--radius-full);background:hsl(var(--surface-2));color:hsl(var(--text-muted));min-width:18px;text-align:center;font-variant-numeric:tabular-nums}.tab.active .count{background:hsl(var(--brand-lavender-bg));color:hsl(var(--brand-lavender))}.btn{display:inline-flex;align-items:center;gap:6px;padding:5px var(--space-3);border-radius:var(--radius);font-size:12px;font-weight:500;background:hsl(var(--surface));color:hsl(var(--foreground));border:1px solid hsl(var(--border));cursor:pointer;font-family:inherit;transition:all var(--transition)}.btn:hover{border-color:hsl(var(--border-strong));background:hsl(var(--surface-2))}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px hsl(var(--ring)/.3)}.btn-primary{background:hsl(var(--primary));color:#fff;border-color:hsl(var(--primary))}.btn-primary:hover{filter:brightness(1.08);background:hsl(var(--primary))}.btn-ghost{background:transparent;border-color:transparent;color:hsl(var(--text-muted))}.btn-ghost:hover{background:hsl(var(--surface-2));color:hsl(var(--foreground));border-color:transparent}.input,.select{padding:5px var(--space-3);border-radius:var(--radius);font-size:12.5px;font-weight:500;background:hsl(var(--surface));color:hsl(var(--foreground));border:1px solid hsl(var(--border));outline:none;font-family:inherit;min-height:28px;transition:border-color var(--transition),box-shadow var(--transition)}.input:focus,.select:focus{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary)/.15)}.input{min-width:220px}.input::placeholder{color:hsl(var(--text-muted-2))}.card{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);padding:var(--space-5) var(--space-6);box-shadow:var(--shadow-xs)}.card+.card{margin-top:var(--space-3)}.card-table{background:hsl(var(--surface));border:1px solid hsl(var(--border));border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xs)}table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--font-size-md)}thead th{text-align:left;font-size:var(--font-size-xs);font-weight:600;color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);background:hsl(var(--surface));position:sticky;top:0}tbody td,thead th{padding:var(--space-3) var(--space-4);border-bottom:1px solid hsl(var(--border))}tbody td{vertical-align:middle;color:hsl(var(--foreground))}tbody tr{transition:background .1s ease;cursor:pointer}tbody tr:hover td{background:hsl(var(--surface-2))}tbody tr:last-child td{border-bottom:none}.t-muted,.t-num{color:hsl(var(--text-muted))}.t-num{font-variant-numeric:tabular-nums;font-family:var(--font-mono);font-size:12px}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:11px;font-weight:500;white-space:nowrap;letter-spacing:var(--letter-spacing-normal)}.badge:before{content:"";width:6px;height:6px;border-radius:50%}.badge.red{background:hsl(var(--status-red-bg));color:hsl(var(--status-red))}.badge.red:before{background:hsl(var(--status-red))}.badge.amber{background:hsl(var(--status-amber-bg));color:hsl(var(--status-amber))}.badge.amber:before{background:hsl(var(--status-amber))}.badge.green{background:hsl(var(--status-green-bg));color:hsl(var(--status-green))}.badge.green:before{background:hsl(var(--status-green))}.badge.blue{background:hsl(var(--status-blue-bg));color:hsl(var(--status-blue))}.badge.blue:before{background:hsl(var(--status-blue))}.badge.violet{background:hsl(var(--status-violet-bg));color:hsl(var(--status-violet))}.badge.violet:before{background:hsl(var(--status-violet))}.badge.slate{background:hsl(var(--status-slate-bg));color:hsl(var(--status-slate))}.badge.slate:before{background:hsl(var(--status-slate))}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px var(--space-3);border-radius:var(--radius-full);background:hsl(var(--status-green-bg));color:hsl(var(--status-green));font-size:var(--font-size-sm);font-weight:500;letter-spacing:var(--letter-spacing-normal)}.status-pill .dot{width:6px;height:6px;border-radius:50%;background:hsl(var(--status-green));box-shadow:0 0 0 3px hsl(var(--status-green)/.18);animation:breathe 2.4s ease-in-out infinite}.status-pill.off{background:hsl(var(--status-slate-bg));color:hsl(var(--status-slate))}.status-pill.off .dot{background:hsl(var(--status-slate));box-shadow:none;animation:none}@keyframes breathe{0%,to{opacity:1}50%{opacity:.45}}.delta{display:inline-flex;align-items:center;gap:3px;font-size:11px;padding:1px 6px;border-radius:var(--radius-full);font-weight:500;font-variant-numeric:tabular-nums}.delta.up{background:hsl(var(--status-green-bg));color:hsl(var(--status-green))}.delta.down{background:hsl(var(--status-red-bg));color:hsl(var(--status-red))}.delta.flat{background:hsl(var(--status-slate-bg));color:hsl(var(--status-slate))}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 7px 2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-variant-numeric:tabular-nums;background:hsl(var(--surface-2));color:hsl(var(--foreground))}.chip:before{content:"";width:5px;height:5px;border-radius:50%;background:hsl(var(--text-muted))}.chip.red{background:hsl(var(--status-red-bg));color:hsl(var(--status-red))}.chip.red:before{background:hsl(var(--status-red))}.chip.amber{background:hsl(var(--status-amber-bg));color:hsl(var(--status-amber))}.chip.amber:before{background:hsl(var(--status-amber))}.chip.green{background:hsl(var(--status-green-bg));color:hsl(var(--status-green))}.chip.green:before{background:hsl(var(--status-green))}.chip.blue{background:hsl(var(--status-blue-bg));color:hsl(var(--status-blue))}.chip.blue:before{background:hsl(var(--status-blue))}.chip.violet{background:hsl(var(--status-violet-bg));color:hsl(var(--status-violet))}.chip.violet:before{background:hsl(var(--status-violet))}.chip.slate{background:hsl(var(--status-slate-bg));color:hsl(var(--status-slate))}.chip.slate:before{background:hsl(var(--status-slate))}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;background:hsl(var(--surface-2));color:hsl(var(--foreground));border:1px solid hsl(var(--border));line-height:1.25}.pill.running{background:hsl(var(--status-blue-bg));color:hsl(var(--status-blue));border-color:hsl(var(--status-blue)/.25)}.pill.running:before{content:"";width:6px;height:6px;border-radius:50%;background:hsl(var(--status-blue));box-shadow:0 0 0 3px hsl(var(--status-blue)/.2);animation:breathe 1.2s ease-in-out infinite}.pill.ok{background:hsl(var(--status-green-bg));color:hsl(var(--status-green));border-color:hsl(var(--status-green)/.22)}.pill.fail{background:hsl(var(--status-red-bg));color:hsl(var(--status-red));border-color:hsl(var(--status-red)/.22)}.section-title{font-size:11px;font-weight:600;color:hsl(var(--text-muted));text-transform:uppercase;letter-spacing:.08em;margin:22px 0 var(--space-3);display:flex;align-items:center;gap:var(--space-2)}.section-title:first-child{margin-top:0}.section-title .line{flex:1;height:1px;background:hsl(var(--border))}.panel-title{font-size:var(--font-size-lg);font-weight:600;letter-spacing:var(--letter-spacing-tight)}.panel-sub{font-size:12.5px;color:hsl(var(--text-muted));margin-top:2px}.icon-btn{width:28px;height:28px;display:grid;place-items:center;border-radius:var(--radius-sm);background:transparent;border:1px solid transparent;color:hsl(var(--text-muted));cursor:pointer;transition:all var(--transition);position:relative}.icon-btn:hover{background:hsl(var(--surface-2));color:hsl(var(--foreground));border-color:hsl(var(--border))}.icon-btn[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 6px);right:0;background:hsl(var(--foreground));color:hsl(var(--background));font-size:11px;font-weight:500;padding:4px var(--space-2);border-radius:var(--radius-sm);white-space:nowrap;z-index:30;box-shadow:var(--shadow-md)}.kbd{font-family:var(--font-mono);font-size:var(--font-size-xs);padding:1px 5px;border-radius:var(--radius-sm);background:hsl(var(--surface-2));border:1px solid hsl(var(--border));color:hsl(var(--text-muted))}.toast{position:fixed;bottom:var(--space-7);left:50%;transform:translateX(-50%) translateY(10px);padding:var(--space-2) var(--space-5);background:hsl(var(--foreground));color:hsl(var(--background));border-radius:var(--radius);font-size:12.5px;font-weight:500;opacity:0;transition:all var(--transition-slow);z-index:100;box-shadow:var(--shadow-md)}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.filters{gap:var(--space-2);margin-bottom:var(--space-5);align-items:center;flex-wrap:wrap}.filters,.flex{display:flex}.items-center{align-items:center}.between{justify-content:space-between}.ml-auto{margin-left:auto}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-4)}.hide{display:none!important}.tabular{font-variant-numeric:tabular-nums}