:root{--color-primary-50: #eef2ff;--color-primary-100: #e0e7ff;--color-primary-200: #c7d2fe;--color-primary-300: #a5b4fc;--color-primary-400: #818cf8;--color-primary-500: #6366f1;--color-primary-600: #4f46e5;--color-primary-700: #4338ca;--color-primary-800: #3730a3;--color-primary-900: #312e81;--color-primary-rgb: 99, 102, 241;--color-accent-400: #22d3ee;--color-accent-500: #06b6d4;--color-accent-600: #0891b2;--color-gray-25: #fcfcfd;--color-gray-50: #f9fafb;--color-gray-100: #f2f4f7;--color-gray-200: #eaecf0;--color-gray-300: #d0d5dd;--color-gray-400: #98a2b3;--color-gray-500: #667085;--color-gray-600: #475467;--color-gray-700: #344054;--color-gray-800: #1d2939;--color-gray-900: #101828;--color-gray-950: #0c111d;--color-success-25: #f6fef9;--color-success-50: #ecfdf3;--color-success-100: #d1fadf;--color-success-200: #a6f4c5;--color-success-400: #32d583;--color-success-500: #12b76a;--color-success-600: #039855;--color-success-700: #027a48;--color-warning-25: #fffcf5;--color-warning-50: #fffaeb;--color-warning-100: #fef0c7;--color-warning-200: #fedf89;--color-warning-400: #fdb022;--color-warning-500: #f79009;--color-warning-600: #dc6803;--color-warning-700: #b54708;--color-error-25: #fffbfa;--color-error-50: #fef3f2;--color-error-100: #fee4e2;--color-error-200: #fecdca;--color-error-400: #f97066;--color-error-500: #f04438;--color-error-600: #d92d20;--color-error-700: #b42318;--radius-none: 0;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-3xl: 24px;--radius-full: 9999px;--spacing-0: 0;--spacing-px: 1px;--spacing-0-5: 2px;--spacing-1: 4px;--spacing-1-5: 6px;--spacing-2: 8px;--spacing-2-5: 10px;--spacing-3: 12px;--spacing-3-5: 14px;--spacing-4: 16px;--spacing-5: 20px;--spacing-6: 24px;--spacing-7: 28px;--spacing-8: 32px;--spacing-9: 36px;--spacing-10: 40px;--spacing-11: 44px;--spacing-12: 48px;--spacing-14: 56px;--spacing-16: 64px;--spacing-20: 80px;--spacing-24: 96px;--spacing-28: 112px;--spacing-32: 128px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", "SF Mono", "Fira Code", Consolas, "Liberation Mono", monospace;--text-2xs: .625rem;--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;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 2;--tracking-tighter: -.05em;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--ease-linear: linear;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--duration-75: 75ms;--duration-100: .1s;--duration-150: .15s;--duration-200: .2s;--duration-300: .3s;--duration-500: .5s;--duration-700: .7s;--duration-1000: 1s;--transition-fast: .15s var(--ease-out);--transition-normal: .2s var(--ease-out);--transition-slow: .3s var(--ease-out);--transition-spring: .5s var(--ease-spring);--z-deep: -999999;--z-base: 0;--z-docked: 10;--z-dropdown: 1000;--z-sticky: 1100;--z-banner: 1200;--z-overlay: 1300;--z-modal: 1400;--z-popover: 1500;--z-skiplink: 1600;--z-toast: 1700;--z-tooltip: 1800;--container-xs: 320px;--container-sm: 384px;--container-md: 448px;--container-lg: 512px;--container-xl: 576px;--container-2xl: 672px;--container-3xl: 768px;--container-4xl: 896px;--container-5xl: 1024px;--container-6xl: 1152px;--container-7xl: 1280px;--container-max: 1440px;--sidebar-width: 260px;--sidebar-collapsed: 72px;--header-height: 64px}:root,:root.light{color-scheme:light;--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f2f4f7;--bg-elevated: #ffffff;--bg-overlay: rgba(16, 24, 40, .7);--bg-subtle: rgba(99, 102, 241, .04);--bg-glass: rgba(255, 255, 255, .8);--bg-glass-strong: rgba(255, 255, 255, .95);--text-primary: #101828;--text-secondary: #475467;--text-tertiary: #667085;--text-quaternary: #98a2b3;--text-inverse: #ffffff;--text-brand: #4f46e5;--text-link: #4f46e5;--text-link-hover: #4338ca;--border-primary: #eaecf0;--border-secondary: #d0d5dd;--border-tertiary: #f2f4f7;--border-focus: #4f46e5;--border-focus-ring: rgba(79, 70, 229, .24);--shadow-xs: 0px 1px 2px rgba(16, 24, 40, .05);--shadow-sm: 0px 1px 3px rgba(16, 24, 40, .1), 0px 1px 2px rgba(16, 24, 40, .06);--shadow-md: 0px 4px 8px -2px rgba(16, 24, 40, .1), 0px 2px 4px -2px rgba(16, 24, 40, .06);--shadow-lg: 0px 12px 16px -4px rgba(16, 24, 40, .08), 0px 4px 6px -2px rgba(16, 24, 40, .03);--shadow-xl: 0px 20px 24px -4px rgba(16, 24, 40, .08), 0px 8px 8px -4px rgba(16, 24, 40, .03);--shadow-2xl: 0px 24px 48px -12px rgba(16, 24, 40, .18);--shadow-3xl: 0px 32px 64px -12px rgba(16, 24, 40, .14);--shadow-primary-sm: 0px 1px 3px rgba(79, 70, 229, .3), 0px 1px 2px rgba(79, 70, 229, .2);--shadow-primary-md: 0px 4px 8px -2px rgba(79, 70, 229, .25), 0px 2px 4px rgba(79, 70, 229, .15);--shadow-primary-lg: 0px 12px 20px -4px rgba(79, 70, 229, .25), 0px 4px 8px rgba(79, 70, 229, .1);--glow-primary: 0 0 20px rgba(99, 102, 241, .3);--glow-success: 0 0 20px rgba(18, 183, 106, .3);--glow-accent: 0 0 20px rgba(6, 182, 212, .3);--gradient-primary: linear-gradient(135deg, #6366f1 0%, #4f46e5 50%, #4338ca 100%);--gradient-primary-subtle: linear-gradient(135deg, #e0e7ff 0%, #c7d2fe 100%);--gradient-accent: linear-gradient(135deg, #22d3ee 0%, #06b6d4 100%);--gradient-success: linear-gradient(135deg, #34d399 0%, #10b981 100%);--gradient-warning: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);--gradient-error: linear-gradient(135deg, #f87171 0%, #ef4444 100%);--gradient-mesh: radial-gradient(at 40% 20%, rgba(99, 102, 241, .08) 0px, transparent 50%), radial-gradient(at 80% 0%, rgba(6, 182, 212, .06) 0px, transparent 50%), radial-gradient(at 0% 50%, rgba(168, 85, 247, .06) 0px, transparent 50%);--sidebar-bg: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);--sidebar-text: #64748b;--sidebar-text-active: #0f172a;--sidebar-text-muted: #94a3b8;--sidebar-border: #e2e8f0;--sidebar-hover: rgba(99, 102, 241, .06);--sidebar-active: linear-gradient(135deg, rgba(99, 102, 241, .12) 0%, rgba(139, 92, 246, .08) 100%);--sidebar-active-border: rgba(99, 102, 241, .2);--sidebar-glow: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(99, 102, 241, .08), transparent);--sidebar-item-hover-bg: rgba(99, 102, 241, .04);--sidebar-user-card-bg: #f1f5f9;--sidebar-user-card-border: #e2e8f0;--sidebar-logout-hover-bg: rgba(239, 68, 68, .1);--sidebar-logo-text: #0f172a;--gradient-hero: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-hero-dark: linear-gradient(135deg, #1e1b4b 0%, #312e81 50%, #1e1b4b 100%);--gradient-shine: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.8) 50%, transparent 60%);--scrollbar-track: transparent;--scrollbar-thumb: var(--color-gray-300);--scrollbar-thumb-hover: var(--color-gray-400);--code-bg: #1e293b;--code-text: #e2e8f0;--glow-success-subtle: radial-gradient(circle, rgba(16, 185, 129, .08), transparent);--glow-warning-subtle: radial-gradient(circle, rgba(245, 158, 11, .08), transparent);--glow-primary-subtle: radial-gradient(circle, rgba(99, 102, 241, .08), transparent);--glow-purple-subtle: radial-gradient(circle, rgba(147, 51, 234, .08), transparent);--alert-error-bg: linear-gradient(135deg, var(--color-error-50), rgba(239, 68, 68, .05));--alert-error-border: var(--color-error-200);--alert-error-text: var(--color-error-700);--alert-success-bg: linear-gradient(135deg, var(--color-success-50), rgba(16, 185, 129, .05));--alert-success-border: var(--color-success-200);--alert-success-text: var(--color-success-700);--alert-warning-bg: linear-gradient(135deg, var(--color-warning-50), rgba(245, 158, 11, .05));--alert-warning-border: var(--color-warning-200);--alert-warning-text: var(--color-warning-700);--alert-info-bg: linear-gradient(135deg, var(--color-primary-50), rgba(99, 102, 241, .05));--alert-info-border: var(--color-primary-200);--alert-info-text: var(--color-primary-700);--badge-primary-bg: var(--color-primary-50);--badge-primary-border: var(--color-primary-100);--badge-primary-text: var(--color-primary-700);--badge-success-bg: var(--color-success-50);--badge-success-border: var(--color-success-100);--badge-success-text: var(--color-success-700);--badge-warning-bg: var(--color-warning-50);--badge-warning-border: var(--color-warning-100);--badge-warning-text: var(--color-warning-700);--badge-error-bg: var(--color-error-50);--badge-error-border: var(--color-error-100);--badge-error-text: var(--color-error-700);--badge-gray-bg: var(--color-gray-50);--badge-gray-border: var(--color-gray-200);--badge-gray-text: var(--color-gray-700);--status-success-shadow: 0 4px 12px rgba(16, 185, 129, .25);--status-warning-shadow: 0 4px 12px rgba(245, 158, 11, .25);--status-primary-shadow: 0 4px 12px rgba(99, 102, 241, .25);--status-purple-shadow: 0 4px 12px rgba(147, 51, 234, .25);--badge-purple-bg: rgba(147, 51, 234, .1);--badge-purple-border: rgba(147, 51, 234, .2);--badge-purple-text: #9333ea;--auth-page-bg: #f8fafc;--auth-form-bg: #ffffff}:root.dark{color-scheme:dark;--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-elevated: #1e293b;--bg-overlay: rgba(0, 0, 0, .8);--bg-subtle: rgba(99, 102, 241, .08);--bg-glass: rgba(15, 23, 42, .8);--bg-glass-strong: rgba(15, 23, 42, .95);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-quaternary: #64748b;--text-inverse: #0f172a;--text-brand: #818cf8;--text-link: #818cf8;--text-link-hover: #a5b4fc;--border-primary: #334155;--border-secondary: #475569;--border-tertiary: #1e293b;--border-focus: #818cf8;--border-focus-ring: rgba(129, 140, 248, .24);--shadow-xs: 0px 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0px 1px 3px rgba(0, 0, 0, .4), 0px 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0px 4px 8px -2px rgba(0, 0, 0, .4), 0px 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0px 12px 16px -4px rgba(0, 0, 0, .4), 0px 4px 6px -2px rgba(0, 0, 0, .3);--shadow-xl: 0px 20px 24px -4px rgba(0, 0, 0, .4), 0px 8px 8px -4px rgba(0, 0, 0, .3);--shadow-2xl: 0px 24px 48px -12px rgba(0, 0, 0, .5);--shadow-3xl: 0px 32px 64px -12px rgba(0, 0, 0, .5);--shadow-primary-sm: 0px 1px 3px rgba(99, 102, 241, .4), 0px 1px 2px rgba(99, 102, 241, .3);--shadow-primary-md: 0px 4px 8px -2px rgba(99, 102, 241, .35), 0px 2px 4px rgba(99, 102, 241, .25);--shadow-primary-lg: 0px 12px 20px -4px rgba(99, 102, 241, .35), 0px 4px 8px rgba(99, 102, 241, .2);--glow-primary: 0 0 30px rgba(99, 102, 241, .4);--glow-success: 0 0 30px rgba(18, 183, 106, .4);--glow-accent: 0 0 30px rgba(6, 182, 212, .4);--gradient-primary: linear-gradient(135deg, #818cf8 0%, #6366f1 50%, #4f46e5 100%);--gradient-primary-subtle: linear-gradient(135deg, rgba(99, 102, 241, .2) 0%, rgba(139, 92, 246, .15) 100%);--gradient-accent: linear-gradient(135deg, #22d3ee 0%, #06b6d4 100%);--gradient-success: linear-gradient(135deg, #34d399 0%, #10b981 100%);--gradient-warning: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);--gradient-error: linear-gradient(135deg, #f87171 0%, #ef4444 100%);--gradient-mesh: radial-gradient(at 40% 20%, rgba(99, 102, 241, .15) 0px, transparent 50%), radial-gradient(at 80% 0%, rgba(6, 182, 212, .1) 0px, transparent 50%), radial-gradient(at 0% 50%, rgba(168, 85, 247, .1) 0px, transparent 50%);--sidebar-bg: linear-gradient(180deg, #0a0f1a 0%, #0f172a 50%, #0a0f1a 100%);--sidebar-text: rgba(148, 163, 184, .8);--sidebar-text-active: #ffffff;--sidebar-text-muted: rgba(148, 163, 184, .6);--sidebar-border: rgba(255, 255, 255, .08);--sidebar-hover: rgba(255, 255, 255, .06);--sidebar-active: linear-gradient(135deg, rgba(99, 102, 241, .25) 0%, rgba(139, 92, 246, .2) 100%);--sidebar-active-border: rgba(99, 102, 241, .4);--sidebar-glow: radial-gradient(ellipse 60% 50% at 50% 0%, rgba(99, 102, 241, .2), transparent);--sidebar-item-hover-bg: rgba(255, 255, 255, .04);--sidebar-user-card-bg: rgba(255, 255, 255, .04);--sidebar-user-card-border: rgba(255, 255, 255, .08);--sidebar-logout-hover-bg: rgba(239, 68, 68, .2);--sidebar-logo-text: #ffffff;--gradient-hero: linear-gradient(135deg, #312e81 0%, #1e1b4b 100%);--gradient-hero-dark: linear-gradient(135deg, #0f172a 0%, #1e293b 50%, #0f172a 100%);--gradient-shine: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.15) 50%, transparent 60%);--scrollbar-track: transparent;--scrollbar-thumb: var(--color-gray-600);--scrollbar-thumb-hover: var(--color-gray-500);--code-bg: #0a0f1a;--code-text: #e2e8f0;--glow-success-subtle: radial-gradient(circle, rgba(16, 185, 129, .15), transparent);--glow-warning-subtle: radial-gradient(circle, rgba(245, 158, 11, .15), transparent);--glow-primary-subtle: radial-gradient(circle, rgba(99, 102, 241, .15), transparent);--glow-purple-subtle: radial-gradient(circle, rgba(147, 51, 234, .15), transparent);--alert-error-bg: linear-gradient(135deg, rgba(239, 68, 68, .15), rgba(239, 68, 68, .08));--alert-error-border: rgba(239, 68, 68, .3);--alert-error-text: #fca5a5;--alert-success-bg: linear-gradient(135deg, rgba(16, 185, 129, .15), rgba(16, 185, 129, .08));--alert-success-border: rgba(16, 185, 129, .3);--alert-success-text: #6ee7b7;--alert-warning-bg: linear-gradient(135deg, rgba(245, 158, 11, .15), rgba(245, 158, 11, .08));--alert-warning-border: rgba(245, 158, 11, .3);--alert-warning-text: #fcd34d;--alert-info-bg: linear-gradient(135deg, rgba(99, 102, 241, .15), rgba(99, 102, 241, .08));--alert-info-border: rgba(99, 102, 241, .3);--alert-info-text: #a5b4fc;--badge-primary-bg: rgba(99, 102, 241, .15);--badge-primary-border: rgba(99, 102, 241, .3);--badge-primary-text: #a5b4fc;--badge-success-bg: rgba(16, 185, 129, .15);--badge-success-border: rgba(16, 185, 129, .3);--badge-success-text: #6ee7b7;--badge-warning-bg: rgba(245, 158, 11, .15);--badge-warning-border: rgba(245, 158, 11, .3);--badge-warning-text: #fcd34d;--badge-error-bg: rgba(239, 68, 68, .15);--badge-error-border: rgba(239, 68, 68, .3);--badge-error-text: #fca5a5;--badge-gray-bg: rgba(148, 163, 184, .15);--badge-gray-border: rgba(148, 163, 184, .3);--badge-gray-text: #cbd5e1;--status-success-shadow: 0 4px 16px rgba(16, 185, 129, .35);--status-warning-shadow: 0 4px 16px rgba(245, 158, 11, .35);--status-primary-shadow: 0 4px 16px rgba(99, 102, 241, .35);--status-purple-shadow: 0 4px 16px rgba(147, 51, 234, .35);--badge-purple-bg: rgba(147, 51, 234, .2);--badge-purple-border: rgba(147, 51, 234, .35);--badge-purple-text: #c084fc;--auth-page-bg: #0a0a0f;--auth-form-bg: #1a1a24}:root{transition:background-color .3s ease,color .3s ease}html.transitioning,html.transitioning *{transition:background-color .3s ease,border-color .3s ease,color .3s ease,box-shadow .3s ease!important}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--font-normal);line-height:var(--leading-normal);color:var(--text-primary);background-color:var(--bg-secondary);min-height:100vh;overflow-x:hidden}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:var(--gradient-mesh);pointer-events:none;z-index:-1}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-semibold);line-height:var(--leading-tight);color:var(--text-primary);letter-spacing:var(--tracking-tight)}h1{font-size:var(--text-4xl);font-weight:var(--font-bold);letter-spacing:-.03em}h2{font-size:var(--text-3xl);letter-spacing:-.02em}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base);font-weight:var(--font-medium)}p{color:var(--text-secondary);line-height:var(--leading-relaxed)}a{color:var(--text-link);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--text-link-hover)}:focus{outline:none}:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-2-5) var(--spacing-4);font-family:inherit;font-size:var(--text-sm);font-weight:var(--font-medium);line-height:1.5;border:1px solid transparent;border-radius:var(--radius-lg);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:all var(--transition-fast);overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--gradient-shine);transition:left .5s ease;opacity:0}.btn:hover:before{left:100%;opacity:1}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:var(--gradient-primary);color:var(--text-inverse);box-shadow:var(--shadow-sm),var(--shadow-primary-sm)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md),var(--shadow-primary-md)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm),var(--shadow-primary-sm)}.btn-secondary{background-color:var(--bg-primary);color:var(--text-primary);border-color:var(--border-primary);box-shadow:var(--shadow-xs)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-tertiary);border-color:var(--border-secondary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.btn-ghost{background-color:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background-color:var(--bg-tertiary);color:var(--text-primary)}.btn-danger{background:var(--gradient-error);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md),0 4px 12px #f0443840}.btn-success{background:var(--gradient-success);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-md),0 4px 12px #12b76a40}.btn-sm{padding:var(--spacing-1-5) var(--spacing-3);font-size:var(--text-xs);border-radius:var(--radius-md)}.btn-lg{padding:var(--spacing-3) var(--spacing-6);font-size:var(--text-base);border-radius:var(--radius-xl)}.btn-xl{padding:var(--spacing-4) var(--spacing-8);font-size:var(--text-lg);border-radius:var(--radius-xl)}.btn-icon{padding:var(--spacing-2);width:36px;height:36px}.btn-icon.btn-sm{width:28px;height:28px;padding:var(--spacing-1)}.btn-icon.btn-lg{width:44px;height:44px}.input{width:100%;padding:var(--spacing-2-5) var(--spacing-3-5);font-family:inherit;font-size:var(--text-sm);line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:all var(--transition-fast);box-shadow:var(--shadow-xs)}.input:hover:not(:disabled):not(:focus){border-color:var(--border-secondary)}.input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 4px var(--border-focus-ring),var(--shadow-xs)}.input::placeholder{color:var(--text-quaternary)}.input:disabled{background-color:var(--bg-tertiary);color:var(--text-tertiary);cursor:not-allowed}.input-error{border-color:var(--color-error-500)}.input-error:focus{border-color:var(--color-error-500);box-shadow:0 0 0 4px #f044381f,var(--shadow-xs)}select.input{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23667085' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}textarea.input{resize:vertical;min-height:100px}.form-group{display:flex;flex-direction:column;gap:var(--spacing-1-5)}.form-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-primary)}.form-label-required:after{content:" *";color:var(--color-error-500)}.form-error{font-size:var(--text-xs);color:var(--color-error-600);display:flex;align-items:center;gap:var(--spacing-1)}.form-hint{font-size:var(--text-xs);color:var(--text-tertiary);line-height:var(--leading-relaxed)}.card{background-color:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md)}.card-interactive:hover{border-color:var(--color-primary-200);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{padding:var(--spacing-5) var(--spacing-6);border-bottom:1px solid var(--border-primary)}.card-body{padding:var(--spacing-6)}.card-footer{padding:var(--spacing-4) var(--spacing-6);border-top:1px solid var(--border-primary);background-color:var(--bg-secondary);border-radius:0 0 var(--radius-xl) var(--radius-xl)}.card-glass{background:var(--bg-glass-strong);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.badge{display:inline-flex;align-items:center;gap:var(--spacing-1);padding:var(--spacing-1) var(--spacing-2-5);font-size:var(--text-xs);font-weight:var(--font-medium);line-height:1.4;border-radius:var(--radius-full);white-space:nowrap}.badge-primary{background-color:var(--badge-primary-bg);color:var(--badge-primary-text);border:1px solid var(--badge-primary-border)}.badge-success{background-color:var(--badge-success-bg);color:var(--badge-success-text);border:1px solid var(--badge-success-border)}.badge-warning{background-color:var(--badge-warning-bg);color:var(--badge-warning-text);border:1px solid var(--badge-warning-border)}.badge-error{background-color:var(--badge-error-bg);color:var(--badge-error-text);border:1px solid var(--badge-error-border)}.badge-gray{background-color:var(--badge-gray-bg);color:var(--badge-gray-text);border:1px solid var(--badge-gray-border)}.badge-dot:before{content:"";width:6px;height:6px;border-radius:50%;background-color:currentColor}.badge-lg{padding:var(--spacing-1-5) var(--spacing-3);font-size:var(--text-sm)}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot-success{background-color:var(--color-success-500);box-shadow:0 0 0 2px #12b76a33}.status-dot-warning{background-color:var(--color-warning-500);box-shadow:0 0 0 2px #f7900933}.status-dot-error{background-color:var(--color-error-500);box-shadow:0 0 0 2px #f0443833}.status-dot-info{background-color:var(--color-primary-500);box-shadow:0 0 0 2px #6366f133}.status-dot-gray{background-color:var(--color-gray-400)}.status-dot-pulse{animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{box-shadow:0 0 0 0 currentColor;opacity:1}50%{box-shadow:0 0 0 4px currentColor;opacity:.5}}.alert{display:flex;align-items:flex-start;gap:var(--spacing-3);padding:var(--spacing-4);border-radius:var(--radius-lg);font-size:var(--text-sm)}.alert-icon{flex-shrink:0;width:20px;height:20px}.alert-content{flex:1}.alert-title{font-weight:var(--font-medium);margin-bottom:var(--spacing-1)}.alert-error{background:var(--alert-error-bg);border:1px solid var(--alert-error-border);color:var(--alert-error-text)}.alert-success{background:var(--alert-success-bg);border:1px solid var(--alert-success-border);color:var(--alert-success-text)}.alert-warning{background:var(--alert-warning-bg);border:1px solid var(--alert-warning-border);color:var(--alert-warning-text)}.alert-info{background:var(--alert-info-bg);border:1px solid var(--alert-info-border);color:var(--alert-info-text)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fadeIn{animation:fadeIn var(--duration-300) var(--ease-out)}@keyframes slideUpFade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-slideUpFade{animation:slideUpFade var(--duration-300) var(--ease-out)}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-scaleIn{animation:scaleIn var(--duration-200) var(--ease-out)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-shimmer{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-bounce{animation:bounce .5s var(--ease-spring)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-muted{color:var(--text-quaternary)}.text-brand{color:var(--text-brand)}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-5{gap:var(--spacing-5)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-5{padding:var(--spacing-5)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.py-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.py-3{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.line-clamp-3{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--scrollbar-track)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::selection{background-color:var(--color-primary-100);color:var(--color-primary-900)}.transition-all{transition:all var(--transition-fast)}.transition-colors{transition:color var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast)}.transition-transform{transition:transform var(--transition-fast)}.transition-opacity{transition:opacity var(--transition-fast)}.hover-scale:hover{transform:scale(1.02)}.hover-lift:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
