:root{--color-white: #ffffff;--color-black: #000000;--color-primary: #3b82f6;--color-primary-light: #60a5fa;--color-primary-dark: #2563eb;--color-primary-gradient: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--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-success: #10b981;--color-success-light: #34d399;--color-success-dark: #059669;--color-success-bg: rgba(16, 185, 129, .1);--color-success-border: rgba(16, 185, 129, .3);--color-danger: #ef4444;--color-danger-light: #f87171;--color-danger-dark: #dc2626;--color-danger-bg: rgba(239, 68, 68, .1);--color-danger-border: rgba(239, 68, 68, .3);--color-warning: #f59e0b;--color-warning-light: #fbbf24;--color-warning-dark: #d97706;--color-warning-bg: rgba(245, 158, 11, .1);--color-warning-border: rgba(245, 158, 11, .3);--color-info: #06b6d4;--color-info-light: #22d3ee;--color-info-dark: #0891b2;--color-info-bg: rgba(6, 182, 212, .1);--color-info-border: rgba(6, 182, 212, .3);--color-text-primary: #ffffff;--color-text-secondary: #e2e8f0;--color-text-muted: #94a3b8;--color-text-accent: #60a5fa;--color-text-dim: #64748b;--color-bg-primary: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);--color-bg-secondary: #1e293b;--color-bg-tertiary: #0f172a;--color-bg-card: rgba(30, 41, 59, .6);--color-bg-card-hover: rgba(30, 41, 59, .8);--color-bg-section: rgba(30, 41, 59, .8);--color-bg-item: rgba(15, 23, 42, .3);--color-bg-item-hover: rgba(15, 23, 42, .5);--color-bg-glass: rgba(30, 41, 59, .95);--color-bg-glass-light: rgba(30, 41, 59, .6);--color-bg-glass-subtle: rgba(30, 41, 59, .3);--color-border-light: rgba(148, 163, 184, .1);--color-border-medium: rgba(148, 163, 184, .2);--color-border-hover: rgba(148, 163, 184, .3);--color-border-focus: #3b82f6;--color-border-accent: rgba(59, 130, 246, .3);--color-shadow-light: rgba(0, 0, 0, .1);--color-shadow-medium: rgba(0, 0, 0, .25);--color-shadow-dark: rgba(0, 0, 0, .5);--color-shadow-button: rgba(59, 130, 246, .25);--color-shadow-button-hover: rgba(59, 130, 246, .4);--color-overlay: rgba(15, 23, 42, .95);--color-overlay-light: rgba(15, 23, 42, .7);--color-overlay-medium: rgba(30, 41, 59, .8);--color-item-border: rgba(148, 163, 184, .1);--color-value-positive: #10b981;--color-value-negative: #ef4444;--color-tag-bg: rgba(59, 130, 246, .1);--color-badge-bg: rgba(255, 255, 255, .2);--color-button-primary-bg: rgba(59, 130, 246, .1);--color-button-primary-border: rgba(59, 130, 246, .3);--color-button-primary-hover-bg: rgba(59, 130, 246, .2);--color-button-primary-hover-border: rgba(59, 130, 246, .5);--color-metric-positive-border: rgba(16, 185, 129, .5);--color-metric-positive-bg: rgba(16, 185, 129, .05);--color-metric-negative-border: rgba(239, 68, 68, .5);--color-metric-negative-bg: rgba(239, 68, 68, .05)}:root{--font-family-primary: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-family-monospace: "SF Mono", "Monaco", "Inconsolata", "Fira Code", "Droid Sans Mono", monospace;--font-family-display: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-md: 1.0625rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.75rem;--font-size-4xl: 2rem;--font-size-5xl: 2.5rem;--font-size-6xl: 3rem;--font-size-7xl: 4rem;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tighter: -.05em;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em}.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-md{font-size:var(--font-size-md)}.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)}.text-7xl{font-size:var(--font-size-7xl)}.font-light{font-weight:var(--font-weight-light)}.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)}.font-extrabold{font-weight:var(--font-weight-extrabold)}.leading-none{line-height:var(--line-height-none)}.leading-tight{line-height:var(--line-height-tight)}.leading-snug{line-height:var(--line-height-snug)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.leading-loose{line-height:var(--line-height-loose)}.tracking-tighter{letter-spacing:var(--letter-spacing-tighter)}.tracking-tight{letter-spacing:var(--letter-spacing-tight)}.tracking-normal{letter-spacing:var(--letter-spacing-normal)}.tracking-wide{letter-spacing:var(--letter-spacing-wide)}.tracking-wider{letter-spacing:var(--letter-spacing-wider)}.tracking-widest{letter-spacing:var(--letter-spacing-widest)}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}h1,.heading-1{font-size:var(--font-size-5xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}h2,.heading-2{font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);letter-spacing:var(--letter-spacing-tight)}h3,.heading-3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text-primary)}h4,.heading-4{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug);color:var(--color-text-primary)}h5,.heading-5{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-text-primary)}h6,.heading-6{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}body,.body-text{font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.label-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}.metric-text{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-none);font-variant-numeric:tabular-nums}small,.small-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}code,.code-text{font-family:var(--font-family-monospace);font-size:var(--font-size-sm);background:var(--color-bg-item);color:var(--color-text-accent);padding:.125rem .375rem;border-radius:.25rem;border:1px solid var(--color-border-light)}pre{font-family:var(--font-family-monospace);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed);background:var(--color-bg-item);color:var(--color-text-primary);padding:1rem;border-radius:.5rem;border:1px solid var(--color-border-light);overflow-x:auto}pre code{background:transparent;padding:0;border:none}:root{--spacing-unit: 1rem;--spacing-0: 0;--spacing-px: 1px;--spacing-0-5: .125rem;--spacing-1: .25rem;--spacing-1-5: .375rem;--spacing-2: .5rem;--spacing-2-5: .625rem;--spacing-3: .75rem;--spacing-3-5: .875rem;--spacing-4: 1rem;--spacing-5: 1.25rem;--spacing-6: 1.5rem;--spacing-7: 1.75rem;--spacing-8: 2rem;--spacing-9: 2.25rem;--spacing-10: 2.5rem;--spacing-11: 2.75rem;--spacing-12: 3rem;--spacing-14: 3.5rem;--spacing-16: 4rem;--spacing-20: 5rem;--spacing-24: 6rem;--spacing-32: 8rem;--spacing-section: 2rem;--spacing-container: 2rem;--spacing-card-padding: 1.5rem;--spacing-button-padding: .5rem 1rem;--spacing-input-padding: .75rem;--spacing-modal-padding: 1.5rem;--gap-xs: .5rem;--gap-sm: .75rem;--gap-md: 1rem;--gap-lg: 1.5rem;--gap-xl: 2rem;--gap-2xl: 2.5rem;--radius-none: 0;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--border-0: 0;--border-1: 1px;--border-2: 2px;--border-4: 4px;--border-8: 8px;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -2px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .4), 0 10px 10px -5px rgba(0, 0, 0, .1);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .5);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--shadow-none: 0 0 #0000;--shadow-glass: 0 10px 25px rgba(0, 0, 0, .5), inset 0 1px 1px rgba(255, 255, 255, .1);--shadow-glass-lg: 0 20px 40px rgba(0, 0, 0, .6), inset 0 1px 2px rgba(255, 255, 255, .1);--focus-ring: 0 0 0 3px rgba(59, 130, 246, .5);--focus-ring-offset: 0 0 0 2px var(--color-bg-secondary), 0 0 0 4px rgba(59, 130, 246, .5);--transition-fast: .15s ease-in-out;--transition-normal: .2s ease-in-out;--transition-slow: .3s ease-in-out;--transition-transform: transform .2s ease-in-out;--transition-colors: background-color .2s ease-in-out, border-color .2s ease-in-out, color .2s ease-in-out;--transition-all: all .2s ease-in-out;--transition-shadow: box-shadow .2s ease-in-out;--z-0: 0;--z-10: 10;--z-20: 20;--z-30: 30;--z-40: 40;--z-50: 50;--z-modal: 100;--z-tooltip: 200;--z-dropdown: 1000;--blur-sm: blur(4px);--blur-md: blur(8px);--blur-lg: blur(10px);--blur-xl: blur(16px);--blur-2xl: blur(24px)}.m-0{margin:var(--spacing-0)}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-3{margin:var(--spacing-3)}.m-4{margin:var(--spacing-4)}.m-5{margin:var(--spacing-5)}.m-6{margin:var(--spacing-6)}.m-8{margin:var(--spacing-8)}.m-10{margin:var(--spacing-10)}.m-12{margin:var(--spacing-12)}.p-0{padding:var(--spacing-0)}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-5{padding:var(--spacing-5)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.p-10{padding:var(--spacing-10)}.p-12{padding:var(--spacing-12)}.mt-0{margin-top:var(--spacing-0)}.mt-4{margin-top:var(--spacing-4)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mb-0{margin-bottom:var(--spacing-0)}.mb-2{margin-bottom:var(--spacing-2)}.mb-4{margin-bottom:var(--spacing-4)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.rounded-none{border-radius:var(--radius-none)}.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-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-none{box-shadow:var(--shadow-none)}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-2xl{box-shadow:var(--shadow-2xl)}.shadow-glass{box-shadow:var(--shadow-glass)}.shadow-glass-lg{box-shadow:var(--shadow-glass-lg)}.backdrop-blur-sm{-webkit-backdrop-filter:var(--blur-sm);backdrop-filter:var(--blur-sm)}.backdrop-blur-md{-webkit-backdrop-filter:var(--blur-md);backdrop-filter:var(--blur-md)}.backdrop-blur-lg{-webkit-backdrop-filter:var(--blur-lg);backdrop-filter:var(--blur-lg)}.backdrop-blur-xl{-webkit-backdrop-filter:var(--blur-xl);backdrop-filter:var(--blur-xl)}:root{--container-max-width: 1200px;--container-padding: var(--spacing-5);--breakpoint-xs: 0;--breakpoint-sm: 576px;--breakpoint-md: 768px;--breakpoint-lg: 992px;--breakpoint-xl: 1200px;--breakpoint-2xl: 1400px;--grid-columns: 12;--grid-gap: var(--spacing-5);--modal-max-width: 800px;--chart-width: 350px;--chart-height: 300px;--chart-height-large: 450px;--chart-height-full: 600px;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 1000;--z-modal: 1010;--z-popover: 1020;--z-tooltip: 1030}.container{max-width:var(--container-max-width);margin:0 auto;padding:var(--container-padding)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-cols-5{grid-template-columns:repeat(5,1fr)}.grid-cols-auto{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.gap-xs{gap:var(--gap-xs)}.gap-sm{gap:var(--gap-sm)}.gap-md{gap:var(--gap-md)}.gap-lg{gap:var(--gap-lg)}.gap-xl{gap:var(--gap-xl)}.budget-setup-grid{display:grid;grid-template-columns:1fr 2fr;gap:var(--gap-lg)}.form-row{display:grid;grid-template-columns:2fr 1fr 2fr 1fr auto;gap:var(--gap-md);align-items:center}.investment-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--gap-md)}.indicators-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--gap-lg)}.charts-container{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-xl)}.chart-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--gap-md)}.summary-grid,.summary-grid-analytics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--gap-lg)}.upload-area{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap-xl);align-items:start}.chart-content-row{display:flex;gap:var(--gap-lg);align-items:flex-start}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--gap-md)}@media (max-width: 768px){.container{padding:10px}.budget-setup-grid,.charts-container,.upload-area{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:var(--gap-sm)}.chart-content-row{flex-direction:column}.indicators-grid,.summary-grid{grid-template-columns:1fr}}@media (max-width: 480px){.investment-controls,.chart-options,.filters-grid{grid-template-columns:1fr}}.max-w-full{max-width:100%}.max-h-full{max-height:100%}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.btn{border:none;text-decoration:none;cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-button-padding);border-radius:var(--radius-lg);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center;line-height:var(--line-height-none);transition:var(--transition-all)}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn-primary{background:var(--color-button-primary-bg);border:var(--border-1) solid var(--color-button-primary-border);color:var(--color-primary-light)}.btn-primary:hover:not(:disabled){background:var(--color-button-primary-hover-bg);border-color:var(--color-button-primary-hover-border)}.btn-secondary{background:#94a3b81a;border:var(--border-1) solid rgba(148,163,184,.2);color:var(--color-text-secondary)}.btn-secondary:hover:not(:disabled){background:#94a3b826;border-color:#94a3b84d}.btn-success{background:var(--color-success-bg);border:var(--border-1) solid var(--color-success-border);color:var(--color-success)}.btn-success:hover:not(:disabled){background:#10b98126;border-color:#10b98180}.btn-danger{background:var(--color-danger-bg);border:var(--border-1) solid var(--color-danger-border);color:var(--color-danger)}.btn-danger:hover:not(:disabled){background:#ef444426;border-color:#ef444480}.btn-info{background:var(--color-info-bg);border:var(--border-1) solid var(--color-info-border);color:var(--color-info)}.btn-info:hover:not(:disabled){background:#06b6d426;border-color:#06b6d480}.btn-warning{background:var(--color-warning-bg);border:var(--border-1) solid var(--color-warning-border);color:var(--color-warning)}.btn-warning:hover:not(:disabled){background:#f59e0b26;border-color:#f59e0b80}.btn-ghost{background:transparent;border:var(--border-1) solid transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){background:#94a3b81a;color:var(--color-text-primary)}.btn-outline{background:transparent;border:var(--border-1) solid var(--color-border-medium);color:var(--color-text-primary)}.btn-outline:hover:not(:disabled){background:#94a3b81a;border-color:var(--color-border-hover)}.btn-solid{background:var(--color-primary);border:var(--border-1) solid transparent;color:#fff}.btn-solid:hover:not(:disabled){background:var(--color-primary-light);box-shadow:var(--shadow-md)}.btn-xs{padding:.25rem .5rem;font-size:var(--font-size-xs);border-radius:var(--radius-sm)}.btn-sm{padding:.375rem .75rem;font-size:var(--font-size-sm);border-radius:var(--radius-md)}.btn-md{padding:var(--spacing-button-padding);font-size:var(--font-size-sm)}.btn-lg{padding:.75rem 1.5rem;font-size:var(--font-size-base);border-radius:var(--radius-xl)}.btn-xl{padding:1rem 2rem;font-size:var(--font-size-lg);border-radius:var(--radius-xl)}.btn-icon{padding:var(--spacing-2);aspect-ratio:1;border-radius:var(--radius-lg)}.btn-icon.btn-sm{padding:var(--spacing-1-5)}.btn-icon.btn-lg{padding:var(--spacing-3)}.btn-group{display:inline-flex;gap:var(--spacing-2);align-items:center}.btn-group-vertical{flex-direction:column}.btn-group-attached{gap:0}.btn-group-attached .btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.btn-group-attached .btn:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.btn-loading{position:relative;pointer-events:none;color:transparent}.btn-loading:after{content:"";position:absolute;width:1rem;height:1rem;top:50%;left:50%;margin-left:-.5rem;margin-top:-.5rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-block{display:flex;width:100%}.btn-back{background:var(--color-button-primary-bg);border:var(--border-1) solid var(--color-button-primary-border);color:var(--color-primary-light);font-size:var(--font-size-xl);padding:var(--spacing-2) var(--spacing-4)}.btn-back:hover:not(:disabled){background:var(--color-button-primary-hover-bg);border-color:var(--color-button-primary-hover-border);transform:translate(-2px)}@media (max-width: 768px){.btn-group{flex-direction:column}.btn-group .btn{width:100%}.btn{font-size:var(--font-size-base);padding:10px 16px}}.form-group{margin-bottom:var(--spacing-form-group)}.form-group label{display:block;margin-bottom:var(--spacing-2);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);font-size:var(--font-size-base)}.form-input{width:100%;padding:var(--spacing-input-padding);border:var(--border-width-medium) solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-family:var(--font-family-primary);background:var(--color-white);transition:var(--transition-colors)}.form-input:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--focus-ring)}.form-input:hover:not(:focus){border-color:var(--color-border-focus)}.form-input::placeholder{color:var(--color-text-muted)}.form-select{width:100%;padding:var(--spacing-input-padding);border:var(--border-width-medium) solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-family:var(--font-family-primary);background:var(--color-white);cursor:pointer;transition:var(--transition-colors)}.form-select:focus{outline:none;border-color:var(--color-border-focus);box-shadow:var(--focus-ring)}.form-select option:disabled{color:var(--color-text-muted);font-style:italic}.form-file-wrapper{position:relative;display:inline-block}.form-file{position:absolute;opacity:0;width:.1px;height:.1px;overflow:hidden}.form-file-label{display:inline-block;padding:var(--spacing-input-padding);background:var(--color-white);border:var(--border-width-medium) solid var(--color-border-light);border-radius:var(--radius-md);font-size:var(--font-size-lg);cursor:pointer;transition:var(--transition-colors);width:100%;text-align:center}.form-file:focus+.form-file-label,.form-file-label:hover{border-color:var(--color-border-focus);box-shadow:var(--focus-ring)}.form-input-with-unit{position:relative}.form-input-with-unit .form-input{padding-right:30px}.form-input-unit{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-weight:var(--font-weight-bold);color:var(--color-investment-accent);pointer-events:none;font-size:var(--font-size-base)}.form-status{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);margin-top:var(--spacing-2);display:block}.form-status.success{color:var(--color-success-light)}.form-status.error{color:var(--color-danger)}.form-status.warning{color:var(--color-warning)}.form-section{border:var(--border-width-medium) dashed var(--color-border-light);padding:var(--spacing-5);border-radius:var(--radius-xl);background:var(--color-bg-section);margin-top:var(--spacing-6)}.form-section h3{color:var(--color-text-primary);margin-bottom:var(--spacing-2);font-size:var(--font-size-2xl)}.form-section p{color:var(--color-text-secondary);margin-bottom:var(--spacing-6);font-size:var(--font-size-md)}.investment-controls{padding:var(--spacing-5);background:var(--color-gray-100);border-radius:var(--radius-xl);border:var(--border-width-medium) solid var(--color-gray-200);margin-top:var(--spacing-6)}.investment-controls .form-group{display:flex;flex-direction:column;margin-bottom:0}.investment-controls label{font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-2);color:var(--color-text-secondary)}.investment-controls .form-select,.investment-controls .form-input{padding:10px;font-size:var(--font-size-base)}.form-help{margin-top:var(--spacing-6);border-top:var(--border-width-thin) solid var(--color-border-medium);padding-top:var(--spacing-6)}.form-help summary{cursor:pointer;font-weight:var(--font-weight-medium);color:var(--color-border-focus);margin-bottom:var(--spacing-4)}.form-help pre{background:var(--color-gray-100);border:var(--border-width-thin) solid var(--color-gray-200);border-radius:var(--radius-sm);padding:var(--spacing-6);margin:var(--spacing-4) 0;overflow-x:auto;font-size:var(--font-size-base);line-height:var(--line-height-normal)}.form-help code{font-family:var(--font-family-monospace)}.form-input.invalid,.form-select.invalid{border-color:var(--color-danger)}.form-input.valid,.form-select.valid{border-color:var(--color-success-light)}.form-input:disabled,.form-select:disabled{background:var(--color-gray-100);color:var(--color-text-muted);cursor:not-allowed}@media (max-width: 768px){.form-input,.form-select{font-size:var(--font-size-lg)}.investment-controls,.form-section{padding:var(--spacing-4)}}.card{background:var(--color-bg-card);border:var(--border-1) solid var(--color-border-light);border-radius:var(--radius-xl);overflow:hidden;transition:var(--transition-all);-webkit-backdrop-filter:var(--blur-md);backdrop-filter:var(--blur-md)}.card:hover{border-color:var(--color-border-medium);transform:translateY(-2px);box-shadow:var(--shadow-glass)}.card-with-header{display:flex;flex-direction:column}.card-header{background:linear-gradient(135deg,#3b82f633,#2563eb33);padding:var(--spacing-4) var(--spacing-6);border-bottom:var(--border-1) solid var(--color-border-light)}.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-muted);font-size:var(--font-size-sm);margin-top:var(--spacing-1)}.card-body{padding:var(--spacing-6)}.card-footer{padding:var(--spacing-4) var(--spacing-6);border-top:var(--border-1) solid var(--color-border-light);background:var(--color-bg-item)}.metric-card{background:var(--color-bg-card);border:var(--border-1) solid var(--color-border-light);border-radius:var(--radius-xl);padding:var(--spacing-6);transition:var(--transition-all)}.metric-card:hover{border-color:var(--color-border-hover);transform:translateY(-2px)}.metric-card.positive{border-width:var(--border-2);border-color:var(--color-metric-positive-border);background:var(--color-metric-positive-bg)}.metric-card.negative{border-width:var(--border-2);border-color:var(--color-metric-negative-border);background:var(--color-metric-negative-bg)}.metric-label{color:var(--color-text-muted);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:var(--spacing-2);font-weight:var(--font-weight-medium)}.metric-value{color:var(--color-text-primary);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-1);line-height:var(--line-height-tight)}.metric-card.positive .metric-value{color:var(--color-success)}.metric-card.negative .metric-value{color:var(--color-danger)}.metric-subtitle{color:var(--color-text-dim);font-size:var(--font-size-xs)}.chart-card{background:var(--color-bg-card);border:var(--border-1) solid var(--color-border-light);border-radius:var(--radius-xl);overflow:hidden}.chart-card-header{padding:var(--spacing-6);border-bottom:var(--border-1) solid var(--color-border-light)}.chart-card-title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.chart-card-body{padding:var(--spacing-6)}.list-card{background:var(--color-bg-card);border:var(--border-1) solid var(--color-border-light);border-radius:var(--radius-xl);overflow:hidden}.list-card-header{padding:var(--spacing-4) var(--spacing-6);border-bottom:var(--border-1) solid var(--color-border-light);background:var(--color-bg-item)}.list-card-body{max-height:600px;overflow-y:auto}.item-card{display:flex;justify-content:space-between;padding:var(--spacing-4);background:var(--color-bg-item);border-bottom:var(--border-1) solid var(--color-border-light);transition:var(--transition-all);cursor:pointer}.item-card:hover{background:var(--color-bg-item-hover)}.item-card.selected{background:#3b82f626;border-left:var(--border-4) solid var(--color-primary)}.item-card-info{flex:1;min-width:0}.item-card-title{font-weight:var(--font-weight-medium);color:var(--color-text-primary);font-size:var(--font-size-sm);margin-bottom:var(--spacing-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-card-meta{display:flex;gap:var(--spacing-3);align-items:center;flex-wrap:wrap}.item-card-value{font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm)}.item-card-value.positive{color:var(--color-success)}.item-card-value.negative{color:var(--color-danger)}.item-card-badge{background:var(--color-badge-bg);padding:.125rem .5rem;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.item-card-actions{display:flex;gap:var(--spacing-2);align-items:center;margin-left:var(--spacing-4)}.card-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12);background:var(--color-bg-card);border:var(--border-1) dashed var(--color-border-medium);border-radius:var(--radius-xl);text-align:center;gap:var(--spacing-4)}.card-empty-icon{font-size:var(--font-size-6xl);opacity:.5}.card-empty-title{color:var(--color-text-primary);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.card-empty-text{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.cards-grid{display:grid;gap:var(--spacing-4)}.cards-grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.cards-grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.cards-grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width: 768px){.metric-card,.chart-card,.list-card{border-radius:var(--radius-lg)}.card-body,.chart-card-body{padding:var(--spacing-4)}.metric-value{font-size:var(--font-size-2xl)}.cards-grid-2,.cards-grid-3,.cards-grid-4{grid-template-columns:1fr}.card-header h1{font-size:var(--font-size-3xl)}.card-item{flex-direction:column;align-items:flex-start;gap:var(--spacing-4)}.card-item-actions{width:100%;justify-content:flex-end}.card-indicator-value{font-size:var(--font-size-4xl)}.card-summary-value{font-size:var(--font-size-3xl)}.card-chart-dynamic{height:auto}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-overlay);z-index:var(--z-modal-backdrop);display:none;align-items:center;justify-content:center;padding:var(--spacing-5);box-sizing:border-box}.modal-overlay.show{display:flex}.modal-content{background:var(--color-bg-glass);border-radius:var(--radius-2xl);max-width:var(--modal-max-width);width:100%;max-height:90vh;overflow:hidden;box-shadow:var(--shadow-glass-lg);animation:modalSlideIn .4s cubic-bezier(.16,1,.3,1);z-index:var(--z-modal);border:var(--border-1) solid var(--color-border-medium)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-30px)}to{opacity:1;transform:scale(1) translateY(0)}}.modal-header{background:var(--color-bg-glass);color:var(--color-text-primary);padding:var(--spacing-4) var(--spacing-6);display:flex;justify-content:space-between;align-items:center;border-bottom:var(--border-1) solid var(--color-border-medium);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0}.modal-header h2{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);border:none;padding:0}.modal-body{padding:var(--spacing-10) var(--spacing-10);overflow-y:auto;color:var(--color-text-primary);line-height:var(--line-height-relaxed)}.modal-body h3{color:var(--color-primary-light);margin:var(--spacing-10) 0 var(--spacing-6) 0;font-size:var(--font-size-2xl)}.modal-body h3:first-child{margin-top:0}.modal-body h4{color:var(--color-text-primary);margin:var(--spacing-8) 0 var(--spacing-4) 0;font-size:var(--font-size-xl)}.modal-body p{margin-bottom:var(--spacing-6);color:var(--color-text-secondary)}.modal-body ul{margin:var(--spacing-4) 0;padding-left:var(--spacing-5)}.modal-body li{margin-bottom:var(--spacing-2);color:var(--color-text-secondary)}.modal-body strong{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.modal-privacy-notice{background:var(--color-success-bg);border:var(--border-width-thin) solid var(--color-success-border);color:var(--color-success-light);padding:var(--spacing-8);border-radius:var(--radius-xl);margin:var(--spacing-8) 0;border-left:var(--border-width-thick) solid var(--color-success-light)}.modal-privacy-notice p{margin:0;font-weight:var(--font-weight-medium);color:var(--color-success-light)}.modal-footer{background:var(--color-bg-glass);padding:var(--spacing-4) var(--spacing-6);display:flex;justify-content:flex-end;gap:var(--spacing-3);border-top:var(--border-1) solid var(--color-border-light)}.modal-btn{padding:var(--spacing-4) var(--spacing-8);border:none;border-radius:var(--radius-xl);font-weight:var(--font-weight-semibold);cursor:pointer;transition:var(--transition-all);font-size:var(--font-size-lg);min-width:120px}.modal-btn.primary{background:var(--color-primary-gradient);color:var(--color-white)}.modal-btn.primary:hover{transform:translateY(-2px);box-shadow:0 4px 8px #667eea4d}.modal-btn.secondary{background:var(--color-success-light);color:var(--color-white)}.modal-btn.secondary:hover{background:var(--color-success-dark);transform:translateY(-2px);box-shadow:0 4px 8px #28a7454d}.modal-close{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-xl);cursor:pointer;padding:0;line-height:1;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:var(--transition-colors);flex-shrink:0}.modal-close:hover{background:var(--color-bg-hover, rgba(255, 255, 255, .06));color:var(--color-text-primary)}.modal-close:focus{outline:var(--border-2) solid var(--color-border-focus);outline-offset:2px;color:var(--color-text-primary)}.modal-overlay.entering{animation:fadeIn .3s ease-out}.modal-overlay.leaving{animation:fadeOut .3s ease-out}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@media (max-width: 768px){.modal-content{margin:10px;max-height:95vh;border-radius:var(--radius-xl)}.modal-header{padding:var(--spacing-4) var(--spacing-5);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.modal-header h2{font-size:var(--font-size-lg)}.modal-body{padding:var(--spacing-8) var(--spacing-6);max-height:70vh}.modal-footer{padding:var(--spacing-8) var(--spacing-6);flex-direction:column;gap:var(--spacing-4)}.modal-btn{width:100%}}.modal-overlay.blur-backdrop{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.modal-content.small{max-width:400px}.modal-content.large{max-width:1000px}.modal-content.full-screen{max-width:95vw;max-height:95vh}.modal-body.scrollable{max-height:400px;overflow-y:auto}.modal-body.no-padding{padding:0}.modal-loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-12);color:var(--color-text-secondary)}.modal-loading .spinner-circle{margin-right:var(--spacing-3)}.nav{display:flex;align-items:center;gap:var(--spacing-4);flex-wrap:wrap}.nav.vertical{flex-direction:column;align-items:stretch}.nav.centered{justify-content:center}.page-nav{margin-top:var(--spacing-3);display:flex;align-items:center;justify-content:center;gap:var(--spacing-2);flex-wrap:wrap}.nav-link{background:var(--color-overlay-light);color:var(--color-white);text-decoration:none;padding:6px 12px;border-radius:var(--radius-lg);border:var(--border-width-thin) solid rgba(255,255,255,.3);transition:var(--transition-all);display:inline-block;font-weight:var(--font-weight-normal);font-size:var(--font-size-sm);text-align:center}.nav-link:hover{background:var(--color-overlay-medium);transform:translateY(-2px);text-decoration:none;color:var(--color-white)}.nav-link:focus{outline:none;box-shadow:var(--focus-ring)}.nav-link:active{transform:translateY(0)}.nav-btn{background:var(--color-overlay-light);color:var(--color-white);border:var(--border-width-thin) solid rgba(255,255,255,.3);border-radius:var(--radius-lg);padding:6px 12px;cursor:pointer;font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);transition:var(--transition-all);text-decoration:none;display:inline-block}.nav-btn:hover{background:var(--color-overlay-medium);transform:translateY(-2px)}.nav-btn.export{background:#28a745cc!important;border-color:#28a74599!important;margin-left:var(--spacing-2);font-weight:var(--font-weight-semibold)}.nav-btn.export:hover{background:var(--color-success-light)!important;border-color:#28a745cc!important;box-shadow:0 4px 8px #28a7454d}.nav-btn.help{background:#ffc107cc!important;border-color:#ffc10799!important;margin-left:var(--spacing-2);font-weight:var(--font-weight-semibold)}.nav-btn.help:hover{background:var(--color-warning)!important;border-color:#ffc107cc!important;box-shadow:0 4px 8px #ffc1074d}.nav-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.nav-btn:disabled:hover{background:var(--color-overlay-light);transform:none}.nav-btn.active{background:var(--color-white);color:var(--color-primary-light);border-color:var(--color-white)}.nav-btn.active:hover{background:var(--color-gray-100);color:var(--color-primary-dark)}.nav-breadcrumb{display:flex;align-items:center;gap:var(--spacing-2);margin-bottom:var(--spacing-3);padding:var(--spacing-2);background:var(--color-gray-100);border-radius:var(--radius-xl)}.nav-breadcrumb-item{color:var(--color-text-secondary);text-decoration:none;font-size:var(--font-size-sm)}.nav-breadcrumb-item:hover{color:var(--color-primary-light);text-decoration:underline}.nav-breadcrumb-item.active{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.nav-breadcrumb-separator{color:var(--color-text-muted);font-size:var(--font-size-sm)}.nav-tabs{display:flex;border-bottom:var(--border-width-thin) solid var(--color-gray-200);margin-bottom:var(--spacing-3)}.nav-tab{padding:var(--spacing-2) var(--spacing-4);background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);cursor:pointer;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);transition:var(--transition-colors)}.nav-tab:hover,.nav-tab.active{color:var(--color-primary-light);border-bottom-color:var(--color-primary-light)}.nav-sidebar{display:flex;flex-direction:column;gap:var(--spacing-1);padding:var(--spacing-4);background:var(--color-gray-100);border-radius:var(--radius-2xl);min-width:180px}.nav-sidebar-item{padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-lg);color:var(--color-text-primary);text-decoration:none;transition:var(--transition-colors);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.nav-sidebar-item:hover{background:var(--color-white);color:var(--color-primary-light)}.nav-sidebar-item.active{background:var(--color-primary-light);color:var(--color-white)}.nav-mobile-toggle{display:none;background:none;border:none;color:var(--color-white);font-size:var(--font-size-4xl);cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-lg)}.nav-mobile-toggle:hover{background:var(--color-overlay-light)}@media (max-width: 768px){.page-nav{flex-direction:column;gap:var(--spacing-3);align-items:stretch}.nav-link,.nav-btn{width:100%;text-align:center;margin-left:0}.nav-breadcrumb{padding:var(--spacing-3)}.nav-breadcrumb-item{font-size:var(--font-size-sm)}.nav-tabs{flex-wrap:wrap}.nav-tab{flex:1;min-width:0;text-align:center}.nav-mobile-toggle{display:block}.nav-sidebar{position:fixed;top:0;left:-100%;height:100vh;width:80vw;max-width:300px;z-index:var(--z-modal);transition:left .3s ease;border-radius:0}.nav-sidebar.open{left:0}}.nav-icon{margin-right:var(--spacing-2);font-size:var(--font-size-lg)}.nav-btn .nav-icon,.nav-link .nav-icon{vertical-align:middle}.nav-link:focus-visible,.nav-btn:focus-visible,.nav-tab:focus-visible{outline:2px solid var(--color-white);outline-offset:2px}.nav-skip{position:absolute;top:-40px;left:6px;background:var(--color-primary-light);color:var(--color-white);padding:8px;text-decoration:none;border-radius:var(--radius-sm);z-index:var(--z-modal)}.nav-skip:focus{top:6px}.tooltip{position:relative;display:inline-block;cursor:help}.tooltip-container{overflow:visible}.tooltip-content{position:absolute;background:var(--color-gray-900);color:var(--color-white);padding:var(--spacing-2) var(--spacing-3);border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:var(--line-height-tight);white-space:nowrap;z-index:9999;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease,transform .2s ease;pointer-events:none;box-shadow:var(--shadow-lg);font-weight:var(--font-weight-medium)}.tooltip-content:before{content:"";position:absolute;width:0;height:0;border-style:solid}.tooltip-content,.tooltip-content.top{bottom:calc(100% + 12px);left:50%;transform:translate(-50%) translateY(4px)}.tooltip-content:before,.tooltip-content.top:before{top:100%;left:50%;transform:translate(-50%);border-width:6px 6px 0 6px;border-color:var(--color-gray-900) transparent transparent transparent}.tooltip-content.bottom{top:calc(100% + 15px);left:50%;transform:translate(-50%) translateY(-4px);margin-bottom:15px}.tooltip-content.bottom:before{bottom:100%;left:50%;transform:translate(-50%);border-width:0 6px 6px 6px;border-color:transparent transparent var(--color-gray-900) transparent}.tooltip-content.left{top:50%;right:calc(100% + 15px);transform:translateY(-50%) translate(4px);margin-right:15px}.tooltip-content.left:before{top:50%;left:100%;transform:translateY(-50%);border-width:6px 0 6px 6px;border-color:transparent transparent transparent var(--color-gray-900)}.tooltip-content.right{top:50%;left:calc(100% + 15px);transform:translateY(-50%) translate(-4px);margin-left:15px}.tooltip-content.right:before{top:50%;right:100%;transform:translateY(-50%);border-width:6px 6px 6px 0;border-color:transparent var(--color-gray-900) transparent transparent}.tooltip:hover .tooltip-content,.tooltip:focus-within .tooltip-content,.tooltip.active .tooltip-content{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.tooltip:hover .tooltip-content.bottom,.tooltip:focus-within .tooltip-content.bottom,.tooltip.active .tooltip-content.bottom{transform:translate(-50%) translateY(0)}.tooltip:hover .tooltip-content.left,.tooltip:focus-within .tooltip-content.left,.tooltip.active .tooltip-content.left{transform:translateY(-50%) translate(0)}.tooltip:hover .tooltip-content.right,.tooltip:focus-within .tooltip-content.right,.tooltip.active .tooltip-content.right{transform:translateY(-50%) translate(0)}.tooltip-content.success{background:var(--color-success-light)}.tooltip-content.success:before{border-top-color:var(--color-success-light)}.tooltip-content.success.bottom:before{border-bottom-color:var(--color-success-light);border-top-color:transparent}.tooltip-content.success.left:before{border-left-color:var(--color-success-light);border-top-color:transparent}.tooltip-content.success.right:before{border-right-color:var(--color-success-light);border-top-color:transparent}.tooltip-content.danger{background:var(--color-danger)}.tooltip-content.danger:before{border-top-color:var(--color-danger)}.tooltip-content.danger.bottom:before{border-bottom-color:var(--color-danger);border-top-color:transparent}.tooltip-content.danger.left:before{border-left-color:var(--color-danger);border-top-color:transparent}.tooltip-content.danger.right:before{border-right-color:var(--color-danger);border-top-color:transparent}.tooltip-content.warning{background:var(--color-warning);color:var(--color-text-primary)}.tooltip-content.warning:before{border-top-color:var(--color-warning)}.tooltip-content.warning.bottom:before{border-bottom-color:var(--color-warning);border-top-color:transparent}.tooltip-content.warning.left:before{border-left-color:var(--color-warning);border-top-color:transparent}.tooltip-content.warning.right:before{border-right-color:var(--color-warning);border-top-color:transparent}.tooltip-content.info{background:var(--color-info)}.tooltip-content.info:before{border-top-color:var(--color-info)}.tooltip-content.info.bottom:before{border-bottom-color:var(--color-info);border-top-color:transparent}.tooltip-content.info.left:before{border-left-color:var(--color-info);border-top-color:transparent}.tooltip-content.info.right:before{border-right-color:var(--color-info);border-top-color:transparent}.tooltip-content.large{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base);white-space:normal;max-width:250px;line-height:var(--line-height-normal)}.tooltip-content.multiline{white-space:normal;max-width:200px;text-align:left}.tooltip.delay .tooltip-content{transition-delay:.5s}.tooltip.delay:hover .tooltip-content,.tooltip.delay:focus-within .tooltip-content{transition-delay:0s}.btn.tooltip{cursor:pointer}.tooltip[aria-describedby]{cursor:help}.tooltip-content[role=tooltip]{font-size:var(--font-size-sm)}.form-group .tooltip{margin-left:var(--spacing-2);color:var(--color-text-muted)}.form-group .tooltip:before{content:"?";display:inline-block;width:16px;height:16px;background:var(--color-gray-400);color:var(--color-white);border-radius:var(--radius-round);text-align:center;font-size:var(--font-size-xs);line-height:16px;font-weight:var(--font-weight-bold)}.form-group .tooltip:hover:before{background:var(--color-primary-light)}.tooltip-content.auto-left{top:50%;right:calc(100% + 10px);left:auto;transform:translateY(-50%) translate(4px)}.tooltip-content.auto-right{top:50%;left:calc(100% + 10px);right:auto;transform:translateY(-50%) translate(-4px)}.tooltip-content.auto-top{bottom:calc(100% + 10px);top:auto;left:50%;transform:translate(-50%) translateY(4px)}.tooltip-content.auto-bottom{top:calc(100% + 10px);bottom:auto;left:50%;transform:translate(-50%) translateY(-4px)}@media (max-width: 768px){.tooltip-content{font-size:var(--font-size-xs);padding:var(--spacing-2);max-width:180px}.tooltip-content.large{max-width:200px;font-size:var(--font-size-sm)}.tooltip-content.multiline{max-width:150px}.tooltip-content.bottom,.tooltip-content.left,.tooltip-content.right{top:auto;left:50%;right:auto;bottom:calc(100% + 10px);transform:translate(-50%) translateY(4px);margin:0}.tooltip-content.bottom:before,.tooltip-content.left:before,.tooltip-content.right:before{inset:100% auto auto 50%;transform:translate(-50%);border-width:6px 6px 0 6px;border-color:var(--color-gray-900) transparent transparent transparent}}.tooltip.disabled{pointer-events:auto;cursor:not-allowed}.tooltip.disabled .tooltip-content{background:var(--color-gray-600)}.tooltip.disabled .tooltip-content:before{border-top-color:var(--color-gray-600)}.tooltip-content.fade{transition:opacity .3s ease,visibility .3s ease;transform:none}.tooltip-content.scale{transition:opacity .2s ease,visibility .2s ease,transform .2s ease;transform:translate(-50%) translateY(4px) scale(.8)}.tooltip:hover .tooltip-content.scale,.tooltip:focus-within .tooltip-content.scale{transform:translate(-50%) translateY(0) scale(1)}.tooltip-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:var(--color-gray-400);color:var(--color-white);border-radius:var(--radius-round);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:help;transition:var(--transition-colors)}.tooltip-icon:hover{background:var(--color-primary-light)}.tooltip-icon.success{background:var(--color-success-light)}.tooltip-icon.danger{background:var(--color-danger)}.tooltip-icon.warning{background:var(--color-warning);color:var(--color-text-primary)}.tooltip-icon.info{background:var(--color-info)}.spinner{display:inline-block;position:relative}.spinner-circle{width:24px;height:24px;border:2px solid var(--color-gray-300);border-top:2px solid var(--color-primary-light);border-radius:var(--radius-round);animation:spin 1s linear infinite}.spinner-sm,.spinner-small{width:16px;height:16px;border-width:1.5px}.spinner-md,.spinner-medium{width:24px;height:24px;border-width:2px}.spinner-lg,.spinner-large{width:32px;height:32px;border-width:3px}.spinner-xl,.spinner-extra-large{width:48px;height:48px;border-width:4px}.spinner-primary{border-color:var(--color-gray-300);border-top-color:var(--color-primary-light)}.spinner-success{border-color:var(--color-gray-300);border-top-color:var(--color-success-light)}.spinner-warning{border-color:var(--color-gray-300);border-top-color:var(--color-warning-light)}.spinner-danger{border-color:var(--color-gray-300);border-top-color:var(--color-danger-light)}.spinner-white{border-color:#ffffff4d;border-top-color:var(--color-white)}.spinner-dots{display:inline-flex;align-items:center;gap:4px}.spinner-dots:before,.spinner-dots:after{content:"";width:6px;height:6px;background:var(--color-primary-light);border-radius:var(--radius-round);animation:bounce 1.4s ease-in-out infinite both}.spinner-dots{width:6px;height:6px;background:var(--color-primary-light);border-radius:var(--radius-round);animation:bounce 1.4s ease-in-out infinite both;animation-delay:-.16s}.spinner-dots:before{animation-delay:-.32s}.spinner-dots:after{animation-delay:0s}.spinner-pulse{width:20px;height:20px;background:var(--color-primary-light);border-radius:var(--radius-round);animation:pulse 1.2s ease-in-out infinite}.spinner-bars{display:inline-flex;align-items:center;gap:2px;height:20px}.spinner-bars:before,.spinner-bars:after{content:"";width:3px;height:100%;background:var(--color-primary-light);border-radius:2px;animation:bars 1.2s ease-in-out infinite}.spinner-bars{width:3px;height:100%;background:var(--color-primary-light);border-radius:2px;animation:bars 1.2s ease-in-out infinite;animation-delay:.1s}.spinner-bars:before{animation-delay:0s}.spinner-bars:after{animation-delay:.2s}.spinner-ring{width:24px;height:24px;border:3px solid transparent;border-top:3px solid var(--color-primary-light);border-right:3px solid var(--color-primary-light);border-radius:var(--radius-round);animation:ring 1s linear infinite}.spinner-ripple{width:24px;height:24px;position:relative}.spinner-ripple:before,.spinner-ripple:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border:2px solid var(--color-primary-light);border-radius:var(--radius-round);opacity:1;animation:ripple 1s ease-out infinite}.spinner-ripple:after{animation-delay:.5s}.spinner-with-text{display:inline-flex;align-items:center;gap:var(--spacing-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.spinner-with-text .spinner-circle,.spinner-with-text .spinner-dots,.spinner-with-text .spinner-pulse,.spinner-with-text .spinner-bars,.spinner-with-text .spinner-ring,.spinner-with-text .spinner-ripple{margin:0}.btn.loading{display:inline-flex!important;align-items:center;justify-content:center;pointer-events:none;position:relative;overflow:hidden}.btn.loading .btn-text{position:absolute;opacity:0;visibility:hidden}.btn.loading .btn-loading-content{display:inline-flex;align-items:center;gap:var(--spacing-2);white-space:nowrap;max-width:100%;overflow:hidden}.btn-spinner{width:16px;height:16px;border:1.5px solid rgba(255,255,255,.3);border-top:1.5px solid var(--color-white);border-radius:var(--radius-round);animation:spin 1s linear infinite;flex-shrink:0}.btn-primary .btn-spinner{border-color:#ffffff4d;border-top-color:var(--color-white)}.btn-secondary .btn-spinner{border-color:#6c757d4d;border-top-color:var(--color-gray-600)}.btn-success .btn-spinner,.btn-warning .btn-spinner,.btn-danger .btn-spinner{border-color:#ffffff4d;border-top-color:var(--color-white)}.btn-primary .btn-loading-text{color:var(--color-white)}.btn-secondary .btn-loading-text{color:var(--color-gray-600)}.btn-success .btn-loading-text,.btn-warning .btn-loading-text,.btn-danger .btn-loading-text{color:var(--color-white)}.btn-loading-left .btn-loading-content{flex-direction:row}.btn-loading-right .btn-loading-content{flex-direction:row-reverse}.btn-loading-center .btn-loading-content{flex-direction:row;justify-content:center}.btn-loading-center .btn-loading-text{display:none}.btn-loading-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spinner-overlay{position:fixed;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:9999}.spinner-overlay .spinner-circle{width:40px;height:40px;border-width:4px}.spinner-center{display:flex;justify-content:center;align-items:center;min-height:100px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(0);opacity:1}50%{transform:scale(1);opacity:.7}}@keyframes bars{0%,40%,to{transform:scaleY(.4)}20%{transform:scaleY(1)}}@keyframes ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(1);opacity:0}}@media (max-width: 768px){.spinner-xl,.spinner-extra-large{width:36px;height:36px;border-width:3px}.spinner-overlay .spinner-circle{width:32px;height:32px;border-width:3px}}@media (prefers-reduced-motion: reduce){.spinner-circle,.spinner-dots,.spinner-dots:before,.spinner-dots:after,.spinner-pulse,.spinner-bars,.spinner-bars:before,.spinner-bars:after,.spinner-ring,.spinner-ripple:before,.spinner-ripple:after,.btn-spinner{animation-duration:2s}}.snackbar-container{position:fixed;z-index:10000;pointer-events:none;display:flex;flex-direction:column;gap:var(--spacing-2);max-width:400px}.snackbar-container.top-center{top:var(--spacing-4);left:50%;transform:translate(-50%)}.snackbar-container.top-left{top:var(--spacing-4);left:var(--spacing-4)}.snackbar-container.top-right{top:var(--spacing-4);right:var(--spacing-4)}.snackbar-container.bottom-center{bottom:var(--spacing-4);left:50%;transform:translate(-50%)}.snackbar-container.bottom-left{bottom:var(--spacing-4);left:var(--spacing-4)}.snackbar-container.bottom-right{bottom:var(--spacing-4);right:var(--spacing-4)}.snackbar-container.center-left{top:50%;left:var(--spacing-4);transform:translateY(-50%)}.snackbar-container.center-right{top:50%;right:var(--spacing-4);transform:translateY(-50%)}.snackbar{display:flex;align-items:center;gap:var(--spacing-3);padding:var(--spacing-3) var(--spacing-4);color:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);font-size:var(--font-size-sm);line-height:var(--line-height-tight);min-width:280px;max-width:400px;pointer-events:auto;cursor:default;position:relative;overflow:hidden}.snackbar-content{flex:1;display:flex;align-items:center;gap:var(--spacing-2);color:var(--color-white)}.snackbar-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center}.snackbar-message{flex:1;font-weight:var(--font-weight-medium)}.snackbar-action{flex-shrink:0;background:transparent;border:none;color:currentColor;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-md);text-transform:uppercase;letter-spacing:.5px;transition:background-color .2s ease}.snackbar-action:hover{background:#ffffff1a}.snackbar-close{flex-shrink:0;background:transparent;border:none;color:currentColor;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-radius:var(--radius-md);transition:background-color .2s ease;font-size:18px;line-height:1}.snackbar-close:hover{background:#ffffff1a}.snackbar.success{background:var(--color-success-light);color:var(--color-white)}.snackbar.warning{background:var(--color-warning);color:var(--color-gray-800);border:1px solid var(--color-warning-dark)}.snackbar.error,.snackbar.danger{background:var(--color-danger-light);color:var(--color-white)}.snackbar.info{background:var(--color-primary-light);color:var(--color-white)}.snackbar.light{background:var(--color-white);color:var(--color-gray-800);border:1px solid var(--color-gray-300)}.snackbar.dark{background:var(--color-gray-900);color:var(--color-white)}.snackbar-progress{position:absolute;bottom:0;left:0;height:3px;background:#ffffff4d;border-radius:0 0 var(--radius-lg) var(--radius-lg);transition:width linear}.snackbar.success .snackbar-progress,.snackbar.warning .snackbar-progress,.snackbar.error .snackbar-progress,.snackbar.danger .snackbar-progress,.snackbar.info .snackbar-progress{background:#fff6}.snackbar.light .snackbar-progress{background:var(--color-primary-light)}.snackbar{animation:snackbarSlideIn .3s cubic-bezier(.16,1,.3,1)}.snackbar.removing{animation:snackbarSlideOut .2s ease-in forwards}@keyframes snackbarSlideIn{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes snackbarSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.95)}}.snackbar-container.top-center .snackbar,.snackbar-container.top-left .snackbar,.snackbar-container.top-right .snackbar{animation:snackbarSlideInFromTop .3s cubic-bezier(.16,1,.3,1)}.snackbar-container.center-left .snackbar{animation:snackbarSlideInFromLeft .3s cubic-bezier(.16,1,.3,1)}.snackbar-container.center-right .snackbar{animation:snackbarSlideInFromRight .3s cubic-bezier(.16,1,.3,1)}@keyframes snackbarSlideInFromTop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes snackbarSlideInFromLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes snackbarSlideInFromRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@media (max-width: 768px){.snackbar-container{max-width:calc(100vw - 2rem);left:var(--spacing-4)!important;right:var(--spacing-4)!important;transform:none!important}.snackbar{min-width:auto;width:100%}}@media (prefers-reduced-motion: reduce){.snackbar{animation:none}.snackbar-progress{transition:none}}@media (prefers-contrast: high){.snackbar{border:2px solid currentColor}}.snackbar:focus-within{outline:2px solid var(--color-white);outline-offset:2px}[ds-theme=dark]{--color-white: #ffffff;--color-black: #000000;--color-primary: #60a5fa;--color-primary-light: #93c5fd;--color-primary-dark: #3b82f6;--color-primary-gradient: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);--color-bg-primary: #000000;--color-bg-secondary: #0a0a0a;--color-bg-tertiary: #111111;--color-bg-card: rgba(18, 18, 18, .8);--color-bg-card-hover: rgba(24, 24, 24, .9);--color-bg-section: rgba(18, 18, 18, .9);--color-bg-item: rgba(30, 30, 30, .5);--color-bg-item-hover: rgba(40, 40, 40, .7);--color-bg-glass: rgba(10, 10, 10, .95);--color-bg-glass-light: rgba(18, 18, 18, .7);--color-bg-glass-subtle: rgba(20, 20, 20, .4);--color-text-primary: #ffffff;--color-text-secondary: #e5e5e5;--color-text-muted: #a3a3a3;--color-text-accent: #93c5fd;--color-text-dim: #737373;--color-border-light: rgba(255, 255, 255, .08);--color-border-medium: rgba(255, 255, 255, .12);--color-border-hover: rgba(255, 255, 255, .18);--color-border-focus: #60a5fa;--color-border-accent: rgba(96, 165, 250, .4);--color-shadow-light: rgba(0, 0, 0, .3);--color-shadow-medium: rgba(0, 0, 0, .5);--color-shadow-dark: rgba(0, 0, 0, .8);--color-shadow-button: rgba(96, 165, 250, .3);--color-shadow-button-hover: rgba(96, 165, 250, .5);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .4), 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .5), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .6), 0 4px 6px -2px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .7), 0 10px 10px -5px rgba(0, 0, 0, .4);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .8);--shadow-glass: 0 10px 25px rgba(0, 0, 0, .8), inset 0 1px 1px rgba(255, 255, 255, .08);--shadow-glass-lg: 0 20px 40px rgba(0, 0, 0, .9), inset 0 1px 2px rgba(255, 255, 255, .08)}[ds-theme=dark] .card-summary-value,[ds-theme=dark] .card-summary-content{color:var(--color-text-primary)!important}[ds-theme=dark] .card-section{background:var(--color-background)!important;color:var(--color-text-primary)!important}[ds-theme=dark] .card-section h2{color:var(--color-text-primary)!important;border-color:var(--color-border)!important}[ds-theme=dark] .card-section h3{color:var(--color-text-primary)!important}[ds-theme=dark] .card{background:var(--color-background-secondary)!important;border-color:var(--color-border)!important;color:var(--color-text-primary)!important}[ds-theme=dark] .card-header{background:var(--color-primary-gradient)!important;color:var(--color-white)!important}[ds-theme=dark] .card-item{background:var(--color-surface)!important;border-color:var(--color-border)!important;color:var(--color-text-primary)!important}[ds-theme=dark] body{background-color:var(--color-background);color:var(--color-text-primary)}[ds-theme=dark] .btn{border-color:var(--color-border)}[ds-theme=dark] .btn-primary{background:var(--color-primary-light);border-color:var(--color-primary-light);color:var(--color-white)}[ds-theme=dark] .btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark)}[ds-theme=dark] .btn-secondary{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}[ds-theme=dark] .btn-secondary:hover{background:var(--color-surface-secondary);border-color:var(--color-border-secondary)}[ds-theme=dark] .btn-outline{background:transparent;border-color:var(--color-border-secondary);color:var(--color-text-secondary)}[ds-theme=dark] .btn-outline:hover{background:var(--color-surface);border-color:var(--color-border-light);color:var(--color-text-primary)}[ds-theme=dark] .btn-success{background:var(--color-success-light);border-color:var(--color-success-light)}[ds-theme=dark] .btn-success:hover{background:var(--color-success-dark);border-color:var(--color-success-dark)}[ds-theme=dark] .btn-warning{background:var(--color-warning-light);border-color:var(--color-warning-light)}[ds-theme=dark] .btn-warning:hover{background:var(--color-warning-dark);border-color:var(--color-warning-dark)}[ds-theme=dark] .btn-danger{background:var(--color-danger-light);border-color:var(--color-danger-light)}[ds-theme=dark] .btn-danger:hover{background:var(--color-danger-dark);border-color:var(--color-danger-dark)}[ds-theme=dark] .form-control{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}[ds-theme=dark] .form-control:focus{border-color:var(--color-primary-light);background-color:var(--color-surface);color:var(--color-text-primary)}[ds-theme=dark] .form-control::placeholder{color:var(--color-text-tertiary)}[ds-theme=dark] .form-label{color:var(--color-text-secondary)}[ds-theme=dark] .form-select{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}[ds-theme=dark] .form-select:focus{border-color:var(--color-primary-light);background-color:var(--color-surface)}[ds-theme=dark] .card{background-color:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}[ds-theme=dark] .card-header{background-color:var(--color-surface-secondary);border-bottom-color:var(--color-border);color:var(--color-text-primary)}[ds-theme=dark] .card-footer{background-color:var(--color-surface-secondary);border-top-color:var(--color-border)}[ds-theme=dark] .modal-overlay{background:#000000d9}[ds-theme=dark] .modal-content{background-color:var(--color-background-secondary);color:var(--color-text-primary);border:1px solid var(--color-border);box-shadow:0 25px 50px -12px #0009}[ds-theme=dark] .modal-header{border-bottom-color:var(--color-border);background-color:var(--color-surface)}[ds-theme=dark] .modal-footer{border-top-color:var(--color-border);background-color:var(--color-surface)}[ds-theme=dark] .modal-close{color:var(--color-text-secondary)}[ds-theme=dark] .modal-close:hover{color:var(--color-text-primary);background-color:var(--color-surface)}[ds-theme=dark] .modal-privacy-notice{background:#22c55e26;border-color:#22c55e4d;color:var(--color-success-dark);border-left-color:var(--color-success-dark)}[ds-theme=dark] .modal-privacy-notice p{color:var(--color-success-dark)}[ds-theme=dark] .modal-btn.secondary{background:var(--color-success-dark);color:var(--color-white)}[ds-theme=dark] .modal-btn.secondary:hover{background:#16a34a;box-shadow:0 4px 8px #22c55e66}[ds-theme=dark] .nav{background-color:var(--color-surface);border-color:var(--color-border)}[ds-theme=dark] .nav-link{color:var(--color-text-secondary)}[ds-theme=dark] .nav-link:hover,[ds-theme=dark] .nav-link.active{color:var(--color-text-primary);background-color:var(--color-surface-secondary)}[ds-theme=dark] .nav-tab{border-color:var(--color-border);color:var(--color-text-secondary)}[ds-theme=dark] .nav-tab:hover,[ds-theme=dark] .nav-tab.active{background-color:var(--color-surface);color:var(--color-text-primary);border-bottom-color:var(--color-primary-light)}[ds-theme=dark] .tooltip-content{background:var(--color-gray-800);color:var(--color-white)}[ds-theme=dark] .tooltip-content:before{border-top-color:var(--color-gray-800)}[ds-theme=dark] .tooltip-content.bottom:before{border-bottom-color:var(--color-gray-800)}[ds-theme=dark] .tooltip-content.left:before{border-left-color:var(--color-gray-800)}[ds-theme=dark] .tooltip-content.right:before{border-right-color:var(--color-gray-800)}[ds-theme=dark] .tooltip-content.success{background:var(--color-success-dark);color:var(--color-white)}[ds-theme=dark] .tooltip-content.success:before{border-top-color:var(--color-success-dark)}[ds-theme=dark] .tooltip-content.success.bottom:before{border-bottom-color:var(--color-success-dark)}[ds-theme=dark] .tooltip-content.success.left:before{border-left-color:var(--color-success-dark)}[ds-theme=dark] .tooltip-content.success.right:before{border-right-color:var(--color-success-dark)}[ds-theme=dark] .tooltip-content.warning{background:var(--color-warning-dark);color:var(--color-white)}[ds-theme=dark] .tooltip-content.warning:before{border-top-color:var(--color-warning-dark)}[ds-theme=dark] .tooltip-content.warning.bottom:before{border-bottom-color:var(--color-warning-dark)}[ds-theme=dark] .tooltip-content.warning.left:before{border-left-color:var(--color-warning-dark)}[ds-theme=dark] .tooltip-content.warning.right:before{border-right-color:var(--color-warning-dark)}[ds-theme=dark] .tooltip-content.danger,[ds-theme=dark] .tooltip-content.error{background:var(--color-danger-dark);color:var(--color-white)}[ds-theme=dark] .tooltip-content.danger:before,[ds-theme=dark] .tooltip-content.error:before{border-top-color:var(--color-danger-dark)}[ds-theme=dark] .tooltip-content.danger.bottom:before,[ds-theme=dark] .tooltip-content.error.bottom:before{border-bottom-color:var(--color-danger-dark)}[ds-theme=dark] .tooltip-content.danger.left:before,[ds-theme=dark] .tooltip-content.error.left:before{border-left-color:var(--color-danger-dark)}[ds-theme=dark] .tooltip-content.danger.right:before,[ds-theme=dark] .tooltip-content.error.right:before{border-right-color:var(--color-danger-dark)}[ds-theme=dark] .tooltip-content.info{background:var(--color-info-dark);color:var(--color-white)}[ds-theme=dark] .tooltip-content.info:before{border-top-color:var(--color-info-dark)}[ds-theme=dark] .tooltip-content.info.bottom:before{border-bottom-color:var(--color-info-dark)}[ds-theme=dark] .tooltip-content.info.left:before{border-left-color:var(--color-info-dark)}[ds-theme=dark] .tooltip-content.info.right:before{border-right-color:var(--color-info-dark)}[ds-theme=dark] .snackbar{background:var(--color-surface);color:var(--color-text-primary)}[ds-theme=dark] .snackbar.success{background:var(--color-success-dark);color:var(--color-white)}[ds-theme=dark] .snackbar.warning{background:var(--color-warning-dark);color:var(--color-white)}[ds-theme=dark] .snackbar.error,[ds-theme=dark] .snackbar.danger{background:var(--color-danger-dark);color:var(--color-white)}[ds-theme=dark] .snackbar.info{background:var(--color-info-dark);color:var(--color-white)}[ds-theme=dark] .snackbar.light{background:var(--color-surface-secondary);color:var(--color-text-primary);border-color:var(--color-border)}[ds-theme=dark] .snackbar.dark{background:var(--color-gray-900);color:var(--color-white)}[ds-theme=dark] .example-section{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}[ds-theme=dark] .example-item{background:var(--color-background-secondary);border-color:var(--color-border)}[ds-theme=dark] .code-example{background:var(--color-background-secondary)!important;border-color:var(--color-border);color:var(--color-text-primary)}[ds-theme=dark] .code-example pre,[ds-theme=dark] .code-example code{background:transparent!important;color:var(--color-text-primary)!important}[ds-theme=dark] code,[ds-theme=dark] .code-text{background:var(--color-surface)!important;color:var(--color-text-primary)!important}[ds-theme=dark] .color-swatch{border:1px solid var(--color-border)}[ds-theme=dark] .card-item{--color-bg-item: var(--color-surface);--color-item-border: var(--color-primary-light);--color-value-positive: #22c55e;--color-frequency-tag: var(--color-surface-secondary)}[ds-theme=dark] header{background:var(--color-surface);border-bottom-color:var(--color-border)}[ds-theme=dark] h1,[ds-theme=dark] h2,[ds-theme=dark] h3,[ds-theme=dark] h4,[ds-theme=dark] h5,[ds-theme=dark] h6{color:var(--color-text-primary)}[ds-theme=dark] p{color:var(--color-text-secondary)}[ds-theme=dark] .spinner-circle{border-color:var(--color-border);border-top-color:var(--color-primary-light)}[ds-theme=dark] .spinner-dots,[ds-theme=dark] .spinner-dots:before,[ds-theme=dark] .spinner-dots:after,[ds-theme=dark] .spinner-pulse,[ds-theme=dark] .spinner-bars,[ds-theme=dark] .spinner-bars:before,[ds-theme=dark] .spinner-bars:after{background:var(--color-primary-light)}.theme-toggle{position:fixed;top:var(--spacing-4);right:var(--spacing-4);z-index:1000;background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-round);width:48px;height:48px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;transition:all .3s ease;box-shadow:var(--shadow-lg)}.theme-toggle:hover{background:var(--color-surface-secondary);transform:scale(1.05)}[ds-theme=dark] .theme-toggle{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}[ds-theme=dark] .theme-toggle:hover{background:var(--color-surface-secondary)}.utility-buttons{position:fixed;top:calc(var(--spacing-4) + 60px);right:var(--spacing-4);z-index:1000;display:flex;flex-direction:column;gap:var(--spacing-2)}.utility-btn{background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-round);width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;transition:all .3s ease;box-shadow:var(--shadow-md)}.utility-btn:hover{background:var(--color-surface-secondary);transform:scale(1.05);box-shadow:var(--shadow-lg)}[ds-theme=dark] .utility-btn{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}[ds-theme=dark] .utility-btn:hover{background:var(--color-surface-secondary)}@media (max-width: 768px){.utility-buttons{top:calc(var(--spacing-3) + 50px);right:var(--spacing-3);gap:var(--spacing-1)}.utility-btn{width:40px;height:40px;font-size:16px}.theme-toggle{width:44px;height:44px;font-size:18px;top:var(--spacing-3);right:var(--spacing-3)}}@media (max-width: 480px){.utility-buttons{top:calc(var(--spacing-2) + 46px);right:var(--spacing-2)}.utility-btn{width:38px;height:38px;font-size:15px}.theme-toggle{width:42px;height:42px;font-size:17px;top:var(--spacing-2);right:var(--spacing-2)}}*{transition:background-color .3s ease,color .3s ease,border-color .3s ease,box-shadow .3s ease}.theme-transitioning *{transition:none!important}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg-primary);min-height:100vh}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-text-accent)}.text-success{color:var(--color-success)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.bg-primary{background:var(--color-primary)}.bg-secondary{background:var(--color-bg-secondary)}.bg-card{background:var(--color-bg-card)}.bg-glass{background:var(--color-bg-glass)}.bg-success{background:var(--color-success-bg)}.bg-danger{background:var(--color-danger-bg)}.bg-transparent{background:transparent}.border{border:var(--border-1) solid var(--color-border-light)}.border-0{border:none}.border-t{border-top:var(--border-1) solid var(--color-border-light)}.border-b{border-bottom:var(--border-1) solid var(--color-border-light)}.border-l{border-left:var(--border-1) solid var(--color-border-light)}.border-r{border-right:var(--border-1) solid var(--color-border-light)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.flex-1{flex:1}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-default{cursor:default}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.fade-in{animation:fadeIn .3s ease-out}.slide-up{animation:slideUp .3s ease-out}.scale-in{animation:scaleIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.hover-lift{transition:var(--transition-transform)}.hover-lift:hover{transform:translateY(-2px)}.hover-shadow{transition:box-shadow .3s ease}.hover-shadow:hover{box-shadow:var(--shadow-lg)}.focus-ring:focus{outline:none;box-shadow:var(--focus-ring)}@media print{.no-print{display:none!important}.card-section,.card{box-shadow:none!important;border:var(--border-width-thin) solid var(--color-gray-300)!important}.btn{border:var(--border-width-thin) solid var(--color-gray-300)!important}}html{color-scheme:light dark;--mat-sys-background: light-dark(#fef8fc, #151316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f5eff4, #323033);--mat-sys-inverse-primary: light-dark(#d5baff, #7d00fa);--mat-sys-inverse-surface: light-dark(#323033, #e6e1e6);--mat-sys-on-background: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #42008a);--mat-sys-on-primary-container: light-dark(#5f00c0, #ecdcff);--mat-sys-on-primary-fixed: light-dark(#270057, #270057);--mat-sys-on-primary-fixed-variant: light-dark(#5f00c0, #5f00c0);--mat-sys-on-secondary: light-dark(#ffffff, #352d40);--mat-sys-on-secondary-container: light-dark(#4b4357, #eadef7);--mat-sys-on-secondary-fixed: light-dark(#1f182a, #1f182a);--mat-sys-on-secondary-fixed-variant: light-dark(#4b4357, #4b4357);--mat-sys-on-surface: light-dark(#1d1b1e, #e6e1e6);--mat-sys-on-surface-variant: light-dark(#49454e, #e8e0eb);--mat-sys-on-tertiary: light-dark(#ffffff, #42008a);--mat-sys-on-tertiary-container: light-dark(#5f00c0, #ecdcff);--mat-sys-on-tertiary-fixed: light-dark(#270057, #270057);--mat-sys-on-tertiary-fixed-variant: light-dark(#5f00c0, #5f00c0);--mat-sys-outline: light-dark(#7b757f, #958e99);--mat-sys-outline-variant: light-dark(#cbc4cf, #49454e);--mat-sys-primary: light-dark(#7d00fa, #d5baff);--mat-sys-primary-container: light-dark(#ecdcff, #5f00c0);--mat-sys-primary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-primary-fixed-dim: light-dark(#d5baff, #d5baff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#645b70, #cec2db);--mat-sys-secondary-container: light-dark(#eadef7, #4b4357);--mat-sys-secondary-fixed: light-dark(#eadef7, #eadef7);--mat-sys-secondary-fixed-dim: light-dark(#cec2db, #cec2db);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#fef8fc, #151316);--mat-sys-surface-bright: light-dark(#fef8fc, #3b383c);--mat-sys-surface-container: light-dark(#f2ecf1, #211f22);--mat-sys-surface-container-high: light-dark(#ede6eb, #2b292d);--mat-sys-surface-container-highest: light-dark(#e6e1e6, #363437);--mat-sys-surface-container-low: light-dark(#f8f2f6, #1d1b1e);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0f0d11);--mat-sys-surface-dim: light-dark(#ded8dd, #151316);--mat-sys-surface-tint: light-dark(#7d00fa, #d5baff);--mat-sys-surface-variant: light-dark(#e8e0eb, #49454e);--mat-sys-tertiary: light-dark(#7d00fa, #d5baff);--mat-sys-tertiary-container: light-dark(#ecdcff, #5f00c0);--mat-sys-tertiary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-tertiary-fixed-dim: light-dark(#d5baff, #d5baff);--mat-sys-neutral-variant20: #332f37;--mat-sys-neutral10: #1d1b1e;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}body{margin:0;padding:0}
