:root{--neutral-0: #ffffff;--neutral-50: #f8fafc;--neutral-100: #f1f5f9;--neutral-200: #e2e8f0;--neutral-300: #cbd5e1;--neutral-400: #94a3b8;--neutral-500: #64748b;--neutral-600: #475569;--neutral-700: #334155;--neutral-800: #1e293b;--neutral-900: #0f172a;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--green-50: #ecfdf5;--green-200: #a7f3d0;--green-600: #059669;--green-700: #047857;--green-800: #065f46;--red-50: #fef2f2;--red-200: #fecaca;--red-600: #dc2626;--red-700: #b91c1c;--red-800: #991b1b;--amber-50: #fffbeb;--amber-200: #fde68a;--amber-600: #d97706;--amber-700: #b45309;--amber-800: #92400e;--primary: var(--blue-600);--primary-dark: var(--blue-700);--primary-hover: var(--blue-700);--primary-light: var(--blue-100);--primary-subtle: var(--blue-50);--primary-on-dark: var(--blue-400);--primary-rgb: 37, 99, 235;--bg-dark: var(--neutral-900);--bg-dark-raised: var(--neutral-800);--bg-card: var(--neutral-0);--bg-light: var(--neutral-100);--bg-subtle: var(--neutral-50);--bg-hover: var(--neutral-100);--bg-disabled: var(--neutral-100);--text-primary: var(--neutral-800);--text-secondary: var(--neutral-600);--text-muted: var(--neutral-600);--text-tertiary: var(--neutral-400);--text-light: var(--neutral-50);--text-on-dark-muted: var(--neutral-400);--text-inverse: var(--neutral-0);--border: var(--neutral-200);--border-light: var(--neutral-100);--border-strong: var(--neutral-300);--border-hover: var(--neutral-300);--border-on-dark: var(--neutral-700);--success: var(--green-700);--success-hover: var(--green-800);--success-bg: var(--green-50);--success-border: var(--green-200);--success-text: var(--green-800);--danger: var(--red-600);--danger-hover: var(--red-700);--danger-bg: var(--red-50);--danger-border: var(--red-200);--danger-text: var(--red-800);--warning: var(--amber-700);--warning-hover: var(--amber-800);--warning-bg: var(--amber-50);--warning-border: var(--amber-200);--warning-text: var(--amber-800);--info: var(--blue-600);--info-bg: var(--blue-50);--info-border: var(--blue-200);--info-text: var(--blue-700);--secondary: var(--neutral-500);--secondary-hover: var(--neutral-600);--secondary-bg: var(--neutral-100);--secondary-light: var(--neutral-200);--accent: var(--amber-600);--font-sans: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-2xs: .6875rem;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.75rem;--text-4xl: 2rem;--text-5xl: 2.5rem;--text-6xl: 3rem;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.65;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 3rem;--radius-xs: 3px;--radius-sm: 4px;--radius-base: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .06);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .1), 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .1), 0 2px 4px -2px rgba(15, 23, 42, .06);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .1), 0 4px 6px -4px rgba(15, 23, 42, .05);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .15), 0 8px 10px -6px rgba(15, 23, 42, .1);--shadow: var(--shadow-md);--shadow-raised: 0 4px 12px rgba(0, 0, 0, .15);--shadow-overlay: 0 20px 60px rgba(0, 0, 0, .3);--shadow-brand: 0 4px 12px rgba(37, 99, 235, .3);--ring-subtle: 0 0 0 3px rgba(37, 99, 235, .1);--chart-1: var(--blue-600);--chart-2: var(--amber-700);--chart-3: #7c3aed;--focus-ring: 0 0 0 3px rgba(37, 99, 235, .35);--focus-outline: 2px solid var(--primary);--duration-fast: .12s;--duration-base: .2s;--ease: cubic-bezier(.4, 0, .2, 1);--primary-color: var(--primary);--secondary-color: var(--secondary);--success-color: var(--success);--danger-color: var(--danger);--warning-color: var(--warning);--error: var(--danger);--error-color: var(--danger);--error-bg: var(--danger-bg);--error-border: var(--danger-border);--danger-light: var(--danger-bg);--success-light: var(--success-bg);--success-bg-hover: var(--green-200);--bg-success-light: var(--success-bg);--secondary-bg: var(--secondary-bg);--card-bg: var(--bg-card);--bg-primary: var(--bg-card);--bg-secondary: var(--bg-light);--background-primary: var(--bg-card);--background-secondary: var(--bg-light);--hover-bg: var(--bg-hover);--input-bg: var(--bg-card);--bg-input: var(--bg-card);--text-color: var(--text-primary);--border-color: var(--border);--skeleton-base: var(--neutral-200);--skeleton-highlight: var(--neutral-100)}*{margin:0;padding:0;box-sizing:border-box}button,[role=button]{-webkit-user-select:none;user-select:none}button:focus{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:var(--focus-outline);outline-offset:2px}body{font-family:var(--font-sans);background:var(--bg-dark);color:var(--text-primary);line-height:var(--leading-normal);min-height:100vh;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}input,select,textarea,button{font-family:inherit}[hidden]{display:none!important}.icon{flex-shrink:0;vertical-align:-.125em}.icon-spin{animation:icon-spin .9s linear infinite}@keyframes icon-spin{to{transform:rotate(360deg)}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:2000;padding:var(--space-2) var(--space-4);background:var(--bg-card);color:var(--primary);font-weight:var(--weight-semibold);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);transform:translateY(-200%);transition:transform var(--duration-fast) var(--ease)}.skip-link:focus{transform:translateY(0)}@media (max-width: 480px){input,select,textarea{font-size:16px!important}button,a[href],[role=button]{min-height:44px;min-width:44px}p a[href],li a[href],label a[href]{min-height:0;min-width:0}html,body{overflow-x:hidden}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
