:root{--primary: #3B82F6;--primary-light: #EFF6FF;--primary-dark: #1D4ED8;--success: #10B981;--success-light: #D1FAE5;--error: #EF4444;--error-light: #FEE2E2;--warning: #F59E0B;--warning-light: #FEF3C7;--info: #3B82F6;--info-light: #DBEAFE;--background: #FFFFFF;--surface: #F9FAFB;--surface-hover: #F3F4F6;--text: #111827;--text-secondary: #6B7280;--text-tertiary: #9CA3AF;--border: #E5E7EB;--border-focus: #3B82F6;--shadow: rgba(0, 0, 0, .1);--overlay: rgba(0, 0, 0, .5);--white: #FFFFFF;--font-family: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition-base: .2s ease}[data-theme=dark]{--primary-light: #1E3A5F;--success-light: #14532D;--warning-light: #78350F;--error-light: #7F1D1D;--background: #0F172A;--surface: #1E293B;--surface-hover: #334155;--text: #F8FAFC;--text-secondary: #94A3B8;--text-tertiary: #64748B;--border: #334155;--shadow: rgba(0, 0, 0, .3);--overlay: rgba(0, 0, 0, .7)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.5;color:var(--text);background-color:var(--background);min-height:100vh;transition:background-color var(--transition-base),color var(--transition-base);overflow-x:hidden}a{color:var(--primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-dark)}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn .4s ease forwards}.spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;background-color:var(--background)}
