:root{--blue-50:#eff6ff;--blue-100:#dbeafe;--blue-200:#bfdbfe;--blue-300:#93c5fd;--blue-400:#60a5fa;--blue-500:#3b82f6;--blue-600:#2563eb;--blue-700:#1d4ed8;--blue-800:#1e40af;--blue-900:#1e3a8a;--green-50:#f0fdf4;--green-200:#bbf7d0;--green-400:#34d399;--green-500:#10b981;--green-600:#059669;--green-700:#047857;--purple-50:#f5f3ff;--purple-200:#ddd6fe;--purple-400:#a78bfa;--purple-500:#8b5cf6;--purple-600:#7c3aed;--purple-700:#6d28d9;--amber-50:#fffbeb;--amber-200:#fde68a;--amber-400:#fbbf24;--amber-500:#f59e0b;--amber-600:#d97706;--amber-700:#b45309;--red-50:#fef2f2;--red-200:#fecaca;--red-300:#fca5a5;--red-400:#f87171;--red-500:#ef4444;--red-600:#dc2626;--red-700:#b91c1c;--gray-50:#f8fafc;--gray-100:#f1f5f9;--gray-200:#e2e8f0;--gray-300:#cbd5e1;--gray-400:#94a3b8;--gray-500:#64748b;--gray-600:#475569;--gray-700:#334155;--gray-800:#1e293b;--gray-900:#0f172a;--color-bg:#fff;--color-fg:var(--gray-900);--color-muted:var(--gray-500);--color-border:var(--gray-200);--color-primary:var(--blue-600);--color-primary-hover:var(--blue-700);--color-success:var(--green-600);--color-warning:var(--amber-600);--color-critical:var(--red-600);--color-info:var(--blue-600);--color-surface:var(--gray-50);--gradient-primary:linear-gradient(135deg,var(--blue-600) 0%,var(--blue-500) 100%);--gradient-success:linear-gradient(135deg,var(--green-600) 0%,var(--green-500) 100%);--gradient-purple:linear-gradient(135deg,var(--purple-600) 0%,var(--purple-500) 100%);--gradient-sidebar:linear-gradient(180deg,#fff 0%,var(--gray-50) 100%);--shadow-xs:0 1px 2px 0 rgba(0,0,0,.05);--shadow-sm:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1);--shadow:var(--shadow-sm);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1);--shadow-colored:0 10px 15px -3px rgba(37,99,235,.2),0 4px 6px -4px rgba(37,99,235,.1);--font-sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--font-mono:"SF Mono",Monaco,Consolas,"Liberation Mono",monospace;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--radius-sm:4px;--radius:6px;--radius-md:8px;--radius-lg:12px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:250ms cubic-bezier(0.4,0,0.2,1);--transition-slow:350ms cubic-bezier(0.4,0,0.2,1);--sidebar-width:260px;--topbar-height:56px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{max-width:100vw;overflow-x:hidden}body{font-family:var(--font-sans);font-size:15px;color:var(--gray-900);background:var(--gray-50);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:var(--blue-600);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--blue-500);outline-offset:2px}