:root{--color-cacao-50: #fdf8f6;--color-cacao-100: #f2e8e5;--color-cacao-200: #eaddd7;--color-cacao-300: #e0cec7;--color-cacao-400: #d2bab0;--color-cacao-500: #bfa094;--color-cacao-600: #a18072;--color-cacao-700: #977669;--color-cacao-800: #846358;--color-cacao-900: #43302b;--color-cacao-950: #2a1d19;--color-amber-50: #fffbeb;--color-amber-100: #fef3c7;--color-amber-200: #fde68a;--color-amber-300: #fcd34d;--color-amber-400: #fbbf24;--color-amber-500: #f59e0b;--color-amber-600: #d97706;--color-amber-700: #b45309;--color-amber-800: #92400e;--color-amber-900: #78350f;--color-slate-50: #f8fafc;--color-slate-100: #f1f5f9;--color-slate-200: #e2e8f0;--color-slate-300: #cbd5e1;--color-slate-400: #94a3b8;--color-slate-500: #64748b;--color-slate-600: #475569;--color-slate-700: #334155;--color-slate-800: #1e293b;--color-slate-900: #0f172a;--color-slate-950: #020617;--color-emerald-50: #ecfdf5;--color-emerald-100: #d1fae5;--color-emerald-500: #10b981;--color-emerald-600: #059669;--color-emerald-700: #047857;--color-red-50: #fef2f2;--color-red-100: #fee2e2;--color-red-500: #ef4444;--color-red-600: #dc2626;--color-red-700: #b91c1c;--color-yellow-50: #fefce8;--color-yellow-100: #fef9c3;--color-yellow-500: #eab308;--color-yellow-600: #ca8a04;--color-yellow-700: #a16207;--color-blue-50: #eff6ff;--color-blue-100: #dbeafe;--color-blue-500: #3b82f6;--color-blue-600: #2563eb;--color-blue-700: #1d4ed8;--font-inter: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-lora: "Lora", Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--font-system: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-base: 14px;--font-size-xs: calc(var(--font-size-base) * .75);--font-size-sm: calc(var(--font-size-base) * .875);--font-size-md: var(--font-size-base);--font-size-lg: calc(var(--font-size-base) * 1.125);--font-size-xl: calc(var(--font-size-base) * 1.25);--font-size-2xl: calc(var(--font-size-base) * 1.5625);--font-size-3xl: calc(var(--font-size-base) * 1.953);--font-size-4xl: calc(var(--font-size-base) * 2.441);--line-height-tight: 1.2;--line-height-snug: 1.35;--line-height-base: 1.5;--line-height-relaxed: 1.65;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-unit: 4px;--space-0: 0;--space-1: calc(var(--space-unit) * 1);--space-2: calc(var(--space-unit) * 2);--space-3: calc(var(--space-unit) * 3);--space-4: calc(var(--space-unit) * 4);--space-5: calc(var(--space-unit) * 5);--space-6: calc(var(--space-unit) * 6);--space-8: calc(var(--space-unit) * 8);--space-10: calc(var(--space-unit) * 10);--space-12: calc(var(--space-unit) * 12);--space-16: calc(var(--space-unit) * 16);--radius-base: 8px;--radius-xs: calc(var(--radius-base) * .25);--radius-sm: calc(var(--radius-base) * .5);--radius-md: var(--radius-base);--radius-lg: calc(var(--radius-base) * 1.5);--radius-xl: calc(var(--radius-base) * 2);--radius-pill: 9999px;--transition-base: .2s;--transition-fast: calc(var(--transition-base) * .5);--transition-slow: calc(var(--transition-base) * 1.5);--easing-standard: cubic-bezier(.4, 0, .2, 1);--easing-decel: cubic-bezier(0, 0, .2, 1);--easing-accel: cubic-bezier(.4, 0, 1, 1);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-overlay: 900;--z-modal: 1000;--z-toast: 1100;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .08), 0 2px 4px -1px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .1), 0 4px 6px -2px rgba(15, 23, 42, .05);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .1), 0 10px 10px -5px rgba(15, 23, 42, .04);--shadow-glow: 0 0 24px var(--accent-soft, rgba(217, 119, 6, .25));--motion-scale: 1;--font-family: var(--font-inter);font-family:var(--font-family);line-height:var(--line-height-base);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-font=inter]{--font-family: var(--font-inter)}:root[data-font=lora]{--font-family: var(--font-lora)}:root[data-font=mono]{--font-family: var(--font-mono)}:root[data-font=system]{--font-family: var(--font-system)}:root[data-font-size="13"]{--font-size-base: 13px}:root[data-font-size="14"]{--font-size-base: 14px}:root[data-font-size="15"]{--font-size-base: 15px}:root[data-font-size="17"]{--font-size-base: 17px}:root[data-density=compact]{--space-unit: 3px}:root[data-density=comfortable]{--space-unit: 4px}:root[data-density=spacious]{--space-unit: 5px}:root[data-radius=sharp]{--radius-base: 0px}:root[data-radius=subtle]{--radius-base: 4px}:root[data-radius=default]{--radius-base: 8px}:root[data-radius=soft]{--radius-base: 12px}:root[data-radius=rounded]{--radius-base: 16px}:root[data-motion-speed=slow]{--transition-base: .3s}:root[data-motion-speed=normal]{--transition-base: .2s}:root[data-motion-speed=fast]{--transition-base: .1s}:root[data-reduce-motion=true] *,:root[data-reduce-motion=true] *:before,:root[data-reduce-motion=true] *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root,:root[data-theme=light]{color-scheme:light;--surface-base: #f6f7f9;--surface-sunken: #ecedf0;--surface-elevated: #ffffff;--surface-overlay: #ffffff;--surface-inverse: var(--color-slate-900);--text-primary: var(--color-slate-900);--text-secondary: var(--color-slate-600);--text-tertiary: var(--color-slate-500);--text-disabled: var(--color-slate-400);--text-inverse: #ffffff;--text-on-accent: #ffffff;--border-subtle: var(--color-slate-200);--border-default: var(--color-slate-300);--border-strong: var(--color-slate-400);--border-focus: var(--accent-base);--state-success: var(--color-emerald-600);--state-success-soft: var(--color-emerald-50);--state-success-strong: var(--color-emerald-700);--state-warning: var(--color-yellow-600);--state-warning-soft: var(--color-yellow-50);--state-warning-strong: var(--color-yellow-700);--state-error: var(--color-red-600);--state-error-soft: var(--color-red-50);--state-error-strong: var(--color-red-700);--state-info: var(--color-blue-600);--state-info-soft: var(--color-blue-50);--state-info-strong: var(--color-blue-700);--gradient-brand: linear-gradient(135deg, #fef3c7 0%, #fed7aa 50%, #d1fae5 100%);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 4px 6px -1px rgba(15, 23, 42, .08), 0 2px 4px -1px rgba(15, 23, 42, .04);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .1), 0 4px 6px -2px rgba(15, 23, 42, .05);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .1), 0 10px 10px -5px rgba(15, 23, 42, .04);--chart-series-1: var(--color-blue-500);--chart-series-2: var(--color-emerald-500);--chart-series-3: var(--color-amber-500);--chart-series-4: var(--color-red-500);--chart-series-5: #8b5cf6;--chart-grid: var(--color-slate-200);--chart-axis: var(--color-slate-500)}:root[data-theme=dark]{color-scheme:dark;--surface-base: #0a0f1a;--surface-sunken: #060912;--surface-elevated: #131a28;--surface-overlay: #1e293b;--surface-inverse: var(--color-slate-50);--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-disabled: #64748b;--text-inverse: var(--color-slate-900);--text-on-accent: #ffffff;--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .22);--border-focus: var(--accent-base);--state-success: var(--color-emerald-500);--state-success-soft: rgba(16, 185, 129, .15);--state-success-strong: var(--color-emerald-100);--state-warning: var(--color-yellow-500);--state-warning-soft: rgba(234, 179, 8, .15);--state-warning-strong: var(--color-yellow-100);--state-error: var(--color-red-500);--state-error-soft: rgba(239, 68, 68, .15);--state-error-strong: var(--color-red-100);--state-info: var(--color-blue-500);--state-info-soft: rgba(59, 130, 246, .15);--state-info-strong: var(--color-blue-100);--gradient-brand: linear-gradient(135deg, #0a0f1a 0%, #131a28 50%, #1e293b 100%);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 4px 8px rgba(0, 0, 0, .35), 0 2px 4px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .45), 0 4px 8px rgba(0, 0, 0, .25);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .55), 0 8px 16px rgba(0, 0, 0, .35);--chart-series-1: #60a5fa;--chart-series-2: #34d399;--chart-series-3: #fbbf24;--chart-series-4: #f87171;--chart-series-5: #a78bfa;--chart-grid: rgba(255, 255, 255, .08);--chart-axis: #94a3b8}:root[data-theme=cafe]{color-scheme:dark;--surface-base: #1f1410;--surface-sunken: #16100c;--surface-elevated: #2d1f18;--surface-overlay: #3a2a20;--surface-inverse: #f3e7dd;--text-primary: #f3e7dd;--text-secondary: #d5b8a1;--text-tertiary: #a8836a;--text-disabled: #6b4f3d;--text-inverse: #1f1410;--text-on-accent: #ffffff;--border-subtle: rgba(243, 231, 221, .06);--border-default: rgba(243, 231, 221, .14);--border-strong: rgba(243, 231, 221, .26);--border-focus: var(--accent-base);--state-success: #84cc16;--state-success-soft: rgba(132, 204, 22, .15);--state-success-strong: #bef264;--state-warning: var(--color-amber-500);--state-warning-soft: rgba(245, 158, 11, .18);--state-warning-strong: var(--color-amber-200);--state-error: #f87171;--state-error-soft: rgba(248, 113, 113, .18);--state-error-strong: #fca5a5;--state-info: #fbbf24;--state-info-soft: rgba(251, 191, 36, .18);--state-info-strong: #fde68a;--gradient-brand: linear-gradient(135deg, #241a14 0%, #3d2817 50%, #1a2e1f 100%);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 8px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .25);--shadow-lg: 0 10px 20px rgba(0, 0, 0, .5), 0 4px 8px rgba(0, 0, 0, .25);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .6), 0 8px 16px rgba(0, 0, 0, .35);--chart-series-1: #fbbf24;--chart-series-2: #84cc16;--chart-series-3: #fb923c;--chart-series-4: #f87171;--chart-series-5: #c084fc;--chart-grid: rgba(243, 231, 221, .08);--chart-axis: #d5b8a1}:root[data-high-contrast=true]{--border-subtle: var(--text-tertiary);--border-default: var(--text-secondary);--border-strong: var(--text-primary);--text-secondary: var(--text-primary);--text-tertiary: var(--text-secondary);--focus-ring-width: 3px;--focus-ring-offset: 3px}:root[data-theme=light][data-high-contrast=true]{--surface-base: #ffffff;--surface-elevated: #ffffff;--surface-sunken: #e5e7eb;--text-primary: #000000;--text-secondary: #1f2937;--border-default: #000000}:root[data-theme=dark][data-high-contrast=true],:root[data-theme=cafe][data-high-contrast=true]{--surface-base: #000000;--surface-elevated: #0a0a0a;--surface-sunken: #000000;--text-primary: #ffffff;--text-secondary: #f5f5f5;--border-default: #ffffff}:root[data-high-contrast=true] *,:root[data-high-contrast=true] *:before,:root[data-high-contrast=true] *:after{border-width:2px}:root,:root[data-accent=cacao]{--accent-50: var(--color-amber-50);--accent-100: var(--color-amber-100);--accent-200: var(--color-amber-200);--accent-300: var(--color-amber-300);--accent-400: var(--color-amber-400);--accent-500: var(--color-amber-500);--accent-600: var(--color-amber-600);--accent-700: var(--color-amber-700);--accent-800: var(--color-amber-800);--accent-900: var(--color-amber-900);--accent-soft: var(--color-amber-100);--accent-base: var(--color-amber-600);--accent-hover: var(--color-amber-700);--accent-active: var(--color-amber-800);--accent-contrast: #ffffff;--accent-gradient: linear-gradient(135deg, var(--color-amber-600), var(--color-cacao-700))}:root[data-theme=dark][data-accent=cacao],:root[data-theme=cafe][data-accent=cacao]{--accent-soft: rgba(245, 158, 11, .18);--accent-base: var(--color-amber-500);--accent-hover: var(--color-amber-400);--accent-active: var(--color-amber-300)}:root[data-accent=emerald]{--accent-50: #ecfdf5;--accent-100: #d1fae5;--accent-200: #a7f3d0;--accent-300: #6ee7b7;--accent-400: #34d399;--accent-500: #10b981;--accent-600: #059669;--accent-700: #047857;--accent-800: #065f46;--accent-900: #064e3b;--accent-soft: #d1fae5;--accent-base: #059669;--accent-hover: #047857;--accent-active: #065f46;--accent-contrast: #ffffff;--accent-gradient: linear-gradient(135deg, #10b981, #047857)}:root[data-theme=dark][data-accent=emerald],:root[data-theme=cafe][data-accent=emerald]{--accent-soft: rgba(16, 185, 129, .18);--accent-base: #10b981;--accent-hover: #34d399;--accent-active: #6ee7b7}:root[data-accent=ocean]{--accent-50: #eff6ff;--accent-100: #dbeafe;--accent-200: #bfdbfe;--accent-300: #93c5fd;--accent-400: #60a5fa;--accent-500: #3b82f6;--accent-600: #2563eb;--accent-700: #1d4ed8;--accent-800: #1e40af;--accent-900: #1e3a8a;--accent-soft: #dbeafe;--accent-base: #2563eb;--accent-hover: #1d4ed8;--accent-active: #1e40af;--accent-contrast: #ffffff;--accent-gradient: linear-gradient(135deg, #3b82f6, #1d4ed8)}:root[data-theme=dark][data-accent=ocean],:root[data-theme=cafe][data-accent=ocean]{--accent-soft: rgba(59, 130, 246, .18);--accent-base: #3b82f6;--accent-hover: #60a5fa;--accent-active: #93c5fd}:root[data-accent=lavender]{--accent-50: #f5f3ff;--accent-100: #ede9fe;--accent-200: #ddd6fe;--accent-300: #c4b5fd;--accent-400: #a78bfa;--accent-500: #8b5cf6;--accent-600: #7c3aed;--accent-700: #6d28d9;--accent-800: #5b21b6;--accent-900: #4c1d95;--accent-soft: #ede9fe;--accent-base: #7c3aed;--accent-hover: #6d28d9;--accent-active: #5b21b6;--accent-contrast: #ffffff;--accent-gradient: linear-gradient(135deg, #8b5cf6, #6d28d9)}:root[data-theme=dark][data-accent=lavender],:root[data-theme=cafe][data-accent=lavender]{--accent-soft: rgba(139, 92, 246, .18);--accent-base: #8b5cf6;--accent-hover: #a78bfa;--accent-active: #c4b5fd}:root[data-accent=coral]{--accent-50: #fff1f2;--accent-100: #ffe4e6;--accent-200: #fecdd3;--accent-300: #fda4af;--accent-400: #fb7185;--accent-500: #f43f5e;--accent-600: #e11d48;--accent-700: #be123c;--accent-800: #9f1239;--accent-900: #881337;--accent-soft: #ffe4e6;--accent-base: #e11d48;--accent-hover: #be123c;--accent-active: #9f1239;--accent-contrast: #ffffff;--accent-gradient: linear-gradient(135deg, #f43f5e, #be123c)}:root[data-theme=dark][data-accent=coral],:root[data-theme=cafe][data-accent=coral]{--accent-soft: rgba(244, 63, 94, .18);--accent-base: #f43f5e;--accent-hover: #fb7185;--accent-active: #fda4af}:root[data-accent=graphite]{--accent-50: #f8fafc;--accent-100: #f1f5f9;--accent-200: #e2e8f0;--accent-300: #cbd5e1;--accent-400: #94a3b8;--accent-500: #64748b;--accent-600: #475569;--accent-700: #334155;--accent-800: #1e293b;--accent-900: #0f172a;--accent-soft: #e2e8f0;--accent-base: #334155;--accent-hover: #1e293b;--accent-active: #0f172a;--accent-contrast: #ffffff;--accent-gradient: linear-gradient(135deg, #475569, #1e293b)}:root[data-theme=dark][data-accent=graphite],:root[data-theme=cafe][data-accent=graphite]{--accent-soft: rgba(148, 163, 184, .18);--accent-base: #cbd5e1;--accent-hover: #e2e8f0;--accent-active: #f1f5f9;--accent-contrast: #0f172a}:root[data-colorblind=deuteranopia]{--chart-series-1: #0173b2;--chart-series-2: #de8f05;--chart-series-3: #cc78bc;--chart-series-4: #ece133;--chart-series-5: #56b4e9}:root[data-colorblind=protanopia]{--chart-series-1: #0173b2;--chart-series-2: #f0a608;--chart-series-3: #029e73;--chart-series-4: #d55e00;--chart-series-5: #56b4e9}:root[data-colorblind=tritanopia]{--chart-series-1: #d62728;--chart-series-2: #2ca02c;--chart-series-3: #ff7f0e;--chart-series-4: #e377c2;--chart-series-5: #8c564b}:root{color:var(--text-primary);background-color:var(--surface-base)}*{margin:0;padding:0;box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--surface-base);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-base);transition:background-color var(--transition-base) var(--easing-standard),color var(--transition-base) var(--easing-standard)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--surface-sunken);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--accent-base);border-radius:var(--radius-sm);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}::selection{background-color:var(--accent-base);color:var(--accent-contrast)}::-moz-selection{background-color:var(--accent-base);color:var(--accent-contrast)}h1,h2,h3,h4,h5,h6{font-family:var(--font-family);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text-primary);letter-spacing:-.01em}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-md)}h6{font-size:var(--font-size-sm)}a{font-weight:var(--font-weight-medium);color:var(--accent-base);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover);text-decoration:underline}a:focus-visible{outline:3px solid var(--border-focus);outline-offset:3px;border-radius:var(--radius-xs)}button{font-family:var(--font-family);font-size:inherit;font-weight:var(--font-weight-medium);border-radius:var(--radius-md);border:1px solid transparent;padding:var(--space-2) var(--space-4);cursor:pointer;transition:transform var(--transition-fast),background-color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast)}button:hover{transform:translateY(-1px)}:root[data-reduce-motion=true] button:hover{transform:none}button:focus-visible{outline:3px solid var(--border-focus);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed;transform:none}input,textarea,select{font-family:var(--font-family);font-size:inherit;color:var(--text-primary);background-color:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--accent-base);box-shadow:0 0 0 3px var(--accent-soft)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}input:disabled,textarea:disabled,select:disabled{background-color:var(--surface-sunken);color:var(--text-disabled);cursor:not-allowed}.card{background:var(--surface-elevated);color:var(--text-primary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-base),transform var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}:root[data-reduce-motion=true] .card:hover{transform:none}.gradient-text{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.shadow-glow{box-shadow:var(--shadow-glow)}.animate-pulse-slow{animation:pulse 3s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-4);padding-right:var(--space-4)}@media(min-width:640px){.container{max-width:640px}}@media(min-width:768px){.container{max-width:768px}}@media(min-width:1024px){.container{max-width:1024px}}@media(min-width:1280px){.container{max-width:1280px}}@media(min-width:1536px){.container{max-width:1536px}}.spinner{border:3px solid var(--accent-soft);border-top-color:var(--accent-base);border-radius:var(--radius-pill);width:40px;height:40px;animation:spin 1s linear infinite}:root{--cacao-brown-50: var(--color-cacao-50);--cacao-brown-100: var(--color-cacao-100);--cacao-brown-200: var(--color-cacao-200);--cacao-brown-300: var(--color-cacao-300);--cacao-brown-400: var(--color-cacao-400);--cacao-brown-500: var(--color-cacao-500);--cacao-brown-600: var(--color-cacao-600);--cacao-brown-700: var(--color-cacao-700);--cacao-brown-800: var(--color-cacao-800);--cacao-brown-900: var(--color-cacao-900);--cacao-amber-50: var(--color-amber-50);--cacao-amber-100: var(--color-amber-100);--cacao-amber-500: var(--color-amber-500);--cacao-amber-600: var(--color-amber-600);--cacao-amber-700: var(--color-amber-700);--cacao-green-50: var(--color-emerald-50);--cacao-green-100: var(--color-emerald-100);--cacao-green-500: var(--color-emerald-500);--cacao-green-600: var(--color-emerald-600);--cacao-green-700: var(--color-emerald-700)}@media(max-width:768px){body{font-size:calc(var(--font-size-base) - 1px)}.card{padding:var(--space-4)}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:linear-gradient(135deg,#fef3c7,#fed7aa,#d1fae5);background-attachment:fixed}.login-card{width:100%;max-width:36rem;background-color:#fff;border-radius:1.5rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;padding:2rem;border:1px solid #f3f4f6}@media(min-width:768px){.login-card{padding:2.5rem}}.login-header{text-align:center;margin-bottom:2rem}.login-logo{display:inline-flex;align-items:center;justify-content:center;width:5rem;height:5rem;margin-bottom:1rem}.logo-image{width:100%;height:100%;object-fit:contain}.login-title{font-size:1.875rem;font-weight:700;color:#78350f;margin:0 0 .5rem}.login-subtitle{display:flex;align-items:center;justify-content:center;gap:.25rem;font-size:.875rem;color:#4b5563;margin:0}.login-subtitle svg{color:#16a34a}.login-welcome{margin-bottom:1.5rem}.login-welcome h2{font-size:1.25rem;font-weight:700;color:#111827;margin:0 0 .25rem}.login-welcome p{font-size:.875rem;color:#6b7280;margin:0}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.875rem;font-weight:600;color:#374151}.input-wrapper{position:relative;display:flex;align-items:center}.input-wrapper input{width:100%;padding:.75rem;background-color:#f9fafb;border:1px solid #d1d5db;border-radius:.75rem;font-size:.875rem;color:#111827;transition:all .2s ease}.input-wrapper input::placeholder{color:#9ca3af}.input-wrapper input:focus{outline:none;border-color:#d97706;box-shadow:0 0 0 3px #d977061a;background-color:#fff}.toggle-password{position:absolute;right:.75rem;background:none;border:none;color:#9ca3af;cursor:pointer;padding:.25rem;display:flex;align-items:center;transition:color .2s ease}.toggle-password:hover{color:#4b5563}.error-message{background-color:#fef2f2;border-left:4px solid #ef4444;padding:.75rem;border-radius:.5rem}.error-message p{font-size:.875rem;color:#b91c1c;font-weight:500;margin:0}.submit-button{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1rem;background:linear-gradient(135deg,#d97706,#ea580c);color:#fff;font-weight:600;font-size:.875rem;border:none;border-radius:.75rem;cursor:pointer;box-shadow:0 4px 6px -1px #0000001a;transition:all .2s ease}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#b45309,#c2410c);box-shadow:0 10px 15px -3px #0000001a;transform:translateY(-2px)}.submit-button:disabled{opacity:.5;cursor:not-allowed}.spinner{width:1.25rem;height:1.25rem;border:2px solid #ffffff;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.forgot-password{text-align:center}.forgot-password button{background:none;border:none;color:#b45309;font-size:.875rem;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s ease}.forgot-password button:hover{color:#92400e;text-decoration:underline}.login-footer{text-align:center;padding-top:1.5rem;margin-top:1.5rem;border-top:1px solid #e5e7eb}.footer-message{display:flex;align-items:center;justify-content:center;gap:.5rem;font-size:.875rem;color:#4b5563;margin:0 0 .5rem}.footer-message svg{color:#16a34a}.copyright{font-size:.75rem;color:#6b7280;margin:0}@media(max-width:640px){.login-card{padding:1.5rem}.login-title{font-size:1.5rem}.login-welcome h2{font-size:1.125rem}}.forgot-password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.forgot-password-card{background:#fff;border-radius:20px;box-shadow:0 20px 60px #0000004d;padding:40px;max-width:500px;width:100%;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.forgot-password-logo{text-align:center;margin-bottom:30px}.forgot-password-logo img{width:120px;height:auto}.forgot-password-header{text-align:center;margin-bottom:30px}.forgot-password-header h1{font-size:28px;color:#2d3748;margin-bottom:10px;font-weight:700}.forgot-password-header .subtitle{color:#718096;font-size:14px;line-height:1.5}.steps-indicator{display:flex;align-items:center;justify-content:space-between;margin-bottom:40px;padding:0 20px}.step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1}.step-number{width:40px;height:40px;border-radius:50%;background:#e2e8f0;color:#a0aec0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;transition:all .3s ease}.step.active .step-number{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea66}.step.completed .step-number{background:#48bb78;color:#fff}.step.completed .step-number:after{content:"✓"}.step-label{font-size:12px;color:#a0aec0;font-weight:500}.step.active .step-label{color:#667eea;font-weight:600}.step-line{flex:1;height:2px;background:#e2e8f0;margin:0 10px 28px}.alert{padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;align-items:center;gap:10px;font-size:14px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.alert-error{background:#fed7d7;color:#c53030;border:1px solid #fc8181}.alert-success{background:#c6f6d5;color:#2f855a;border:1px solid #9ae6b4}.alert-icon{font-size:18px}.forgot-password-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#2d3748}.form-group input{padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:15px;transition:all .3s ease;outline:none}.form-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f7fafc;cursor:not-allowed}.form-group small{font-size:12px;color:#a0aec0}.code-input{text-align:center;font-size:24px!important;letter-spacing:8px;font-weight:700;font-family:Courier New,monospace}.code-info{background:#edf2f7;padding:12px;border-radius:8px;text-align:center;margin-bottom:10px}.code-info p{margin:0;font-size:14px;color:#4a5568}.code-info strong{color:#2d3748}.btn-primary{padding:14px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #667eea4d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-link{background:none;border:none;color:#667eea;font-size:14px;cursor:pointer;padding:8px;transition:all .2s ease;text-decoration:none}.btn-link:hover{color:#764ba2;text-decoration:underline}.back-to-login{text-align:center;margin-top:20px;padding-top:20px;border-top:1px solid #e2e8f0}@media(max-width:600px){.forgot-password-card{padding:30px 20px}.forgot-password-header h1{font-size:24px}.steps-indicator{padding:0 10px}.step-number{width:35px;height:35px;font-size:14px}.step-label{font-size:10px}.step-line{margin:0 5px}}#root{width:100%;min-height:100vh;height:100%;margin:0;padding:0;overflow-x:hidden}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}
