:root{--color-primary:#34d399;--color-primary-hover:#3be0a8;--color-primary-dark:#14b8a6;--color-primary-light:#34d3991a;--color-primary-border:#34d39933;--color-primary-shadow:#34d3994d;--color-primary-10:#34d3991a;--color-primary-20:#34d39933;--color-primary-30:#34d3994d;--color-primary-40:#34d39966;--color-primary-50:#34d39980;--color-primary-60:#34d39999;--color-primary-70:#34d399b3;--color-primary-80:#34d399cc;--color-primary-90:#34d399e6;--color-bg-primary:#0a1628;--color-bg-secondary:#0d1f38;--color-bg-card:#0d1f38;--color-bg-elevated:#152a47;--color-bg-hover:#ffffff0d;--color-bg-overlay:#000000b3;--color-bg-subtle:#ffffff05;--color-text-primary:#fff;--color-text-secondary:#a0a0b8;--color-text-muted:#6b7280;--color-text-inverse:#0a1628;--color-text-disabled:#a0a0b880;--color-success:#34d399;--color-success-light:#34d3991a;--color-success-dark:#10b981;--color-error:#ef4444;--color-error-light:#ef44441a;--color-error-dark:#dc2626;--color-warning:#f59e0b;--color-warning-light:#f59e0b1a;--color-warning-dark:#d97706;--color-info:#0ea5e9;--color-info-light:#0ea5e91a;--color-info-dark:#0284c7;--color-accent-blue:#0ea5e9;--color-accent-teal:#14b8a6;--color-accent-purple:#8b5cf6;--color-accent-pink:#ec4899;--color-budget-primary:#6366f1;--color-budget-primary-hover:#818cf8;--color-budget-primary-dark:#4f46e5;--color-budget-primary-light:#6366f11a;--color-budget-primary-border:#6366f133;--gradient-budget:linear-gradient(135deg,#6366f1,#8b5cf6);--gradient-budget-hover:linear-gradient(135deg,#818cf8,#a78bfa);--color-border-subtle:#ffffff0d;--color-border-default:#34d39933;--color-border-strong:#34d39966;--gradient-primary:linear-gradient(135deg,#34d399,#14b8a6);--gradient-primary-hover:linear-gradient(135deg,#3be0a8,#16c9b7);--gradient-header:linear-gradient(135deg,#0ea5e9,#14b8a6);--gradient-bg:linear-gradient(135deg,#0a1628,#0d1f38);--gradient-text:linear-gradient(135deg,#34d399,#0ea5e9);--gradient-card:linear-gradient(135deg,#0d1f38cc,#152a47cc);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--spacing-4xl:5rem;--spacing-5xl:6rem;--spacing-section-sm:var(--spacing-xl);--spacing-section-md:var(--spacing-2xl);--spacing-section-lg:var(--spacing-3xl);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--font-family-base:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-family-mono:source-code-pro,Menlo,Monaco,Consolas,"Courier New",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--letter-spacing-tight:-0.025em;--letter-spacing-normal:0;--letter-spacing-wide:0.025em;--letter-spacing-wider:0.05em;--letter-spacing-widest:0.1em;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--shadow-xs:0 1px 2px #0000000d;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 12px #0003;--shadow-lg:0 8px 24px #0000004d;--shadow-xl:0 20px 60px #00000080;--shadow-2xl:0 24px 80px #0009;--shadow-accent:0 4px 12px #34d3994d;--shadow-accent-lg:0 8px 20px #34d3994d;--shadow-accent-xl:0 6px 16px #34d39933;--shadow-accent-2xl:0 12px 32px #34d39966;--shadow-success:0 4px 12px #34d39940;--shadow-error:0 4px 12px #ef444440;--shadow-warning:0 4px 12px #f59e0b40;--shadow-info:0 4px 12px #0ea5e940;--glow-primary:0 0 20px #34d3994d;--glow-primary-lg:0 0 40px #34d39966;--glow-budget:0 0 20px #6366f14d;--glow-budget-lg:0 0 40px #6366f166;--glass-bg:#0d1f38b3;--glass-bg-light:#0d1f3880;--glass-bg-heavy:#0d1f38d9;--glass-border:#ffffff1a;--glass-shadow:0 8px 32px #0000004d;--blur-sm:blur(4px);--blur-md:blur(8px);--blur-lg:blur(12px);--blur-xl:blur(16px);--elevation-0:none;--elevation-1:var(--shadow-xs);--elevation-2:var(--shadow-sm);--elevation-3:var(--shadow-md);--elevation-4:var(--shadow-lg);--elevation-5:var(--shadow-xl);--transition-fast:0.15s ease;--transition-base:0.2s ease;--transition-slow:0.3s ease;--z-base:1;--z-dropdown:1000;--z-sticky:1010;--z-skip-link:9999;--z-modal:2000;--z-toast:3000;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--sidebar-width:250px;--header-height:68px;--scroll-behavior:smooth;--chart-primary:#34d399;--chart-primary-light:#3be0a8;--chart-primary-dark:#14b8a6;--chart-secondary:#0ea5e9;--chart-tertiary:#8b5cf6;--chart-warning:#f59e0b;--chart-error:#ef4444;--chart-success:#10b981;--chart-info:#06b6d4;--chart-gradient-1:linear-gradient(135deg,#34d399,#14b8a6);--chart-gradient-2:linear-gradient(135deg,#0ea5e9,#06b6d4);--chart-gradient-3:linear-gradient(135deg,#8b5cf6,#6366f1);--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--container-7xl:80rem;--container-full:100%;--container-max:1400px}[data-theme=light]{--color-bg-primary:#fff;--color-bg-secondary:#f8f9fa;--color-bg-card:#fff;--color-text-primary:#1a1a1a;--color-text-secondary:#666;--color-text-muted:#999;--color-text-inverse:#fff;--color-bg-hover:#0000000d}.h1,h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold)}.h1,.h2,h1,h2{color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight);margin:0 0 var(--spacing-md) 0}.h2,h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold)}.h3,h3{font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}.h3,.h4,h3,h4{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-normal);margin:0 0 var(--spacing-sm) 0}.h4,h4{font-size:var(--font-size-xl)}.h5,h5{font-size:var(--font-size-lg);margin:0 0 var(--spacing-sm) 0}.h5,.h6,h5,h6{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.h6,h6{font-size:var(--font-size-base);margin:0 0 var(--spacing-xs) 0}.display-1{font-size:var(--font-size-6xl)}.display-1,.display-2{color:var(--color-text-primary);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);line-height:var(--line-height-tight)}.display-2{font-size:var(--font-size-5xl)}.body-large{font-size:var(--font-size-lg);line-height:var(--line-height-relaxed)}.body-base,.body-large{color:var(--color-text-primary)}.body-base{font-size:var(--font-size-base)}.body-base,.body-small{line-height:var(--line-height-normal)}.body-small{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.body-xs{color:var(--color-text-muted);font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.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)}.letter-tight{letter-spacing:var(--letter-spacing-tight)}.letter-normal{letter-spacing:var(--letter-spacing-normal)}.letter-wide{letter-spacing:var(--letter-spacing-wide)}.letter-wider{letter-spacing:var(--letter-spacing-wider)}.letter-widest{letter-spacing:var(--letter-spacing-widest)}.text-gradient{-webkit-text-fill-color:#0000;background:var(--gradient-text);-webkit-background-clip:text;background-clip:text}.text-balance{text-wrap:balance}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-clamp-2{-webkit-line-clamp:2}.text-clamp-2,.text-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-clamp-3{-webkit-line-clamp:3}.text-disabled{color:var(--color-text-disabled);cursor:not-allowed}.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)}.text-4xl{font-size:var(--font-size-4xl)}.text-5xl{font-size:var(--font-size-5xl)}.text-6xl{font-size:var(--font-size-6xl)}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:var(--font-family-base);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:var(--spacing-sm);justify-content:center;overflow:hidden;position:relative;text-decoration:none;transition:all var(--transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.6;pointer-events:none}.btn-xs{font-size:var(--font-size-xs);min-height:24px;padding:var(--spacing-xs) var(--spacing-sm)}.btn-sm{font-size:var(--font-size-sm);min-height:32px;padding:var(--spacing-sm) var(--spacing-md)}.btn-md{font-size:var(--font-size-base);min-height:40px;padding:var(--spacing-md) var(--spacing-lg)}.btn-lg{font-size:var(--font-size-lg);min-height:48px;padding:var(--spacing-lg) var(--spacing-xl)}.btn-xl{font-size:var(--font-size-xl);min-height:56px;padding:var(--spacing-xl) var(--spacing-2xl)}.btn-primary{background:var(--gradient-primary);box-shadow:var(--shadow-accent);color:var(--color-text-inverse)}.btn-primary:hover:not(:disabled){background:var(--gradient-primary-hover);box-shadow:var(--shadow-accent-lg);transform:translateY(-2px)}.btn-primary:active:not(:disabled){box-shadow:var(--shadow-accent);transform:translateY(0)}.btn-secondary{background-color:var(--color-primary-light);border:1px solid var(--color-primary-border);color:var(--color-primary)}.btn-secondary:hover:not(:disabled){background-color:var(--color-primary-border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-outline{background-color:initial;border:1px solid var(--color-primary-border);color:var(--color-primary)}.btn-outline:hover:not(:disabled){background-color:var(--color-primary-light);border-color:var(--color-primary);transform:translateY(-1px)}.btn-ghost{background-color:initial;border:1px solid #0000;color:var(--color-text-primary)}.btn-ghost:hover:not(:disabled){background-color:var(--color-bg-hover);color:var(--color-primary)}.btn-danger{background-color:var(--color-error-light);border:1px solid var(--color-error);color:var(--color-error)}.btn-danger:hover:not(:disabled){background-color:var(--color-error);box-shadow:var(--shadow-error);color:var(--color-text-inverse);transform:translateY(-1px)}.btn-success{background-color:var(--color-success-light);border:1px solid var(--color-success);color:var(--color-success)}.btn-success:hover:not(:disabled){background-color:var(--color-success);box-shadow:var(--shadow-success);color:var(--color-text-inverse);transform:translateY(-1px)}.btn-icon{background-color:initial;border:1px solid #0000;border-radius:var(--radius-md);color:var(--color-text-secondary);min-height:40px;min-width:40px;padding:var(--spacing-sm)}.btn-icon:hover:not(:disabled){background-color:var(--color-bg-hover);border-color:var(--color-primary-border);color:var(--color-text-primary)}.btn-icon-sm{min-height:32px;min-width:32px;padding:var(--spacing-xs)}.btn-icon-lg{min-height:48px;min-width:48px;padding:var(--spacing-md)}.btn-loading{color:#0000;pointer-events:none;position:relative}.btn-loading:after{animation:spin .6s linear infinite;border:2px solid;border-radius:50%;border-top:2px solid #0000;content:"";height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}.btn-group{display:inline-flex;gap:var(--spacing-sm)}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-bottom-left-radius:var(--radius-md);border-top-left-radius:var(--radius-md)}.btn-group .btn:last-child{border-bottom-right-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.button-primary{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-accent);color:var(--color-text-inverse);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);padding:var(--spacing-md) var(--spacing-xl);transition:all var(--transition-base)}.button-secondary{background-color:var(--color-primary-light);border:1px solid var(--color-primary-border);border-radius:var(--radius-md);color:var(--color-primary)}.button-danger,.button-secondary{cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-base)}.button-danger{background-color:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error)}.card{background-color:var(--color-bg-card);border:1px solid var(--color-primary-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg);position:relative;transition:all var(--transition-base)}.card-elevated{background-color:var(--color-bg-elevated);border:none;box-shadow:var(--elevation-4)}.card-outlined{background-color:var(--color-bg-card);border:1px solid var(--color-border-default);box-shadow:none}.card-filled{background-color:var(--color-bg-secondary);border:none;box-shadow:none}.card-glass{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--glass-bg);box-shadow:var(--glass-shadow)}.card-glass,.card-glass-light{border:1px solid var(--glass-border)}.card-glass-light{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:var(--glass-bg-light)}.card-glass-heavy{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--glass-bg-heavy);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.card-hover:hover,.card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-clickable{cursor:pointer}.card-clickable:active{box-shadow:var(--shadow-md);transform:translateY(0)}.card-header{align-items:center;border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.card-title{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.card-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0 0}.card-body{flex:1 1}.card-footer{align-items:center;border-top:1px solid var(--color-border-subtle);display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-md)}.card-sm{padding:var(--spacing-md)}.card-lg{padding:var(--spacing-xl)}.card-xl{padding:var(--spacing-2xl)}.form-group{margin-bottom:var(--spacing-lg);position:relative}.form-group:last-child{margin-bottom:0}.form-label{color:var(--color-text-primary);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);transition:color var(--transition-base)}.form-label.required:after{color:var(--color-error);content:" *"}.form-label.floating{color:var(--color-text-secondary);left:var(--spacing-md);margin:0;padding:0 var(--spacing-xs);pointer-events:none;position:absolute;top:var(--spacing-md)}.form-input,.form-label.floating,.form-select,.form-textarea{background-color:var(--color-bg-card);transition:all var(--transition-base)}.form-input,.form-select,.form-textarea{border:1px solid var(--color-primary-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text-primary);font-family:var(--font-family-base);font-size:var(--font-size-base);padding:var(--spacing-md);width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-input.floating:focus+.form-label.floating,.form-input.floating:not(:placeholder-shown)+.form-label.floating,.form-textarea.floating:focus+.form-label.floating,.form-textarea.floating:not(:placeholder-shown)+.form-label.floating{color:var(--color-primary);font-size:var(--font-size-xs);top:-8px}.form-input.floating,.form-textarea.floating{padding-bottom:var(--spacing-sm);padding-top:var(--spacing-lg)}.form-input.error,.form-input.error:focus,.form-select.error,.form-select.error:focus,.form-textarea.error,.form-textarea.error:focus{border-color:var(--color-error);box-shadow:0 0 0 3px var(--color-error-light)}.form-error-message{color:var(--color-error);display:block;font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.form-input.success,.form-select.success,.form-textarea.success{border-color:var(--color-success);box-shadow:0 0 0 3px var(--color-success-light)}.form-success-message{color:var(--color-success);display:block;font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background-color:var(--color-bg-primary);cursor:not-allowed;opacity:.6}.form-input-sm,.form-select-sm{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.form-input-lg,.form-select-lg{font-size:var(--font-size-lg);padding:var(--spacing-lg) var(--spacing-xl)}.form-textarea{font-family:var(--font-family-base);line-height:var(--line-height-relaxed);min-height:100px;resize:vertical}.form-textarea-sm{min-height:80px}.form-textarea-lg{min-height:150px}.form-input-wrapper{align-items:center;display:flex;position:relative}.form-input-icon{color:var(--color-text-secondary);left:var(--spacing-md);pointer-events:none;position:absolute;z-index:1}.form-input-icon+.form-input,.form-input-icon+.form-select{padding-left:calc(var(--spacing-md)*2 + 20px)}.form-input-icon-right{color:var(--color-text-secondary);cursor:pointer;position:absolute;right:var(--spacing-md);z-index:1}.form-input-icon-right+.form-input,.form-input-icon-right+.form-select{padding-right:calc(var(--spacing-md)*2 + 20px)}.form-input-group{display:flex;gap:0}.form-input-group .form-input,.form-input-group .form-select{border-radius:0}.form-input-group .form-input:first-child,.form-input-group .form-select:first-child{border-bottom-left-radius:var(--radius-md);border-top-left-radius:var(--radius-md)}.form-input-group .form-input:last-child,.form-input-group .form-select:last-child{border-bottom-right-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.form-input-group-addon{align-items:center;background-color:var(--color-bg-primary);border:1px solid var(--color-primary-border);color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);padding:var(--spacing-md);white-space:nowrap}.form-input-group-addon:first-child{border-bottom-left-radius:var(--radius-md);border-right:none;border-top-left-radius:var(--radius-md)}.form-input-group-addon:last-child{border-bottom-right-radius:var(--radius-md);border-left:none;border-top-right-radius:var(--radius-md)}.form-help-text{color:var(--color-text-secondary);display:block;font-size:var(--font-size-xs);margin-top:var(--spacing-xs)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.pt-xs{padding-top:var(--spacing-xs)}.pt-sm{padding-top:var(--spacing-sm)}.pt-md{padding-top:var(--spacing-md)}.pt-lg{padding-top:var(--spacing-lg)}.pb-xs{padding-bottom:var(--spacing-xs)}.pb-sm{padding-bottom:var(--spacing-sm)}.pb-md{padding-bottom:var(--spacing-md)}.pb-lg{padding-bottom:var(--spacing-lg)}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.gap-2xl{gap:var(--spacing-2xl)}.container{margin-left:auto;margin-right:auto;padding-left:var(--spacing-lg);padding-right:var(--spacing-lg);width:100%}.container-xs{max-width:var(--container-xs)}.container-sm{max-width:var(--container-sm)}.container-md{max-width:var(--container-md)}.container-lg{max-width:var(--container-lg)}.container-xl{max-width:var(--container-xl)}.container-2xl{max-width:var(--container-2xl)}.container-3xl{max-width:var(--container-3xl)}.container-4xl{max-width:var(--container-4xl)}.container-5xl{max-width:var(--container-5xl)}.container-6xl{max-width:var(--container-6xl)}.container-7xl{max-width:var(--container-7xl)}.container-max{max-width:var(--container-max)}.container-full{max-width:var(--container-full)}.section{padding-bottom:var(--spacing-section-md);padding-top:var(--spacing-section-md)}.section-sm{padding-bottom:var(--spacing-section-sm);padding-top:var(--spacing-section-sm)}.section-lg{padding-bottom:var(--spacing-section-lg);padding-top:var(--spacing-section-lg)}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-auto-fit{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid-cols-auto-fill{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.elevation-0{box-shadow:var(--elevation-0)}.elevation-1{box-shadow:var(--elevation-1)}.elevation-2{box-shadow:var(--elevation-2)}.elevation-3{box-shadow:var(--elevation-3)}.elevation-4{box-shadow:var(--elevation-4)}.elevation-5{box-shadow:var(--elevation-5)}.glow-primary{box-shadow:var(--glow-primary)}.glow-primary-lg{box-shadow:var(--glow-primary-lg)}.glow-budget{box-shadow:var(--glow-budget)}.glow-budget-lg{box-shadow:var(--glow-budget-lg)}:focus{outline:none}.skip-link{border-radius:var(--radius-sm);padding:var(--spacing-sm);z-index:var(--z-toast)}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dark)}.custom-scrollbar::-webkit-scrollbar{width:6px}@media (max-width:768px){.container{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.section{padding-bottom:var(--spacing-section-sm);padding-top:var(--spacing-section-sm)}.grid-cols-auto-fit{grid-template-columns:1fr}}.w-full{width:100%}.w-auto{width:auto}.w-fit{width:-webkit-fit-content;width:fit-content}.w-max{width:-webkit-max-content;width:max-content}.w-min{width:-webkit-min-content;width:min-content}.h-full{height:100%}.h-auto{height:auto}.h-fit{height:-webkit-fit-content;height:fit-content}.h-screen{height:100vh}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:-webkit-sticky;position:sticky}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-none{border-radius:0}.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)}.rounded-full{border-radius:var(--radius-full)}.modal-overlay{align-items:center;animation:fadeIn var(--transition-base);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:var(--color-bg-overlay);bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-lg);position:fixed;right:0;top:0;z-index:var(--z-modal)}.modal-content{animation:slideUp var(--transition-slow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--glass-bg-heavy);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);max-height:90vh;overflow-y:auto;position:relative;width:100%}.modal-sm{max-width:var(--container-sm);padding:var(--spacing-lg)}.modal-md{max-width:var(--container-md)}.modal-lg,.modal-md{padding:var(--spacing-xl)}.modal-lg{max-width:var(--container-lg)}.modal-xl{max-width:var(--container-xl);padding:var(--spacing-2xl)}.modal-fullscreen{border-radius:0;height:100vh;max-height:100vh;max-width:100%;padding:var(--spacing-2xl)}.modal-header{align-items:center;border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.modal-title{color:var(--color-text-primary);flex:1 1;font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0}.modal-subtitle{font-size:var(--font-size-sm);margin:var(--spacing-xs) 0 0 0}.modal-close,.modal-subtitle{color:var(--color-text-secondary)}.modal-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-shrink:0;font-size:var(--font-size-2xl);height:32px;justify-content:center;padding:var(--spacing-xs);transition:all var(--transition-base);width:32px}.modal-close:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.modal-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal-body{flex:1 1;overflow-y:auto}.modal-footer{align-items:center;border-top:1px solid var(--color-border-subtle);display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-lg);padding-top:var(--spacing-md)}.modal-footer-left{justify-content:flex-start}.modal-footer-center{justify-content:center}.modal-footer-space-between{justify-content:space-between}.dialog-alert,.dialog-confirm{max-width:var(--container-sm)}.dialog-prompt{max-width:var(--container-md)}.modal-overlay.blur{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.modal-overlay.dark{background-color:#000000d9}.modal-overlay.light{background-color:#00000080}@media (max-width:768px){.modal-overlay{align-items:flex-end;padding:var(--spacing-md)}.modal-content{animation:slideUp var(--transition-slow);border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:90vh}.modal-lg,.modal-md,.modal-sm,.modal-xl{max-width:100%;padding:var(--spacing-lg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn var(--transition-base)}.animate-fade-out{animation:fadeOut var(--transition-base)}.animate-slide-up{animation:slideUp var(--transition-slow)}.animate-slide-down{animation:slideDown var(--transition-slow)}.animate-pulse{animation:pulse 3s ease-in-out infinite}.animate-float{animation:float 4s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}@keyframes ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(4)}}.ripple-effect{overflow:hidden;position:relative}.ripple-effect:after{background:#ffffff4d;border-radius:50%;content:"";height:100px;left:50%;margin-left:-50px;margin-top:-50px;opacity:0;pointer-events:none;position:absolute;top:50%;width:100px}.ripple-effect:active:after{animation:ripple .6s ease-out}@keyframes buttonPress{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.btn-press:active{animation:buttonPress .15s ease}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{animation:shimmer 2s infinite;background:linear-gradient(90deg,var(--color-bg-card) 0,var(--color-bg-elevated) 50%,var(--color-bg-card) 100%);background-size:1000px 100%}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-bounce{animation:bounce 1s ease-in-out infinite}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-scale-in{animation:scaleIn var(--transition-base)}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.9)}}.animate-scale-out{animation:scaleOut var(--transition-base)}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-rotate{animation:rotate 2s linear infinite}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-5px)}20%,40%,60%,80%{transform:translateX(5px)}}.animate-shake{animation:shake .5s ease-in-out}@keyframes heartbeat{0%,to{transform:scale(1)}10%,30%{transform:scale(1.1)}20%,40%{transform:scale(1)}}.animate-heartbeat{animation:heartbeat 1.5s ease-in-out infinite}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp var(--transition-slow)}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-down{animation:fadeInDown var(--transition-slow)}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.animate-zoom-in{animation:zoomIn var(--transition-base)}@keyframes zoomOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}.animate-zoom-out{animation:zoomOut var(--transition-base)}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}.transition-all{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.hover-scale{transition:transform var(--transition-base)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow var(--transition-base)}.hover-glow:hover{box-shadow:var(--glow-primary)}.draggable{cursor:grab;transition:transform .2s ease,box-shadow .2s ease}.draggable:active{box-shadow:var(--shadow-lg);cursor:grabbing;transform:scale(1.02)}.dragging{box-shadow:var(--shadow-xl);cursor:grabbing!important;opacity:.6;transform:scale(1.05) rotate(2deg);z-index:1000}.drag-over{background-color:var(--color-primary-light);border-color:var(--color-primary);border-style:dashed;box-shadow:0 0 0 2px var(--color-primary)}.drag-handle{align-items:center;color:var(--color-text-secondary);cursor:grab;display:inline-flex;padding:var(--spacing-xs);transition:color .2s ease}.drag-handle:hover{color:var(--color-primary);cursor:grab}.drag-handle:active{cursor:grabbing}.drag-handle-icon:before{content:"⋮⋮";display:block;font-weight:700;letter-spacing:-2px;line-height:.5}.smooth-scroll{-webkit-overflow-scrolling:touch}.smooth-scroll-x{overflow-x:auto}.smooth-scroll-x,.smooth-scroll-y{-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.smooth-scroll-y{overflow-y:auto}.scroll-snap-x{scroll-behavior:smooth;scroll-snap-type:x mandatory}.scroll-snap-y{scroll-behavior:smooth;scroll-snap-type:y mandatory}.scroll-snap-item{scroll-snap-align:start}.swipeable{overflow:hidden;position:relative;touch-action:pan-y}.swipe-action-left,.swipe-action-right{align-items:center;bottom:0;display:flex;justify-content:center;position:absolute;top:0;transition:transform .3s ease;width:80px;z-index:1}.swipe-action-left{background:var(--color-success);color:var(--color-text-inverse);left:-80px}.swipe-action-right{background:var(--color-error);color:var(--color-text-inverse);right:-80px}.swipeable.swiping-left .swipe-action-right,.swipeable.swiping-right .swipe-action-left{transform:translateX(0)}.swipe-content{background:var(--color-bg-card);position:relative;transition:transform .3s ease;z-index:2}.swipeable.swiping-left .swipe-content{transform:translateX(-80px)}.swipeable.swiping-right .swipe-content{transform:translateX(80px)}.gesture-feedback{overflow:hidden;position:relative}.gesture-feedback:after{background:#34d3994d;border-radius:50%;content:"";height:0;left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .3s ease,height .3s ease,opacity .3s ease;width:0;z-index:1}.gesture-feedback:active:after{height:200px;opacity:1;width:200px}.long-press{position:relative}.long-press:before{border:2px solid var(--color-primary);border-radius:inherit;content:"";inset:-4px;opacity:0;pointer-events:none;position:absolute;transform:scale(.8);transition:opacity .2s ease,transform .2s ease}.long-press.pressing:before{opacity:1;transform:scale(1)}.touch-target{align-items:center;display:flex;justify-content:center;min-height:44px;min-width:44px}.touch-feedback{-webkit-tap-highlight-color:rgba(52,211,153,.2);-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.touch-feedback:active{opacity:.8;transform:scale(.98)}.pull-to-refresh{overflow-y:auto;position:relative}.pull-to-refresh-indicator{background:var(--color-bg-card);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-md);left:50%;opacity:0;padding:var(--spacing-md);position:absolute;top:0;transform:translateX(-50%) translateY(-100%);transition:transform .3s ease,opacity .3s ease;z-index:100}.pull-to-refresh.pulling .pull-to-refresh-indicator{opacity:1;transform:translateX(-50%) translateY(0)}.interactive{cursor:pointer;transition:all var(--transition-base);-webkit-user-select:none;user-select:none}.interactive:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.interactive:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.interactive:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--color-primary);outline-offset:2px}.hover-lift-smooth{transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.hover-lift-smooth:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.ripple{overflow:hidden;position:relative}.ripple:after{background:#ffffff80;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;width:0}.ripple:active:after{height:300px;width:300px}@media (max-width:768px){.draggable{touch-action:none}.drag-handle{min-height:44px;min-width:44px}.swipe-action-left,.swipe-action-right{width:100px}.swipe-action-left{left:-100px}.swipe-action-right{right:-100px}.swipeable.swiping-left .swipe-content{transform:translateX(-100px)}.swipeable.swiping-right .swipe-content{transform:translateX(100px)}}@media (prefers-reduced-motion:reduce){.draggable,.gesture-feedback:after,.hover-lift-smooth,.interactive,.swipe-content{animation:none;transition:none}.graph-cell{animation:none}.smooth-scroll,.smooth-scroll-x,.smooth-scroll-y{scroll-behavior:auto}}.Toastify__toast-container{z-index:var(--z-toast)}.Toastify__toast{animation:slideInRight var(--transition-base);background-color:var(--color-bg-card);border:1px solid var(--color-primary-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--color-text-primary);font-family:var(--font-family-base);min-height:56px;padding:var(--spacing-md) var(--spacing-lg)}.Toastify__toast--success{background:linear-gradient(135deg,var(--color-bg-card) 0,var(--color-success-light) 100%);border-color:var(--color-success)}.Toastify__toast--error{background:linear-gradient(135deg,var(--color-bg-card) 0,var(--color-error-light) 100%);border-color:var(--color-error)}.Toastify__toast--warning{background:linear-gradient(135deg,var(--color-bg-card) 0,var(--color-warning-light) 100%);border-color:var(--color-warning)}.Toastify__toast--info{background:linear-gradient(135deg,var(--color-bg-card) 0,var(--color-info-light) 100%);border-color:var(--color-info)}.Toastify__toast-body{align-items:center;display:flex;gap:var(--spacing-md);margin:0;padding:0}.Toastify__toast-icon{font-size:var(--font-size-xl)}.Toastify__toast-message{flex:1 1;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal)}.Toastify__close-button{align-self:flex-start;color:var(--color-text-secondary);padding:var(--spacing-xs);transition:all var(--transition-base)}.Toastify__close-button:hover{color:var(--color-text-primary);opacity:1;transform:scale(1.1)}.Toastify__progress-bar{background:var(--gradient-primary);height:3px}.Toastify__progress-bar--success{background:var(--color-success)}.Toastify__progress-bar--error{background:var(--color-error)}.Toastify__progress-bar--warning{background:var(--color-warning)}.Toastify__progress-bar--info{background:var(--color-info)}.toast-action{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.toast-action-button{background-color:var(--color-primary-light);border:1px solid var(--color-primary-border);border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-md);transition:all var(--transition-base)}.toast-action-button:hover{background-color:var(--color-primary);color:var(--color-text-inverse)}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}.Toastify__toast--rtl{animation:slideInLeft var(--transition-base)}.Toastify__toast--exit{animation:slideOutRight var(--transition-base)}.view-transition{animation:fadeIn var(--transition-slow)}.view-transition-slide{animation:slideUp var(--transition-slow)}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{transition:opacity var(--transition-slow),transform var(--transition-slow)}.page-enter-active,.page-exit{opacity:1;transform:translateY(0)}.page-exit-active{opacity:0;transform:translateY(-20px);transition:opacity var(--transition-base),transform var(--transition-base)}.content-fade-in,.stagger-children>*{animation:fadeInUp var(--transition-slow)}.stagger-children>:first-child{animation-delay:.1s}.stagger-children>:nth-child(2){animation-delay:.2s}.stagger-children>:nth-child(3){animation-delay:.3s}.stagger-children>:nth-child(4){animation-delay:.4s}.stagger-children>:nth-child(5){animation-delay:.5s}.stagger-children>:nth-child(n+6){animation-delay:.6s}@media (max-width:640px){:root{--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:0.9375rem;--font-size-lg:1.0625rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:0.75rem;--spacing-lg:1rem;--spacing-xl:1.5rem}}.responsive-hide-mobile{display:block}.responsive-show-mobile{display:none}@media (max-width:640px){.responsive-hide-mobile{display:none}.responsive-show-mobile{display:block}}@media (min-width:641px) and (max-width:1024px){.responsive-hide-tablet{display:none}.responsive-show-tablet{display:block}}@media (min-width:1025px){.responsive-hide-desktop{display:none}.responsive-show-desktop{display:block}}.responsive-grid{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:1fr}@media (min-width:640px){.responsive-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.responsive-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1440px){.responsive-grid{grid-template-columns:repeat(4,1fr)}}.responsive-flex{display:flex;flex-direction:column;gap:var(--spacing-md)}@media (min-width:640px){.responsive-flex{flex-direction:row}}@media (max-width:1024px){a,button,input[type=button],input[type=submit]{min-height:44px;min-width:44px}}@media (prefers-contrast:high){:root{--color-border-subtle:var(--color-text-primary);--color-border-default:var(--color-text-primary)}a,button{border:2px solid}}@media print{.no-print{display:none!important}body{background:#fff;color:#000}a[href]:after{content:" (" attr(href) ")"}}.gpu-accelerated{transform:translateZ(0);will-change:transform}.optimize-repaint{contain:layout style paint}.optimize-reflow{contain:layout}.content-visibility-auto{contain-intrinsic-size:200px;content-visibility:auto}.lazy-container{background-color:var(--color-bg-primary);min-height:200px}img{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}@font-face{font-display:swap}.smooth-scroll{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){.smooth-scroll{scroll-behavior:auto}}.virtual-scroll-container{contain:layout style paint;overflow-y:auto;will-change:scroll-position}.observe-target{min-height:1px;min-width:1px}.stable-layout{min-height:100px;min-width:100px}.transform-optimized{-webkit-backface-visibility:hidden;backface-visibility:hidden;perspective:1000px;transform:translateZ(0)}.critical-content{contain:layout style paint}.non-critical{content-visibility:auto}.preload-hint{font-display:swap}.code-split-boundary{position:relative}.memory-optimized{contain:strict;isolation:isolate}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sr-only-focusable:focus{clip:auto;height:auto;margin:inherit;overflow:visible;padding:inherit;position:static;white-space:normal;width:auto}:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--color-primary);outline-offset:2px}.skip-link{background:var(--color-primary);border-radius:0 0 var(--radius-md) 0;color:var(--color-text-inverse);font-weight:var(--font-weight-semibold);left:0;padding:var(--spacing-md) var(--spacing-lg);position:absolute;text-decoration:none;top:-40px;transition:top var(--transition-base);z-index:var(--z-skip-link)}.skip-link:focus{outline:3px solid var(--color-primary-light);outline-offset:2px;top:0}[role=banner],[role=complementary],[role=contentinfo],[role=main],[role=navigation],main{outline:none}[aria-live],[role=alert],[role=status]{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.6}a:focus-visible,button:not(:disabled):focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}label{color:var(--color-text-primary);display:block;font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}input[required],select[required],textarea[required]{border-left:3px solid var(--color-primary)}input:invalid:not(:focus):not(:placeholder-shown),select:invalid:not(:focus),textarea:invalid:not(:focus):not(:placeholder-shown){border-color:var(--color-error)}input:invalid:not(:focus):not(:placeholder-shown)+.error-message,select:invalid:not(:focus)+.error-message,textarea:invalid:not(:focus):not(:placeholder-shown)+.error-message{display:block}.error-message{color:var(--color-error);display:none;font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}a:not([href]){cursor:default}a[aria-disabled=true]{cursor:not-allowed;opacity:.6;pointer-events:none}@media (max-width:1024px){a,button,input[type=button],input[type=checkbox],input[type=radio],input[type=submit]{min-height:44px;min-width:44px}}@media (prefers-contrast:high){*{border-color:currentColor!important}a,button{border:2px solid}:focus-visible{outline-width:3px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.text-high-contrast{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.keyboard-user :focus{outline:2px solid var(--color-primary);outline-offset:2px}.mouse-user :focus{outline:none}[aria-busy=true]:before{clip:rect(0,0,0,0);border-width:0;content:"Loading...";height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}[aria-invalid=true]{border-color:var(--color-error);border-width:2px}[aria-invalid=true]:focus{outline-color:var(--color-error)}.visually-hidden{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}table{border-collapse:collapse}th{font-weight:var(--font-weight-semibold)}th,th[scope=col]{text-align:left}th[scope=row]{padding-right:var(--spacing-md);text-align:right}ol[role=list],ul[role=list]{list-style:none;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}html{scroll-behavior:smooth}code{font-family:var(--font-family-mono)}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74d3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-container-width:fit-content;--toastify-toast-width:320px;--toastify-toast-offset:16px;--toastify-toast-top:max(var(--toastify-toast-offset),env(safe-area-inset-top));--toastify-toast-right:max(var(--toastify-toast-offset),env(safe-area-inset-right));--toastify-toast-left:max(var(--toastify-toast-offset),env(safe-area-inset-left));--toastify-toast-bottom:max(var(--toastify-toast-offset),env(safe-area-inset-bottom));--toastify-toast-background:#fff;--toastify-toast-padding:14px;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-toast-bd-radius:6px;--toastify-toast-shadow:0px 4px 12px #0000001a;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error);--toastify-color-progress-bgo:0.2}.Toastify__toast-container{box-sizing:border-box;color:#fff;display:flex;flex-direction:column;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:-webkit-fit-content;width:fit-content;width:var(--toastify-container-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--top-center{align-items:center;left:50%;top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top);transform:translateX(-50%)}.Toastify__toast-container--top-right{align-items:end;right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right);top:max(16px,env(safe-area-inset-top));top:var(--toastify-toast-top)}.Toastify__toast-container--bottom-left{bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:max(16px,env(safe-area-inset-left));left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{align-items:center;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{align-items:end;bottom:max(16px,env(safe-area-inset-bottom));bottom:var(--toastify-toast-bottom);right:max(16px,env(safe-area-inset-right));right:var(--toastify-toast-right)}.Toastify__toast{--y:0;align-items:center;border-radius:6px;border-radius:var(--toastify-toast-bd-radius);box-shadow:0 4px 12px #0000001a;box-shadow:var(--toastify-toast-shadow);box-sizing:border-box;display:flex;flex:1 1 auto;font-family:sans-serif;font-family:var(--toastify-font-family);margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);padding:14px;padding:var(--toastify-toast-padding);position:relative;touch-action:none;width:320px;width:var(--toastify-toast-width);word-break:break-word;z-index:0}@media only screen and (max-width:480px){.Toastify__toast-container{left:env(safe-area-inset-left);margin:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:env(safe-area-inset-right)}.Toastify__toast{--toastify-toast-width:100%;border-radius:0;margin-bottom:0}}.Toastify__toast-container[data-stacked=true]{width:320px;width:var(--toastify-toast-width)}.Toastify__toast--stacked{position:absolute;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s;width:100%}.Toastify__toast--stacked[data-collapsed] .Toastify__close-button,.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{bottom:100%;content:"";height:calc(var(--g)*1px);left:0;position:absolute;right:0}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{bottom:0;content:"";height:100%;left:0;position:absolute;right:0;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:22px}.Toastify--animate{animation-duration:.5s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74d3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74d3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;position:absolute;right:6px;top:6px;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:auto}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:100%;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:1}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{border-bottom-left-radius:0;left:auto;right:0;transform-origin:right}.Toastify__progress-bar--wrp{border-bottom-left-radius:6px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:6px;border-bottom-right-radius:var(--toastify-toast-bd-radius);bottom:0;height:5px;left:0;overflow:hidden;position:absolute;width:100%}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{height:100%;opacity:.2;opacity:var(--toastify-color-progress-bgo);width:100%}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{opacity:1;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg)}to{opacity:0;transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(-110%,var(--y),0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-duration:.3s;animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-duration:.3s;animation-name:Toastify__slideOutRight;animation-timing-function:ease-in}.Toastify__slide-exit--top-center{animation-duration:.3s;animation-name:Toastify__slideOutUp;animation-timing-function:ease-in}.Toastify__slide-exit--bottom-center{animation-duration:.3s;animation-name:Toastify__slideOutDown;animation-timing-function:ease-in}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.profile-modal-overlay{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:var(--color-bg-overlay);bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-xl);position:fixed;right:0;top:0;z-index:var(--z-modal)}.profile-modal{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--glass-bg-heavy);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);max-height:90vh;max-width:700px;overflow-y:auto;width:100%}.profile-modal-header{align-items:center;border-bottom:1px solid var(--color-primary-border);display:flex;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl)}.profile-modal-header h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0}.close-button{align-items:center;background:none;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-3xl);height:40px;justify-content:center;transition:all var(--transition-base);width:40px}.close-button:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.profile-modal-content{padding:var(--spacing-xl)}.profile-photo-section{align-items:center;display:flex;flex-direction:column;margin-bottom:var(--spacing-xl)}.profile-photo-container{border:3px solid var(--color-primary);border-radius:var(--radius-full);height:120px;margin-bottom:var(--spacing-md);overflow:hidden;width:120px}.profile-photo{height:100%;object-fit:cover;width:100%}.profile-photo-placeholder{align-items:center;background:var(--gradient-primary);color:var(--color-text-primary);display:flex;font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);height:100%;justify-content:center;width:100%}.photo-upload-label{background-color:var(--color-primary-light);border:1px solid var(--color-primary-border);border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.photo-upload-label:hover{background-color:var(--color-primary-border)}.photo-remove-label{background-color:initial;border:1px solid #0000;border-radius:var(--radius-sm);color:var(--color-error);cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.photo-remove-label:hover:not(:disabled){background-color:#ef44441a;border-color:#ef44444d}.photo-remove-label:disabled{cursor:not-allowed;opacity:.5}.form-section{margin-bottom:var(--spacing-xl)}.section-title{border-bottom:1px solid var(--color-primary-border);color:var(--color-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.form-row{grid-gap:var(--spacing-md);display:grid;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.form-group{margin-bottom:var(--spacing-md)}.form-group label{color:var(--color-text-secondary);display:block;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm)}.form-group input,.form-group select,.form-group textarea{background-color:var(--color-bg-primary);border:1px solid var(--color-primary-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font-size:var(--font-size-base);padding:var(--spacing-md);transition:border-color var(--transition-base);width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}.form-group textarea{font-family:var(--font-family-base);min-height:80px;resize:vertical}.form-value{align-items:center;background-color:#ffffff08;border-radius:var(--radius-sm);color:var(--color-text-primary);display:flex;min-height:42px;padding:var(--spacing-md)}.provider-badge{background-color:var(--color-primary-light);border-radius:4px;color:var(--color-primary);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);margin-left:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm)}.form-checkbox-group{display:flex;flex-direction:column;gap:var(--spacing-md)}.checkbox-label{align-items:center;border-radius:var(--radius-sm);color:var(--color-text-primary);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-sm);transition:background-color var(--transition-base)}.checkbox-label:hover{background-color:#ffffff08}.checkbox-label input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;height:20px;width:20px}.checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.checkbox-label span{font-size:var(--font-size-base)}.profile-modal-footer{border-top:1px solid var(--color-primary-border);display:flex;gap:var(--spacing-md);justify-content:flex-end;padding:var(--spacing-lg) var(--spacing-xl)}.btn-cancel,.btn-edit,.btn-save{border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);padding:var(--spacing-md) var(--spacing-lg);transition:all var(--transition-base)}.btn-edit{background:var(--gradient-primary);box-shadow:var(--shadow-accent);color:var(--color-text-primary)}.btn-edit:hover{box-shadow:var(--shadow-accent-lg);transform:translateY(-2px)}.btn-save{background:var(--gradient-primary);box-shadow:var(--shadow-accent);color:var(--color-text-primary)}.btn-save:hover:not(:disabled){box-shadow:var(--shadow-accent-lg);transform:translateY(-2px)}.btn-save:disabled{cursor:not-allowed;opacity:.6}.btn-cancel{background-color:initial;border:1px solid #a0a0b84d;color:var(--color-text-secondary)}.btn-cancel:hover:not(:disabled){background-color:var(--color-bg-hover);color:var(--color-text-primary)}@media (max-width:768px){.profile-modal-overlay{padding:var(--spacing-md)}.profile-modal{max-height:95vh}.profile-modal-content,.profile-modal-footer,.profile-modal-header{padding:var(--spacing-md) var(--spacing-lg)}.form-row{grid-template-columns:1fr}.profile-photo-container{height:100px;width:100px}.profile-photo-placeholder{font-size:var(--font-size-4xl)}}.data-export-modal-overlay{align-items:center;animation:fadeIn var(--transition-base);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background-color:var(--color-bg-overlay);bottom:0;display:flex;justify-content:center;left:0;padding:var(--spacing-xl);position:fixed;right:0;top:0;z-index:var(--z-modal)}.data-export-modal{animation:slideUp var(--transition-slow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--glass-bg-heavy);border:1px solid var(--glass-border);border-radius:var(--radius-xl);box-shadow:var(--glass-shadow);max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.data-export-modal-header{align-items:center;border-bottom:1px solid var(--color-border-subtle);display:flex;justify-content:space-between;padding:var(--spacing-lg) var(--spacing-xl)}.data-export-modal-header h2{color:var(--color-text-primary);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);margin:0}.data-export-close{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-3xl);height:40px;justify-content:center;padding:var(--spacing-xs);transition:all var(--transition-base);width:40px}.data-export-close:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary)}.data-export-modal-content{padding:var(--spacing-xl)}.data-export-error{background-color:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error)}.data-export-error,.data-export-success{align-items:center;display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.data-export-success{background-color:var(--color-success-light);border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success)}.data-export-section{margin-bottom:var(--spacing-xl)}.data-export-section h3{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-md) 0}.data-export-description{color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}.data-export-description,.data-export-warning{font-size:var(--font-size-sm);margin-bottom:var(--spacing-lg)}.data-export-warning{background-color:var(--color-warning-light);border-radius:var(--radius-sm);color:var(--color-warning);padding:var(--spacing-sm)}.data-export-format-selector{display:flex;flex-direction:column;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.format-option{align-items:flex-start;border:2px solid var(--color-border-subtle);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md);transition:all var(--transition-base)}.format-option:hover{background-color:var(--color-bg-hover);border-color:var(--color-primary-border)}.format-option input[type=radio]{cursor:pointer;margin-top:2px}.format-option input[type=radio]:checked+.format-option-content{color:var(--color-text-primary)}.format-option:has(input[type=radio]:checked){background-color:var(--color-primary-light);border-color:var(--color-primary)}.format-option-content{display:flex;flex:1 1;flex-direction:column;gap:var(--spacing-xs)}.format-option-content strong{color:var(--color-text-primary);font-size:var(--font-size-base)}.format-option-content span{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.data-export-progress{margin-bottom:var(--spacing-lg)}.progress-bar{background-color:var(--color-bg-primary);height:8px;margin-bottom:var(--spacing-sm);overflow:hidden;width:100%}.progress-bar,.progress-fill{border-radius:var(--radius-full)}.progress-fill{background:var(--gradient-primary);height:100%;transition:width .3s ease}.progress-text{color:var(--color-text-secondary);display:block;font-size:var(--font-size-sm);text-align:center}.btn-export,.btn-restore{margin-top:var(--spacing-md);width:100%}.data-export-divider{background-color:var(--color-border-subtle);height:1px;margin:var(--spacing-xl) 0}.data-export-info{background-color:var(--color-bg-elevated);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);margin-top:var(--spacing-xl);padding:var(--spacing-lg)}.data-export-info p{color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-sm) 0}.data-export-info ul{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);margin:0;padding-left:var(--spacing-lg)}.data-export-info li{margin-bottom:var(--spacing-xs)}@media (max-width:768px){.data-export-modal{border-radius:var(--radius-xl) var(--radius-xl) 0 0;max-height:100vh;max-width:100%}.data-export-modal-overlay{align-items:flex-end;padding:0}}.rocket-logo{display:inline-block;position:relative}.rocket-svg{animation:rocketFloat 3s ease-in-out infinite;display:block}.rocket-body{animation:rocketTilt 2s ease-in-out infinite;transform-origin:center}@keyframes rocketFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes rocketTilt{0%,to{transform:rotate(0deg)}25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}.rocket-logo:hover .rocket-svg{animation:rocketLaunch 1s ease-in-out infinite}@keyframes rocketLaunch{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.landing-logo.rocket-logo .rocket-svg{height:48px;width:48px}.auth-logo.rocket-logo .rocket-svg{height:64px;width:64px}.footer-logo.rocket-logo .rocket-svg{height:40px;width:40px}.header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#0ea5e9d9;border-bottom:1px solid #ffffff1a;box-shadow:var(--shadow-md);color:var(--color-text-primary);left:0;padding:0;position:fixed;right:0;top:0;z-index:var(--z-dropdown)}.header-content{justify-content:space-between;max-width:100%;padding:var(--spacing-md) var(--spacing-xl)}.header-brand,.header-content{align-items:center;display:flex}.header-brand{gap:var(--spacing-md)}.header-logo.rocket-logo .rocket-svg{height:40px;width:40px}.header-brand-name{color:var(--color-text-primary);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.header-auth{align-items:center;display:flex;gap:var(--spacing-md)}.notifications-container{position:relative}.notifications-button{align-items:center;background-color:#ffffff26;border:1px solid #fff3;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;height:40px;justify-content:center;padding:var(--spacing-sm);position:relative;transition:all var(--transition-base);width:40px}.notifications-button:hover{background-color:#ffffff40;transform:translateY(-1px)}.notification-badge{align-items:center;background-color:var(--color-error);border:2px solid var(--color-text-primary);border-radius:10px;box-shadow:var(--shadow-sm);color:var(--color-text-primary);display:flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);height:20px;justify-content:center;min-width:20px;padding:0 var(--spacing-sm);position:absolute;right:-4px;top:-4px}.notifications-dropdown{animation:dropdownFadeIn var(--transition-base);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--glass-bg-heavy);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);display:flex;flex-direction:column;max-height:500px;overflow:hidden;position:absolute;right:0;top:calc(100% + var(--spacing-sm));width:380px;z-index:calc(var(--z-dropdown) + 1)}.notifications-header{align-items:center;border-bottom:1px solid var(--color-primary-border);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.notifications-header h3{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.mark-all-read{background:none;border:none;border-radius:4px;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-xs) var(--spacing-sm);transition:background-color var(--transition-base)}.mark-all-read:hover{background-color:var(--color-primary-light)}.notifications-list{flex:1 1;max-height:400px;overflow-y:auto}.notification-item{border-bottom:1px solid var(--color-primary-border);cursor:pointer;display:flex;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);position:relative;transition:background-color var(--transition-base)}.notification-item:hover{background-color:var(--color-primary-light)}.notification-item.unread{background-color:#34d39914}.notification-item.unread:hover{background-color:#34d3991f}.notification-icon{align-items:center;background-color:var(--color-primary-light);border-radius:var(--radius-md);display:flex;flex-shrink:0;font-size:var(--font-size-2xl);height:40px;justify-content:center;width:40px}.notification-content{flex:1 1;min-width:0}.notification-title{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.notification-message{word-wrap:break-word;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);margin-bottom:var(--spacing-sm)}.notification-time{color:var(--color-text-muted);font-size:var(--font-size-xs)}.notification-dot{background-color:var(--color-primary);border-radius:50%;flex-shrink:0;height:8px;position:absolute;right:var(--spacing-md);top:var(--spacing-md);width:8px}.notification-empty{color:var(--color-text-secondary);padding:var(--spacing-2xl) var(--spacing-xl);text-align:center}.notification-empty-icon{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-md);opacity:.5}.notification-empty p{color:var(--color-text-primary);font-weight:var(--font-weight-semibold);margin:var(--spacing-sm) 0}.notification-empty span{color:var(--color-text-muted);font-size:var(--font-size-sm)}.notifications-footer{border-top:1px solid var(--color-primary-border);padding:var(--spacing-md) var(--spacing-lg)}.view-all-notifications{background:var(--color-primary-light);border:1px solid var(--color-primary-border);border-radius:var(--radius-sm);color:var(--color-primary);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-md);transition:all var(--transition-base);width:100%}.view-all-notifications:hover{background:var(--color-primary-border);border-color:var(--color-primary)}@media (max-width:768px){.notifications-dropdown{right:-1rem;width:320px}}.profile-dropdown-container{position:relative}.profile-button{align-items:center;background-color:#ffffff26;border:1px solid #fff3;border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:var(--font-size-base);gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);transition:all var(--transition-base)}.profile-button:hover{background-color:#ffffff40;transform:translateY(-1px)}.profile-avatar,.profile-avatar-placeholder{border-radius:var(--radius-full);height:32px;object-fit:cover;width:32px}.profile-avatar-placeholder{align-items:center;background:var(--gradient-primary);color:var(--color-text-primary);display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-bold);justify-content:center}.profile-name{font-weight:var(--font-weight-medium);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{transition:transform var(--transition-base)}.dropdown-arrow.open{transform:rotate(180deg)}.profile-dropdown{animation:dropdownFadeIn var(--transition-base);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:var(--glass-bg-heavy);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);position:absolute;right:0;top:calc(100% + var(--spacing-sm));width:280px;z-index:calc(var(--z-dropdown) + 1)}.dropdown-header{padding:var(--spacing-lg)}.dropdown-user-info{align-items:center;display:flex;gap:var(--spacing-md)}.dropdown-avatar,.dropdown-avatar-placeholder{border-radius:var(--radius-full);flex-shrink:0;height:48px;object-fit:cover;width:48px}.dropdown-avatar-placeholder{align-items:center;background:var(--gradient-primary);color:var(--color-text-primary);display:flex;font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);justify-content:center}.dropdown-user-details{flex:1 1;min-width:0}.dropdown-name{color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold)}.dropdown-email,.dropdown-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-email{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.dropdown-divider{background-color:var(--color-primary-border);height:1px}.dropdown-menu{padding:var(--spacing-sm) 0}.dropdown-item{align-items:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-base);gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);text-align:left;transition:all var(--transition-base);width:100%}.dropdown-item:hover{background-color:var(--color-primary-light);color:var(--color-text-primary)}.dropdown-item svg{flex-shrink:0}.logout-item,.logout-item:hover{color:var(--color-error)}.logout-item:hover{background-color:#ef44441a}.auth-button{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-sm) var(--spacing-lg);transition:all var(--transition-slow)}.auth-button.login{background-color:var(--color-text-primary);color:var(--color-accent-blue)}.auth-button.login:hover{background-color:#f0f0f0;box-shadow:var(--shadow-accent);transform:translateY(-1px)}@media (max-width:768px){.profile-name{display:none}.profile-dropdown{width:260px}}.sidebar{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--glass-bg);border-right:1px solid var(--glass-border);box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:calc(100vh - var(--header-height));left:0;overflow-y:auto;position:fixed;top:var(--header-height);width:var(--sidebar-width)}.sidebar-brand{align-items:center;background:#0000;border:none;border-bottom:1px solid var(--color-primary-border);cursor:pointer;display:flex;flex-shrink:0;gap:var(--spacing-md);padding:var(--spacing-lg);text-align:left;transition:all var(--transition-base);width:100%}.sidebar-brand:hover{background-color:var(--color-bg-hover)}.dashboard-brand{border-bottom:1px solid var(--color-primary-border)}.dashboard-brand.active{background-color:var(--color-primary-light)}.dashboard-brand.active,.dashboard-brand.active .sidebar-title{color:var(--color-primary)}.dashboard-brand .nav-icon{align-items:center;display:flex;flex-shrink:0;font-size:32px;height:40px;justify-content:center;width:40px}.budget-os-brand{border-top:1px solid var(--color-primary-border);margin-top:var(--spacing-md);padding-top:var(--spacing-md)}.sidebar-logo{animation:pulse 3s ease-in-out infinite;height:40px;width:40px}.sidebar-title{color:var(--color-text-primary);flex-grow:1;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.sidebar-nav{flex:1 1;overflow-y:auto;padding:var(--spacing-lg) 0}.accordion-icon{align-items:center;color:var(--color-text-secondary);display:flex;font-size:var(--font-size-sm);justify-content:center;margin-left:auto;transition:transform var(--transition-base);width:16px}.sidebar-brand[aria-expanded=true] .accordion-icon{transform:rotate(0deg)}.sidebar-brand[aria-expanded=false] .accordion-icon{transform:rotate(-90deg)}.nav-list{list-style:none;margin:0;padding:0}.nav-item{margin:var(--spacing-xs) 0}.nav-button{align-items:center;background:#0000;border:none;border-left:3px solid #0000;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:var(--font-size-base);gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);position:relative;text-align:left;transition:all var(--transition-base);width:100%}.nav-button:before{background-color:var(--color-primary);bottom:0;content:"";left:0;position:absolute;top:0;transform:scaleY(0);transition:transform var(--transition-base);width:3px}.nav-button:hover{background-color:var(--color-bg-hover);color:var(--color-text-primary);transform:translateX(4px)}.nav-button.active{background-color:var(--color-primary-light);border-left-color:var(--color-primary);color:var(--color-primary)}.nav-button.active:before{transform:scaleY(1)}.nav-button:active{transform:translateX(2px) scale(.98)}.nav-icon{align-items:center;display:flex;font-size:var(--font-size-xl);justify-content:center;width:24px}.nav-label{font-weight:var(--font-weight-medium);transition:transform var(--transition-base)}.nav-button:hover .nav-label{transform:translateX(2px)}.sidebar-nav{transition:all var(--transition-base)}.nav-list{animation:slideDown var(--transition-base)}.nav-button:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--color-primary);outline-offset:-2px}.loading-spinner-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:var(--spacing-xl)}.loading-spinner{position:relative}.loading-spinner.small{height:24px;width:24px}.loading-spinner.medium{height:40px;width:40px}.loading-spinner.large{height:60px;width:60px}.spinner-circle{animation:spin .8s linear infinite;border:3px solid var(--color-primary-light);border-radius:var(--radius-full);border-top-color:var(--color-primary);height:100%;width:100%}.loading-message{color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-top:var(--spacing-md)}.loading-spinner-dots{align-items:center;display:flex;gap:var(--spacing-xs);justify-content:center}.loading-dot{animation:loadingDot 1.4s ease-in-out infinite;background-color:var(--color-primary);border-radius:50%;height:8px;width:8px}.loading-dot:first-child{animation-delay:0s}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes loadingDot{0%,80%,to{opacity:.5;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.loading-spinner-pulse{animation:pulse 1.5s ease-in-out infinite;background-color:var(--color-primary);border-radius:50%;height:40px;width:40px}.loading-spinner-bars{align-items:flex-end;display:flex;gap:4px}.loading-bar{animation:loadingBar 1.2s ease-in-out infinite;background-color:var(--color-primary);border-radius:2px;width:4px}.loading-bar:first-child{animation-delay:0s;height:20px}.loading-bar:nth-child(2){animation-delay:.1s;height:30px}.loading-bar:nth-child(3){animation-delay:.2s;height:40px}.loading-bar:nth-child(4){animation-delay:.3s;height:30px}.loading-bar:nth-child(5){animation-delay:.4s;height:20px}@keyframes loadingBar{0%,to{opacity:.5;transform:scaleY(.5)}50%{opacity:1;transform:scaleY(1)}}.loading-overlay{align-items:center;animation:fadeIn var(--transition-base);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:var(--color-bg-overlay);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:var(--z-modal)}.loading-overlay-content{background-color:var(--color-bg-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);min-width:200px;padding:var(--spacing-2xl);text-align:center}.loading-fullscreen{min-height:100vh;padding:var(--spacing-3xl)}.error-boundary{align-items:center;background:var(--gradient-bg);display:flex;justify-content:center;min-height:100vh;padding:var(--spacing-xl)}.error-boundary-content{background:#1e2139;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:600px;padding:var(--spacing-2xl) var(--spacing-xl);text-align:center}.error-icon{animation:pulse 2s ease-in-out infinite;font-size:var(--font-size-4xl);margin-bottom:var(--spacing-lg)}.error-boundary-content h1{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}.error-message{color:var(--color-text-secondary);font-size:var(--font-size-lg);line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-xl)}.error-details{background:#151829;border:1px solid #2a2f4a;border-radius:var(--radius-md);margin:var(--spacing-xl) 0;padding:var(--spacing-md);text-align:left}.error-details summary{color:var(--color-primary);cursor:pointer;font-weight:var(--font-weight-medium);padding:var(--spacing-sm)}.error-details summary:hover{color:var(--color-primary-dark)}.error-stack{background:#0d0f1e;border-radius:4px;color:var(--color-error);font-family:var(--font-family-mono);font-size:var(--font-size-sm);margin-top:var(--spacing-md);overflow-x:auto;padding:var(--spacing-md);white-space:pre-wrap;word-break:break-word}.error-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-bottom:var(--spacing-xl)}.error-actions .btn-primary{background:var(--color-primary);border:none;border-radius:var(--radius-md);color:var(--color-text-inverse);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);padding:var(--spacing-md) var(--spacing-xl);transition:all var(--transition-base)}.error-actions .btn-primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-accent);transform:translateY(-2px)}.error-actions .btn-secondary{background:#0000;border:1px solid #2a2f4a;border-radius:var(--radius-md);color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);padding:var(--spacing-md) var(--spacing-xl);transition:all var(--transition-base)}.error-actions .btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary)}.error-help{color:var(--color-text-muted);font-size:var(--font-size-base);line-height:var(--line-height-normal)}.error-link{color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:none}.error-link:hover{color:var(--color-primary-dark);text-decoration:underline}@media (max-width:640px){.error-boundary{padding:var(--spacing-md)}.error-boundary-content{padding:var(--spacing-xl) var(--spacing-lg)}.error-boundary-content h1{font-size:var(--font-size-2xl)}.error-message{font-size:var(--font-size-base)}.error-actions{flex-direction:column}.error-actions button{width:100%}}*{box-sizing:border-box;padding:0}*,body{margin:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--color-text-primary);font-family:var(--font-family-base)}.App,body{background-color:var(--color-bg-primary)}.App{min-height:100vh}.app-layout{display:flex;padding-top:var(--header-height)}.main-content{background-color:var(--color-bg-primary);flex:1 1;margin-left:var(--sidebar-width);min-height:calc(100vh - var(--header-height))}.login-prompt{align-items:center;background:var(--gradient-bg);display:flex;justify-content:center;min-height:100vh;padding:var(--spacing-xl)}.login-card{background-color:var(--color-bg-card);border:1px solid var(--color-primary-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:500px;padding:var(--spacing-2xl);text-align:center;width:100%}.login-logo{animation:logoFloat 4s ease-in-out infinite;filter:drop-shadow(0 0 20px var(--color-primary-shadow));height:120px;margin-bottom:var(--spacing-xl);width:120px}.login-card h1{color:var(--color-text-primary);font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-md)}.login-card p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl)}.login-button,.login-card p{font-size:var(--font-size-lg)}.login-button{background:var(--gradient-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-accent);color:var(--color-text-inverse);cursor:pointer;font-weight:var(--font-weight-semibold);padding:var(--spacing-md) var(--spacing-2xl);transition:all var(--transition-slow)}.login-button:hover{background:var(--gradient-primary-hover);box-shadow:var(--shadow-accent-lg);transform:translateY(-2px)}.placeholder-view{padding:var(--spacing-2xl);text-align:center}.placeholder-view h1{color:var(--color-text-primary);font-size:var(--font-size-4xl);margin-bottom:var(--spacing-md)}.placeholder-view p{color:var(--color-text-secondary);font-size:var(--font-size-lg)}@media (max-width:768px){.main-content{margin-left:0}.app-layout{flex-direction:column}}
/*# sourceMappingURL=main.0217fc79.css.map*/