:root{--color-primary: #1e3a5f;--color-primary-light: #2d4a6f;--color-positive: #22c55e;--color-positive-light: #dcfce7;--color-negative: #ef4444;--color-negative-light: #fee2e2;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-text: #1f2937;--color-text-secondary: #4b5563;--color-text-muted: #6b7280;--color-border: #e5e7eb;--color-bg: #f8fafc;--color-card: #ffffff;--color-input-bg: #ffffff;--color-input-border: #d1d5db;--color-table-stripe: #f9fafb;--color-overlay: rgba(0, 0, 0, .3);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-2xl: 32px;--font-size-3xl: 48px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 1px 3px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15);--sidebar-width: 280px;--header-height: 56px}[data-theme=dark]{--color-primary: #3b6ea5;--color-primary-light: #4a7fb8;--color-positive: #4ade80;--color-positive-light: #14532d;--color-negative: #f87171;--color-negative-light: #7f1d1d;--color-warning: #fbbf24;--color-warning-light: #78350f;--color-text: #f3f4f6;--color-text-secondary: #e5e7eb;--color-text-muted: #d1d5db;--color-border: #374151;--color-bg: #111827;--color-card: #1f2937;--color-input-bg: #374151;--color-input-border: #4b5563;--color-table-stripe: #1f2937;--color-overlay: rgba(0, 0, 0, .6);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 1px 3px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .5)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--color-primary: #3b6ea5;--color-primary-light: #4a7fb8;--color-positive: #4ade80;--color-positive-light: #14532d;--color-negative: #f87171;--color-negative-light: #7f1d1d;--color-warning: #fbbf24;--color-warning-light: #78350f;--color-text: #f3f4f6;--color-text-secondary: #e5e7eb;--color-text-muted: #d1d5db;--color-border: #374151;--color-bg: #111827;--color-card: #1f2937;--color-input-bg: #374151;--color-input-border: #4b5563;--color-table-stripe: #1f2937;--color-overlay: rgba(0, 0, 0, .6);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 1px 3px rgba(0, 0, 0, .4);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .5)}}*{box-sizing:border-box;margin:0;padding:0}.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}.skip-to-main{position:absolute;top:-100%;left:50%;transform:translate(-50%);background:var(--color-primary);color:#fff;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);text-decoration:none;font-weight:600;z-index:10000;transition:top .2s ease}.skip-to-main:focus{top:var(--spacing-sm);outline:2px solid var(--color-primary);outline-offset:2px}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}.optional-label{font-weight:400;color:var(--color-text-muted);font-size:var(--font-size-sm)}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideInRight{0%{transform:translate(30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideInLeft{0%{transform:translate(-30px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.fade-in{animation:fadeIn .2s ease-out}.fade-out{animation:fadeOut .2s ease-out}.slide-up{animation:slideUp .3s ease-out}.slide-down{animation:slideDown .3s ease-out}.slide-in-right{animation:slideInRight .3s ease-out}.slide-in-left{animation:slideInLeft .3s ease-out}.scale-in{animation:scaleIn .2s ease-out}.pulse{animation:pulse 1.5s infinite}.bounce{animation:bounce .5s ease-in-out}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.wizard{display:flex;flex-direction:column;min-height:400px;padding:var(--spacing-lg)}.wizard__header{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.wizard__progress{display:flex;gap:var(--spacing-md);align-items:center}.wizard__dot{width:32px;height:32px;border-radius:50%;border:2px solid var(--color-border);background:var(--color-card);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.wizard__dot:disabled{cursor:not-allowed;opacity:.5}.wizard__dot--active{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.wizard__dot--completed{border-color:var(--color-positive);background:var(--color-positive);color:#fff}.wizard__step-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.wizard__content{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center}.wizard__content--forward{animation:slideInRight .3s ease-out}.wizard__content--backward{animation:slideInLeft .3s ease-out}.wizard__icon{margin-bottom:var(--spacing-lg);color:var(--color-primary)}.wizard__title{font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-text)}.wizard__description{font-size:var(--font-size-base);color:var(--color-text-secondary);max-width:400px;margin-bottom:var(--spacing-lg)}.wizard__body{width:100%;max-width:400px}.wizard__body input,.wizard__body select{width:100%;padding:var(--spacing-md);font-size:var(--font-size-lg);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-input-bg);color:var(--color-text);text-align:center;transition:border-color .2s ease}.wizard__body input:focus,.wizard__body select:focus{border-color:var(--color-primary);outline:none}.wizard__body input::placeholder{color:var(--color-text-muted)}.wizard__actions{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.wizard__actions-main{display:flex;gap:var(--spacing-md)}.wizard__button{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:500;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.wizard__button:active:not(:disabled){transform:scale(.98)}.wizard__button--primary{background:var(--color-primary);color:#fff;border:none}.wizard__button--primary:hover:not(:disabled){background:var(--color-primary-light)}.wizard__button--primary:disabled{opacity:.6;cursor:not-allowed}.wizard__button--secondary{background:var(--color-card);color:var(--color-text);border:1px solid var(--color-border)}.wizard__button--secondary:hover{background:var(--color-bg)}.wizard__button--skip{background:transparent;color:var(--color-text-muted);border:none}.wizard__button--skip:hover{color:var(--color-text)}.ai-advisor-card{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);border-radius:var(--radius-lg);padding:var(--spacing-lg);color:#fff;margin-bottom:var(--spacing-lg);animation:slideUp .3s ease-out}.ai-advisor-card__header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.ai-advisor-card__avatar{width:48px;height:48px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center}.ai-advisor-card__greeting{font-size:var(--font-size-lg);font-weight:600}.ai-advisor-card__insight{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--spacing-md);line-height:1.3}.ai-advisor-card__message{font-size:var(--font-size-base);opacity:.9;margin-bottom:var(--spacing-lg)}.ai-advisor-card__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.ai-advisor-card__action{padding:var(--spacing-sm) var(--spacing-md);background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:20px;color:#fff;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.ai-advisor-card__action:hover{background:#ffffff4d}.ai-advisor-card__action:active{transform:scale(.98)}.quick-action{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.quick-action:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.quick-action:active{transform:scale(.99)}.quick-action__icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--color-bg);display:flex;align-items:center;justify-content:center;color:var(--color-primary);flex-shrink:0}.quick-action__content{flex:1;min-width:0}.quick-action__label{font-weight:600;color:var(--color-text);margin-bottom:2px}.quick-action__description{font-size:var(--font-size-sm);color:var(--color-text-muted)}.quick-action--primary{background:var(--color-primary);border-color:var(--color-primary)}.quick-action--primary .quick-action__icon{background:#fff3;color:#fff}.quick-action--primary .quick-action__label,.quick-action--primary .quick-action__description{color:#fff}.quick-action--primary .quick-action__description{opacity:.8}.tab-nav{display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs);background:var(--color-bg);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.tab-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.tab-nav__item:hover{background:var(--color-card);color:var(--color-text)}.tab-nav__item--active{background:var(--color-card);color:var(--color-primary);box-shadow:var(--shadow-sm)}.tab-nav__icon{width:24px;height:24px}.sub-nav{display:flex;gap:var(--spacing-md);padding-bottom:var(--spacing-md);margin-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border);overflow-x:auto}.sub-nav__item{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;white-space:nowrap;cursor:pointer;transition:all .2s ease}.sub-nav__item:hover{color:var(--color-text);background:var(--color-bg)}.sub-nav__item--active{color:var(--color-primary);background:var(--color-primary-light);background:#1e3a5f1a}.nav-tab{padding:var(--spacing-sm) var(--spacing-lg);background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .2s ease}.nav-tab:hover{color:var(--color-text);background:var(--color-bg)}.nav-tab.active{color:var(--color-primary);background:var(--color-card);box-shadow:var(--shadow-sm)}.sub-nav-scroll{display:flex;gap:var(--spacing-sm);overflow-x:auto;padding-bottom:var(--spacing-xs);scrollbar-width:thin}.sub-nav-item{padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:500;white-space:nowrap;cursor:pointer;transition:all .2s ease}.sub-nav-item:hover{color:var(--color-text);background:var(--color-bg)}.sub-nav-item.active{color:var(--color-primary);background:#1e3a5f1a}.wizard-type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);width:100%}@media(max-width:480px){.wizard-type-grid{grid-template-columns:1fr}}.wizard-type-option{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-lg);background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-align:center}.wizard-type-option:hover{border-color:var(--color-primary);background:var(--color-bg)}.wizard-type-option--selected{border-color:var(--color-primary);background:#1e3a5f0d}.wizard-type-option__icon{font-size:32px}.wizard-type-option__label{font-weight:600;color:var(--color-text)}.wizard-type-option__description{font-size:var(--font-size-sm);color:var(--color-text-muted)}.wizard-currency-input{display:flex;align-items:center;gap:var(--spacing-sm);width:100%}.wizard-currency-symbol{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text-muted)}.wizard-currency-input input{flex:1;font-size:var(--font-size-2xl)!important;text-align:left!important}.wizard-input-group{width:100%}.wizard-input-stack{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%}.wizard-option-list{display:flex;flex-direction:column;gap:var(--spacing-sm);width:100%}.wizard-option-button{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;color:var(--color-text);cursor:pointer;transition:all .2s ease;text-align:center}.wizard-option-button:hover{border-color:var(--color-primary)}.wizard-option-button--selected{border-color:var(--color-primary);background:#1e3a5f1a;color:var(--color-primary)}.metric-value--large{font-size:var(--font-size-3xl);font-weight:700;line-height:1.1}.metric-value--xl{font-size:56px;font-weight:700;line-height:1.1}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);line-height:1.5;font-size:var(--font-size-base)}.layout{min-height:100vh}.main{max-width:1200px;margin:0 auto;padding:2rem}.net-worth-card{background:var(--color-card);border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:var(--shadow-md)}.net-worth-card h2{font-size:1rem;color:var(--color-text-secondary);margin-bottom:.5rem}.net-worth-amount{font-size:3rem;font-weight:700;margin-bottom:1rem}.net-worth-breakdown{display:flex;gap:2rem}.net-worth-breakdown .label{display:block;font-size:.875rem;color:var(--color-text-secondary)}.net-worth-breakdown .value{font-size:1.25rem;font-weight:600}.positive{color:var(--color-positive)}.negative{color:var(--color-negative)}.warning{margin-top:1rem;padding:.5rem;background:var(--color-warning-light);border-radius:4px;font-size:.875rem;color:var(--color-warning)}.account-group{background:var(--color-card);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-md)}.account-group h3{margin-bottom:1rem;color:var(--color-text)}.empty{color:var(--color-text-muted);font-style:italic}.account-list{list-style:none}.account-item{display:flex;align-items:center;padding:1rem 0;border-bottom:1px solid var(--color-border)}.account-item:last-child{border-bottom:none}.account-info{flex:1}.account-name{font-weight:600;display:block}.account-type{font-size:.875rem;color:var(--color-text-secondary);text-transform:capitalize}.account-institution{font-size:.875rem;color:var(--color-text-muted);margin-left:.5rem}.account-balance{font-size:1.125rem;font-weight:600;margin-right:1rem}.account-actions{display:flex;gap:.5rem}.account-actions button{padding:.25rem .75rem;border:1px solid var(--color-border);background:var(--color-card);border-radius:4px;cursor:pointer;color:var(--color-text)}.account-actions button:hover{background:var(--color-bg)}.account-form{background:var(--color-card);border-radius:12px;padding:2rem;max-width:500px;margin:0 auto}.account-form h2{margin-bottom:1.5rem}.account-form label{display:block;margin-bottom:1rem;font-weight:500}.account-form input,.account-form select{display:block;width:100%;padding:.75rem;margin-top:.25rem;border:1px solid var(--color-input-border);border-radius:4px;font-size:1rem;background:var(--color-input-bg);color:var(--color-text)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}.form-actions button{padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;cursor:pointer}.form-actions button[type=submit]{background:var(--color-primary);color:#fff;border:none}.form-actions button[type=button]{background:var(--color-card);border:1px solid var(--color-border);color:var(--color-text)}.add-button{display:inline-block;padding:.75rem 1.5rem;background:var(--color-primary);color:#fff;border:none;border-radius:4px;font-size:1rem;cursor:pointer;margin-bottom:1rem}.exchange-rates{background:var(--color-card);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-md)}.exchange-rates h3{margin-bottom:.5rem}.hint{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:1rem}.rate-form{display:flex;gap:.5rem;align-items:center;margin-bottom:1rem;flex-wrap:wrap}.rate-form select,.rate-form input{padding:.5rem;border:1px solid var(--color-input-border);border-radius:4px;background:var(--color-input-bg);color:var(--color-text)}.rate-form input{width:100px}.rate-form button{padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer}.rate-list{list-style:none}.rate-item{display:flex;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.rate-item:last-child{border-bottom:none}.rate-pair{font-weight:600;min-width:100px}.rate-value{font-family:monospace}.rate-date{flex:1;font-size:.875rem;color:var(--color-text-muted)}.rate-item button{padding:.25rem .5rem;border:1px solid var(--color-border);background:var(--color-card);border-radius:4px;cursor:pointer;color:var(--color-text)}.exchange-rates-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.exchange-rates-header h3{margin:0}.exchange-rates-status{display:flex;align-items:center;gap:.5rem;font-size:.875rem}.status-indicator{width:8px;height:8px;border-radius:50%;flex-shrink:0}.refresh-button{padding:.25rem .75rem;font-size:.875rem;cursor:pointer}.refresh-button:disabled{opacity:.6;cursor:not-allowed}.rate-source{font-size:.75rem;color:var(--color-text-secondary);margin-left:.5rem}.rate-source.manual{color:var(--color-primary);font-weight:500}.rate-source.auto{color:var(--color-text-secondary)}.clear-button{padding:.125rem .5rem;font-size:.75rem;margin-left:.5rem;background:transparent;border:1px solid var(--color-border);border-radius:3px;cursor:pointer;color:var(--color-text)}.clear-button:hover{background:var(--color-bg)}.manual-override-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.manual-override-section h4{margin:0 0 .75rem;font-size:.875rem;color:var(--color-text-secondary);font-weight:500}.card{background:var(--color-card);border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-md)}.card h3{margin-bottom:1rem}.cashflow-page h2,.cashflow-summary{margin-bottom:1.5rem}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1rem}.summary-item{text-align:center}.summary-item .label{display:block;font-size:.875rem;color:var(--color-text-muted);margin-bottom:.25rem}.summary-item .value{display:block;font-size:1.5rem;font-weight:600}.summary-item.income .value{color:var(--color-positive)}.summary-item.expenses .value{color:var(--color-negative)}.summary-item.net.positive .value{color:var(--color-positive)}.summary-item.net.negative .value{color:var(--color-negative)}.cashflow-lists{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.item-list{list-style:none;padding:0;margin:0}.item-list li{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.item-list li:last-child{border-bottom:none}.item-list .name{font-weight:500}.item-list .amount{color:var(--color-text-muted)}.item-list li.liability-expense{background-color:var(--bg-muted, #f9fafb);margin:0 -.5rem;padding-left:.5rem;padding-right:.5rem;border-radius:4px}.link-icon{margin-right:.25rem}.auto-label{font-size:.75rem;color:var(--text-muted, #6b7280);font-style:italic}.end-date{color:var(--text-muted, #6b7280);font-size:.85em}.income-page{padding:1.5rem}.income-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.income-page .page-header h2{margin:0}.income-summary{margin-bottom:1.5rem}.expenses-page{padding:1.5rem}.expenses-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.expenses-page .page-header h2{margin:0}.expenses-summary{margin-bottom:1.5rem}.badge{display:inline-block;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;margin-left:.5rem}.badge.pre-tax{background-color:#dbeafe;color:#1e40af}.badge.essential{background-color:#d1fae5;color:#065f46}[data-theme=dark] .badge.pre-tax{background-color:#1e3a5f;color:#93c5fd}[data-theme=dark] .badge.essential{background-color:#064e3b;color:#6ee7b7}.date-info{color:var(--text-muted, #6b7280);font-size:.85em}.item-form{max-width:500px}.item-form h3{margin-bottom:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:500;margin-bottom:.25rem;font-size:.875rem}.form-group input,.form-group select{width:100%;padding:.5rem;border:1px solid var(--color-input-border);border-radius:.375rem;font-size:1rem;background:var(--color-input-bg);color:var(--color-text)}.form-group.checkbox label{display:flex;align-items:center;gap:.5rem;font-weight:400}.form-group.checkbox input{width:auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.custom-cadence-group{background:var(--color-bg);padding:1rem;border-radius:6px;border:1px solid var(--color-border)}.custom-cadence-input{display:flex;align-items:center;gap:.5rem}.custom-cadence-input input{text-align:center}.form-hint{display:block;margin-top:.5rem;color:var(--color-text-muted);font-size:.75rem}.form-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.5rem}.form-actions button{padding:.5rem 1rem}.form-actions button.primary{background:var(--color-primary);color:#fff}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-header h3{margin:0}.add-button.small{padding:.25rem .75rem;font-size:.875rem}.item-list li{display:flex;justify-content:space-between;align-items:center}.item-info{display:flex;flex-direction:column}.item-info .details{font-size:.875rem;color:var(--color-text-muted)}.item-actions{display:flex;gap:.5rem}.item-actions button{padding:.25rem .5rem;font-size:.75rem;background:transparent;border:1px solid var(--color-border);border-radius:.25rem;cursor:pointer;color:var(--color-text)}.item-actions button:hover{background:var(--color-bg)}.cashflow-chart{margin-bottom:1.5rem}.cashflow-chart h3{margin-bottom:1rem}.liabilities-page{max-width:1200px;margin:0 auto}.liability-list{background:var(--color-card);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-md)}.liability-item{padding:1rem;border:1px solid var(--color-border);border-radius:6px;margin-bottom:.75rem;cursor:pointer;transition:all .2s}.liability-item:hover,.liability-item.selected{border-color:var(--color-primary);background:var(--color-bg)}.liability-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.liability-header .balance{font-weight:600;color:var(--color-negative)}.liability-summary{display:flex;gap:1rem;font-size:.875rem;color:var(--color-text-secondary)}.add-details-btn{background:var(--color-bg);border:1px dashed var(--color-text-muted);padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;color:var(--color-text-secondary)}.add-details-btn:hover{background:var(--color-border);border-color:var(--color-text-secondary)}.liability-detail{background:var(--color-card);border-radius:8px;padding:1.5rem;box-shadow:var(--shadow-md)}.detail-actions{display:flex;gap:.5rem;margin-bottom:1.5rem}.detail-actions .delete-btn{background:var(--color-negative-light);color:var(--color-negative);border-color:var(--color-negative)}.detail-actions .delete-btn:hover{opacity:.8}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card{background:var(--color-bg);border-radius:6px;padding:1rem}.summary-card h4{margin:0 0 .75rem;font-size:.875rem;color:var(--color-text-secondary);text-transform:uppercase}.summary-card p{margin:.25rem 0;font-size:.9rem}.extra-payment-section{background:var(--color-positive-light);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.extra-payment-section h4{margin:0 0 1rem;color:var(--color-positive)}.slider-row{display:flex;align-items:center;gap:1rem}.slider-row input[type=range]{flex:1;height:8px;-webkit-appearance:none;background:var(--color-positive-light);border-radius:4px;outline:none}.slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;background:var(--color-positive);border-radius:50%;cursor:pointer}.comparison-result{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-positive-light)}.comparison-result .savings{color:var(--color-positive);font-weight:600;font-size:1.1rem}.amortization-table{margin-top:1.5rem}.amortization-table h4{margin-bottom:1rem}.table-wrapper{overflow-x:auto}.amortization-table table{width:100%;border-collapse:collapse;font-size:.875rem}.amortization-table th,.amortization-table td{padding:.5rem .75rem;text-align:right;border-bottom:1px solid var(--color-border)}.amortization-table th{background:var(--color-table-stripe);font-weight:600;text-align:right}.amortization-table th:first-child,.amortization-table td:first-child{text-align:left}.table-note{margin-top:.5rem;font-size:.75rem;color:var(--color-text-muted);font-style:italic}.liability-form{background:var(--color-card);border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem}.liability-form h3{margin:0 0 1.5rem}.liability-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.liability-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem;color:var(--color-text)}.liability-form input[type=number],.liability-form input[type=date]{padding:.5rem;border:1px solid var(--color-input-border);border-radius:4px;font-size:1rem}.liability-form .checkbox-label{flex-direction:row;align-items:center;gap:.5rem}.liability-form .checkbox-label input{width:auto}.liability-form .form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.liability-form .form-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.liability-form .form-section h4{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:var(--color-text)}.liability-form .section-description{font-size:.8rem;color:var(--color-text-muted);margin:0 0 .75rem}.liability-form .interest-only-options{margin-left:1.5rem;display:flex;flex-direction:column;gap:.5rem}.liability-form .radio-label{display:flex;align-items:center;gap:.5rem;flex-direction:row}.liability-form .radio-label input[type=radio]{width:auto}.liability-form .inline-input{width:60px;padding:.25rem;margin:0 .25rem;text-align:center}.liability-form .offset-account-list{display:flex;flex-direction:column;gap:.5rem}.liability-form .offset-account-item{display:flex;align-items:center;padding:.5rem;background:var(--color-table-stripe);border-radius:4px;justify-content:flex-start}.liability-form .offset-account-name{flex:1;margin-left:.5rem}.liability-form .offset-account-balance{color:var(--color-positive);font-weight:500}.liability-form .offset-summary{margin-top:.75rem;padding:.75rem;background:#ecfdf5;border-radius:4px;font-size:.875rem}.liability-form .offset-summary p{margin:.25rem 0}.summary-card.offset-card{background:#ecfdf5}.summary-card .loan-type{color:#2563eb;font-style:italic}.summary-card .offset-savings{color:var(--color-positive);font-style:italic;font-size:.875rem}.amortization-table .io-row{background:#fef3c7}[data-theme=dark] .liability-form .offset-summary,[data-theme=dark] .summary-card.offset-card{background:#064e3b}[data-theme=dark] .amortization-table .io-row{background:#78350f}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-lg);gap:var(--spacing-md)}.empty-state--sm{padding:var(--spacing-md);gap:var(--spacing-sm)}.empty-state--md{padding:var(--spacing-lg);gap:var(--spacing-md)}.empty-state--lg{padding:var(--spacing-xl);gap:var(--spacing-md)}.empty-state__icon{display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);opacity:.6}.empty-state__icon svg{width:100%;height:100%}.empty-state__title{margin:0;font-weight:600;color:var(--color-text)}.empty-state--sm .empty-state__title{font-size:var(--font-size-base)}.empty-state--md .empty-state__title{font-size:var(--font-size-lg)}.empty-state--lg .empty-state__title{font-size:var(--font-size-xl)}.empty-state__description{margin:0;color:var(--color-text-secondary);max-width:320px;line-height:1.5}.empty-state--sm .empty-state__description{font-size:var(--font-size-sm)}.empty-state--md .empty-state__description,.empty-state--lg .empty-state__description{font-size:var(--font-size-base)}.empty-state__actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center;margin-top:var(--spacing-sm)}.empty-state__action{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background-color .2s ease}.empty-state__action:hover{background-color:var(--color-primary-light)}.empty-state__action:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.empty-state__action--secondary{background-color:transparent;color:var(--color-primary);border:1px solid var(--color-border)}.empty-state__action--secondary:hover{background-color:var(--color-bg)}.empty-state__help-text{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:320px;line-height:1.5;font-style:italic}.empty-state__learn-more{font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:none}.empty-state__learn-more:hover{text-decoration:underline}.empty-state.card,.card .empty-state{background:var(--color-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}p.empty-state{display:block;color:var(--color-text-muted);font-style:italic;padding:var(--spacing-lg);text-align:center}.welcome-modal-overlay{position:fixed;inset:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md)}.welcome-modal{position:relative;background:var(--color-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:100%;max-width:400px;padding:var(--spacing-xl);animation:welcome-modal-enter .3s ease}@keyframes welcome-modal-enter{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.welcome-modal__skip{position:absolute;top:var(--spacing-md);right:var(--spacing-md);background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);transition:color .2s ease,background-color .2s ease}.welcome-modal__skip:hover{color:var(--color-text);background-color:var(--color-bg)}.welcome-modal__content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-lg) 0}.welcome-modal__icon{color:var(--color-primary);margin-bottom:var(--spacing-lg)}.welcome-modal__title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-md) 0}.welcome-modal__description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;line-height:1.6;max-width:300px}.welcome-modal__progress{display:flex;justify-content:center;gap:var(--spacing-sm);margin:var(--spacing-lg) 0}.welcome-modal__dot{width:8px;height:8px;border-radius:50%;background-color:var(--color-border);transition:background-color .2s ease,transform .2s ease}.welcome-modal__dot--active{background-color:var(--color-primary);transform:scale(1.2)}.welcome-modal__actions{display:flex;gap:var(--spacing-sm);justify-content:center}.welcome-modal__button{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:background-color .2s ease;min-width:100px}.welcome-modal__button--primary{background-color:var(--color-primary);color:#fff;border:none}.welcome-modal__button--primary:hover{background-color:var(--color-primary-light)}.welcome-modal__button--secondary{background-color:transparent;color:var(--color-text);border:1px solid var(--color-border)}.welcome-modal__button--secondary:hover{background-color:var(--color-bg)}.welcome-modal--expanded{max-width:480px}.welcome-modal--success{max-width:400px}.welcome-modal__icon--success{color:var(--color-success, #22c55e)}.welcome-modal__progress-bar{position:absolute;top:0;left:0;right:0;height:4px;background-color:var(--color-border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden}.welcome-modal__progress-fill{height:100%;background-color:var(--color-primary);transition:width .3s ease}.welcome-modal__step{display:flex;flex-direction:column;align-items:center;text-align:center}.welcome-modal__input-group{width:100%;max-width:300px;margin-top:var(--spacing-lg)}.welcome-modal__input-group--currency{position:relative;display:flex;align-items:center;gap:var(--spacing-xs)}.welcome-modal__currency-symbol{font-size:var(--font-size-2xl, 1.75rem);font-weight:500;color:var(--color-text-muted)}.welcome-modal__currency-symbol--small{font-size:var(--font-size-base)}.welcome-modal__input{width:100%;padding:var(--spacing-md);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);color:var(--color-text);background-color:var(--color-bg);transition:border-color .2s ease,box-shadow .2s ease}.welcome-modal__input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb, 37, 99, 235),.1)}.welcome-modal__input::placeholder{color:var(--color-text-muted)}.welcome-modal__input--large{font-size:var(--font-size-xl, 1.25rem);padding:var(--spacing-md) var(--spacing-lg);text-align:center}.welcome-modal__input--currency{text-align:left;padding-left:var(--spacing-sm);flex:1}.welcome-modal__input-suffix{font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap}.welcome-modal__expense-list{width:100%;display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-lg)}.welcome-modal__expense-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.welcome-modal__expense-label{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text);min-width:140px}.welcome-modal__expense-icon{color:var(--color-text-muted);display:flex;align-items:center;justify-content:center}.welcome-modal__expense-input-wrapper{display:flex;align-items:center;gap:var(--spacing-xs)}.welcome-modal__input--expense{width:100px;padding:var(--spacing-sm);font-size:var(--font-size-sm);text-align:right}.welcome-modal__goal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);width:100%;margin-top:var(--spacing-lg)}.welcome-modal__goal-card{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-lg);background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.welcome-modal__goal-card:hover{border-color:var(--color-primary);background-color:var(--color-card)}.welcome-modal__goal-card--selected{border-color:var(--color-primary);background-color:rgba(var(--color-primary-rgb, 37, 99, 235),.05)}.welcome-modal__goal-card:active{transform:scale(.98)}.welcome-modal__goal-icon{color:var(--color-primary);display:flex;align-items:center;justify-content:center}.welcome-modal__goal-label{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text)}.welcome-modal__goal-description{font-size:var(--font-size-xs, .75rem);color:var(--color-text-muted);text-align:center}.mobile-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--color-card);border-top:1px solid var(--color-border);padding:var(--spacing-xs) 0;padding-bottom:env(safe-area-inset-bottom,var(--spacing-xs));z-index:900}@media(max-width:768px){.mobile-nav{display:flex;justify-content:space-around}.app-body{padding-bottom:calc(70px + env(safe-area-inset-bottom,0px))}}.mobile-nav__item{display:flex;flex-direction:column;align-items:center;gap:2px;background:none;border:none;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-muted);cursor:pointer;transition:color .2s ease;min-width:60px}.mobile-nav__item:hover,.mobile-nav__item--active{color:var(--color-primary)}.mobile-nav__icon{display:flex;align-items:center;justify-content:center}.mobile-nav__label{font-size:10px;font-weight:500}.mobile-nav-overlay{display:none;position:fixed;inset:0;background:var(--color-overlay);z-index:899}@media(max-width:768px){.mobile-nav-overlay{display:block}}.mobile-nav-sheet{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--color-card);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-lg);z-index:901;padding-bottom:env(safe-area-inset-bottom,var(--spacing-md));animation:mobile-sheet-slide-up .2s ease}@media(max-width:768px){.mobile-nav-sheet{display:block}}@keyframes mobile-sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.mobile-nav-sheet__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.mobile-nav-sheet__title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.mobile-nav-sheet__close{background:none;border:none;color:var(--color-text-muted);padding:var(--spacing-xs);cursor:pointer;border-radius:var(--radius-sm)}.mobile-nav-sheet__close:hover{background-color:var(--color-bg);color:var(--color-text)}.mobile-nav-sheet__items{padding:var(--spacing-sm) 0}.mobile-nav-sheet__item{display:block;width:100%;text-align:left;background:none;border:none;padding:var(--spacing-md) var(--spacing-lg);font-size:var(--font-size-base);color:var(--color-text);cursor:pointer;transition:background-color .2s ease}.mobile-nav-sheet__item:hover{background-color:var(--color-bg)}.mobile-nav-sheet__item--active{color:var(--color-primary);font-weight:500}@media(pointer:coarse){.nav-item,.header-dropdown-menu button{min-height:48px;padding:12px 16px}.mobile-nav__item,.mobile-nav-sheet__item,.welcome-modal__button{min-height:48px}.empty-state__action{min-height:44px;padding:var(--spacing-sm) var(--spacing-lg)}}.projections-page{padding:20px}.projections-page h2{margin-bottom:24px}.projections-content{display:flex;flex-direction:column;gap:24px}.projection-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.projection-summary .summary-card{background:var(--color-card);border-radius:8px;padding:20px;text-align:center}.projection-summary .summary-label{font-size:14px;color:#666;margin-bottom:8px}.projection-summary .summary-value{font-size:24px;font-weight:600}.projection-summary .summary-value.success{color:#22c55e}.projection-summary .summary-value.warning{color:#f59e0b}.projection-chart{background:var(--color-card);border-radius:8px;padding:20px}.projection-chart-empty,.projection-setup-prompt{background:var(--color-card);border-radius:8px;padding:40px;text-align:center;color:#666}.projection-settings{background:var(--color-card);border-radius:8px;padding:20px}.projection-settings h3{margin-bottom:16px;font-size:18px}.projection-settings h4{margin-top:24px;margin-bottom:12px;font-size:16px;color:#666}.settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.setting-group{display:flex;flex-direction:column;gap:4px}.setting-group label{font-size:14px;color:var(--color-text)}.setting-group input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;color:var(--color-text);background-color:var(--color-input-bg)}.setting-group input:focus{outline:none;border-color:#3b82f6}.nav-dropdown{position:relative}.nav-dropdown-trigger{display:flex;align-items:center;gap:6px;background:none;border:none;padding:8px 12px;cursor:pointer;border-radius:6px;font-size:14px;color:var(--color-text);font-weight:500}.nav-dropdown-trigger:hover{background:var(--color-table-stripe)}.nav-dropdown-trigger.active{background:#3b82f6;color:#fff}.dropdown-arrow{font-size:10px;opacity:.7}.nav-dropdown-menu{position:absolute;top:100%;left:0;margin-top:4px;background:var(--color-card);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:160px;z-index:100;padding:4px}.nav-dropdown-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:10px 12px;cursor:pointer;border-radius:6px;font-size:14px;color:var(--color-text)}.nav-dropdown-menu button:hover{background:var(--color-table-stripe)}.nav-dropdown-menu button.active{background:#eff6ff;color:#3b82f6;font-weight:500}.dashboard-page{padding:24px;max-width:1200px;margin:0 auto}.dashboard-page .summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.dashboard-page .summary-card{background:var(--color-card);border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.summary-label{font-size:14px;color:var(--color-text-muted);margin-bottom:8px}.summary-value{font-size:28px;font-weight:600}.summary-value.positive{color:#22c55e}.summary-value.negative{color:#ef4444}.summary-value.success{color:var(--color-positive)}.summary-value.warning{color:var(--color-warning)}.summary-hint{font-size:12px;color:var(--color-text-muted);margin-top:4px}.alerts-section{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;padding:16px}.alert-item{display:flex;align-items:center;gap:12px;padding:8px 0}.alert-item:not(:last-child){border-bottom:1px solid #fde68a}.alert-icon{color:#f59e0b}.alert-message{flex:1;color:#92400e}.alert-link{background:none;border:none;color:#d97706;cursor:pointer;font-weight:500}.alert-link:hover{text-decoration:underline}.alert-more{color:#92400e;font-size:13px;padding-top:8px}.welcome-card{background:var(--color-card);border-radius:8px;padding:32px;text-align:center;box-shadow:0 1px 3px #0000001a}.welcome-card h2{margin-bottom:16px}.setup-checklist{list-style:none;padding:0;margin-top:24px}.setup-checklist li{margin:12px 0}.setup-checklist button{background:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:14px}.setup-checklist button:hover{background:#2563eb}.accounts-page{padding:24px;max-width:800px;margin:0 auto}.accounts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.account-section{margin-bottom:32px}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--color-border)}.section-header h3{margin:0}.section-total{font-size:18px;font-weight:600}.account-row{display:flex;align-items:center;padding:12px;background:var(--color-card);border-radius:6px;margin-bottom:8px;cursor:pointer;box-shadow:0 1px 2px #0000000d}.account-row:hover{background:var(--color-table-stripe)}.account-row .account-info{flex:1}.account-row .account-name{font-weight:500;display:block;color:var(--color-text)}.account-row .account-type{font-size:12px;color:var(--color-text-muted);text-transform:capitalize}.account-row .account-balance{text-align:right;margin-right:12px;color:var(--color-text)}.converted-balance{display:block;font-size:12px;color:var(--color-text-secondary)}.equity-info{display:block;font-size:12px;color:#10b981;font-weight:500}.linked-info{color:#8b5cf6;font-weight:400}.property-details-section{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border)}.property-details-section h3{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--color-text)}.delete-button{background:none;border:none;color:var(--color-text-muted);font-size:20px;cursor:pointer;padding:4px 8px}.delete-button:hover{color:var(--color-negative)}.account-groups{display:flex;flex-direction:column;gap:16px}.account-type-group{background:var(--color-table-stripe);border-radius:8px;overflow:hidden}.type-header{padding:8px 16px;background:var(--color-border);font-size:12px;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.5px}.account-type-group .account-list{padding:0}.account-type-group .account-row{border-radius:0;border-bottom:1px solid var(--color-border)}.account-type-group .account-row:last-child{border-bottom:none}.net-worth-footer{display:flex;justify-content:space-between;align-items:center;padding:16px;background:var(--color-primary);color:#fff;border-radius:8px;font-size:18px;font-weight:600}.net-worth-footer .positive{color:#4ade80}.net-worth-footer .negative{color:#f87171}.settings-page{padding:24px;max-width:800px;margin:0 auto}.settings-section{background:var(--color-card);border-radius:8px;padding:24px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.settings-section h3{margin-top:0;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid var(--color-border)}.settings-section h4{margin-top:24px;margin-bottom:12px;color:var(--color-text-muted)}.settings-page .settings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.settings-page .setting-group{display:flex;flex-direction:column;gap:4px}.settings-page .setting-group label{font-size:13px;color:var(--color-text);font-weight:500}.settings-page .setting-group input,.settings-page .setting-group select{padding:8px 12px;border:1px solid var(--color-input-border);border-radius:6px;font-size:14px;color:var(--color-text);background-color:var(--color-input-bg)}.data-management{display:flex;flex-direction:column;gap:24px}.data-action{padding:16px;background:var(--color-table-stripe);border-radius:6px}.data-action h4{margin:0 0 8px}.data-action p{margin:0 0 12px;color:var(--color-text-muted);font-size:14px}.data-action.danger{background:#fef2f2;border:1px solid #fecaca}.data-action.danger h4{color:var(--color-negative)}.danger-button{background:#dc2626;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;margin-top:8px}.danger-button:disabled{background:#9ca3af;cursor:not-allowed}.error-message{color:var(--color-negative);font-size:14px}.import-preview{color:var(--color-positive);font-size:14px}.settings-section .section-description{color:var(--color-text-muted);font-size:14px;margin:0 0 16px}.timeline-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.timeline-column h4{margin:0 0 12px;font-size:14px;color:var(--color-text)}.timeline-table{width:100%;border-collapse:collapse;font-size:13px}.timeline-table th,.timeline-table td{text-align:left;padding:8px;border-bottom:1px solid var(--color-border)}.timeline-table th{font-weight:600;color:var(--color-text-muted);font-size:12px;text-transform:uppercase}.timeline-table .liability-expense{background:#f0fdf4}.timeline-table .link-icon{margin-right:4px}.stocks-page{max-width:800px;margin:0 auto}.stocks-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.stocks-header h2{margin:0}.stocks-actions{display:flex;gap:.5rem}.stocks-summary{background:var(--card-bg, #f8f9fa);padding:1rem;border-radius:8px;margin-bottom:1.5rem;display:flex;justify-content:space-between;align-items:center}.holdings-list{display:flex;flex-direction:column;gap:1rem}.holding-card{background:var(--color-card);border:1px solid #e0e0e0;border-radius:8px;padding:1rem}.holding-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.holding-title{display:flex;flex-direction:column}.holding-symbol{font-size:1.25rem;font-weight:700}.holding-name{color:#666;font-size:.9rem}.holding-actions{display:flex;gap:.25rem}.holding-details{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #eee}.price-info{display:flex;align-items:baseline;gap:.5rem}.price{font-size:1.1rem;font-weight:500}.price-age{color:#888;font-size:.8rem}.unvested-info{text-align:right}.unvested-shares{display:block;color:#666;font-size:.9rem}.unvested-value{font-weight:700;color:#2e7d32}.grants-section{margin-top:.75rem}.grants-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-weight:500;color:#666}.grants-list{list-style:none;padding:0;margin:0}.grant-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:#f8f9fa;border-radius:4px;margin-bottom:.25rem}.grant-info{display:flex;gap:.5rem;align-items:baseline}.grant-name{font-weight:500}.grant-unvested{color:#666;font-size:.85rem}.grant-actions{display:flex;gap:.25rem}.no-grants{color:#888;font-style:italic;font-size:.9rem}.icon-button{background:none;border:none;cursor:pointer;padding:.25rem .5rem;border-radius:4px;font-size:1rem}.icon-button:hover{background:#e0e0e0}.icon-button.small{font-size:.8rem;padding:.15rem .35rem}.icon-button.danger:hover{background:#ffebee;color:#c62828}.small-add-button{background:none;border:1px dashed #ccc;color:#666;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.85rem}.small-add-button:hover{border-color:#999;color:#333}.grant-modal{max-width:500px}.vesting-events{display:flex;flex-direction:column;gap:.5rem}.vesting-event-row{display:flex;gap:.5rem;align-items:center}.vesting-event-row input[type=date]{flex:1}.vesting-event-row input[type=number]{width:100px}.secondary-button{background:#e0e0e0;color:#333;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer}.secondary-button:hover{background:#d0d0d0}.category-badge{font-size:11px;background:var(--color-table-stripe);color:var(--color-text);padding:2px 6px;border-radius:4px;margin-left:8px}.growth-rate{font-size:12px;color:#10b981;margin-left:8px}.yoy-card{margin-bottom:1.5rem}.yoy-card h3{margin-bottom:1rem}.yoy-table{display:flex;flex-direction:column;gap:.5rem}.yoy-header{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:1rem;padding:.5rem 0;border-bottom:2px solid var(--color-border);font-weight:600;font-size:.875rem;color:var(--color-text-muted)}.yoy-header span:not(:first-child){text-align:right}.yoy-row{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.5fr;gap:1rem;padding:.75rem 0;border-bottom:1px solid #f3f4f6;align-items:center}.yoy-row:last-child{border-bottom:none}.yoy-row-net{background:var(--color-table-stripe);margin:0 -1.5rem;padding-left:1.5rem;padding-right:1.5rem;border-radius:0 0 12px 12px;font-weight:600}.yoy-label{font-weight:500;color:var(--color-text)}.yoy-value{text-align:right;color:var(--color-text-muted)}.yoy-change{text-align:right;font-weight:500}.change-positive{color:var(--color-positive)}.change-negative{color:var(--color-negative)}.view-toggle{display:flex;gap:0;margin-bottom:1rem}.view-toggle button{padding:.5rem 1.5rem;border:1px solid var(--border-color, #e5e7eb);background:var(--card-background, white);cursor:pointer;font-size:.9rem}.view-toggle button:first-child{border-radius:4px 0 0 4px}.view-toggle button:last-child{border-radius:0 4px 4px 0;border-left:none}.view-toggle button:not(:first-child):not(:last-child){border-radius:0;border-left:none}.view-toggle button.active{background:var(--primary-color, #3b82f6);color:#fff;border-color:var(--primary-color, #3b82f6)}.yearly-cash-flow{max-height:500px;overflow-y:auto}.yearly-cash-flow h3{margin-bottom:1rem;position:sticky;top:0;background:var(--color-card);padding-bottom:.5rem}.yearly-table{width:100%;border-collapse:collapse}.yearly-table th,.yearly-table td{padding:.75rem 1rem;text-align:right;border-bottom:1px solid var(--color-border)}.yearly-table th{font-weight:600;color:var(--color-text-muted);background:var(--color-table-stripe);position:sticky;top:2.5rem}.yearly-table th:first-child,.yearly-table td:first-child{text-align:left}.yearly-table td.income{color:var(--color-positive)}.yearly-table td.expenses{color:var(--color-negative)}.yearly-table td.positive{color:var(--color-positive);font-weight:600}.yearly-table td.negative{color:var(--color-negative);font-weight:600}.assumptions-panel{margin-top:1.5rem}.assumptions-header{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.5rem 0}.assumptions-header h3{flex:1;margin:0}.assumptions-header .collapse-icon{color:var(--text-muted, #6b7280);font-size:.8rem}.assumptions-header .edit-link{font-size:.85rem;color:var(--primary-color, #3b82f6);text-decoration:none}.assumptions-header .edit-link:hover{text-decoration:underline}.assumptions-content{padding-top:1rem;border-top:1px solid var(--border-color, #e5e7eb)}.assumptions-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1rem}.assumptions-section h4{margin:0 0 .5rem;font-size:.9rem;color:var(--text-muted, #6b7280)}.assumptions-section ul{margin:0;padding:0;list-style:none}.assumptions-section li{font-size:.9rem;padding:.25rem 0}.assumptions-section li.not-configured{color:var(--text-muted, #6b7280);font-style:italic}.assumptions-section li.expense-end-note{color:var(--text-muted, #6b7280);font-size:.85rem}.assumptions-section.full-width{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color, #e5e7eb)}@media(max-width:600px){.assumptions-grid{grid-template-columns:1fr}}.radio-group{display:flex;flex-direction:column;gap:.5rem}.radio-option{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;border:1px solid var(--color-border);border-radius:6px;cursor:pointer}.radio-option:has(input:checked){border-color:#111827;background:var(--color-table-stripe)}.radio-option input{margin-top:.25rem}.radio-option span{font-weight:500}.radio-option small{display:block;color:var(--color-text-muted);font-size:.75rem}.app-layout{min-height:100vh;display:flex;flex-direction:column}.app-header{height:var(--header-height);background:var(--color-primary);display:flex;align-items:center;padding:0 var(--spacing-lg);position:sticky;top:0;z-index:50}.header-logo{font-size:var(--font-size-xl);font-weight:700;color:#fff;letter-spacing:-.5px}.header-nav{margin-left:auto;display:flex;align-items:center;gap:var(--spacing-sm)}.header-actions{margin-left:var(--spacing-md);display:flex;align-items:center;gap:var(--spacing-sm)}.header-actions .dark-mode-toggle{background:#ffffff1a;border-color:#fff3;color:#fff;padding:var(--spacing-xs) var(--spacing-sm)}.header-actions .dark-mode-toggle:hover{background:#fff3;border-color:#ffffff4d}.header-actions .toggle-label{display:none}@media(min-width:768px){.header-actions .toggle-label{display:inline}}.notification-bell-wrapper{position:relative}.notification-bell-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:#fff;cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;position:relative;transition:background .15s}.notification-bell-button:hover{background:#fff3}.notification-badge{position:absolute;top:-4px;right:-4px;background:var(--color-warning);color:#000;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.notification-badge-urgent{background:var(--color-negative);color:#fff}.notification-panel{position:absolute;top:calc(100% + var(--spacing-sm));right:0;width:360px;max-height:480px;background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:100;overflow:hidden;display:flex;flex-direction:column}.notification-panel-header{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.notification-panel-header h3{margin:0;font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.notification-empty{margin:var(--spacing-sm) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.notification-panel-body{overflow-y:auto;flex:1}.notification-group{padding:var(--spacing-sm) 0}.notification-group+.notification-group{border-top:1px solid var(--color-border)}.notification-group-label{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.notification-group-urgent{color:var(--color-negative)}.notification-group-warning{color:var(--color-warning)}.notification-group-info{color:var(--color-text-muted)}.notification-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-left:3px solid transparent;transition:background .15s}.notification-item:hover{background:var(--color-table-stripe)}.notification-item-urgent{border-left-color:var(--color-negative)}.notification-item-warning{border-left-color:var(--color-warning)}.notification-item-info{border-left-color:var(--color-border)}.notification-item-content{flex:1;min-width:0}.notification-item-name{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.notification-item-desc{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:2px;line-height:1.4}.notification-item-meta{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px;font-weight:500}.notification-dismiss{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-lg);line-height:1;padding:2px 4px;border-radius:var(--radius-sm);flex-shrink:0;transition:color .15s,background .15s}.notification-dismiss:hover{color:var(--color-text);background:#0000000d}.notification-panel-footer{padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border);text-align:center}.notification-view-all{font-size:var(--font-size-sm);color:var(--color-primary);text-decoration:none;font-weight:500}.notification-view-all:hover{text-decoration:underline}@media(max-width:480px){.notification-panel{width:calc(100vw - var(--spacing-lg) * 2);right:calc(-1 * var(--spacing-md))}}.app-body{flex:1;display:flex;flex-direction:column}.layout-breadcrumbs{padding:var(--spacing-md) var(--spacing-lg) 0;max-width:1400px;margin:0 auto;width:100%}.nav-item{padding:var(--spacing-sm) var(--spacing-md);color:#fffc;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;transition:all .15s ease}.nav-item:hover{background:#ffffff1a;color:#fff}.nav-item.active{background:#fff3;color:#fff}.header-dropdown{position:relative}.header-dropdown-menu{position:absolute;top:100%;right:0;margin-top:var(--spacing-xs);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:160px;z-index:100;padding:var(--spacing-xs)}.header-dropdown-menu button{display:block;width:100%;text-align:left;background:none;border:none;padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text)}.header-dropdown-menu button:hover{background:var(--color-bg)}.header-dropdown-menu button.active{background:var(--color-primary);color:#fff}.main-content{flex:1;padding:var(--spacing-lg);max-width:1400px;margin:0 auto;width:100%}.breadcrumbs{margin-bottom:var(--spacing-sm)}.breadcrumbs-list{display:flex;flex-wrap:wrap;align-items:center;list-style:none;padding:0;margin:0;font-size:var(--font-size-sm)}.breadcrumbs-item{display:flex;align-items:center}.breadcrumbs-separator{color:var(--color-text-muted);margin:0 var(--spacing-xs);-webkit-user-select:none;user-select:none}.breadcrumbs-link{color:var(--color-primary);text-decoration:none;transition:color .15s ease}.breadcrumbs-link:hover{color:var(--color-primary-light);text-decoration:underline}.breadcrumbs-current{color:var(--color-text);font-weight:500}.breadcrumbs-text{color:var(--color-text-muted)}.page-header{margin-bottom:var(--spacing-lg)}.page-header-content{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--spacing-md);flex-wrap:wrap}.page-header-text{flex:1;min-width:200px}.page-header-title{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-xs) 0;line-height:1.2}.page-header-description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0;line-height:1.5}.page-header-action{flex-shrink:0}@media(max-width:600px){.page-header-content{flex-direction:column;align-items:stretch}.page-header-action{width:100%}}.accounts-sidebar{width:var(--sidebar-width);background:var(--color-card);border-right:1px solid var(--color-border);display:flex;flex-direction:column;height:calc(100vh - var(--header-height));position:sticky;top:var(--header-height)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.sidebar-header h2{font-size:var(--font-size-lg);font-weight:600;margin:0}.sidebar-add-btn{width:28px;height:28px;border-radius:50%;border:none;background:var(--color-primary);color:#fff;font-size:var(--font-size-lg);cursor:pointer;display:flex;align-items:center;justify-content:center}.sidebar-add-btn:hover{background:var(--color-primary-light)}.sidebar-content{flex:1;overflow-y:auto;padding:var(--spacing-sm)}.sidebar-group{margin-bottom:var(--spacing-sm)}.sidebar-group-header{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-sm);background:none;border:none;cursor:pointer;border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.sidebar-group-header:hover{background:var(--color-bg)}.group-toggle{font-size:10px;color:var(--color-text-muted);width:12px}.group-title{flex:1;text-align:left;font-weight:600;color:var(--color-text)}.group-total{font-weight:600;font-size:var(--font-size-sm)}.group-total.positive{color:var(--color-positive)}.group-total.negative{color:var(--color-negative)}.sidebar-group-content{padding-left:var(--spacing-md)}.sidebar-type-group{margin-bottom:var(--spacing-sm)}.sidebar-type-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;padding:var(--spacing-xs) var(--spacing-sm);font-weight:500}.sidebar-account{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--spacing-sm);background:none;border:none;cursor:pointer;border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.sidebar-account:hover{background:var(--color-bg)}.sidebar-account .account-name{color:var(--color-text);text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.sidebar-account .account-balance{color:var(--color-text-secondary);font-weight:500;margin-left:var(--spacing-sm)}.sidebar-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background:var(--color-primary);color:#fff;font-weight:600}.sidebar-footer .positive{color:#4ade80}.sidebar-footer .negative{color:#f87171}.slide-over-backdrop{position:fixed;inset:0;background:#0000004d;z-index:100;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.slide-over-panel{position:fixed;top:0;right:0;bottom:0;width:480px;max-width:100%;background:var(--color-card);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;animation:slideIn .3s ease}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}.slide-over-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.slide-over-header h2{font-size:var(--font-size-lg);font-weight:600;margin:0}.slide-over-close{width:32px;height:32px;border:none;background:none;font-size:24px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm)}.slide-over-close:hover{background:var(--color-bg);color:var(--color-text)}.slide-over-content{flex:1;overflow-y:auto;padding:var(--spacing-lg)}.metric-card{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.metric-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);font-weight:500}.metric-main{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--spacing-md)}.metric-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text);line-height:1}.metric-value-success{color:var(--color-positive)}.metric-value-warning{color:var(--color-warning)}.metric-value-danger{color:var(--color-negative)}.metric-sparkline{flex-shrink:0}.metric-subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-sm)}.metric-cards-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.dashboard-layout{display:flex;min-height:calc(100vh - var(--header-height))}.dashboard-main{flex:1;padding:var(--spacing-lg);max-width:1000px}.dashboard-chart-section{margin-bottom:var(--spacing-lg)}.section-card{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.section-card h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);font-weight:600}.dashboard-recommendations{margin-top:var(--spacing-lg)}.dashboard-recommendations h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);font-weight:600}.recommendations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}.recommendation-card{padding:var(--spacing-md);border-radius:var(--radius-md);border-left:4px solid}.recommendation-risk{background:var(--color-negative-light);border-color:var(--color-negative)}.recommendation-opportunity{background:var(--color-warning-light);border-color:var(--color-warning)}.recommendation-positive{background:var(--color-positive-light);border-color:var(--color-positive)}.recommendation-headline{font-weight:600;margin-bottom:var(--spacing-xs)}.recommendation-description{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dashboard-insights-section{margin-bottom:var(--spacing-lg)}.dashboard-insights-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.dashboard-insights-section h2{margin:0;font-size:var(--font-size-lg);font-weight:600}.insights-cards-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}@media(max-width:1024px){.insights-cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.insights-cards-grid{grid-template-columns:1fr}}.insight-card{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-md);border-left:4px solid;background:var(--color-card);transition:transform .15s ease,box-shadow .15s ease}.insight-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.insight-card-icon{font-size:var(--font-size-lg);flex-shrink:0;line-height:1}.insight-card-headline{font-weight:600;margin-bottom:var(--spacing-xs);line-height:1.3}.insight-card-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}.insight-risk{background:var(--color-negative-light);border-color:var(--color-negative)}.insight-opportunity{background:var(--color-warning-light);border-color:var(--color-warning)}.insight-positive{background:var(--color-positive-light);border-color:var(--color-positive)}.insight-see-all{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);border:2px dashed var(--color-border);border-left:2px dashed var(--color-border);background:transparent;color:var(--color-primary);cursor:pointer;min-height:100px}.insight-see-all:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.insight-see-all-text{font-weight:600}.insight-see-all-arrow{font-size:var(--font-size-xl)}.insights-loading-state{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-card);border-radius:var(--radius-md);color:var(--color-text-secondary)}.insights-loading-spinner{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:insight-spin .8s linear infinite}@keyframes insight-spin{to{transform:rotate(360deg)}}.insights-empty-state{padding:var(--spacing-lg);background:var(--color-card);border-radius:var(--radius-md);color:var(--color-text-secondary);text-align:center}.dashboard-networth-trend{margin-bottom:var(--spacing-lg)}.dashboard-networth-trend .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.dashboard-networth-trend h2{margin:0;font-size:var(--font-size-lg);font-weight:600}.networth-trend-card{display:flex;gap:var(--spacing-lg);align-items:center}.trend-summary{display:flex;gap:var(--spacing-lg);flex-wrap:wrap}.trend-stat{display:flex;flex-direction:column}.trend-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.trend-value{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.trend-value.positive{color:var(--color-positive)}.trend-value.negative{color:var(--color-negative)}.trend-percent{font-size:var(--font-size-sm);font-weight:400;margin-left:var(--spacing-xs)}.trend-mini-chart{display:flex;align-items:flex-end;gap:4px;height:60px;flex:1;min-width:150px;max-width:300px}.trend-bar{flex:1;min-width:8px;max-width:20px;border-radius:2px 2px 0 0;transition:opacity .15s ease}.trend-bar.positive{background:var(--color-positive)}.trend-bar.negative{background:var(--color-negative)}.trend-bar:hover{opacity:.8}@media(max-width:768px){.networth-trend-card{flex-direction:column;align-items:stretch}.trend-mini-chart{max-width:none;min-width:auto}}.slide-over-content .account-form{max-width:none;padding:0;box-shadow:none;border-radius:0}.slide-over-content .form-actions{position:sticky;bottom:0;background:var(--color-card);padding:var(--spacing-md) 0;border-top:1px solid var(--color-border);margin-top:var(--spacing-lg)}.year-timeline{position:relative;padding-left:var(--spacing-lg)}.year-timeline:before{content:"";position:absolute;left:8px;top:0;bottom:0;width:2px;background:var(--color-border)}.timeline-event{position:relative;padding:var(--spacing-md) 0;padding-left:var(--spacing-md)}.timeline-marker{position:absolute;left:-24px;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:50%;background:var(--color-primary);border:2px solid white}.timeline-event-warning .timeline-marker{background:var(--color-warning)}.timeline-event-milestone .timeline-marker{background:var(--color-positive)}.timeline-age{font-weight:600;color:var(--color-text)}.timeline-year{font-size:var(--font-size-sm);color:var(--color-text-muted)}.timeline-description{margin-top:var(--spacing-xs);color:var(--color-text-secondary)}.year-timeline-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-muted)}.year-table-container{overflow-x:auto}.year-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.year-table th,.year-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:right;border-bottom:1px solid var(--color-border)}.year-table th{font-weight:600;color:var(--color-text-muted);background:var(--color-bg);position:sticky;top:0}.year-table th:first-child,.year-table td:first-child{text-align:left;font-weight:600}.year-table td.total{font-weight:600;color:var(--color-primary)}.year-table tbody tr:hover{background:var(--color-bg)}.year-table-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-muted)}.bucket-chart{width:100%}.bucket-chart-empty{padding:var(--spacing-lg);text-align:center;color:var(--color-text-muted)}.future-plans-page{padding:2rem;max-width:1200px;margin:0 auto}.future-plans-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.future-plans-page .page-header h2{margin:0}.future-plans-page .empty-state{text-align:center;padding:3rem;color:var(--color-text-secondary)}.planned-purchases-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.planned-purchase-card{background:var(--color-card);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-md)}.planned-purchase-card.past{opacity:.6}.planned-purchase-card .purchase-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.planned-purchase-card .purchase-header h3{margin:0;font-size:1.1rem}.planned-purchase-card .purchase-year{background:var(--color-primary);color:#fff;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.9rem}.planned-purchase-card .purchase-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.planned-purchase-card .detail{display:flex;justify-content:space-between}.planned-purchase-card .detail .label{color:var(--color-text-secondary)}.planned-purchase-card .purchase-actions{display:flex;gap:.5rem;justify-content:flex-end}.planned-purchase-card .purchase-actions button{padding:.25rem .75rem;font-size:.85rem}.planned-purchase-form{padding:1.5rem}.planned-purchase-form h2{margin-top:0;margin-bottom:1.5rem}.planned-purchase-form .checkbox-label{flex-direction:row;align-items:center;gap:.5rem}.planned-purchase-form .checkbox-label input{width:auto}.planned-purchase-form .mortgage-fields{background:var(--color-bg);padding:1rem;border-radius:var(--radius-sm);margin:.5rem 0}.planned-purchase-form .toggle-buttons{display:flex;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.planned-purchase-form .toggle-buttons button{flex:1;padding:.5rem 1rem;border:none;background:var(--color-card);cursor:pointer;font-size:.9rem;transition:background-color .2s,color .2s}.planned-purchase-form .toggle-buttons button:not(:last-child){border-right:1px solid var(--color-border)}.planned-purchase-form .toggle-buttons button.active{background:var(--color-primary);color:#fff}.planned-purchase-form .toggle-buttons button:hover:not(.active){background:var(--color-bg)}.planned-purchase-form .form-field{margin-bottom:1rem}.planned-purchase-form .form-field>label{display:block;margin-bottom:.5rem;font-weight:500}.household-info{margin-bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-sm)}.household-info p{margin:0}.household-actions{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}@media(max-width:600px){.household-actions{grid-template-columns:1fr}}.invite-section,.join-section{padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md)}.invite-section h4,.join-section h4{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-base)}.invite-section p,.join-section p{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.invite-code-display{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.invite-code{font-family:monospace;font-size:var(--font-size-lg);background:var(--color-card);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--color-border);letter-spacing:1px}.invite-expiry{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0;width:100%;margin-top:var(--spacing-xs)}.join-form{display:flex;gap:var(--spacing-sm)}.join-form input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm)}.join-form button{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm)}.join-form button:disabled{background:var(--color-text-muted);cursor:not-allowed}.members-section{margin-top:var(--spacing-md)}.members-section h4{margin:0 0 var(--spacing-md) 0}.members-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.members-table th,.members-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.members-table th{font-weight:600;color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px}.members-table tr.current-user{background:var(--color-bg)}.you-badge{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:var(--spacing-xs)}.role-badge{display:inline-block;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.role-badge.owner{background:var(--color-primary);color:#fff}.role-badge.member{background:var(--color-bg);color:var(--color-text-secondary);border:1px solid var(--color-border)}.success-message{color:var(--color-positive);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.family-table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-md)}.family-table th,.family-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.family-table th{font-weight:600;color:var(--color-text-secondary);font-size:var(--font-size-xs);text-transform:uppercase}.family-table .default-badge{display:inline-block;margin-left:var(--spacing-xs);padding:2px 6px;background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.family-table .actions-cell{display:flex;gap:var(--spacing-xs)}.person-form{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md)}.person-form h4{margin:0 0 var(--spacing-md) 0}.modal-backdrop{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200;animation:fadeIn .2s ease}.modal-content{background:var(--color-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.modal-header h2{margin:0;font-size:var(--font-size-lg);font-weight:600}.modal-close{width:32px;height:32px;border:none;background:none;font-size:20px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--color-bg);color:var(--color-text)}.modal-body{padding:var(--spacing-lg)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border);background:var(--color-bg)}.data-migration-modal .migration-intro{margin:0 0 var(--spacing-md) 0;color:var(--color-text-secondary);line-height:1.6}.data-migration-modal .migration-counts{background:var(--color-bg);border-radius:var(--radius-md);padding:var(--spacing-md)}.data-migration-modal .migration-counts h4{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.data-migration-modal .counts-list{list-style:none;padding:0;margin:0}.data-migration-modal .counts-list li{display:flex;justify-content:space-between;padding:var(--spacing-xs) 0;font-size:var(--font-size-sm);border-bottom:1px solid var(--color-border)}.data-migration-modal .counts-list li:last-child{border-bottom:none}.data-migration-modal .counts-list li span:first-child{color:var(--color-text-secondary)}.data-migration-modal .counts-list li span:last-child{font-weight:600;color:var(--color-text)}.data-migration-modal .counts-total{display:flex;justify-content:space-between;margin-top:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:2px solid var(--color-border);font-weight:600}.data-migration-modal .counts-total span:last-child{color:var(--color-primary)}.data-migration-modal .no-data-message{text-align:center;color:var(--color-text-muted);padding:var(--spacing-lg)}.data-migration-modal .migration-progress{text-align:center;padding:var(--spacing-xl)}.data-migration-modal .spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;margin:0 auto var(--spacing-md);animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.data-migration-modal .migration-progress p{margin:0;color:var(--color-text)}.data-migration-modal .migration-hint{margin-top:var(--spacing-sm)!important;font-size:var(--font-size-sm);color:var(--color-text-muted)!important}.data-migration-modal .migration-success{text-align:center;padding:var(--spacing-md)}.data-migration-modal .success-icon{width:64px;height:64px;margin:0 auto var(--spacing-md);background:var(--color-positive-light);color:var(--color-positive);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700}.data-migration-modal .migration-success h3{margin:0 0 var(--spacing-sm) 0;color:var(--color-positive)}.data-migration-modal .migration-success p{margin:0;color:var(--color-text-secondary)}.data-migration-modal .imported-counts{margin-top:var(--spacing-md);text-align:left;background:var(--color-bg);border-radius:var(--radius-md);padding:var(--spacing-md)}.data-migration-modal .imported-counts h4{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-sm);font-weight:600}.data-migration-modal .migration-error{text-align:center;padding:var(--spacing-md)}.data-migration-modal .error-icon{width:64px;height:64px;margin:0 auto var(--spacing-md);background:var(--color-negative-light);color:var(--color-negative);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:700}.data-migration-modal .migration-error h3{margin:0 0 var(--spacing-sm) 0;color:var(--color-negative)}.data-migration-modal .migration-error p{margin:0 0 var(--spacing-sm) 0;color:var(--color-text-secondary)}.data-migration-modal .migration-error .error-message{background:var(--color-negative-light);color:var(--color-negative);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.primary-button{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .2s}.primary-button:hover:not(:disabled){background:var(--color-primary-light)}.primary-button:disabled{background:var(--color-text-muted);cursor:not-allowed}.secondary-button{padding:var(--spacing-sm) var(--spacing-lg);background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s}.secondary-button:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.secondary-button:disabled{opacity:.5;cursor:not-allowed}.document-preview-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.document-preview-modal{max-width:900px;width:95%;max-height:90vh;display:flex;flex-direction:column}.document-preview-header{flex-shrink:0}.document-preview-title-section{flex:1;min-width:0}.document-preview-title-section h2{margin:0;font-size:var(--font-size-lg);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.document-preview-meta{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-muted)}.document-preview-category{padding:2px var(--spacing-sm);background:var(--color-bg);border-radius:var(--radius-sm);font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.5px}.document-preview-body{flex:1;min-height:0;overflow:hidden;padding:0;display:flex;align-items:center;justify-content:center;background:var(--color-bg)}.document-preview-footer{flex-shrink:0}.document-preview-image-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:var(--spacing-md);overflow:auto}.document-preview-image{max-width:100%;max-height:60vh;object-fit:contain;border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.document-preview-pdf-container{width:100%;height:60vh;display:flex}.document-preview-pdf{width:100%;height:100%;border:none;background:var(--color-card)}.document-preview-loading{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.document-preview-loading .spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;margin:0 auto var(--spacing-md);animation:spin 1s linear infinite}.document-preview-loading p{margin:0;font-size:var(--font-size-sm)}.document-preview-error{text-align:center;padding:var(--spacing-xl)}.document-preview-error .error-icon{width:48px;height:48px;margin:0 auto var(--spacing-md);background:var(--color-negative-light);color:var(--color-negative);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:700}.document-preview-error p{margin:0;color:var(--color-text-muted)}.document-preview-unsupported{text-align:center;padding:var(--spacing-xl)}.document-preview-unsupported .unsupported-icon{margin-bottom:var(--spacing-md);color:var(--color-text-muted)}.document-preview-unsupported .unsupported-message{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-base);color:var(--color-text)}.document-preview-unsupported .unsupported-hint{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.document-preview-footer{display:flex;justify-content:space-between;align-items:center}.document-preview-actions-left,.document-preview-actions-right{display:flex;gap:var(--spacing-sm)}.document-action-button{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.document-action-button svg{flex-shrink:0}.delete-confirm-container{display:flex;align-items:center;gap:var(--spacing-sm);width:100%}.delete-confirm-text{flex:1;font-size:var(--font-size-sm);color:var(--color-negative);font-weight:500}@media(max-width:640px){.document-preview-modal{width:100%;max-height:100vh;border-radius:0}.document-preview-meta{flex-direction:column;gap:var(--spacing-xs)}.document-preview-image{max-height:50vh}.document-preview-pdf-container{height:50vh}.document-preview-footer{flex-direction:column;gap:var(--spacing-sm)}.document-preview-actions-left,.document-preview-actions-right{width:100%;justify-content:center}.delete-confirm-container{flex-wrap:wrap;justify-content:center}.delete-confirm-text{width:100%;text-align:center;margin-bottom:var(--spacing-xs)}}.guide-page{padding:var(--spacing-lg);max-width:800px;margin:0 auto}.guide-page h2{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text)}.guide-intro{margin:0 0 var(--spacing-xl) 0;font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:1.6}.guide-toc{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl);box-shadow:var(--shadow-md)}.guide-toc h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.guide-toc ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-sm)}.guide-toc li a{display:block;padding:var(--spacing-sm) var(--spacing-md);color:var(--color-primary);text-decoration:none;border-radius:var(--radius-sm);transition:background .2s}.guide-toc li a:hover{background:var(--color-bg)}.guide-section{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-md)}.guide-section h3{margin:0 0 var(--spacing-lg) 0;font-size:var(--font-size-xl);font-weight:600;color:var(--color-primary);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-border)}.guide-subsection{margin-bottom:var(--spacing-xl)}.guide-subsection:last-child{margin-bottom:0}.guide-subsection h4{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.guide-subsection p{margin:0 0 var(--spacing-md) 0;color:var(--color-text-secondary);line-height:1.7}.guide-subsection p:last-child{margin-bottom:0}.guide-subsection ul{margin:0 0 var(--spacing-md) 0;padding-left:var(--spacing-lg);color:var(--color-text-secondary);line-height:1.7}.guide-subsection ul:last-child{margin-bottom:0}.guide-subsection li{margin-bottom:var(--spacing-xs)}.guide-subsection li strong{color:var(--color-text)}.guide-footer{background:var(--color-bg);border:1px solid var(--color-border)}.guide-footer h3{color:var(--color-text);border-bottom-color:var(--color-text-muted)}.guide-footer p{margin:0;color:var(--color-text-secondary);line-height:1.7}.guide-link-section{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.guide-link-section p{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.guide-link-button{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;transition:background .2s}.guide-link-button:hover{background:var(--color-primary-light)}.terms-page{padding:var(--spacing-lg);max-width:800px;margin:0 auto}.terms-container{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md)}.terms-container h1{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-2xl);color:var(--color-text)}.terms-container .last-updated{margin:0 0 var(--spacing-xl) 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.terms-section{margin-bottom:var(--spacing-xl)}.terms-section:last-child{margin-bottom:0}.terms-section h2{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);color:var(--color-text);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.terms-section p{margin:0 0 var(--spacing-md) 0;color:var(--color-text-secondary);line-height:1.7}.terms-section p:last-child{margin-bottom:0}.terms-section ul{margin:0 0 var(--spacing-md) 0;padding-left:var(--spacing-lg);color:var(--color-text-secondary)}.terms-section li{margin-bottom:var(--spacing-sm);line-height:1.6}.terms-section li:last-child{margin-bottom:0}.terms-section strong{color:var(--color-text)}.link-button{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-sm) 0;text-decoration:underline;display:block}.link-button:hover{color:var(--color-primary-light)}.legal-links{display:flex;flex-direction:column;gap:var(--spacing-xs)}.privacy-page{padding:var(--spacing-lg);max-width:800px;margin:0 auto}.privacy-page h2{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text)}.privacy-page .last-updated{margin:0 0 var(--spacing-xl) 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.privacy-section{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-md);box-shadow:var(--shadow-sm)}.privacy-section h3{margin:0 0 var(--spacing-md) 0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-primary)}.privacy-section h4{margin:var(--spacing-md) 0 var(--spacing-sm) 0;font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.privacy-section h4:first-of-type{margin-top:0}.privacy-section p{margin:0 0 var(--spacing-md) 0;color:var(--color-text-secondary);line-height:1.7}.privacy-section p:last-child{margin-bottom:0}.privacy-section ul{margin:0 0 var(--spacing-md) 0;padding-left:var(--spacing-lg);color:var(--color-text-secondary);line-height:1.7}.privacy-section ul:last-child{margin-bottom:0}.privacy-section li{margin-bottom:var(--spacing-xs)}.privacy-section li strong{color:var(--color-text)}.dark-mode-toggle{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text);transition:all .2s ease}.dark-mode-toggle:hover{background:var(--color-bg);border-color:var(--color-text-muted)}.dark-mode-toggle .toggle-icon{font-size:var(--font-size-lg);line-height:1}.dark-mode-toggle .toggle-label{font-weight:500}.theme-section{display:flex;flex-direction:column;gap:var(--spacing-sm)}.theme-options{display:flex;gap:var(--spacing-sm)}.theme-option{flex:1;padding:var(--spacing-md);background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:center;transition:all .2s ease}.theme-option:hover{border-color:var(--color-text-muted)}.theme-option.active{border-color:var(--color-primary);background:var(--color-bg)}.theme-option .theme-icon{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-xs);display:block}.theme-option .theme-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}[data-theme=dark] input,[data-theme=dark] select,[data-theme=dark] textarea{background:var(--color-input-bg);border-color:var(--color-input-border);color:var(--color-text)}[data-theme=dark] input::placeholder,[data-theme=dark] textarea::placeholder{color:var(--color-text-muted)}[data-theme=dark] table{color:var(--color-text)}[data-theme=dark] th{background:var(--color-bg);color:var(--color-text-secondary)}[data-theme=dark] td{border-color:var(--color-border)}[data-theme=dark] button{color:var(--color-text)}[data-theme=dark] ::-webkit-scrollbar{width:8px;height:8px}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--color-bg)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:4px}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}[data-theme=dark] :focus-visible{outline-color:var(--color-primary)}[data-theme=dark] .recharts-text{fill:var(--color-text-secondary)}[data-theme=dark] .recharts-cartesian-grid line{stroke:var(--color-border)}[data-theme=dark] .slide-over-backdrop,[data-theme=dark] .modal-backdrop{background:var(--color-overlay)}[data-theme=dark] ::selection{background:var(--color-primary);color:#fff}html,body{transition:background-color .3s ease,color .3s ease}.app-layout,.app-header,.section-card,.card,.metric-card{transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease}.landing{min-height:100vh;background:var(--color-bg)}.landing-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);max-width:1200px;margin:0 auto}.landing-logo{display:flex;align-items:center;gap:var(--spacing-sm)}.landing-logo-text{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text)}.landing-nav{display:flex;gap:var(--spacing-md)}.landing-nav-link{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:color .2s,background-color .2s}.landing-nav-link:hover{color:var(--color-text);background-color:var(--color-card)}.landing-hero{text-align:center;padding:80px var(--spacing-lg) 60px;max-width:800px;margin:0 auto}.landing-title{font-size:clamp(var(--font-size-2xl),5vw,var(--font-size-3xl));font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-lg);line-height:1.2}.landing-subtitle{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6}.landing-cta{max-width:280px;margin:0 auto}.landing-features{padding:60px var(--spacing-lg);max-width:1200px;margin:0 auto}.landing-section-title{text-align:center;font-size:var(--font-size-xl);font-weight:600;color:var(--color-text);margin-bottom:48px}.landing-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--spacing-lg)}.landing-feature{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);transition:transform .2s,box-shadow .2s}.landing-feature:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.landing-feature-icon{width:48px;height:48px;background:var(--color-primary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md);color:#fff}.landing-feature h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-sm)}.landing-feature p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}.landing-how-it-works{padding:60px var(--spacing-lg);background:var(--color-card)}.landing-how-it-works .landing-section-title{margin-bottom:48px}.landing-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-xl);max-width:1000px;margin:0 auto}.landing-step{text-align:center}.landing-step-number{width:48px;height:48px;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);font-weight:700;margin:0 auto var(--spacing-md)}.landing-step h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-sm)}.landing-step p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}.landing-footer{padding:40px var(--spacing-lg);border-top:1px solid var(--color-border)}.landing-footer-content{max-width:1200px;margin:0 auto;text-align:center}.landing-footer-brand{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.landing-footer-links{display:flex;justify-content:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.landing-footer-links button{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);transition:color .2s}.landing-footer-links button:hover{color:var(--color-primary)}.landing-footer-copyright{font-size:var(--font-size-xs);color:var(--color-text-muted)}.public-page-wrapper{min-height:100vh;background:var(--color-bg)}.public-page-header{padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.public-page-back{display:inline-flex;align-items:center;gap:var(--spacing-sm);background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:background-color .2s}.public-page-back:hover{background-color:var(--color-card)}.public-page-content{max-width:800px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}@media(max-width:768px){.landing-header{padding:var(--spacing-md)}.landing-nav{gap:var(--spacing-xs)}.landing-nav-link{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.landing-hero{padding:48px var(--spacing-md) 40px}.landing-title{font-size:var(--font-size-2xl)}.landing-subtitle{font-size:var(--font-size-base)}.landing-features{padding:40px var(--spacing-md)}.landing-section-title{font-size:var(--font-size-lg);margin-bottom:var(--spacing-lg)}.landing-features-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.landing-how-it-works{padding:40px var(--spacing-md)}.landing-steps{grid-template-columns:1fr;gap:var(--spacing-lg)}.landing-footer{padding:var(--spacing-lg) var(--spacing-md)}.landing-footer-links{flex-wrap:wrap;gap:var(--spacing-md)}.public-page-content{padding:var(--spacing-lg) var(--spacing-md)}}.connect-accounts-page{padding:24px;max-width:900px;margin:0 auto}.connect-accounts-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:16px}.connect-accounts-page .page-header h2{margin:0}.connect-accounts-page .header-actions{display:flex;gap:12px}.connect-accounts-page .loading-state{text-align:center;padding:48px;color:var(--color-text-secondary)}.connect-accounts-page .error-banner{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--color-negative-light);border:1px solid var(--color-negative);border-radius:var(--radius-md);color:var(--color-negative);margin-bottom:24px}.connect-accounts-page .dismiss-button{background:none;border:none;font-size:20px;cursor:pointer;color:inherit;padding:0 4px}.connect-accounts-page .empty-state{text-align:center;padding:48px 24px}.connect-accounts-page .empty-state-icon{color:var(--color-text-muted);margin-bottom:16px}.connect-accounts-page .empty-state h3{margin:0 0 8px;color:var(--color-text)}.connect-accounts-page .empty-state p{color:var(--color-text-secondary);max-width:400px;margin:0 auto 24px}.connect-accounts-page .institutions-list{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.connect-accounts-page .institution-card{padding:0;overflow:hidden}.connect-accounts-page .institution-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px;border-bottom:1px solid var(--color-border)}.connect-accounts-page .institution-info{display:flex;gap:16px;align-items:flex-start}.connect-accounts-page .institution-logo{width:48px;height:48px;border-radius:8px;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:600;flex-shrink:0}.connect-accounts-page .institution-details h3{margin:0 0 8px;font-size:var(--font-size-lg)}.connect-accounts-page .institution-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.connect-accounts-page .status-badge{display:inline-block;padding:2px 8px;border-radius:4px;font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.connect-accounts-page .status-active{background:var(--color-positive-light);color:var(--color-positive)}.connect-accounts-page .status-pending{background:var(--color-warning-light);color:var(--color-warning)}.connect-accounts-page .status-error{background:var(--color-negative-light);color:var(--color-negative)}.connect-accounts-page .sync-time{color:var(--color-text-muted);font-size:var(--font-size-sm)}.connect-accounts-page .institution-details .error-message{margin-top:8px;color:var(--color-negative);font-size:var(--font-size-sm)}.connect-accounts-page .institution-total{text-align:right;flex-shrink:0}.connect-accounts-page .total-label{display:block;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:4px}.connect-accounts-page .total-value{font-size:var(--font-size-xl);font-weight:600}.connect-accounts-page .total-value.positive{color:var(--color-positive)}.connect-accounts-page .total-value.negative{color:var(--color-negative)}.connect-accounts-page .accounts-list{padding:0}.connect-accounts-page .no-accounts{padding:20px;text-align:center;color:var(--color-text-muted);font-style:italic}.connect-accounts-page .linked-account-row{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--color-border)}.connect-accounts-page .linked-account-row:last-child{border-bottom:none}.connect-accounts-page .linked-account-row .account-info{display:flex;flex-direction:column;gap:4px}.connect-accounts-page .linked-account-row .account-name{font-weight:500;color:var(--color-text)}.connect-accounts-page .linked-account-row .account-mask{color:var(--color-text-muted);font-weight:400}.connect-accounts-page .linked-account-row .account-type{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.connect-accounts-page .linked-account-row .account-balances{text-align:right;display:flex;flex-direction:column;gap:2px}.connect-accounts-page .balance-current{font-weight:600;color:var(--color-text)}.connect-accounts-page .balance-current.negative{color:var(--color-negative)}.connect-accounts-page .balance-available,.connect-accounts-page .credit-limit{font-size:var(--font-size-sm);color:var(--color-text-muted)}.connect-accounts-page .institution-actions{display:flex;gap:8px;padding:12px 20px;background:var(--color-bg);border-top:1px solid var(--color-border)}.connect-accounts-page .primary-button{display:inline-flex;align-items:center;padding:10px 20px;background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .2s}.connect-accounts-page .primary-button:hover:not(:disabled){background:var(--color-primary-light)}.connect-accounts-page .primary-button:disabled{opacity:.6;cursor:not-allowed}.connect-accounts-page .secondary-button{display:inline-flex;align-items:center;padding:10px 20px;background:var(--color-card);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.connect-accounts-page .secondary-button:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-text-muted)}.connect-accounts-page .secondary-button:disabled{opacity:.6;cursor:not-allowed}.connect-accounts-page .icon-button{padding:8px 16px;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s}.connect-accounts-page .icon-button:hover:not(:disabled){background:var(--color-bg);color:var(--color-text)}.connect-accounts-page .icon-button.danger{color:var(--color-negative);border-color:var(--color-negative)}.connect-accounts-page .icon-button.danger:hover:not(:disabled){background:var(--color-negative-light)}.connect-accounts-page .icon-button:disabled{opacity:.6;cursor:not-allowed}.connect-accounts-page .privacy-notice{background:var(--color-bg);border:1px solid var(--color-border)}.connect-accounts-page .privacy-notice h4{margin:0 0 8px;font-size:var(--font-size-base);color:var(--color-text)}.connect-accounts-page .privacy-notice p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}@media(max-width:640px){.connect-accounts-page .page-header{flex-direction:column;align-items:stretch}.connect-accounts-page .header-actions{flex-direction:column}.connect-accounts-page .institution-header{flex-direction:column;gap:16px}.connect-accounts-page .institution-total{text-align:left}.connect-accounts-page .linked-account-row{flex-direction:column;align-items:flex-start;gap:8px}.connect-accounts-page .linked-account-row .account-balances{text-align:left}}.plaid-institution-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.plaid-institution-list--empty{padding:var(--spacing-xl);text-align:center}.plaid-institution-list .empty-message{color:var(--color-text-muted);font-size:var(--font-size-base)}.plaid-institution-list .list-actions{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-sm)}.plaid-institution-list .institutions-list{display:flex;flex-direction:column;gap:var(--spacing-md);list-style:none;padding:0;margin:0}.plaid-institution-list .institution-item{padding:0;overflow:hidden}.plaid-institution-list .institution-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--spacing-lg);gap:var(--spacing-md)}.plaid-institution-list .institution-info{display:flex;gap:var(--spacing-md);align-items:flex-start;flex:1;min-width:0}.plaid-institution-list .institution-logo{width:48px;height:48px;border-radius:var(--radius-md);object-fit:contain;background:var(--color-bg);border:1px solid var(--color-border);flex-shrink:0}.plaid-institution-list .institution-logo--initial{display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;color:#fff;border:none}.plaid-institution-list .institution-details{flex:1;min-width:0}.plaid-institution-list .institution-name{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.plaid-institution-list .institution-meta{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-bottom:var(--spacing-xs)}.plaid-institution-list .account-count{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.plaid-institution-list .sync-time{color:var(--color-text-muted);font-size:var(--font-size-sm)}.plaid-institution-list .account-types{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-top:var(--spacing-xs)}.plaid-institution-list .account-type-badge{display:inline-flex;align-items:center;padding:2px 8px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.plaid-institution-list .institution-total{text-align:right;flex-shrink:0}.plaid-institution-list .total-label{display:block;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:4px}.plaid-institution-list .total-value{font-size:var(--font-size-xl);font-weight:600}.plaid-institution-list .total-value.positive{color:var(--color-positive)}.plaid-institution-list .total-value.negative{color:var(--color-negative)}.plaid-institution-list .error-message{margin-top:var(--spacing-xs);color:var(--color-negative);font-size:var(--font-size-sm)}.plaid-institution-list .institution-actions{display:flex;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-bg);border-top:1px solid var(--color-border)}.plaid-institution-list .icon-button{padding:8px 16px;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s}.plaid-institution-list .icon-button:hover:not(:disabled){background:var(--color-card);color:var(--color-text)}.plaid-institution-list .icon-button.danger{color:var(--color-negative);border-color:var(--color-negative)}.plaid-institution-list .icon-button.danger:hover:not(:disabled){background:var(--color-negative-light)}.plaid-institution-list .icon-button:disabled{opacity:.6;cursor:not-allowed}.plaid-institution-list .secondary-button{display:inline-flex;align-items:center;padding:8px 16px;background:var(--color-card);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .2s,border-color .2s}.plaid-institution-list .secondary-button:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-text-muted)}.plaid-institution-list .secondary-button:disabled{opacity:.6;cursor:not-allowed}.plaid-institution-list .error-banner{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-negative-light);border:1px solid var(--color-negative);border-radius:var(--radius-md);color:var(--color-negative);font-size:var(--font-size-sm)}.plaid-institution-list .dismiss-button{background:none;border:none;color:inherit;font-size:1.25rem;cursor:pointer;padding:0;line-height:1;opacity:.7;transition:opacity .2s}.plaid-institution-list .dismiss-button:hover{opacity:1}.plaid-institution-list .status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500;text-transform:capitalize}.plaid-institution-list .status-active{background:var(--color-positive-light);color:var(--color-positive)}.plaid-institution-list .status-pending{background:var(--color-warning-light);color:var(--color-warning)}.plaid-institution-list .status-error{background:var(--color-negative-light);color:var(--color-negative)}@media(max-width:640px){.plaid-institution-list .institution-header{flex-direction:column;gap:var(--spacing-md)}.plaid-institution-list .institution-total{text-align:left}.plaid-institution-list .institution-meta{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.plaid-institution-list .institution-actions{flex-wrap:wrap}}.insight-card{position:relative;border-left:4px solid var(--color-border);transition:box-shadow .2s ease,border-color .2s ease}.insight-card:hover{box-shadow:var(--shadow-lg)}.insight-card-high{border-left-color:var(--color-negative);background:linear-gradient(to right,var(--color-negative-light),var(--color-card) 8%)}.insight-card-medium{border-left-color:var(--color-warning);background:linear-gradient(to right,var(--color-warning-light),var(--color-card) 8%)}.insight-card-low{border-left-color:var(--color-positive);background:linear-gradient(to right,var(--color-positive-light),var(--color-card) 8%)}.insight-card-header{display:flex;align-items:flex-start;gap:var(--spacing-md);cursor:default}.insight-card-header[role=button]{cursor:pointer}.insight-card-header[role=button]:hover{opacity:.95}.insight-card-header[role=button]:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.insight-card-icon-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.insight-card-icon{font-size:1.5rem;line-height:1}.insight-card-priority-badge{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;padding:2px 6px;border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text-secondary)}.insight-card-high .insight-card-priority-badge{background:var(--color-negative);color:#fff}.insight-card-medium .insight-card-priority-badge{background:var(--color-warning);color:#fff}.insight-card-low .insight-card-priority-badge{background:var(--color-positive);color:#fff}.insight-card-content{flex:1;min-width:0}.insight-card-title{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.insight-card-description{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.insight-card-chevron{font-size:1.25rem;font-weight:300;color:var(--color-text-muted);flex-shrink:0;-webkit-user-select:none;user-select:none}.insight-card-details{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);animation:insight-expand .2s ease-out}@keyframes insight-expand{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.insight-card-suggestion{display:flex;flex-direction:column;gap:var(--spacing-xs)}.insight-card-suggestion-label{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;color:var(--color-text-muted);letter-spacing:.05em}.insight-card-suggestion-text{margin:0;font-size:var(--font-size-sm);color:var(--color-text);line-height:1.6}.insight-card-actions{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);display:flex;justify-content:flex-end}.insight-card-action-button{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:500;color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s ease,transform .1s ease}.insight-card-action-button:hover{background:var(--color-primary-light)}.insight-card-action-button:focus{outline:2px solid var(--color-primary);outline-offset:2px}.insight-card-action-button:active{transform:scale(.98)}[data-theme=dark] .insight-card-high{background:linear-gradient(to right,rgba(239,68,68,.15),var(--color-card) 8%)}[data-theme=dark] .insight-card-medium{background:linear-gradient(to right,rgba(245,158,11,.15),var(--color-card) 8%)}[data-theme=dark] .insight-card-low{background:linear-gradient(to right,rgba(34,197,94,.15),var(--color-card) 8%)}@media(max-width:480px){.insight-card-header{flex-wrap:wrap}.insight-card-icon-wrapper{flex-direction:row;gap:var(--spacing-sm)}.insight-card-chevron{position:absolute;top:var(--spacing-md);right:var(--spacing-md)}}.estate-page{padding:var(--spacing-md);max-width:1200px;margin:0 auto}.estate-page h2{margin-bottom:var(--spacing-lg);color:var(--color-text)}.estate-page .section-card{margin-bottom:var(--spacing-lg)}.estate-calculator{display:flex;flex-direction:column;gap:var(--spacing-lg)}.calculator-inputs{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.calculator-inputs .input-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.calculator-inputs label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.calculator-inputs input,.calculator-inputs select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-bg);color:var(--color-text)}.calculator-inputs input:focus,.calculator-inputs select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-alpha)}.calculator-results{display:flex;flex-direction:column;gap:var(--spacing-md)}.tax-breakdown{background:var(--color-bg);border-radius:var(--radius-md);padding:var(--spacing-md);border:1px solid var(--color-border)}.tax-breakdown h4{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-sm)}.breakdown-items{display:flex;flex-direction:column;gap:var(--spacing-xs)}.breakdown-item{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.breakdown-item span:last-child{font-weight:500;color:var(--color-text)}.info-message{padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.info-message.success{background:#22c55e1a;border-color:#22c55e4d;color:#16a34a}[data-theme=dark] .info-message.success{color:#4ade80}.projection-controls{margin-bottom:var(--spacing-md)}.projection-controls .input-group.inline{display:flex;align-items:center;gap:var(--spacing-md)}.projection-controls label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.projection-controls input[type=range]{flex:1;max-width:300px;accent-color:var(--color-primary)}.projection-controls .rate-value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text);min-width:50px}.chart-note{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-sm);text-align:center}.warning-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);color:#d97706;font-size:var(--font-size-sm);font-weight:500}[data-theme=dark] .warning-banner{color:#fbbf24}.warning-banner svg{flex-shrink:0}.beneficiary-list{overflow-x:auto}.beneficiary-list table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.beneficiary-list th,.beneficiary-list td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.beneficiary-list th{font-weight:600;color:var(--color-text-secondary);background:var(--color-bg)}.beneficiary-list td{color:var(--color-text)}.beneficiary-list tr:hover td{background:var(--color-bg)}.status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500}.status-badge.success{background:#22c55e1a;color:#16a34a}.status-badge.warning{background:#f59e0b1a;color:#d97706}[data-theme=dark] .status-badge.success{color:#4ade80}[data-theme=dark] .status-badge.warning{color:#fbbf24}.help-text{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-md);line-height:1.5}.checklist-progress{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.checklist-progress .progress-bar{flex:1;height:8px;background:var(--color-bg);border-radius:4px;overflow:hidden}.checklist-progress .progress-fill{height:100%;background:var(--color-primary);border-radius:4px;transition:width .3s ease}.checklist-progress .progress-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);white-space:nowrap}.checklist{display:flex;flex-direction:column;gap:var(--spacing-xs)}.checklist-item{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:background-color .2s,border-color .2s}.checklist-item:hover{border-color:var(--color-primary)}.checklist-item.completed{background:#22c55e0d;border-color:#22c55e4d}.checklist-item label{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md);cursor:pointer}.checklist-item input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--color-primary);flex-shrink:0}.checklist-item .item-content{display:flex;flex-direction:column;gap:2px}.checklist-item .item-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.checklist-item.completed .item-label{text-decoration:line-through;color:var(--color-text-secondary)}.checklist-item .item-description{font-size:var(--font-size-xs);color:var(--color-text-muted)}.checklist-actions{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.document-vault-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-primary);font-size:var(--font-size-sm);font-weight:500;text-decoration:none;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:background-color .2s}.document-vault-link:hover{background:var(--color-primary-alpha)}@media(max-width:768px){.estate-page{padding:var(--spacing-sm)}.calculator-inputs{grid-template-columns:1fr}.projection-controls .input-group.inline{flex-wrap:wrap}.projection-controls input[type=range]{max-width:100%;order:2;width:100%}.beneficiary-list{margin:0 calc(-1 * var(--spacing-md))}.beneficiary-list th,.beneficiary-list td{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}}.comparison-chart{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.comparison-chart--empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-muted)}.comparison-chart__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.comparison-chart__title{margin:0;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.comparison-chart__mode-toggle{display:flex;gap:var(--spacing-xs);background:var(--color-bg);border-radius:var(--radius-md);padding:var(--spacing-xs)}.mode-toggle__btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease}.mode-toggle__btn:hover{color:var(--color-text);background:var(--color-border)}.mode-toggle__btn--active{background:var(--color-primary);color:#fff}.mode-toggle__btn--active:hover{background:var(--color-primary-light);color:#fff}.comparison-chart__legend-summary{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md);flex-wrap:wrap}.legend-summary__item{display:flex;align-items:center;gap:var(--spacing-sm)}.legend-summary__color{width:12px;height:12px;border-radius:50%}.legend-summary__name{font-weight:500;color:var(--color-text)}.legend-summary__value{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.comparison-chart__summary{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.summary__title{margin:0 0 var(--spacing-md);font-size:var(--font-size-base);font-weight:600;color:var(--color-text)}.summary__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.summary__card{background:var(--color-bg);border-radius:var(--radius-md);padding:var(--spacing-md);border-left:3px solid}.summary__card--best{background:var(--color-positive-light)}.summary__card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.summary__card-name{font-weight:500;color:var(--color-text)}.summary__badge{font-size:var(--font-size-xs);padding:2px 8px;background:var(--color-positive);color:#fff;border-radius:9999px;font-weight:500}.summary__metrics{display:flex;flex-direction:column;gap:var(--spacing-xs)}.summary__metric{display:flex;justify-content:space-between;font-size:var(--font-size-sm)}.metric__label{color:var(--color-text-muted)}.metric__value{color:var(--color-text);font-weight:500}.metric__value--positive{color:var(--color-positive)}.metric__value--negative{color:var(--color-negative)}.summary__comparison-note{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-positive-light);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text)}@media(max-width:768px){.comparison-chart{padding:var(--spacing-md)}.comparison-chart__header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.comparison-chart__legend-summary{flex-direction:column;gap:var(--spacing-sm)}.summary__grid{grid-template-columns:1fr}}.net-worth-report{max-width:1200px;margin:0 auto;padding:var(--spacing-lg)}.net-worth-report.empty-state{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.net-worth-report .report-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.net-worth-report .report-header h1{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-text);margin:0}.net-worth-report .report-date{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.net-worth-report .btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:500;cursor:pointer;border:none;transition:background-color .2s,transform .1s}.net-worth-report .btn:active{transform:scale(.98)}.net-worth-report .btn-primary{background:var(--color-primary);color:#fff}.net-worth-report .btn-primary:hover{background:var(--color-primary-light)}.net-worth-report .report-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.net-worth-report .summary-card{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.net-worth-report .summary-card .label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.net-worth-report .summary-card .value{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text)}.net-worth-report .summary-card.net-worth{border-left:4px solid #3b82f6}.net-worth-report .summary-card.net-worth .value{color:#3b82f6}.net-worth-report .summary-card.assets{border-left:4px solid var(--color-positive)}.net-worth-report .summary-card.assets .value.positive{color:var(--color-positive)}.net-worth-report .summary-card.liabilities{border-left:4px solid var(--color-negative)}.net-worth-report .summary-card.liabilities .value.negative{color:var(--color-negative)}.net-worth-report .report-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.net-worth-report .breakdown-section{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.net-worth-report .breakdown-section h2{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.net-worth-report .assets-breakdown h2{border-bottom-color:var(--color-positive)}.net-worth-report .liabilities-breakdown h2{border-bottom-color:var(--color-negative)}.net-worth-report .breakdown-content{display:flex;flex-direction:column;gap:var(--spacing-md)}.net-worth-report .pie-container{min-height:280px}.net-worth-report .breakdown-legend{margin-top:var(--spacing-md)}.net-worth-report .breakdown-legend ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-sm)}.net-worth-report .breakdown-legend li{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.net-worth-report .breakdown-legend .color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.net-worth-report .breakdown-legend .name{flex:1;font-size:var(--font-size-sm);color:var(--color-text)}.net-worth-report .breakdown-legend .value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.net-worth-report .breakdown-legend .percentage{font-size:var(--font-size-xs);color:var(--color-text-muted);min-width:50px;text-align:right}.net-worth-report .empty-message{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted);font-style:italic}.net-worth-report .report-trend{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl)}.net-worth-report .report-trend h2{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-lg)}.net-worth-report .trend-chart{min-height:350px;margin-bottom:var(--spacing-lg)}.net-worth-report .trend-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.net-worth-report .trend-item{display:flex;flex-direction:column;gap:var(--spacing-xs)}.net-worth-report .trend-item .label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.net-worth-report .trend-item .value{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.net-worth-report .trend-item .value.positive{color:var(--color-positive)}.net-worth-report .report-warning{background:var(--color-warning-light);border-radius:var(--radius-lg);padding:var(--spacing-lg);border-left:4px solid var(--color-warning)}.net-worth-report .report-warning h3{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-sm)}.net-worth-report .report-warning p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-sm)}.net-worth-report .report-warning ul{list-style:disc;padding-left:var(--spacing-lg);margin:0}.net-worth-report .report-warning li{font-size:var(--font-size-sm);color:var(--color-text-secondary)}@media(max-width:768px){.net-worth-report{padding:var(--spacing-md)}.net-worth-report .report-header{flex-direction:column;align-items:flex-start}.net-worth-report .report-breakdown{grid-template-columns:1fr}.net-worth-report .breakdown-content{flex-direction:column}.net-worth-report .trend-summary{grid-template-columns:1fr}.net-worth-report .summary-card .value{font-size:var(--font-size-lg)}}@media print{.net-worth-report .btn{display:none}.net-worth-report{padding:0;max-width:none}.net-worth-report .breakdown-section,.net-worth-report .report-trend,.net-worth-report .summary-card{box-shadow:none;border:1px solid var(--color-border)}}.net-worth-projection-chart{background:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-lg);box-shadow:var(--shadow-md)}.net-worth-projection-chart .projection-header{margin-bottom:var(--spacing-lg)}.net-worth-projection-chart .projection-header h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs)}.net-worth-projection-chart .projection-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.net-worth-projection-chart .projection-controls{background:var(--color-bg);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.net-worth-projection-chart .slider-label{display:flex;justify-content:space-between;align-items:center;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text);margin-bottom:var(--spacing-sm)}.net-worth-projection-chart .slider-value{font-weight:600;color:var(--color-primary);background:var(--color-card);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-variant-numeric:tabular-nums}.net-worth-projection-chart .growth-slider{width:100%;height:8px;border-radius:4px;background:var(--color-border);outline:none;-webkit-appearance:none;appearance:none;cursor:pointer}.net-worth-projection-chart .growth-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid var(--color-card);box-shadow:var(--shadow-md);transition:transform .15s ease}.net-worth-projection-chart .growth-slider::-webkit-slider-thumb:hover{transform:scale(1.1)}.net-worth-projection-chart .growth-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-primary);cursor:pointer;border:2px solid var(--color-card);box-shadow:var(--shadow-md);transition:transform .15s ease}.net-worth-projection-chart .growth-slider::-moz-range-thumb:hover{transform:scale(1.1)}.net-worth-projection-chart .slider-range{display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--spacing-xs)}.net-worth-projection-chart .projection-current{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.net-worth-projection-chart .current-label{font-size:var(--font-size-sm);opacity:.9}.net-worth-projection-chart .current-value{font-size:var(--font-size-lg);font-weight:600;font-variant-numeric:tabular-nums}.net-worth-projection-chart .current-age{font-size:var(--font-size-sm);opacity:.8;margin-left:auto}.net-worth-projection-chart .projection-chart-container{margin-bottom:var(--spacing-lg)}.net-worth-projection-chart .projection-summary{margin-bottom:var(--spacing-md)}.net-worth-projection-chart .summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--spacing-md)}.net-worth-projection-chart .summary-item{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);text-align:center}.net-worth-projection-chart .summary-age{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.net-worth-projection-chart .summary-value{font-size:var(--font-size-lg);font-weight:600;font-variant-numeric:tabular-nums;margin-bottom:var(--spacing-xs)}.net-worth-projection-chart .summary-growth{font-size:var(--font-size-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.net-worth-projection-chart .projection-disclaimer{padding:var(--spacing-md);background:var(--color-warning-light);border-radius:var(--radius-md);border-left:4px solid var(--color-warning)}.net-worth-projection-chart .projection-disclaimer p{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0;line-height:1.6}.net-worth-projection-chart .projection-empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted);font-size:var(--font-size-sm)}@media(max-width:768px){.net-worth-projection-chart{padding:var(--spacing-md)}.net-worth-projection-chart .projection-current{flex-wrap:wrap}.net-worth-projection-chart .current-age{width:100%;margin-left:0;margin-top:var(--spacing-xs);text-align:center}.net-worth-projection-chart .summary-grid{grid-template-columns:repeat(2,1fr)}.net-worth-projection-chart .summary-item{padding:var(--spacing-sm)}.net-worth-projection-chart .summary-value{font-size:var(--font-size-base)}}@keyframes ui-spinner-spin{to{transform:rotate(360deg)}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes skeleton-wave{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background-color:var(--color-border)}.text-skeleton>.skeleton+.skeleton{margin-top:var(--spacing-sm)}.card-skeleton .skeleton+.skeleton{margin-top:var(--spacing-xs)}.card-skeleton-image{margin-bottom:var(--spacing-md)}.mt-1{margin-top:var(--spacing-xs)}.error-message button:hover,.empty-state button:hover{background-color:var(--color-primary-light)}.page-loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;gap:var(--spacing-md)}.page-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px;padding:var(--spacing-xl)}.loading-overlay{position:fixed;inset:0;background:var(--color-overlay);display:flex;align-items:center;justify-content:center;z-index:9999}.loading-overlay-content{background:var(--color-card);padding:var(--spacing-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center}.inline-loading{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.button-loading{position:relative;pointer-events:none}.button-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:ui-spinner-spin .8s linear infinite}.table-skeleton>div:nth-child(1) .skeleton{animation-delay:0s}.table-skeleton>div:nth-child(2) .skeleton{animation-delay:.1s}.table-skeleton>div:nth-child(3) .skeleton{animation-delay:.2s}.table-skeleton>div:nth-child(4) .skeleton{animation-delay:.3s}.table-skeleton>div:nth-child(5) .skeleton{animation-delay:.4s}.list-skeleton>div:nth-child(1) .skeleton{animation-delay:0s}.list-skeleton>div:nth-child(2) .skeleton{animation-delay:.1s}.list-skeleton>div:nth-child(3) .skeleton{animation-delay:.2s}.list-skeleton>div:nth-child(4) .skeleton{animation-delay:.3s}.list-skeleton>div:nth-child(5) .skeleton{animation-delay:.4s}.debt-payoff-page{max-width:1200px;margin:0 auto}.debt-payoff-page h2{margin-bottom:var(--spacing-lg)}.debt-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.debt-summary-grid .summary-card{background:var(--color-card);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm);text-align:center}.debt-summary-grid .summary-card h4{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;margin:0 0 var(--spacing-xs)}.debt-summary-grid .summary-card .value{font-size:var(--font-size-xl);font-weight:600}.debt-summary-grid .summary-card .value.negative{color:var(--color-negative)}.debt-summary-grid .summary-card .value.positive{color:var(--color-positive)}.extra-payment-card{margin-bottom:var(--spacing-lg)}.extra-payment-card h3{margin:0 0 var(--spacing-md);font-size:var(--font-size-lg)}.slider-container{padding:var(--spacing-sm) 0}.slider-container input[type=range]{width:100%;height:8px;-webkit-appearance:none;background:var(--color-border);border-radius:4px;outline:none}.slider-container input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:24px;height:24px;background:var(--color-primary);border-radius:50%;cursor:pointer;box-shadow:var(--shadow-md)}.slider-container input[type=range]::-moz-range-thumb{width:24px;height:24px;background:var(--color-primary);border-radius:50%;cursor:pointer;border:none}.slider-labels{display:flex;justify-content:space-between;margin-top:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-muted)}.slider-labels .current-value{font-weight:600;color:var(--color-primary)}.strategy-comparison{margin-bottom:var(--spacing-lg)}.strategy-comparison h3{margin:0 0 var(--spacing-md);font-size:var(--font-size-lg)}.strategy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.strategy-option{background:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);cursor:pointer;transition:all .2s;text-align:left;width:100%}.strategy-option:hover{border-color:var(--color-primary-light);background:var(--color-card)}.strategy-option.selected{border-color:var(--color-primary);background:var(--color-card);box-shadow:0 0 0 3px #1e3a5f1a}.strategy-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.strategy-header h4{margin:0;font-size:var(--font-size-base)}.strategy-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--spacing-md)}.strategy-stats{display:flex;flex-direction:column;gap:var(--spacing-sm)}.strategy-stats .stat{display:flex;justify-content:space-between;align-items:center}.strategy-stats .stat .label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.strategy-stats .stat .value{font-weight:600}.strategy-stats .stat .value.negative{color:var(--color-negative)}.badge{font-size:var(--font-size-xs);padding:2px 8px;border-radius:12px;background:var(--color-border);color:var(--color-text-secondary)}.badge.positive{background:var(--color-positive-light);color:var(--color-positive)}.savings-callout{display:flex;gap:var(--spacing-sm);align-items:flex-start;background:var(--color-positive-light);border-radius:var(--radius-md);padding:var(--spacing-md)}.savings-callout .savings-icon{font-size:var(--font-size-lg);color:var(--color-positive)}.savings-callout p{margin:0;font-size:var(--font-size-sm)}.savings-callout .positive{color:var(--color-positive)}.chart-card{margin-bottom:var(--spacing-lg)}.chart-card h3{margin:0 0 var(--spacing-md);font-size:var(--font-size-lg)}.payoff-schedule{margin-bottom:var(--spacing-lg)}.payoff-schedule h3{margin:0 0 var(--spacing-md);font-size:var(--font-size-lg)}.payoff-timeline{display:flex;flex-direction:column;gap:var(--spacing-sm)}.payoff-item{display:flex;gap:var(--spacing-md);align-items:flex-start;padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md)}.payoff-number{width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.payoff-details{flex:1}.payoff-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.payoff-date{font-size:var(--font-size-sm);color:var(--color-positive);font-weight:600}.payoff-meta{display:flex;gap:var(--spacing-md);flex-wrap:wrap;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.recommendation-card{margin-bottom:var(--spacing-lg)}.recommendation-card h3{margin:0 0 var(--spacing-sm);font-size:var(--font-size-lg)}.recommendation-card>p{margin:0 0 var(--spacing-md);color:var(--color-text-secondary)}.payment-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-sm)}.payment-item.total{background:var(--color-primary);color:#fff;font-weight:600;margin-top:var(--spacing-sm)}.payment-item .debt-name{font-size:var(--font-size-sm)}.payment-item .payment-amount{font-weight:600}[data-theme=dark] .strategy-option.selected{box-shadow:0 0 0 3px #3b6ea533}.tax-loss-harvesting-page{max-width:1200px;margin:0 auto}.tax-loss-harvesting-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:var(--spacing-md)}.tax-loss-harvesting-page .page-header h2{margin:0 0 var(--spacing-xs) 0}.tax-loss-harvesting-page .page-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0}.tlh-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.tlh-summary-card{background:var(--color-card);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.tlh-summary-card.highlight{background:linear-gradient(135deg,var(--color-positive-light),var(--color-card));border:1px solid var(--color-positive)}.tlh-card-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.tlh-card-value{font-size:var(--font-size-2xl);font-weight:700;margin-bottom:var(--spacing-xs)}.tlh-card-value.positive{color:var(--color-positive)}.tlh-card-value.negative{color:var(--color-negative)}.tlh-card-value.warning{color:var(--color-warning)}.tlh-card-breakdown{display:flex;gap:var(--spacing-md);font-size:var(--font-size-xs);color:var(--color-text-muted)}.tlh-card-note{font-size:var(--font-size-xs);color:var(--color-text-muted)}.tlh-config-card{background:var(--color-card);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-sm)}.tlh-config-card h4{margin:0 0 var(--spacing-xs) 0}.tlh-config-card .config-note{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.tax-rates-display{display:flex;gap:var(--spacing-xl)}.tax-rate-item{display:flex;flex-direction:column}.tax-rate-item .rate-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.tax-rate-item .rate-value{font-size:var(--font-size-lg);font-weight:600}.tlh-warnings-section{background:var(--color-warning-light);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border-left:4px solid var(--color-warning)}.tlh-warnings-section h3{margin:0 0 var(--spacing-md) 0;color:var(--color-warning)}.warnings-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.warning-item{display:flex;gap:var(--spacing-md);align-items:flex-start}.warning-icon{width:24px;height:24px;border-radius:50%;background:var(--color-warning);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}.warning-content strong{display:block;margin-bottom:var(--spacing-xs)}.warning-content p{margin:0 0 var(--spacing-xs) 0;font-size:var(--font-size-sm)}.warning-countdown{font-size:var(--font-size-xs);color:var(--color-text-muted);font-weight:500}.tlh-section{margin-bottom:var(--spacing-xl)}.tlh-section h3{margin:0 0 var(--spacing-md) 0}.tlh-opportunities-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-md)}.tlh-opportunity-card{background:var(--color-card);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);cursor:pointer;transition:box-shadow .2s,transform .2s;border:2px solid transparent}.tlh-opportunity-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.tlh-opportunity-card.selected{border-color:var(--color-primary)}.tlh-opportunity-card.has-warning{border-left:4px solid var(--color-warning)}.opp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.opp-symbol{font-size:var(--font-size-xl);font-weight:700}.opp-warning-badge{font-size:var(--font-size-xs);background:var(--color-warning-light);color:var(--color-warning);padding:2px 8px;border-radius:var(--radius-sm);font-weight:500}.opp-stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.opp-stat{display:flex;flex-direction:column}.opp-stat .stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.opp-stat .stat-value{font-size:var(--font-size-lg);font-weight:600}.opp-stat .stat-value.positive{color:var(--color-positive)}.opp-stat .stat-value.negative{color:var(--color-negative)}.opp-breakdown{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap}.opp-breakdown .breakdown-item{font-size:var(--font-size-xs);background:var(--color-bg);padding:2px 8px;border-radius:var(--radius-sm);color:var(--color-text-secondary)}.opp-action{padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.opp-action p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.tlh-details-panel{background:var(--color-card);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);box-shadow:var(--shadow-md)}.details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.details-header h3{margin:0}.close-button{background:none;border:1px solid var(--color-border);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text)}.close-button:hover{background:var(--color-bg)}.lots-table-wrapper{overflow-x:auto;margin-bottom:var(--spacing-lg)}.lots-table{width:100%;border-collapse:collapse}.lots-table th,.lots-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.lots-table th{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;font-weight:500}.lots-table td{font-size:var(--font-size-sm)}.lots-table td.negative{color:var(--color-negative);font-weight:500}.lots-table tfoot td{font-weight:600;border-top:2px solid var(--color-border)}.holding-badge{font-size:var(--font-size-xs);padding:2px 8px;border-radius:var(--radius-sm);font-weight:500}.holding-badge.short{background:var(--color-warning-light);color:var(--color-warning)}.holding-badge.long{background:var(--color-positive-light);color:var(--color-positive)}.details-action{padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.details-action h4{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.details-action p{margin:0;line-height:1.6}.tlh-info-section{background:var(--color-card);border-radius:var(--radius-md);padding:var(--spacing-lg);box-shadow:var(--shadow-sm)}.tlh-info-section h3{margin:0 0 var(--spacing-lg) 0}.tlh-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.tlh-info-card{background:var(--color-bg);border-radius:var(--radius-md);padding:var(--spacing-md)}.tlh-info-card h4{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-sm)}.tlh-info-card p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6}.tlh-info-card.warning{background:var(--color-warning-light);border:1px solid var(--color-warning)}.tlh-info-card.warning h4{color:var(--color-warning)}.tax-loss-harvesting-page .empty-state{background:var(--color-card);border-radius:var(--radius-md);padding:var(--spacing-xl);text-align:center}.tax-loss-harvesting-page .empty-state p{margin:0 0 var(--spacing-sm) 0}.tax-loss-harvesting-page .empty-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}@media(max-width:768px){.tlh-summary-grid{grid-template-columns:1fr 1fr}.tlh-opportunities-list,.tlh-info-grid{grid-template-columns:1fr}.lots-table th,.lots-table td{padding:var(--spacing-xs) var(--spacing-sm)}}@media(max-width:480px){.tlh-summary-grid{grid-template-columns:1fr}.tax-rates-display{flex-direction:column;gap:var(--spacing-md)}}.education-page{padding:var(--spacing-md);max-width:1200px;margin:0 auto}.education-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.education-header h2{margin:0;color:var(--color-text)}.education-summary{margin-bottom:var(--spacing-lg)}.education-summary .summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.education-summary .summary-item{text-align:center}.education-summary .summary-item .label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.education-summary .summary-item .value{display:block;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.education-summary .summary-item .value.negative{color:var(--color-negative)}.education-summary .summary-item .value.positive{color:var(--color-positive)}.overall-progress{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.overall-progress .progress-header{display:flex;justify-content:space-between;font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.overall-progress .progress-bar.large{height:12px}.education-charts{margin-bottom:var(--spacing-lg)}.charts-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.education-chart{background:var(--color-card);border-radius:var(--radius-md);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.education-chart h4{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-md)}.goal-selector{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.goal-selector label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.goal-selector select{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--color-input-bg);color:var(--color-text)}.education-goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.education-goal-card{display:flex;flex-direction:column;gap:var(--spacing-md)}.education-goal-card .goal-header{display:flex;justify-content:space-between;align-items:flex-start}.education-goal-card .goal-header h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin:0}.education-goal-card .goal-subtitle{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.education-goal-card .goal-actions{display:flex;gap:var(--spacing-xs)}.education-goal-card .goal-progress{padding:var(--spacing-sm) 0}.education-goal-card .goal-progress .progress-header{display:flex;justify-content:space-between;font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.education-goal-card .progress-bar{height:8px;background:var(--color-border);border-radius:4px;overflow:hidden}.education-goal-card .progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.education-goal-card .goal-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-sm)}.education-goal-card .metric{padding:var(--spacing-sm);background:var(--color-bg);border-radius:var(--radius-sm)}.education-goal-card .metric-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.education-goal-card .metric-value{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.education-goal-card .metric-value.negative{color:var(--color-negative)}.education-goal-card .metric-value.positive{color:var(--color-positive)}.education-goal-card .goal-recommendation{padding:var(--spacing-sm);background:var(--color-warning-light);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text)}.education-goal-card .recommendation-detail{display:block;font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.education-goal-card .goal-details{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.education-goal-card .detail-row{display:flex;justify-content:space-between;font-size:var(--font-size-sm)}.education-goal-card .detail-row span:first-child{color:var(--color-text-secondary)}.education-goal-card .detail-value{font-weight:500;color:var(--color-text)}.education-goal-card .detail-value.positive{color:var(--color-positive)}.education-form{max-width:600px;margin:0 auto}.education-form h3{font-size:var(--font-size-lg);font-weight:600;margin-bottom:var(--spacing-lg);color:var(--color-text)}.education-form .form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.education-form .form-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.education-form .form-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text)}.education-form .form-group input,.education-form .form-group select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);background:var(--color-input-bg);color:var(--color-text)}.education-form .form-group input:focus,.education-form .form-group select:focus{outline:none;border-color:var(--color-primary)}.education-form .form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.education-form .form-error{padding:var(--spacing-sm);background:var(--color-negative-light);color:var(--color-negative);border-radius:var(--radius-sm);font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.education-info{margin-top:var(--spacing-lg)}.education-info h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-md)}.education-info .info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--spacing-md)}.education-info .info-item h4{font-size:var(--font-size-base);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs)}.education-info .info-item p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5;margin:0}.education-page .empty-state{text-align:center;padding:var(--spacing-xl)}.education-page .empty-state h3{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-sm)}.education-page .empty-state p{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.education-page .empty-state .empty-state-detail{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--spacing-lg)}.education-page .empty-state button{margin-top:var(--spacing-md)}@media(max-width:768px){.education-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.education-goals-grid,.charts-row,.education-goal-card .goal-metrics{grid-template-columns:1fr}}@media(max-width:480px){.education-summary .summary-grid{grid-template-columns:repeat(2,1fr)}.education-form .form-grid,.education-info .info-grid{grid-template-columns:1fr}}.asset-location-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.asset-location-page .page-header h2{margin:0 0 var(--spacing-sm) 0}.asset-location-page .empty-state{text-align:center;padding:var(--spacing-xl)}.asset-location-page .empty-state h3{margin:0 0 var(--spacing-md) 0;color:var(--color-text)}.asset-location-page .empty-state p{color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0}.asset-location-page .empty-state ul{text-align:left;color:var(--color-text-secondary)}.asset-location-page .metric-cards-row{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md)}.asset-location-page .metric-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.asset-location-page .metric-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.asset-location-page .metric-value{font-size:var(--font-size-xl);font-weight:600;color:var(--color-text)}.asset-location-page .metric-value-success{color:var(--color-positive)}.asset-location-page .metric-value-warning{color:var(--color-warning)}.asset-location-page .efficiency-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.asset-location-page .efficiency-section h3{margin:0 0 var(--spacing-md) 0;color:var(--color-text)}.efficiency-display{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.efficiency-bar-container{flex:1;height:24px;background:var(--color-table-stripe);border-radius:var(--radius-md);overflow:hidden}.efficiency-bar{height:100%;border-radius:var(--radius-md);transition:width .5s ease}.efficiency-score{font-size:var(--font-size-2xl);font-weight:700;min-width:80px;text-align:right}.efficiency-description{margin:0;color:var(--color-text-secondary)}.asset-location-page .recommendations-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.asset-location-page .recommendations-section h3{margin:0 0 var(--spacing-md) 0;color:var(--color-text)}.recommendations-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.recommendation-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md)}.recommendation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.recommendation-action{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600;color:var(--color-text)}.recommendation-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-primary);color:#fff;border-radius:var(--radius-sm)}.recommendation-savings{color:var(--color-positive);font-weight:600;font-size:var(--font-size-sm)}.recommendation-move{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.location-badge{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500}.location-badge.taxable{background:#dbeafe;color:#1e40af}.location-badge.tax-deferred{background:#ede9fe;color:#5b21b6}.location-badge.tax-free{background:#dcfce7;color:#166534}[data-theme=dark] .location-badge.taxable{background:#1e3a5f;color:#93c5fd}[data-theme=dark] .location-badge.tax-deferred{background:#4c1d95;color:#c4b5fd}[data-theme=dark] .location-badge.tax-free{background:#14532d;color:#86efac}.recommendation-reason{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.allocation-comparison{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg)}.asset-location-page .allocation-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.asset-location-page .allocation-section h3{margin:0 0 var(--spacing-md) 0;color:var(--color-text)}.allocation-bucket{margin-bottom:var(--spacing-md)}.allocation-bucket:last-child{margin-bottom:0}.bucket-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.bucket-color{width:12px;height:12px;border-radius:50%}.bucket-label{flex:1;font-weight:500;color:var(--color-text)}.bucket-total{font-weight:600;color:var(--color-text)}.bucket-assets{display:flex;flex-direction:column;gap:var(--spacing-xs);padding-left:var(--spacing-lg)}.asset-row{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-sm)}.asset-color{width:8px;height:8px;border-radius:50%}.asset-row .asset-name{flex:1;color:var(--color-text-secondary)}.asset-amount{color:var(--color-text);font-weight:500}.asset-percent{color:var(--color-text-muted);min-width:50px;text-align:right}.asset-location-page .tax-info-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.asset-location-page .tax-info-section h3{margin:0 0 var(--spacing-sm) 0;color:var(--color-text)}.asset-location-page .tax-info-section .section-description{margin:0 0 var(--spacing-md) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.tax-rates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.tax-rate-item{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md)}.tax-rate-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.tax-rate-value{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.asset-location-page .education-section{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-lg)}.asset-location-page .education-section h3{margin:0 0 var(--spacing-md) 0;color:var(--color-text)}.asset-location-page .education-content{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.asset-location-page .education-item{padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md)}.asset-location-page .education-item h4{margin:0 0 var(--spacing-sm) 0;color:var(--color-text);font-size:var(--font-size-base)}.asset-location-page .education-item p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}@media(max-width:1024px){.asset-location-page .metric-cards-row{grid-template-columns:repeat(2,1fr)}.allocation-comparison,.asset-location-page .education-content{grid-template-columns:1fr}}@media(max-width:768px){.tax-rates-grid{grid-template-columns:1fr}.efficiency-display{flex-direction:column;text-align:center}.efficiency-score{text-align:center}}@media(max-width:480px){.asset-location-page .metric-cards-row{grid-template-columns:1fr}.recommendation-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.recommendation-move{flex-wrap:wrap}}.error-boundary-fallback{display:flex;justify-content:center;align-items:center;min-height:300px;padding:var(--spacing-xl)}.error-boundary-content{max-width:500px;width:100%;padding:var(--spacing-xl);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);text-align:center}.error-boundary-icon{display:flex;justify-content:center;margin-bottom:var(--spacing-md);color:var(--color-negative)}.error-boundary-content h2{margin:0 0 var(--spacing-sm);font-size:var(--font-size-xl);color:var(--color-text)}.error-boundary-content>p{margin:0 0 var(--spacing-lg);font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.6}.error-boundary-details{margin:var(--spacing-md) 0;padding:var(--spacing-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left}.error-boundary-details summary{cursor:pointer;font-weight:500;color:var(--color-text-secondary);padding:var(--spacing-xs) 0;-webkit-user-select:none;user-select:none}.error-boundary-details summary:hover{color:var(--color-text)}.error-boundary-details[open] summary{margin-bottom:var(--spacing-sm)}.error-boundary-details pre{margin:var(--spacing-sm) 0 0;padding:var(--spacing-sm);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow-x:auto;font-size:var(--font-size-sm);font-family:SF Mono,Monaco,Cascadia Code,Roboto Mono,Consolas,monospace;white-space:pre-wrap;word-break:break-word}.error-boundary-details .error-message{color:var(--color-negative)}.error-boundary-details .error-stack{max-height:200px;overflow-y:auto;color:var(--color-text-muted);font-size:var(--font-size-xs)}.error-boundary-actions{display:flex;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg)}.error-boundary-btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.error-boundary-btn-primary{background:var(--color-primary);color:#fff}.error-boundary-btn-primary:hover{background:var(--color-primary-light)}.error-boundary-btn-secondary{background:var(--color-card);color:var(--color-text);border:1px solid var(--color-border)}.error-boundary-btn-secondary:hover{background:var(--color-bg);border-color:var(--color-text-muted)}.page-error-fallback{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:var(--spacing-xl);background:var(--color-bg)}.page-error-content{text-align:center;max-width:500px}.page-error-icon{display:flex;justify-content:center;margin-bottom:var(--spacing-lg);color:var(--color-warning)}.page-error-content h1{margin:0 0 var(--spacing-md);font-size:var(--font-size-2xl);color:var(--color-text)}.page-error-content>p{margin:0 0 var(--spacing-xl);font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.6}.page-error-actions{display:flex;gap:var(--spacing-md);justify-content:center}@media(max-width:480px){.error-boundary-fallback{padding:var(--spacing-md)}.error-boundary-content{padding:var(--spacing-lg)}.error-boundary-content h2{font-size:var(--font-size-lg)}.error-boundary-actions{flex-direction:column}.error-boundary-btn{width:100%}.page-error-fallback{min-height:50vh;padding:var(--spacing-md)}.page-error-content h1{font-size:var(--font-size-xl)}.page-error-actions{flex-direction:column}}.compliance-disclaimer{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text);line-height:1.5;margin-bottom:var(--spacing-lg)}[data-theme=dark] .compliance-disclaimer{background:#f59e0b1a;border-color:#fbbf244d}.compliance-alerts{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.alert-critical,.alert-warning,.alert-info,.alert-success{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);line-height:1.5;border:1px solid}.alert-critical{background:var(--color-negative-light);border-color:var(--color-negative);color:#991b1b}.alert-warning{background:var(--color-warning-light);border-color:var(--color-warning);color:#92400e}.alert-info{background:#eff6ff;border-color:#3b82f6;color:#1e40af}.alert-success{background:var(--color-positive-light);border-color:var(--color-positive);color:#166534}[data-theme=dark] .alert-critical{background:#ef44441a;border-color:#f871714d;color:#fca5a5}[data-theme=dark] .alert-warning{background:#f59e0b1a;border-color:#fbbf244d;color:#fcd34d}[data-theme=dark] .alert-info{background:#3b82f61a;border-color:#3b82f64d;color:#93c5fd}[data-theme=dark] .alert-success{background:#22c55e1a;border-color:#4ade804d;color:#86efac}.compliance-status{display:flex;flex-direction:column;gap:var(--spacing-md)}.compliance-details{display:flex;flex-direction:column;gap:var(--spacing-sm)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm)}.detail-row:last-child{border-bottom:none}.status-required{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;background:#ef44441a;color:#dc2626}.status-ok{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:500;background:#22c55e1a;color:#16a34a}[data-theme=dark] .status-required{background:#f8717126;color:#fca5a5}[data-theme=dark] .status-ok{background:#4ade8026;color:#86efac}.text-success{color:#16a34a}.text-muted{color:var(--color-text-muted)}[data-theme=dark] .text-success{color:#4ade80}.foreign-accounts-list{overflow-x:auto;margin-top:var(--spacing-md)}.compliance-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm)}.compliance-table th,.compliance-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.compliance-table th{font-weight:600;color:var(--color-text-secondary);background:var(--color-bg)}.compliance-table td{color:var(--color-text)}.compliance-table tr:hover td{background:var(--color-bg)}.tag-list{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center}.tag{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px var(--spacing-sm);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text);line-height:1.6}.tag-remove{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;padding:0;border:none;border-radius:50%;background:transparent;color:var(--color-text-muted);font-size:10px;cursor:pointer;line-height:1;transition:background-color .15s,color .15s}.tag-remove:hover{background:var(--color-negative);color:#fff}.inline-add-form{display:flex;align-items:center;gap:var(--spacing-sm)}.inline-add-form input{flex:1;min-width:0}.presence-tracker{display:flex;flex-direction:column;gap:var(--spacing-md)}.presence-summary{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md);border:1px solid var(--color-border)}.presence-summary .stat{display:flex;flex-direction:column;gap:2px}.presence-summary .stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.presence-summary .stat-value{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.section-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.section-header-row h3{margin:0}.section-description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--spacing-xs);margin-bottom:var(--spacing-md);line-height:1.5}.icon-button.danger{color:var(--color-text-muted);transition:background-color .15s,color .15s}[data-theme=dark] .icon-button.danger:hover{background:#f8717126;color:#fca5a5}.radio-group{display:flex;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.radio-group label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer}.radio-group input[type=radio]{accent-color:var(--color-primary);margin:0}@media(max-width:768px){.compliance-table th,.compliance-table td{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.presence-summary{flex-direction:column;gap:var(--spacing-sm)}.section-header-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.detail-row{flex-direction:column;align-items:flex-start;gap:var(--spacing-xs)}.radio-group{flex-direction:column;align-items:flex-start}.inline-add-form{flex-direction:column;align-items:stretch}}.help-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1px solid var(--color-text-muted);background:transparent;color:var(--color-text-muted);font-size:10px;font-weight:600;cursor:help;padding:0;margin-left:6px;vertical-align:middle;line-height:1;transition:border-color .15s ease,color .15s ease;flex-shrink:0}.help-icon:hover{border-color:var(--color-primary);color:var(--color-primary)}.help-icon:focus{outline:2px solid var(--color-primary);outline-offset:2px}.help-icon.help-icon-md{width:18px;height:18px;font-size:12px}.tooltip-wrapper{position:relative;display:inline-flex;align-items:center}.tooltip{position:absolute;z-index:1000;background:var(--color-card);color:var(--color-text);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--font-size-sm);line-height:1.5;border:1px solid var(--color-border);max-width:250px;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease;pointer-events:none}.tooltip.visible{opacity:1;visibility:visible;pointer-events:auto}.tooltip.tooltip-top{bottom:100%;left:50%;transform:translate(-50%);margin-bottom:8px}.tooltip.tooltip-bottom{top:100%;left:50%;transform:translate(-50%);margin-top:8px}.tooltip.tooltip-left{right:100%;top:50%;transform:translateY(-50%);margin-right:8px}.tooltip.tooltip-right{left:100%;top:50%;transform:translateY(-50%);margin-left:8px}.tooltip-arrow{position:absolute;width:0;height:0;border:6px solid transparent}.tooltip.tooltip-top .tooltip-arrow{bottom:-12px;left:50%;transform:translate(-50%);border-top-color:var(--color-card);border-bottom-width:0}.tooltip.tooltip-bottom .tooltip-arrow{top:-6px;left:50%;transform:translate(-50%);border-bottom-color:var(--color-card);border-top-width:0}.tooltip.tooltip-left .tooltip-arrow{right:-12px;top:50%;transform:translateY(-50%);border-left-color:var(--color-card);border-right-width:0}.tooltip.tooltip-right .tooltip-arrow{left:-6px;top:50%;transform:translateY(-50%);border-right-color:var(--color-card);border-left-width:0}.glossary-content{display:flex;flex-direction:column;gap:var(--spacing-sm)}.glossary-term{font-weight:600;color:var(--color-text);margin-bottom:2px}.glossary-explanation{color:var(--color-text-secondary)}.glossary-example{margin-top:4px;padding-top:var(--spacing-xs);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-xs);font-style:italic}.metric-label{display:flex;align-items:center}.whats-new-modal{max-width:520px}.whats-new-entries{display:flex;flex-direction:column;gap:var(--spacing-md)}.whats-new-entry{padding:var(--spacing-md);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:background .15s ease}.whats-new-entry.clickable{cursor:pointer}.whats-new-entry.clickable:hover{background:var(--color-bg)}.whats-new-entry-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.whats-new-category-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:var(--font-size-xs);font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.whats-new-version{font-size:var(--font-size-xs);color:var(--color-text-muted);font-family:var(--font-mono)}.whats-new-date{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-left:auto}.whats-new-title{margin:var(--spacing-xs) 0;font-size:var(--font-size-base);font-weight:600}.whats-new-description{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.new-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;background:var(--color-primary);color:#fff;margin-left:var(--spacing-xs);vertical-align:middle;line-height:16px;animation:badgePulse 2s ease-in-out 3}@keyframes badgePulse{0%,to{opacity:1}50%{opacity:.7}}.obligations-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.obligations-header h2{margin:0;flex:1}.obligations-year-selector{display:flex;align-items:center;gap:var(--spacing-sm)}.obligations-year-selector label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.obligations-year-selector select,.obligations-header>select{padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);font-size:var(--font-size-sm)}.obligations-summary{margin-bottom:var(--spacing-lg)}.obligations-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md)}.obligations-summary-item{display:flex;flex-direction:column;gap:4px}.obligations-summary-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);font-weight:500}.obligations-summary-value{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text)}.obligations-summary-overdue .obligations-summary-value{color:var(--color-negative)}.obligations-card{padding:0;overflow:hidden}.obligations-card-header{all:unset;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);width:100%;cursor:pointer;box-sizing:border-box}.obligations-card-header:hover{background:var(--color-bg)}.obligations-card-title{display:flex;align-items:center;gap:var(--spacing-sm);min-width:200px}.obligations-country-name{font-size:var(--font-size-lg);font-weight:600}.obligations-card-summary{flex:1;display:flex;gap:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.obligations-next-deadline{font-weight:500}.obligations-expand-icon{color:var(--color-text-muted);font-size:var(--font-size-sm)}.obligations-card-detail{padding:0 var(--spacing-lg) var(--spacing-lg);border-top:1px solid var(--color-border)}.obligations-card-detail h4{margin:var(--spacing-md) 0 var(--spacing-sm);font-size:var(--font-size-md);font-weight:600}.obligations-card-detail select{padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-sm);background:var(--color-card)}.obligations-asset-reporting,.obligations-exit-tax{margin-top:var(--spacing-md);padding:var(--spacing-md);background:var(--color-bg);border-radius:var(--radius-md)}.obligations-disclaimer{margin-top:var(--spacing-lg);font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic;text-align:center}@media(max-width:600px){.obligations-card-header{flex-wrap:wrap}.obligations-card-title{min-width:unset;width:100%}.obligations-summary-grid{grid-template-columns:1fr 1fr}}.obligations-tabs{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.obligations-tab{padding:8px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.obligations-tab.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.obligations-timeline{display:grid;grid-template-columns:repeat(12,1fr);gap:2px;background:var(--color-card);border-radius:var(--radius-lg);padding:var(--spacing-md);box-shadow:var(--shadow-md);overflow-x:auto}.timeline-month{display:flex;flex-direction:column;gap:var(--spacing-xs);min-width:70px}.timeline-month-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);text-align:center;padding-bottom:var(--spacing-xs);border-bottom:2px solid var(--color-border)}.timeline-month-items{display:flex;flex-direction:column;gap:4px;min-height:40px}.timeline-item{all:unset;display:flex;flex-direction:column;padding:4px 6px;border-left:3px solid var(--color-primary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-bg);cursor:pointer;font-size:11px;line-height:1.3}.timeline-item:hover{background:var(--color-border)}.timeline-item-country{font-weight:600;color:var(--color-text)}.timeline-item-form{color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-item-day{color:var(--color-text-muted);font-size:10px}.timeline-overflow{font-size:11px;color:var(--color-text-muted);text-align:center;padding:2px}.timeline-empty{color:var(--color-text-muted);text-align:center;padding:8px 0;font-size:var(--font-size-sm)}@media(max-width:768px){.obligations-timeline{grid-template-columns:repeat(6,1fr)}}@media(max-width:480px){.obligations-timeline{grid-template-columns:repeat(4,1fr)}}.wizard-step-content{max-width:600px}.wizard-step-content .form-group{margin-bottom:var(--spacing-md)}.wizard-step-content .form-group label{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.wizard-step-content .form-group select,.wizard-step-content .form-group input[type=date],.wizard-step-content .form-group input[type=text]{width:100%;padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);font-size:var(--font-size-sm);box-sizing:border-box}.button-group{display:flex;gap:var(--spacing-sm)}.toggle-button{padding:8px 16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-card);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.toggle-button.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.insights-page{max-width:900px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-lg)}.insights-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.insights-metric{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-sm)}.insights-metric-value{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text)}.insights-metric-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.insights-priority-summary{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:center}.priority-badge{display:inline-block;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600}.priority-critical{background:var(--color-danger-bg, #fef2f2);color:var(--color-danger, #dc2626)}.priority-high{background:var(--color-warning-bg, #fffbeb);color:var(--color-warning, #d97706)}.priority-medium{background:var(--color-info-bg, #eff6ff);color:var(--color-info, #2563eb)}.priority-low{background:var(--color-success-bg, #f0fdf4);color:var(--color-success, #16a34a)}.insights-filters{padding:var(--spacing-md)}.insights-filter-row{display:flex;gap:var(--spacing-md);flex-wrap:wrap;align-items:center}.insights-filter-group{display:flex;align-items:center;gap:var(--spacing-xs)}.insights-filter-group label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.insights-filter-group select{padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm);background:var(--color-card);color:var(--color-text)}.insights-result-count{margin-top:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.insights-group{padding:var(--spacing-md)}.insights-group-heading{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-lg);margin-bottom:var(--spacing-md)}.insights-group-icon{font-size:var(--font-size-lg)}.insights-group-count{font-size:var(--font-size-sm);font-weight:400;color:var(--color-text-secondary)}.insights-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.insight-list-item{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;transition:border-color .15s}.insight-list-item:hover{border-color:var(--color-text-tertiary)}.insight-list-item.insight-card-critical{border-left:4px solid var(--color-danger, #dc2626)}.insight-list-item.insight-card-high{border-left:4px solid var(--color-warning, #d97706)}.insight-list-item.insight-card-medium{border-left:4px solid var(--color-info, #2563eb)}.insight-list-item.insight-card-low{border-left:4px solid var(--color-success, #16a34a)}.insight-list-item.insight-risk{border-left:4px solid var(--color-danger, #dc2626)}.insight-list-item.insight-opportunity{border-left:4px solid var(--color-info, #2563eb)}.insight-list-item.insight-positive{border-left:4px solid var(--color-success, #16a34a)}.insight-list-item-header{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--spacing-md);cursor:pointer;gap:var(--spacing-md)}.insight-list-item-header:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:var(--radius-md)}.insight-list-item-main{flex:1;min-width:0}.insight-list-item-tags{display:flex;gap:var(--spacing-sm);align-items:center;margin-bottom:var(--spacing-xs)}.insight-list-item-category{display:inline-block;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.insight-list-item-priority{font-size:var(--font-size-xs);font-weight:500}.insight-list-item-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text);margin:0 0 var(--spacing-xs) 0}.insight-list-item-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.5}.insight-list-item-chevron{flex-shrink:0;font-size:var(--font-size-lg);font-weight:300;color:var(--color-text-secondary);padding-top:var(--spacing-xs)}.insight-list-item-details{padding:0 var(--spacing-md) var(--spacing-md);border-top:1px solid var(--color-border)}.insight-list-item-suggestion{font-size:var(--font-size-sm);color:var(--color-text);padding-top:var(--spacing-md);line-height:1.5}.insight-list-item-metrics{margin-top:var(--spacing-sm)}.insight-list-item-icon{margin-right:var(--spacing-xs)}.insights-recommendations .insights-recs-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.insights-empty-filter{text-align:center;color:var(--color-text-secondary);padding:var(--spacing-lg);font-size:var(--font-size-sm)}[data-theme=dark] .insight-list-item.insight-card-critical{border-left-color:#ef4444}[data-theme=dark] .priority-critical{background:#ef444426;color:#fca5a5}[data-theme=dark] .priority-high{background:#d9770626;color:#fcd34d}[data-theme=dark] .priority-medium{background:#2563eb26;color:#93c5fd}[data-theme=dark] .priority-low{background:#16a34a26;color:#86efac}@media(max-width:768px){.insights-metrics-grid{grid-template-columns:repeat(2,1fr)}.insights-filter-row{flex-direction:column;align-items:stretch}.insights-filter-group{justify-content:space-between}.insights-filter-group select{flex:1}}
