:root{--bg-primary: #FFFFFF;--bg-secondary: #F9FAFB;--bg-tertiary: #F3F4F6;--bg-hover: #F3F4F6;--bg-active: #E5E7EB;--border-default: #E5E7EB;--border-subtle: #F3F4F6;--border-strong: #D1D5DB;--text-primary: #111827;--text-secondary: #6B7280;--text-tertiary: #9CA3AF;--text-inverse: #FFFFFF;--accent-primary: #3B82F6;--accent-hover: #2563EB;--accent-subtle: #DBEAFE;--error: #EF4444;--error-hover: #DC2626;--error-subtle: #FEE2E2;--warning: #F59E0B;--warning-hover: #D97706;--warning-subtle: #FEF3C7;--success: #10B981;--success-hover: #059669;--success-subtle: #D1FAE5;--info: #3B82F6;--info-hover: #2563EB;--info-subtle: #DBEAFE;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--line-tight: 1.25;--line-normal: 1.5;--line-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--topbar-height: 64px;--content-max-width: 1400px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}[data-theme=dark]{--bg-primary: #0B0E14;--bg-secondary: #0F172A;--bg-tertiary: #1E293B;--bg-hover: #1E293B;--bg-active: #334155;--border-default: #334155;--border-subtle: #1E293B;--border-strong: #475569;--text-primary: #F9FAFB;--text-secondary: #94A3B8;--text-tertiary: #64748B;--text-inverse: #0B0E14;--accent-primary: #3B82F6;--accent-hover: #60A5FA;--accent-subtle: #1E3A8A;--error: #F87171;--error-hover: #FCA5A5;--error-subtle: #7F1D1D;--warning: #FBBF24;--warning-hover: #FCD34D;--warning-subtle: #78350F;--success: #34D399;--success-hover: #6EE7B7;--success-subtle: #064E3B;--info: #60A5FA;--info-hover: #93C5FD;--info-subtle: #1E3A8A;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4), 0 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .3)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--line-normal);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.container{max-width:var(--content-max-width);margin:0 auto;padding:0 var(--space-6)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.border-default{border-color:var(--border-default)}.border-subtle{border-color:var(--border-subtle)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.transition{transition:all var(--transition-base)}html,body{width:100%;max-width:100vw;overflow-x:hidden;margin:0;padding:0}#root{width:100%;max-width:100vw;overflow-x:hidden}.min-h-screen{width:100%}.custom-scrollbar::-webkit-scrollbar{width:8px}.custom-scrollbar::-webkit-scrollbar-track{background:#f1f5f9;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb{background:#94a3b8;border-radius:10px}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background:#475569}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.animate-slide-in-right{animation:slideInRight .3s ease-out}@keyframes slideIn{0%{transform:translateY(-10px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-in{animation:slideIn .2s ease-out}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.animate-scale-in{animation:scaleIn .2s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slideUp .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .2s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .5s ease-out forwards;opacity:0}@keyframes pulseBorder{0%,to{box-shadow:0 0 #a855f766}50%{box-shadow:0 0 0 8px #a855f700}}.animate-pulse-border{animation:pulseBorder 2s ease-in-out infinite}
