:root{--color-primary-50: #eff6ff;--color-primary-100: #dbeafe;--color-primary-200: #bfdbfe;--color-primary-300: #93c5fd;--color-primary-400: #60a5fa;--color-primary-500: #3b82f6;--color-primary-600: #2563eb;--color-primary-700: #1d4ed8;--color-primary-800: #1e40af;--color-primary-900: #1e3a8a;--color-success-50: #f0fdf4;--color-success-100: #dcfce7;--color-success-200: #bbf7d0;--color-success-300: #86efac;--color-success-400: #4ade80;--color-success-500: #22c55e;--color-success-600: #16a34a;--color-success-700: #15803d;--color-success-800: #166534;--color-success-900: #14532d;--color-warning-50: #fefce8;--color-warning-100: #fef9c3;--color-warning-200: #fef08a;--color-warning-300: #fde047;--color-warning-400: #facc15;--color-warning-500: #eab308;--color-warning-600: #ca8a04;--color-warning-700: #a16207;--color-warning-800: #854d0e;--color-warning-900: #713f12;--color-error-50: #fef2f2;--color-error-100: #fee2e2;--color-error-200: #fecaca;--color-error-300: #fca5a5;--color-error-400: #f87171;--color-error-500: #ef4444;--color-error-600: #dc2626;--color-error-700: #b91c1c;--color-error-800: #991b1b;--color-error-900: #7f1d1d;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-bg: #ffffff;--color-bg-secondary: var(--color-gray-50);--color-bg-tertiary: var(--color-gray-100);--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-border: var(--color-gray-200);--color-border-light: var(--color-gray-100);--color-border-strong: var(--color-gray-300);--color-text-primary: var(--color-gray-900);--color-text-secondary: var(--color-gray-600);--color-text-tertiary: var(--color-gray-500);--color-text-inverse: #ffffff;--color-primary: var(--color-primary-500);--color-primary-2: var(--color-success-500);--color-secondary: var(--color-primary-700);--color-accent: var(--color-success-600);--color-text: var(--color-text-primary);--color-text-muted: var(--color-text-secondary);--font-family-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", "Courier New", monospace;--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;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-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;--radius-none: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--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-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-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--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-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-fixed: 1200;--z-modal-backdrop: 1300;--z-modal: 1400;--z-popover: 1500;--z-tooltip: 1600}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%;overflow-y:scroll;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:16px}@media (max-width: 768px){html{font-size:15px}}body{min-height:100%;height:auto;margin:0;font-family:var(--font-family-sans);background:var(--color-bg-secondary);color:var(--color-text-primary);line-height:var(--line-height-normal);overflow-x:hidden;background:linear-gradient(135deg,#f0f9ff,#e0f2fe,#f0fdf4);background-attachment:fixed}@media (max-width: 768px){body{background:var(--color-bg)}}app-root{display:block;min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin:0;line-height:var(--line-height-normal)}.container{max-width:100%;margin:0 auto;padding:0 var(--space-6)}@media (max-width: 768px){.container{padding:0 var(--space-4)}}.card,.card-surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.card:hover,.card-surface:hover{box-shadow:var(--shadow-md)}.card-elevated{background:var(--color-surface-elevated);border:none;box-shadow:var(--shadow-lg);border-radius:var(--radius-xl)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);border:1px solid transparent;font-family:var(--font-family-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:1;text-decoration:none;cursor:pointer;transition:all var(--transition-base);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.btn lucide-icon{width:1.25rem;height:1.25rem}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.btn-sm lucide-icon{width:1rem;height:1rem}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg)}.btn-lg lucide-icon{width:1.5rem;height:1.5rem}.btn-primary{background:var(--color-primary-500);color:var(--color-text-inverse);border-color:var(--color-primary-500);box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background:var(--color-primary-600);border-color:var(--color-primary-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:var(--shadow-sm)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-secondary);border-color:var(--color-border-strong)}.btn-success{background:var(--color-success-500);color:var(--color-text-inverse);border-color:var(--color-success-500);box-shadow:var(--shadow-sm)}.btn-success:hover:not(:disabled){background:var(--color-success-600);border-color:var(--color-success-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-warning{background:var(--color-warning-500);color:var(--color-gray-900);border-color:var(--color-warning-500)}.btn-warning:hover:not(:disabled){background:var(--color-warning-600);border-color:var(--color-warning-600);transform:translateY(-1px)}.btn-danger{background:var(--color-error-500);color:var(--color-text-inverse);border-color:var(--color-error-500);box-shadow:var(--shadow-sm)}.btn-danger:hover:not(:disabled){background:var(--color-error-600);border-color:var(--color-error-600);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--color-text-primary);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--color-bg-secondary)}.btn-outline{background:transparent;color:var(--color-primary-600);border-color:var(--color-primary-500)}.btn-outline:hover:not(:disabled){background:var(--color-primary-50)}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;margin-bottom:var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.form-input,.input,.form-select,.form-textarea,input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=url],select,textarea{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-family-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.form-input:hover,.input:hover,.form-select:hover,.form-textarea:hover,input[type=text]:hover,input[type=email]:hover,input[type=password]:hover,input[type=number]:hover,input[type=tel]:hover,input[type=url]:hover,select:hover,textarea:hover{border-color:var(--color-border-strong)}.form-input:focus,.input:focus,.form-select:focus,.form-textarea:focus,input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=number]:focus,input[type=tel]:focus,input[type=url]:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px var(--color-primary-100)}.form-input:disabled,.input:disabled,.form-select:disabled,.form-textarea:disabled,input[type=text]:disabled,input[type=email]:disabled,input[type=password]:disabled,input[type=number]:disabled,input[type=tel]:disabled,input[type=url]:disabled,select:disabled,textarea:disabled{background:var(--color-bg-tertiary);color:var(--color-text-tertiary);cursor:not-allowed}.form-input::placeholder,.input::placeholder,.form-select::placeholder,.form-textarea::placeholder,input[type=text]::placeholder,input[type=email]::placeholder,input[type=password]::placeholder,input[type=number]::placeholder,input[type=tel]::placeholder,input[type=url]::placeholder,select::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}.form-input-error,input.error,select.error,textarea.error{border-color:var(--color-error-500)}.form-input-error:focus,input.error:focus,select.error:focus,textarea.error:focus{border-color:var(--color-error-500);box-shadow:0 0 0 3px var(--color-error-100)}.form-helper-text{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.form-error-text{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-error-600)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;border-radius:var(--radius-full);white-space:nowrap}.badge-primary{background:var(--color-primary-100);color:var(--color-primary-700)}.badge-success{background:var(--color-success-100);color:var(--color-success-700)}.badge-warning{background:var(--color-warning-100);color:var(--color-warning-700)}.badge-error{background:var(--color-error-100);color:var(--color-error-700)}.badge-gray{background:var(--color-gray-100);color:var(--color-gray-700)}lucide-icon,.lucide{display:inline-block;width:1.25rem;height:1.25rem;vertical-align:middle}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-normal{font-weight:var(--font-weight-normal)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-success{color:var(--color-success-600)}.text-warning{color:var(--color-warning-600)}.text-error{color:var(--color-error-600)}.shadow-none{box-shadow:none}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}@media (max-width: 768px){.hide-mobile{display:none!important}}@media (min-width: 769px){.hide-desktop{display:none!important}}
