@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap";@custom-variant dark (&:is(.dark *));:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "Menlo", "Monaco", "Courier New", monospace;--text-xs:.6875rem;--text-sm:.75rem;--text-base:.8125rem;--text-md:.875rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.25rem;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--spacing-0:0;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--radius-none:0;--radius-sm:.1875rem;--radius-md:.25rem;--radius-lg:.375rem;--radius-xl:.5rem;--radius-full:9999px;--elevation-none:none;--elevation-sm:0 1px 2px 0 #0000000d;--elevation-md:0 2px 4px 0 #0000000f, 0 1px 2px 0 #0000000a;--elevation-lg:0 4px 8px 0 #00000014, 0 2px 4px 0 #0000000a;--elevation-xl:0 8px 16px 0 #0000001a, 0 4px 8px 0 #0000000f;--surface-inverse:#1e293b;--neutral-0:#fff;--neutral-50:#f9f8f6;--neutral-100:#f3f2ef;--neutral-150:#eceae6;--neutral-200:#d8d5cf;--neutral-300:#b8b4ac;--neutral-400:#9c9890;--neutral-500:#7a766e;--neutral-600:#5c5850;--neutral-700:#454139;--neutral-800:#33302a;--neutral-900:#231f1b;--neutral-950:#171410;--semantic-primary:#2563eb;--semantic-primary-hover:#1d4ed8;--semantic-primary-subtle:#dbeafe;--semantic-accent:#7c3aed;--semantic-accent-hover:#6d28d9;--semantic-accent-subtle:#ede9fe;--status-success:#16a34a;--status-success-subtle:#bbf7d0;--status-success-fg:#14532d;--status-warning:#d97706;--status-warning-subtle:#fde68a;--status-warning-fg:#78350f;--status-error:#dc2626;--status-error-subtle:#fecaca;--status-error-fg:#7f1d1d;--status-info:#0284c7;--status-info-subtle:#bae6fd;--status-info-fg:#0c4a6e;--status-stale:#6b7280;--status-stale-subtle:#e5e7eb;--chart-blue:#3b82f6;--chart-violet:#8b5cf6;--chart-emerald:#10b981;--chart-amber:#f59e0b;--chart-rose:#f43f5e;--chart-cyan:#06b6d4;--chart-pink:#ec4899;--chart-lime:#84cc16;--surface-page:var(--neutral-50);--surface-base:var(--neutral-0);--surface-raised:var(--neutral-100);--surface-overlay:var(--neutral-0);--surface-hover:var(--neutral-150);--surface-pressed:var(--neutral-200);--border-subtle:var(--neutral-200);--border-base:var(--neutral-300);--border-strong:var(--neutral-400);--border-focus:var(--semantic-primary);--text-primary:var(--neutral-800);--text-secondary:var(--neutral-600);--text-tertiary:var(--neutral-500);--text-disabled:var(--neutral-400);--text-inverse:var(--neutral-0);--text-link:var(--semantic-primary);--icon-primary:var(--neutral-700);--icon-secondary:var(--neutral-500);--icon-tertiary:var(--neutral-400);--icon-inverse:var(--neutral-0);--nav-bg:var(--neutral-0);--nav-border:var(--neutral-200);--nav-item-hover:var(--neutral-100);--nav-item-active:var(--semantic-primary-subtle);--nav-item-active-fg:var(--semantic-primary);--client-nav-bg:var(--neutral-0);--client-nav-border:var(--neutral-200);--client-item-hover:var(--neutral-100);--client-item-selected:var(--semantic-primary-subtle);--workspace-bg:var(--neutral-50);--table-header-bg:#f0ede8;--table-row-disconnect-tint:#dc26260a;--skeleton-bg:#f1f5f9;--skeleton-shine:#e2e8f0;--chart-gridline:#e2e8f0;--chart-axis:#64748b;--chart-reference:#94a3b8;--floorplan-bg:#f8fafc;--floorplan-border:#cbd5e1;--marker-muted:#cbd5e1;--marker-active:#0f62fea6;--marker-active-full:#0f62fe;--action-muted:#64748b;--action-hover:#334155;--action-hover-bg:#f1f5f9;--shell-global-nav-height:3.5rem;--shell-client-nav-width:18rem;--shell-client-nav-collapsed:3.5rem}.dark{--neutral-0:#0f172a;--neutral-50:#0b1120;--neutral-100:#1e293b;--neutral-150:#162032;--neutral-200:#334155;--neutral-300:#475569;--neutral-400:#64748b;--neutral-500:#94a3b8;--neutral-600:#cbd5e1;--neutral-700:#e2e8f0;--neutral-800:#f1f5f9;--neutral-900:#f8fafc;--neutral-950:#fff;--surface-inverse:#f1f5f9;--semantic-primary:#3b82f6;--semantic-primary-hover:#60a5fa;--semantic-primary-subtle:#3b82f626;--semantic-accent:#a78bfa;--semantic-accent-hover:#c4b5fd;--semantic-accent-subtle:#a78bfa26;--status-success:#4ade80;--status-success-subtle:#4ade801f;--status-success-fg:#dcfce7;--status-warning:#fbbf24;--status-warning-subtle:#fbbf241f;--status-warning-fg:#fef3c7;--status-error:#f87171;--status-error-subtle:#f871711f;--status-error-fg:#fee2e2;--status-info:#60a5fa;--status-info-subtle:#60a5fa1f;--status-info-fg:#e0f2fe;--status-stale:#9ca3af;--status-stale-subtle:#9ca3af1f;--chart-blue:#4589ff;--chart-violet:#a56eff;--chart-emerald:#3ddbd9;--chart-amber:#ff9d5c;--chart-rose:#ff7eb6;--chart-cyan:#82cfff;--chart-pink:#ff7eb6;--chart-lime:#42be65;--elevation-sm:0 0 0 1px #ffffff0f;--elevation-md:0 0 0 1px #ffffff14, 0 2px 8px #0000004d;--elevation-lg:0 0 0 1px #ffffff14, 0 4px 16px #0006;--elevation-xl:0 0 0 1px #ffffff1a, 0 8px 24px #00000080;--surface-page:var(--neutral-0);--surface-base:var(--neutral-100);--surface-raised:var(--neutral-150);--surface-overlay:var(--neutral-100);--surface-hover:var(--neutral-200);--surface-pressed:var(--neutral-300);--border-subtle:var(--neutral-200);--border-base:var(--neutral-300);--border-strong:var(--neutral-400);--border-focus:var(--semantic-primary);--text-primary:var(--neutral-800);--text-secondary:var(--neutral-600);--text-tertiary:var(--neutral-500);--text-disabled:var(--neutral-400);--text-inverse:var(--neutral-0);--text-link:var(--semantic-primary);--icon-primary:var(--neutral-700);--icon-secondary:var(--neutral-500);--icon-tertiary:var(--neutral-400);--icon-inverse:var(--neutral-0);--nav-bg:#0b1120;--nav-border:var(--neutral-200);--nav-item-hover:var(--neutral-200);--nav-item-active:var(--semantic-primary-subtle);--nav-item-active-fg:var(--semantic-primary);--client-nav-bg:var(--neutral-100);--client-nav-border:var(--neutral-200);--client-item-hover:var(--neutral-200);--client-item-selected:var(--semantic-primary-subtle);--workspace-bg:var(--neutral-0);--table-header-bg:var(--neutral-100);--table-row-disconnect-tint:#f871710f;--skeleton-bg:#334155;--skeleton-shine:#475569;--chart-gridline:#334155;--chart-axis:#94a3b8;--chart-reference:#64748b;--floorplan-bg:#1e293b;--floorplan-border:#475569;--marker-muted:#64748b;--marker-active:#4589ffa6;--marker-active-full:#4589ff;--action-muted:#94a3b8;--action-hover:#cbd5e1;--action-hover-bg:#334155}.density-compact{--text-xs:.625rem;--text-sm:.6875rem;--text-base:.75rem;--text-md:.8125rem;--text-lg:.875rem;--text-xl:1rem;--text-2xl:1.125rem;--spacing-1:.1875rem;--spacing-2:.375rem;--spacing-3:.625rem;--spacing-4:.75rem;--spacing-5:1rem;--spacing-6:1.25rem;--spacing-8:1.5rem;--spacing-10:2rem;--shell-global-nav-height:2.75rem;--shell-client-nav-width:16rem;--shell-client-nav-collapsed:2.75rem}@layer base{*{outline:none}body{font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);background:var(--surface-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;line-height:1.5;transition:background-color .15s,color .15s}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0}h1{font-size:var(--text-2xl);line-height:1.25}h2{font-size:var(--text-xl);line-height:1.3}h3{font-size:var(--text-lg);line-height:1.4}h4{font-size:var(--text-md);line-height:1.4}p{font-size:var(--text-base);margin:0;line-height:1.5}button{font-family:var(--font-sans);font-weight:var(--font-weight-medium)}input,textarea,select{font-family:var(--font-sans)}code,pre{font-family:var(--font-mono)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--workspace-bg);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}:root{--blue:#3b82f6;--green:#22c55e;--red:#ef4444;--yellow:#eab308;--orange:#f97316;--sidebar-width:190px;--radius:8px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--border-subtle);border-top-color:var(--blue);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}.loading-state{color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:48px 24px;display:flex}.empty-state{text-align:center;color:var(--text-muted);padding:48px 24px}
