.adaptive-rec-card{margin:0}.adaptive-rec-card--teaser{flex:1 1;min-width:280px;background:white;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.08);border:1px solid #e2e8f0;padding:1.25rem 1.5rem}.adaptive-rec-card__label{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#6366f1;margin-bottom:.5rem}.adaptive-rec-card__headline{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 .5rem;line-height:1.4}.adaptive-rec-card__desc{font-size:.875rem;color:#64748b;line-height:1.5;margin:0 0 1rem;flex:1 1}.adaptive-rec-card__metrics-block{margin-top:.65rem}.adaptive-rec-card__metrics-block .adaptive-rec-card__reasoning{margin-top:.35rem}.adaptive-rec-card__cta{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#6366f1;color:white;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s}.adaptive-rec-card__cta:hover{background:#4f46e5}.adaptive-rec-card__cta:focus-visible{outline:2px solid #6366f1;outline-offset:2px}.adaptive-rec-card__cta-icon{width:16px;height:16px}.adaptive-rec-card--full{border:1px solid #e2e8f0;border-radius:10px;padding:1rem 1.1rem;background:#f8fafc;margin:.75rem 0}.adaptive-rec-details__header{display:flex;justify-content:flex-end;margin-bottom:.5rem}.adaptive-rec-card__regime{font-size:.75rem;font-weight:600;color:#4f46e5;background:#eef2ff;padding:.2rem .5rem;border-radius:999px}.adaptive-rec-card__regime-conf{font-weight:500;color:#6366f1}.adaptive-rec-card__stale-banner{font-size:.8rem;color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;padding:.35rem .5rem;margin-bottom:.5rem}.adaptive-rec-card__action p{margin:.35rem 0 0;font-size:.88rem;color:#334155}.adaptive-rec-card__behavioral,.adaptive-rec-card__confidence,.adaptive-rec-card__sustainability{margin-top:.65rem;font-size:.88rem;color:#475569}.adaptive-rec-card__behavioral-label,.adaptive-rec-card__sustainability-label{display:block;font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:#64748b;margin-bottom:.25rem}.adaptive-rec-card__reasoning{margin:.5rem 0 0;padding-left:1.1rem;font-size:.85rem;color:#475569}.adaptive-rec-card__freshness{margin-top:.5rem;font-size:.75rem;color:#94a3b8}.adaptive-rec-card__actions{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.adaptive-rec-card__btn{font-size:.82rem;padding:.4rem .75rem;border-radius:6px;border:1px solid #cbd5e1;background:#fff;cursor:pointer}.adaptive-rec-card__btn--primary{background:#4f46e5;color:#fff;border-color:#4f46e5}.adaptive-rec-card__sor-defense{margin-top:.65rem;padding:.65rem .75rem;border-radius:8px;background:#fffbeb;border:1px solid #fde68a;font-size:.88rem;color:#78350f}.adaptive-rec-card__sor-defense p{margin:.25rem 0 .5rem;line-height:1.45}.adaptive-rec-card__defense-link{display:inline-flex;align-items:center;padding:0;border:none;background:none;color:#4f46e5;font-size:.85rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.adaptive-rec-card__defense-link:hover{color:#4338ca}.adaptive-rec-modal .modal-body{padding-top:.25rem}@media (max-width:640px){.adaptive-rec-card--teaser{max-width:100%;padding:1rem 1.25rem}.adaptive-rec-card__headline{font-size:.9375rem}.adaptive-rec-card__desc{font-size:.8125rem}.adaptive-rec-card__cta{width:100%;justify-content:center}}.fop-year-detail{display:flex;flex-direction:column;gap:1.5rem}.fop-snapshot-notice{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#dbeafe,#e0e7ff);border:1px solid #93c5fd;border-radius:8px}.fop-snapshot-icon{font-size:1.5rem;flex-shrink:0}.fop-snapshot-content{flex:1 1}.fop-snapshot-content strong{display:block;color:#1e40af;margin-bottom:.25rem}.fop-snapshot-content p{margin:0;font-size:.9rem;color:#3b82f6}.fop-no-data-message{margin:0;padding:1rem;text-align:center;color:#6b7280;font-style:italic;background:#f9fafb;border-radius:6px}.fop-sorr-alert{border-radius:8px;padding:1rem;border:1px solid}.fop-sorr-critical{background:#fef2f2;border-color:#fecaca}.fop-sorr-high{background:#fff7ed;border-color:#fed7aa}.fop-sorr-moderate{background:#fefce8;border-color:#fef08a}.fop-sorr-low{background:#f0fdf4;border-color:#bbf7d0}.fop-sorr-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.fop-sorr-icon{font-size:1.2rem}.fop-sorr-title{font-weight:600;flex:1 1}.fop-sorr-badge{padding:.2rem .6rem;border-radius:4px;color:white;font-size:.75rem;font-weight:600}.fop-sorr-content{display:flex;flex-direction:column;gap:1rem}.fop-sorr-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem}.fop-sorr-metric{display:flex;flex-direction:column;gap:.25rem}.fop-sorr-label{font-size:.85rem;color:#6b7280}.fop-sorr-value{font-weight:600;font-size:1.1rem}.fop-sorr-stress,.fop-sorr-target{font-size:.85rem;font-weight:400;color:#6b7280;margin-left:.5rem}.fop-sorr-bar{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-top:.25rem}.fop-sorr-bar-fill{height:100%;border-radius:4px;transition:width .3s ease}.fop-sorr-guidance{margin:0;padding:.75rem;background:rgba(0,0,0,.05);border-radius:6px;font-size:.9rem}.fop-section{background:#f9fafb;border-radius:8px;padding:1.25rem;border:1px solid #e5e7eb}.fop-section-title{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.1rem;font-weight:600;color:#1f2937}.fop-section-icon{font-size:1.2rem}.fop-strategy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1rem}.fop-strategy-item{display:flex;flex-direction:column;gap:.25rem}.fop-strategy-label{font-size:.85rem;color:#6b7280}.fop-strategy-value{font-weight:600}.fop-strategy-order{align-items:center;margin-bottom:1rem}.fop-strategy-accounts,.fop-strategy-order{display:flex;flex-wrap:wrap;gap:.5rem}.fop-account-badge{background:white;border:1px solid #d1d5db;padding:.25rem .5rem;border-radius:4px;font-size:.85rem}.fop-strategy-explanation{margin:0;color:#4b5563;font-size:.9rem}.fop-cashflow-summary{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:white;border-radius:6px;margin-bottom:1rem;border:1px solid #e5e7eb}.fop-cashflow-total{display:flex;flex-direction:column}.fop-cashflow-label{font-size:.85rem;color:#6b7280}.fop-cashflow-amount{font-size:1.5rem;font-weight:700;color:#1f2937}.fop-cashflow-breakdown{display:flex;flex-direction:column;align-items:flex-end;font-size:.9rem;color:#6b7280}.fop-sources-list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.fop-source-item{display:grid;grid-template-columns:1fr auto 100px;align-items:center;grid-gap:1rem;gap:1rem;padding:.5rem;background:white;border-radius:6px;border:1px solid #e5e7eb}.fop-source-info{display:flex;align-items:center;gap:.5rem}.fop-source-icon{font-size:1.1rem}.fop-source-name{font-weight:500}.fop-source-strategy{color:#2563eb;margin-left:.25rem}.fop-source-amount{text-align:right}.fop-source-value{font-weight:600}.fop-source-percent{color:#6b7280;font-size:.85rem;margin-left:.5rem}.fop-source-bar{height:6px;background:#e5e7eb;border-radius:3px;overflow:hidden}.fop-source-bar-fill{height:100%;background:#2563eb;border-radius:3px}.fop-source-footnote{margin:0;font-size:.8rem;color:#6b7280;font-style:italic}.fop-cashflow-reasoning{margin:.5rem 0 0;color:#4b5563;font-size:.9rem}.fop-tax-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:1rem}.fop-tax-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:white;border-radius:6px;border:1px solid #e5e7eb}.fop-tax-label{font-size:.8rem;color:#6b7280}.fop-tax-value{font-size:1.1rem;font-weight:600}.fop-opportunity{background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:1rem;margin-top:.75rem}.fop-opportunity-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.fop-opportunity-icon{font-size:1.1rem}.fop-opportunity-title{font-weight:600;color:#1e40af}.fop-opportunity-desc{margin:0;color:#1e3a5f;font-size:.9rem}.fop-rmd-required{padding:1rem;background:white;border-radius:6px;border:1px solid #e5e7eb}.fop-rmd-amount{display:flex;flex-direction:column;margin-bottom:.5rem}.fop-rmd-label{font-size:.85rem;color:#6b7280}.fop-rmd-value{font-size:1.5rem;font-weight:700}.fop-rmd-deadline{margin:.5rem 0;color:#dc2626;font-weight:500}.fop-rmd-countdown{margin:0;padding:1rem;background:#f0fdf4;border-radius:6px;color:#166534}.fop-healthcare-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:1rem;gap:1rem}.fop-healthcare-item{display:flex;flex-direction:column;gap:.25rem}.fop-healthcare-label{font-size:.85rem;color:#6b7280}.fop-healthcare-value{font-weight:600}.fop-healthcare-positive{color:#16a34a}.fop-irmaa-warning{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem;background:#fef3c7;border-radius:6px;color:#92400e;font-size:.9rem}.fop-irmaa-icon{font-size:1rem}.fop-actions-list{display:flex;flex-direction:column;gap:.75rem}.fop-action-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:white;border-radius:6px;border:1px solid #e5e7eb}.fop-action-priority{padding:.25rem .5rem;border-radius:4px;color:white;font-size:.7rem;font-weight:600;min-width:60px;text-align:center}.fop-action-content{flex:1 1;display:flex;align-items:center;gap:.5rem}.fop-action-icon{font-size:1rem}.fop-action-text{font-size:.9rem}.fop-action-deadline{font-size:.8rem;color:#6b7280}.fop-savings-summary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin-bottom:1rem}.fop-savings-stat{display:flex;flex-direction:column;padding:.75rem;background:white;border-radius:6px;border:1px solid #e5e7eb;text-align:center}.fop-savings-label{font-size:.8rem;color:#6b7280}.fop-savings-value{font-size:1.25rem;font-weight:700;color:#16a34a}.fop-contributions-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.fop-contribution-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:white;border-radius:6px;border:1px solid #e5e7eb}.fop-contribution-info{display:flex;align-items:center;gap:.5rem}.fop-contribution-icon{font-size:1.1rem}.fop-contribution-name{font-weight:500}.fop-contribution-details{display:flex;flex-direction:column;align-items:flex-end}.fop-contribution-amount{font-weight:600}.fop-contribution-benefit{font-size:.8rem;color:#16a34a}.fop-savings-badges{display:flex;gap:.5rem;margin-bottom:1rem}.fop-badge{padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:500}.fop-badge-success{background:#dcfce7;color:#166534}.fop-savings-guidance{margin:0;padding:.75rem;background:#f0fdf4;border-radius:6px;color:#166534;font-size:.9rem}.fop-section-compact{padding:1rem}.fop-balances-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.fop-balance-item{display:flex;flex-direction:column;gap:.2rem;padding:.5rem;background:white;border-radius:6px;border:1px solid #e5e7eb}.fop-balance-label{font-size:.75rem;color:#6b7280}.fop-balance-value{font-weight:600;font-size:.95rem}.fop-total-assets{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#1e3a5f;color:white;border-radius:6px}.fop-total-label{font-size:.9rem}.fop-total-value{font-size:1.25rem;font-weight:700}.fop-cashflow-surplus{color:#16a34a;font-weight:500}.fop-conversion-summary{padding:1rem;background:white;border-radius:6px;border:1px solid #e5e7eb;margin-bottom:1rem}.fop-conversion-main{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem}.fop-conversion-amount,.fop-conversion-rate,.fop-conversion-tax{display:flex;flex-direction:column;text-align:center}.fop-conversion-label{font-size:.8rem;color:#6b7280;margin-bottom:.25rem}.fop-conversion-value{font-size:1.25rem;font-weight:700;color:#1f2937}.fop-conversion-negative{color:#dc2626}.fop-conversion-funding{padding:.75rem;background:#f9fafb;border-radius:6px;margin-bottom:1rem}.fop-conversion-funding-label{font-size:.9rem;color:#4b5563;display:block;margin-bottom:.5rem}.fop-conversion-funding-list{display:flex;flex-direction:column;gap:.5rem}.fop-conversion-funding-item{display:grid;grid-template-columns:1fr auto 1fr;grid-gap:.5rem;gap:.5rem;align-items:center;padding:.5rem;background:white;border-radius:4px;font-size:.85rem}.fop-funding-source{font-weight:500}.fop-funding-amount{font-weight:600;text-align:center}.fop-funding-purpose{color:#6b7280;text-align:right}.fop-conversion-recommendation{margin:0;padding:.75rem;background:#eff6ff;border-radius:6px;color:#1e40af;font-size:.9rem}.fop-rmd-summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.fop-rmd-status{padding:.25rem .75rem;border-radius:999px;font-size:.8rem;font-weight:500}.fop-rmd-satisfied{background:#dcfce7;color:#166534}.fop-rmd-breakdown{padding:.75rem;background:#f9fafb;border-radius:6px;margin-bottom:1rem}.fop-rmd-breakdown-label{font-size:.85rem;color:#6b7280;display:block;margin-bottom:.5rem}.fop-rmd-breakdown-item{display:flex;justify-content:space-between;padding:.25rem 0;font-size:.9rem}.fop-rmd-extra-warning{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fef3c7;border-radius:6px;color:#92400e;font-size:.9rem;margin-bottom:1rem}.fop-warning-icon{font-size:1rem}@media (max-width:768px){.fop-source-item{grid-template-columns:1fr;gap:.5rem}.fop-source-amount{text-align:left}.fop-source-bar{display:none}.fop-action-item,.fop-cashflow-summary{flex-direction:column;align-items:flex-start}.fop-cashflow-summary{gap:1rem}.fop-cashflow-breakdown{align-items:flex-start}.fop-savings-summary{grid-template-columns:1fr}.fop-contribution-item{flex-direction:column;align-items:flex-start;gap:.5rem}.fop-contribution-details{align-items:flex-start}.fop-balances-grid{grid-template-columns:repeat(2,1fr)}}.fop-ss-tier{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.fop-ss-tier-0{background:linear-gradient(135deg,#dcfce7,#d1fae5);border:1px solid #86efac}.fop-ss-tier-50{background:linear-gradient(135deg,#fef3c7,#fef9c3);border:1px solid #fcd34d}.fop-ss-tier-85{background:linear-gradient(135deg,#fee2e2,#fecaca);border:1px solid #fca5a5}.fop-ss-tier-badge{display:inline-flex;align-items:center;justify-content:center;min-width:50px;padding:.25rem .75rem;font-weight:700;font-size:1rem;border-radius:6px;color:white}.fop-ss-tier-0 .fop-ss-tier-badge{background:#16a34a}.fop-ss-tier-50 .fop-ss-tier-badge{background:#ca8a04}.fop-ss-tier-85 .fop-ss-tier-badge{background:#dc2626}.fop-ss-tier-label{font-weight:600;color:#374151}.fop-ss-description{margin:0 0 1rem;font-size:.9rem;color:#4b5563;line-height:1.5}.fop-ss-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:.75rem;gap:.75rem;margin-bottom:1rem}.fop-ss-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;background:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.fop-ss-label{font-size:.75rem;color:#6b7280;text-transform:uppercase;letter-spacing:.025em}.fop-ss-value{font-size:1.1rem;font-weight:600;color:#1f2937}.fop-ss-tax{color:#dc2626}.fop-ss-thresholds{padding:.75rem 1rem;background:#f3f4f6;border-radius:6px;margin-bottom:1rem}.fop-ss-threshold-title{display:block;font-weight:600;font-size:.85rem;color:#374151;margin-bottom:.5rem}.fop-ss-threshold-row{display:flex;justify-content:space-between;font-size:.85rem;color:#4b5563;padding:.25rem 0}.fop-ss-positive,.fop-ss-room span:last-child{color:#16a34a;font-weight:600}.fop-ss-reduction span:last-child,.fop-ss-warning{color:#dc2626;font-weight:600}.fop-ss-recommendations{border:1px solid #fbbf24;background:linear-gradient(135deg,#fffbeb,#fef3c7);border-radius:8px;padding:1rem;margin-bottom:1rem}.fop-ss-rec-title{display:block;font-weight:600;color:#92400e;margin-bottom:.75rem}.fop-ss-rec{padding:.75rem;background:white;border-radius:6px;margin-bottom:.5rem;border-left:3px solid #fbbf24}.fop-ss-rec:last-child{margin-bottom:0}.fop-ss-rec-high{border-left-color:#dc2626}.fop-ss-rec-medium{border-left-color:#f59e0b}.fop-ss-rec-low{border-left-color:#3b82f6}.fop-ss-rec-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.fop-ss-rec-priority{display:inline-block;padding:.125rem .5rem;font-size:.7rem;font-weight:700;border-radius:4px;color:white}.fop-ss-rec-high .fop-ss-rec-priority{background:#dc2626}.fop-ss-rec-medium .fop-ss-rec-priority{background:#f59e0b}.fop-ss-rec-low .fop-ss-rec-priority{background:#3b82f6}.fop-ss-rec-action{font-weight:600;color:#1f2937}.fop-ss-rec-details{margin:0 0 .5rem;font-size:.85rem;color:#4b5563;line-height:1.5}.fop-ss-rec-savings{display:inline-block;font-size:.8rem;color:#16a34a;font-weight:600}.fop-ss-note{margin:0;padding:.75rem;font-size:.8rem;color:#92400e;background:#fef3c7;border-radius:6px;border:1px solid #fcd34d}@media (max-width:640px){.fop-ss-grid{grid-template-columns:repeat(2,1fr)}.fop-ss-rec-header,.fop-ss-tier{flex-direction:column;align-items:flex-start}}.fop-timeline{display:flex;flex-direction:column;gap:1.5rem}.fop-timeline-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#6b7280}.fop-timeline-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:fop-timeline-spin .8s linear infinite;margin-bottom:1rem}@keyframes fop-timeline-spin{to{transform:rotate(1turn)}}.fop-timeline-empty{text-align:center;padding:2rem;color:#6b7280}.fop-timeline-milestones{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:8px;padding:1rem 1.25rem;border:1px solid #bfdbfe}.fop-timeline-milestones h4{margin:0 0 .75rem;font-size:.9rem;color:#1e40af;text-transform:uppercase;letter-spacing:.5px}.fop-milestones-list{display:flex;flex-wrap:wrap;gap:1rem}.fop-milestone-item{display:flex;align-items:center;gap:.5rem;background:white;padding:.5rem .75rem;border-radius:6px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.fop-milestone-icon{font-size:1.1rem}.fop-milestone-event{font-weight:500;color:#1f2937}.fop-milestone-age{font-size:.85rem;color:#6b7280}.fop-timeline-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:1rem;gap:1rem}.fop-timeline-card{background:white;border-radius:8px;padding:1rem;border:1px solid #e5e7eb;border-left:4px solid #6b7280;cursor:pointer;transition:all .2s}.fop-timeline-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.fop-timeline-card.current{background:#eff6ff;border-color:#bfdbfe;box-shadow:0 0 0 2px #2563eb}.fop-timeline-card.milestone{border-left-color:#2563eb}.fop-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.fop-card-year-info{display:flex;flex-direction:column}.fop-card-year{font-size:1.25rem;font-weight:700;color:#1f2937}.fop-card-age{font-size:.85rem;color:#6b7280}.fop-card-milestone-badge{font-size:.75rem;background:#dbeafe;color:#1e40af;padding:.25rem .5rem;border-radius:4px;font-weight:500}.fop-card-phase{font-size:.85rem;color:#4b5563;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e5e7eb}.fop-card-metrics{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem;margin-bottom:.75rem}.fop-card-metric{display:flex;flex-direction:column;gap:.1rem}.fop-card-metric-label{font-size:.75rem;color:#6b7280}.fop-card-metric-value{font-weight:600;font-size:.95rem}.fop-card-risk{padding:.5rem .75rem;border-radius:6px;font-size:.8rem;font-weight:500;margin-bottom:.75rem}.fop-card-recommendation{display:flex;align-items:flex-start;gap:.5rem;padding:.5rem;background:#f9fafb;border-radius:6px;margin-bottom:.5rem}.fop-card-rec-icon{font-size:.9rem}.fop-card-rec-text{font-size:.8rem;color:#4b5563;line-height:1.3;flex:1 1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.fop-card-actions-count{font-size:.85rem;color:#2563eb;font-weight:500;text-align:right}.fop-timeline-legend{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding-top:1rem;border-top:1px solid #e5e7eb}.fop-legend-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#6b7280}.fop-legend-dot{width:10px;height:10px;border-radius:50%}@media (max-width:768px){.fop-timeline-cards{grid-template-columns:1fr}.fop-milestones-list,.fop-timeline-legend{flex-direction:column}.fop-timeline-legend{align-items:center}}body.fop-modal-open{overflow:hidden!important;position:fixed;width:100%;height:100%}.fop-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.6);z-index:1000;overflow:hidden}.fop-modal-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:white;border-radius:12px;width:calc(100% - 2rem);max-width:900px;height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden}.fop-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#1e3a5f,#2563eb);color:white;flex-shrink:0}.fop-header-info h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:600}.fop-header-meta{display:flex;align-items:center;gap:.5rem;font-size:.9rem;opacity:.9}.fop-divider{opacity:.5}.fop-phase{padding:.2rem .6rem;border-radius:4px;font-size:.8rem}.fop-close-btn,.fop-phase{background:rgba(255,255,255,.2)}.fop-close-btn{border:none;color:white;font-size:1.5rem;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.fop-close-btn:hover{background:rgba(255,255,255,.3)}.fop-tabs{display:flex;border-bottom:1px solid #e5e7eb;padding:0 1.5rem;background:#f9fafb;flex-shrink:0}.fop-tab{padding:1rem 1.5rem;background:none;font-size:.95rem;font-weight:500;color:#6b7280;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px}.fop-tab:hover{color:#374151}.fop-tab.active{color:#2563eb;border-bottom-color:#2563eb;background:white}.fop-modal-body{flex:1 1;overflow-y:auto;padding:1.5rem;min-height:0}.fop-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:#6b7280;height:100%}.fop-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:fop-spin .8s linear infinite;margin-bottom:1rem}@keyframes fop-spin{to{transform:rotate(1turn)}}.fop-error{text-align:center;padding:2rem;color:#dc2626}.fop-error button{margin-top:1rem;padding:.5rem 1rem;background:#2563eb;color:white;border:none;border-radius:6px;cursor:pointer}@media (max-width:768px){.fop-modal-overlay{padding:0!important}.fop-modal-content{width:100%!important;height:100vh!important;max-width:100%!important;max-height:100vh!important;border-radius:0!important;top:0!important;left:0!important;transform:none!important}.fop-modal-header{padding:.75rem 1rem!important}.fop-header-info h2{font-size:1rem!important;line-height:1.3!important}.fop-header-meta{font-size:.75rem!important}.fop-phase{font-size:.7rem!important;padding:.15rem .5rem!important}.fop-close-btn{width:32px!important;height:32px!important;font-size:1.25rem!important}.fop-tabs{padding:0 .75rem!important}.fop-tab{padding:.625rem .75rem!important;font-size:.8125rem!important}.fop-modal-body{padding:.75rem!important}.fop-modal-body,.fop-modal-body *{font-size:.875rem!important}.fop-modal-body h3,.fop-modal-body h4{font-size:.9375rem!important}.fop-modal-body p{font-size:.8125rem!important;line-height:1.4!important}}.account-balance-chart-container{background:#ffffff;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 2px 8px rgba(0,0,0,.1)}@media (max-width:768px){.account-balance-chart-container{padding:.75rem 0 0!important;margin-left:0!important;margin-right:0!important;width:100%!important;max-width:100%!important;border-radius:0!important}.account-balance-chart-container .chart-header,.account-balance-chart-container .chart-title,.account-balance-chart-container h3{padding-left:.75rem!important;padding-right:.75rem!important}.account-balance-chart-container .recharts-responsive-container,.account-balance-chart-container .recharts-wrapper{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important}.account-balance-chart-container .recharts-wrapper{min-width:100%!important}.account-balance-chart-container .recharts-wrapper[style*=max-width]{max-width:100%!important}.account-balance-chart-container .recharts-surface{width:100%!important;max-width:100%!important}}.chart-header{align-items:flex-start;margin-bottom:1rem}.chart-title{font-size:18px;color:#1e293b}.chart-subtitle{margin:.25rem 0 0;font-size:13px;color:#64748b}.chart-empty{color:#64748b}.chart-toggle{display:flex;gap:.5rem;background:#f1f5f9;padding:4px;border-radius:8px}.toggle-btn{padding:.5rem 1rem;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s}.toggle-btn:hover{color:#1e293b}.toggle-btn.active{background:#ffffff;color:#0066cc;box-shadow:0 1px 3px rgba(0,0,0,.1)}.balance-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding:.75rem;background:#f8fafc;border-radius:8px}.legend-item{font-size:12px;color:#475569}.legend-color{width:16px;height:16px;border-radius:3px}.after-tax-note{background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;padding:.75rem;margin-bottom:1rem;font-size:12px;color:#92400e}.chart-wrapper{position:relative;display:flex;gap:.5rem;width:100%}.y-axis{display:flex;flex-direction:column;justify-content:space-between;padding-top:10px;min-width:60px}.y-axis-label{font-size:11px;color:#64748b;text-align:right}.chart-area{position:relative;flex:1 1;min-width:0;width:100%;height:300px;border:1px solid #e2e8f0;border-radius:8px;background:#fafafa;overflow:hidden}.grid-lines{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.grid-line{border-bottom:1px dashed #e2e8f0}.retirement-line-container{position:absolute;top:0;bottom:0;pointer-events:none;z-index:5}.retirement-line{top:0;bottom:0;width:2px;opacity:.6}.retirement-label,.retirement-line{position:absolute;background:#ef4444}.retirement-label{top:5px;left:50%;transform:translateX(-50%);color:white;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;white-space:nowrap;z-index:10}.area-chart-svg{position:absolute;top:0;left:0;width:100%;height:100%}.hover-indicator{background:transparent;transition:background .2s ease}.hover-indicator.active,.hover-indicator:hover{background:rgba(0,102,204,.15)}.hover-indicator.active{background:rgba(0,102,204,.25)}.balance-tooltip{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#1e293b;color:white;padding:.75rem;border-radius:8px;font-size:12px;white-space:normal;min-width:200px;max-width:280px;box-shadow:0 4px 12px rgba(0,0,0,.3);margin-bottom:10px;z-index:9999;pointer-events:none;max-height:400px;overflow-y:auto}@media (max-width:768px){.balance-tooltip{padding:.5rem!important;font-size:.6875rem!important;min-width:200px!important;max-width:85vw!important;max-height:70vh!important;line-height:1.4!important}.balance-tooltip .tooltip-age,.balance-tooltip .tooltip-total{font-size:.75rem!important;margin-bottom:.375rem!important}.balance-tooltip .tooltip-total{padding-bottom:.375rem!important}.balance-tooltip .tooltip-breakdown{font-size:.6875rem!important;gap:.2rem!important}.balance-tooltip .tooltip-breakdown div{font-size:.6875rem!important}}.balance-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#1e293b}.tooltip-age,.tooltip-total{margin-bottom:.5rem}.tooltip-total{font-size:14px;font-weight:600;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.2)}.tooltip-breakdown{display:flex;flex-direction:column;gap:.25rem}.x-axis{position:relative;height:30px;margin-left:60px;width:calc(100% - 60px)}.x-axis-label{position:absolute;transform:translateX(-50%);font-size:11px;color:#64748b;top:5px;white-space:nowrap;font-weight:500;z-index:10}.account-balance-chart-container .balance-insights{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.insights-header{margin-bottom:1rem}.insights-header h4{font-size:16px;font-weight:600;color:#1e293b;margin:0 0 .25rem}.insights-header p{font-size:13px;color:#64748b;margin:0}.insight-item{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem;margin-bottom:.5rem;border-radius:6px;background:#f8fafc;border-left:3px solid #cbd5e1}.insight-item.insight-warning{background:#fef3c7;border-left-color:#f59e0b}.insight-item.insight-positive{background:#d1fae5;border-left-color:#10b981}.insight-item.insight-neutral{background:#f1f5f9;border-left-color:#3b82f6}.insight-icon{font-size:18px;line-height:1}.insight-text{font-size:13px;color:#1e293b;line-height:1.6;flex:1 1}.insight-text strong{color:#0f172a;font-weight:600}.withdrawal-sequence-container{background:#ffffff;border-radius:12px;padding:1.5rem;border:1px solid #e2e8f0;box-shadow:0 2px 8px rgba(0,0,0,.1)}.withdrawal-legend{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:.75rem;background:#f8fafc;border-radius:8px;flex-wrap:wrap}.legend-title{font-size:13px;font-weight:600;color:#475569}.legend-items{display:flex;gap:1rem;flex-wrap:wrap}.legend-intensity{display:flex;align-items:center;gap:.5rem;font-size:12px;color:#64748b}.intensity-box{width:20px;height:20px;border-radius:3px;border:1px solid #e2e8f0}.intensity-box.intensity-0{background:#f8fafc}.intensity-box.intensity-1{background:#dbeafe}.intensity-box.intensity-2{background:#93c5fd}.intensity-box.intensity-3{background:#3b82f6}.intensity-box.intensity-4{background:#1e40af}.heatmap-wrapper{overflow-x:auto;margin-bottom:1.5rem}.heatmap-table{display:flex;flex-direction:column;min-width:600px}.heatmap-row{display:flex;border-bottom:1px solid #e2e8f0}.heatmap-row:last-child{border-bottom:none}.header-row{background:#f8fafc;font-weight:600}.heatmap-cell{flex:1 1;padding:.75rem;font-size:12px;display:flex;align-items:center;justify-content:center;border-right:1px solid #e2e8f0;min-height:50px}.heatmap-cell:last-child{border-right:none}.row-label{min-width:180px;flex:0 0 180px;justify-content:flex-start;font-weight:500;color:#1e293b;background:#fafafa}.account-color-indicator{width:12px;height:12px;border-radius:2px;margin-right:.5rem;display:inline-block}.age-header{font-size:11px;color:#475569}.data-cell{position:relative;cursor:pointer;transition:all .2s;overflow:hidden}.data-cell:hover{transform:scale(1.05);z-index:9998;box-shadow:0 2px 8px rgba(0,0,0,.15)}.withdrawal-bar{position:absolute;bottom:0;left:0;right:0;transition:height .3s ease;border-radius:2px 2px 0 0;pointer-events:none;min-height:2px}.data-cell:hover .withdrawal-bar{opacity:1!important}.data-cell.intensity-0{background:#f8fafc}.data-cell.intensity-1{background:#dbeafe}.data-cell.intensity-2{background:#93c5fd}.data-cell.intensity-3{background:#3b82f6}.data-cell.intensity-4{background:#1e40af;color:white}.cell-tooltip{top:100%;background:#1e293b;color:white;padding:.75rem;border-radius:8px;font-size:12px;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.3);margin-top:10px;z-index:9999;pointer-events:none}.cell-tooltip,.cell-tooltip:before{position:absolute;left:50%;transform:translateX(-50%)}.cell-tooltip:before{content:"";bottom:100%;border:6px solid transparent;border-bottom-color:#1e293b}.tooltip-header{font-weight:600;color:#f59e0b;border-bottom:1px solid rgba(255,255,255,.2)}.tooltip-body{display:flex;flex-direction:column;gap:.25rem}.strategy-insights{margin-bottom:1rem}.strategy-insights:not(.card-carousel-wrapper){display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:768px){.strategy-insights:not(.card-carousel-wrapper){grid-template-columns:1fr}}.strategy-insights .insight-card{display:flex;flex-direction:row;align-items:flex-start;gap:1rem;padding:1.25rem 1.5rem;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0;position:relative;overflow:visible;box-sizing:border-box}.strategy-insights .insight-card .insight-icon{font-size:2rem;flex-shrink:0;position:relative;z-index:2;display:block;line-height:1}.strategy-insights .insight-card .insight-content{flex:1 1;position:relative;z-index:2;display:flex;flex-direction:column;min-width:0;color:#1e293b}.strategy-insights .insight-card .insight-content strong{display:block;font-size:1rem;font-weight:700;color:#1e293b;margin-bottom:.5rem;line-height:1.4}.strategy-insights .insight-card .insight-content p{margin:0;font-size:.875rem;color:#475569;line-height:1.6;display:block}.strategy-note{background:#fef3c7;border:1px solid #fbbf24;border-radius:6px;padding:.75rem;font-size:12px;color:#92400e;line-height:1.5}.strategy-note strong{color:#78350f}.cell-tooltip-portal{background:#1e293b;color:white;padding:.75rem;border-radius:8px;font-size:12px;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.4);pointer-events:none}@media (max-width:768px){.cell-tooltip-portal{padding:.5rem!important;font-size:.6875rem!important;white-space:normal!important;max-width:85vw!important;min-width:200px!important;max-height:70vh!important;line-height:1.4!important;overflow-y:auto!important}.cell-tooltip-portal .tooltip-header{font-size:.75rem!important;margin-bottom:.375rem!important;padding-bottom:.375rem!important}.cell-tooltip-portal .tooltip-body{font-size:.6875rem!important;gap:.2rem!important}.cell-tooltip-portal .tooltip-body div{font-size:.6875rem!important}}.cell-tooltip-portal:after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#1e293b}.cell-tooltip-portal .tooltip-header{font-weight:600;margin-bottom:.5rem;color:#f59e0b;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.2)}.cell-tooltip-portal .tooltip-body{display:flex;flex-direction:column;gap:.25rem}.tax-rate-chart-container{background:#ffffff;border-radius:12px;padding:1.25rem 1.25rem 1.5rem;border:1px solid #e2e8f0;box-shadow:0 2px 8px rgba(0,0,0,.1)}.tax-legend{display:flex;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;padding:.75rem;background:#f8fafc;border-radius:8px}.legend-line{width:30px;display:inline-block;margin-right:.5rem}.effective-line{background:#3b82f6}.marginal-line{background:#f97316;background-image:repeating-linear-gradient(90deg,#f97316,#f97316 5px,transparent 0,transparent 10px)}.legend-area{width:20px;height:20px;display:inline-block;margin-right:.5rem;border-radius:3px}.roth-area{background:rgba(16,185,129,.2);border:1px solid #10b981}.event-marker{pointer-events:none;z-index:5}.event-marker,.marker-line{position:absolute;top:0;bottom:0}.marker-line{width:2px}.retirement-marker .marker-line{background:#ef4444;opacity:.6}.rmd-marker .marker-line{background:#f59e0b;opacity:.6}.marker-label{position:absolute;top:10px;left:5px;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:600;white-space:nowrap}.retirement-marker .marker-label{background:#ef4444;color:white}.rmd-marker .marker-label{background:#f59e0b;color:white}.roth-opportunity-zone{position:absolute;top:0;bottom:0;background:rgba(16,185,129,.15);border-left:2px dashed #10b981;border-right:2px dashed #10b981;pointer-events:none;z-index:1}.tax-chart-svg{position:absolute;top:0;left:0;width:100%;height:100%}.data-point{transition:r .2s}.data-point:hover{r:4}.hover-indicator{position:absolute;top:0;bottom:0;width:2px;cursor:pointer;z-index:9998}.hover-indicator:hover{background:rgba(0,0,0,.05)}.tax-tooltip{bottom:100%;background:#1e293b;color:white;padding:.75rem;border-radius:8px;font-size:12px;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.3);margin-bottom:10px;z-index:9999}.tax-tooltip,.tax-tooltip:after{position:absolute;left:50%;transform:translateX(-50%)}.tax-tooltip:after{content:"";top:100%;border:6px solid transparent;border-top-color:#1e293b}.tooltip-age{font-weight:600;margin-bottom:.25rem;color:#f59e0b}.tooltip-phase{font-size:11px;color:#94a3b8;margin-bottom:.5rem}.tooltip-rates{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.rate-row{display:flex;justify-content:space-between;gap:1rem}.rate-label,.rate-value{font-weight:600}.rate-value{color:#fbbf24}.tooltip-divider{height:1px;background:rgba(255,255,255,.2);margin:.5rem 0}.tooltip-income{display:flex;flex-direction:column;gap:.25rem;font-size:11px;color:#cbd5e1}.tax-rate-chart-container .tax-insights{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.tax-rate-chart-container .tax-insights:not(.card-carousel-wrapper){display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:768px){.tax-rate-chart-container .tax-insights:not(.card-carousel-wrapper){grid-template-columns:1fr}.tax-rate-chart-container{padding:1.5rem 0 0!important;margin-left:0!important;margin-right:0!important;margin-top:0!important;width:100%!important;max-width:100%!important;border-radius:0!important;overflow:visible!important}.tax-rate-chart-container .chart-responsive-wrapper{overflow:visible!important;margin-top:.5rem!important}.tax-rate-chart-container .chart-title,.tax-rate-chart-container h3{padding-left:.75rem!important;padding-right:.75rem!important;padding-top:.5rem!important;margin-top:0!important}.tax-rate-chart-container>div:first-child{padding-top:.5rem!important;margin-top:0!important}.tax-rate-chart-container .recharts-responsive-container,.tax-rate-chart-container .recharts-wrapper{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important}.tax-rate-chart-container .recharts-wrapper{min-width:100%!important}.tax-rate-chart-container .recharts-wrapper[style*=max-width]{max-width:100%!important}.tax-rate-chart-container .recharts-surface{width:100%!important;max-width:100%!important}.tax-rate-chart-container .recharts-legend,.tax-rate-chart-container .recharts-legend-item,.tax-rate-chart-container .recharts-legend-wrapper{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;width:0!important;overflow:hidden!important;margin:0!important;padding:0!important}.tax-rate-chart-container .recharts-responsive-container{height:250px!important;min-height:250px!important;max-height:250px!important}.tax-legend{gap:.75rem;padding:.5rem;font-size:11px;margin-bottom:.75rem}.legend-line{width:20px;height:2px;margin-right:.375rem}.legend-area{width:14px;height:14px;margin-right:.375rem}.tax-rate-chart-container .recharts-legend-item{margin-right:8px!important}.tax-rate-chart-container .tax-insights{margin-top:1rem;padding-top:1rem}.tax-rate-chart-container .tax-insights .insight-card{width:100%;max-width:100%;box-sizing:border-box;padding:1rem;border-radius:12px}.tax-rate-chart-container .tax-insights .insight-content{word-break:break-word;overflow-wrap:break-word}.tax-rate-chart-container .tax-insights .insight-content strong{word-break:break-word}.tax-rate-chart-container .tax-insights .insight-content p{word-break:break-word;overflow-wrap:break-word}.tax-rate-chart-container .tax-insights .insight-content span{word-break:break-word;overflow-wrap:break-word;display:block}}@media (max-width:640px){.tax-rate-chart-container .tax-insights .insight-card{padding:.875rem}.tax-rate-chart-container .tax-insights .insight-content{font-size:14px}.tax-rate-chart-container .tax-insights .insight-content strong{font-size:15px}}.insight-card.highlight{background:#ecfdf5;border:1px solid #10b981}.tax-note{background:#f0f9ff;border:1px solid #0ea5e9;border-radius:6px;padding:.75rem;margin-top:1rem;font-size:12px;color:#0c4a6e;line-height:1.6}.tax-note strong{color:#0369a1;display:block;margin-bottom:.5rem}.tax-note ul{margin:.5rem 0 0 1.5rem;padding:0}.tax-note li{margin-bottom:.5rem}.tax-note em{font-style:italic;color:#0284c7}.comparison-chart-container{background:#ffffff;border-radius:12px;padding:2rem;box-shadow:0 2px 8px rgba(0,0,0,.05);border:1px solid #e2e8f0;margin-top:2rem}.comparison-header{margin-bottom:1.5rem}.comparison-chart-title{font-size:1.75rem;font-weight:700;color:#1e293b;margin:0 0 .25rem}.comparison-subtitle{font-size:.875rem;color:#64748b;margin:0;font-weight:500}.comparison-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:2rem}.insight-card{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;background:white;border:2px solid #e2e8f0;transition:all .2s ease}.insight-card.positive{border-color:#86efac;background:linear-gradient(135deg,#f0fdf4,#ffffff)}.insight-card.negative{border-color:#fca5a5;background:linear-gradient(135deg,#fef2f2,#ffffff)}.insight-card.neutral{border-color:#cbd5e1;background:linear-gradient(135deg,#f8fafc,#ffffff)}.insight-icon{font-size:2rem;flex-shrink:0}.insight-content{display:flex;flex-direction:column;gap:.25rem;flex:1 1}.insight-label{font-size:.75rem;color:#64748b;font-weight:500;text-transform:uppercase;letter-spacing:.05em}.insight-value{font-size:1.25rem;font-weight:700;color:#1e293b}.insight-card.positive .insight-value{color:#16a34a}.insight-card.negative .insight-value{color:#dc2626}.comparison-charts-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:2rem;gap:2rem;margin-bottom:2rem}.scenario-chart{background:#f8fafc;border-radius:8px;padding:1.5rem;border:1px solid #e2e8f0}.scenario-title{font-size:1rem;font-weight:600;color:#475569;margin:0 0 1rem;text-align:center}.scenario-title.comparison-highlight{color:#3b82f6}.mini-chart-wrapper{display:grid;grid-template-columns:50px 1fr;grid-template-rows:250px 30px;grid-gap:.5rem;gap:.5rem}.y-axis-mini{grid-column:1;grid-row:1;display:flex;flex-direction:column;justify-content:space-between;padding-right:.5rem}.y-axis-label-mini{font-size:.7rem;font-weight:600;color:#64748b;text-align:right;line-height:1}.mini-chart-area{grid-column:2;grid-row:1;position:relative;height:250px}.grid-lines-mini{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.grid-line-mini{height:1px;background:#e2e8f0}.bars-container-mini{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:flex-end;gap:2px}.bar-mini{position:relative;flex:1 1;background:#8b9dc3;border-radius:3px 3px 0 0;transition:all .2s ease;cursor:pointer;box-shadow:0 -1px 3px rgba(139,157,195,.2)}.bar-mini.comparison-bar{background:#dfa974;box-shadow:0 -1px 3px rgba(223,169,116,.2)}.bar-mini.hovered{filter:brightness(1.15);transform:scaleY(1.02);z-index:10}.x-axis-mini{grid-column:2;grid-row:2;display:flex;justify-content:space-between;padding-top:.5rem}.x-axis-label-mini{font-size:.7rem;font-weight:600;color:#64748b;text-align:center}.mini-tooltip{bottom:calc(100% + 8px);background:white;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.15);padding:.75rem;min-width:150px;z-index:100;animation:tooltipAppear .15s ease;border:1px solid #e2e8f0;white-space:nowrap;pointer-events:none}.mini-tooltip,.mini-tooltip:after{position:absolute;left:50%;transform:translateX(-50%)}.mini-tooltip:after{content:"";top:100%;border:6px solid transparent;border-top-color:white}.mini-tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.85rem}.mini-tooltip-header strong{color:#1e293b}.mini-tooltip-header span{color:#64748b;font-size:.75rem}.mini-tooltip-row{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-size:.8rem;color:#475569;margin-bottom:.25rem}.mini-tooltip-row:last-child{margin-bottom:0}.mini-tooltip-row strong{color:#1e293b;font-weight:600}.comparison-recommendations{background:#f8fafc;border-radius:8px;padding:1.5rem;border:1px solid #e2e8f0}.recommendations-title{font-size:1rem;font-weight:600;color:#1e293b;margin:0 0 1rem}.recommendations-list{display:flex;flex-direction:column;gap:.75rem}.recommendation-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;border-radius:6px;font-size:.875rem;line-height:1.5;color:#475569}.recommendation-item.positive{background:#f0fdf4;border-left:3px solid #22c55e}.recommendation-item.negative{background:#fef2f2;border-left:3px solid #ef4444}.recommendation-item.neutral{background:#f8fafc;border-left:3px solid #94a3b8}.recommendation-item.important{background:#fef3c7;border-left:3px solid #f59e0b}.recommendation-icon{font-weight:700;font-size:1rem;flex-shrink:0}.recommendation-item.positive .recommendation-icon{color:#22c55e}.recommendation-item.negative .recommendation-icon{color:#ef4444}.recommendation-item.neutral .recommendation-icon{color:#94a3b8}.recommendation-item.important .recommendation-icon{color:#f59e0b}.recommendation-item strong{color:#1e293b;font-weight:600}@media (max-width:1024px){.comparison-charts-grid{grid-template-columns:1fr}.comparison-insights{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.comparison-chart-container{padding:.75rem .5rem;margin-left:-.5rem;margin-right:-.5rem;border-radius:8px}.comparison-insights{grid-template-columns:1fr}.mini-chart-wrapper{grid-template-columns:45px 1fr;grid-template-rows:200px 25px}.mini-chart-area{height:200px}}.comparison-line-chart-container{background:white;border-radius:12px;padding:2rem;box-shadow:0 4px 6px rgba(0,0,0,.05);margin:1.5rem 0;position:relative}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.chart-title{font-size:1.25rem;font-weight:600;color:#1f2937;margin:0}.metric-selector{display:flex;align-items:center;gap:.75rem}.metric-selector label{font-size:.875rem;font-weight:500;color:#6b7280}.metric-dropdown{padding:.5rem 1rem;border:2px solid #e5e7eb;border-radius:8px;font-size:.875rem;font-weight:500;color:#374151;background:white;cursor:pointer;transition:all .2s ease;min-width:200px}.metric-dropdown:hover{border-color:#3b82f6}.metric-dropdown:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1)}.metric-selector-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:.5rem;gap:.5rem;margin-bottom:1rem;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.metric-checkbox-label{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;background:white;border:1px solid #e5e7eb;border-radius:6px;cursor:pointer;transition:all .15s ease;font-size:.875rem;color:#374151}.metric-checkbox-label:hover{background:#f3f4f6;border-color:#d1d5db}.metric-checkbox-label.selected{background:#eff6ff;border-color:#93c5fd}.metric-checkbox-label input[type=checkbox]{cursor:pointer;width:16px;height:16px}.metric-checkbox-label input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}.metric-checkbox-label span{flex:1 1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chart-legend{display:flex;justify-content:center;gap:2rem;margin-bottom:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#6b7280}.legend-line{width:32px;height:3px;border-radius:2px}.baseline-line{background:#3b82f6}.comparison-line{background:linear-gradient(90deg,#10b981 60%,transparent 0);background-size:12px 3px;background-repeat:repeat-x;height:4px}.line-chart-svg{display:block;margin:0 auto}.line-chart-svg path{transition:opacity .2s ease,stroke-width .2s ease,filter .2s ease;cursor:pointer}.chart-tooltip{background:white;border:2px solid #e5e7eb;border-radius:8px;padding:.75rem;box-shadow:0 10px 25px rgba(0,0,0,.15);pointer-events:none;z-index:1000;min-width:180px}.tooltip-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid #e5e7eb}.tooltip-header strong{font-size:.875rem;color:#1f2937}.tooltip-scenario{font-size:.75rem;color:#6b7280;padding:.125rem .5rem;background:#f3f4f6;border-radius:4px}.tooltip-value{font-size:.875rem;color:#6b7280}.tooltip-value strong{color:#1f2937;font-weight:600}.chart-empty{text-align:center;color:#9ca3af;font-size:.875rem;padding:2rem}@media (max-width:1024px){.comparison-line-chart-container{padding:1.5rem}.line-chart-svg{max-width:100%;height:auto}.metric-dropdown{min-width:150px}}@media (max-width:768px){.chart-header,.metric-selector{flex-direction:column;align-items:stretch}.metric-dropdown{width:100%}.chart-legend{flex-direction:column;gap:.5rem}}.funding-sources-chart-container{width:100%;max-width:100%;overflow:visible!important;padding:1rem 0 3rem!important;margin-top:0;margin-bottom:0;position:relative;z-index:1}.funding-sources-chart-container .chart-header{padding-top:0;margin-bottom:.5rem;position:relative;z-index:10}.funding-sources-chart-container .chart-header h3{font-size:18px;font-weight:600;color:#1e293b;margin:0;padding-bottom:.25rem;position:relative;z-index:10}.funding-sources-chart-container .recharts-responsive-container{position:relative!important;z-index:1!important}.funding-sources-chart-container .chart-header p{font-size:14px;color:#64748b;margin:.5rem 0 0}.withdrawal-strategy-container{margin-top:.75rem;padding:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px}.withdrawal-strategy-items{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.withdrawal-strategy-item{font-size:13px;font-weight:500;color:#1e293b;padding:.25rem .5rem;background:white;border:1px solid #cbd5e1;border-radius:4px;white-space:nowrap}.funding-sources-chart-container .recharts-responsive-container{width:100%!important;overflow:visible!important}.funding-sources-chart-container .recharts-surface,.funding-sources-chart-container .recharts-wrapper{overflow:visible!important}.funding-sources-chart-container .recharts-xAxis{overflow:visible!important}.funding-sources-chart-container .recharts-xAxis,.funding-sources-chart-container .recharts-xAxis .recharts-cartesian-axis-line,.funding-sources-chart-container .recharts-xAxis .recharts-cartesian-axis-tick-value{display:block!important;visibility:visible!important;opacity:1!important}@media (max-width:768px){.funding-sources-chart-container{padding:.75rem 0 2.5rem!important;border-radius:0!important}.funding-sources-chart-container .chart-header{padding-left:.75rem!important;padding-right:.75rem!important}.funding-sources-chart-container .chart-responsive-wrapper{width:100%!important;max-width:100%!important;min-width:100%!important;padding:0!important;margin:0!important;box-sizing:border-box!important;position:relative!important}.funding-sources-chart-container{width:100%!important;max-width:100%!important;padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}.funding-sources-chart-container .chart-header{padding-top:.5rem}.funding-sources-chart-container .chart-header h3{font-size:16px;padding-bottom:.25rem}.funding-sources-chart-container .chart-header p{font-size:13px}.funding-sources-chart-container .recharts-responsive-container{height:100%!important;min-height:100%!important;max-height:100%!important}.funding-sources-chart-container .recharts-wrapper{overflow:visible!important;width:100%!important;max-width:100%!important;min-width:100%!important;margin:0!important;padding:0!important}.funding-sources-chart-container .recharts-wrapper[style*=max-width]{max-width:100%!important}.funding-sources-chart-container .recharts-responsive-container{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important;overflow:visible!important}.funding-sources-chart-container .recharts-surface{width:100%!important;max-width:100%!important;overflow:visible}.withdrawal-strategy-container{padding:.5rem}.withdrawal-strategy-items{gap:.375rem}.withdrawal-strategy-item{font-size:11px;padding:.2rem .4rem}.funding-sources-chart-container .info-box{padding:.75rem!important;font-size:12px!important;margin-top:.75rem!important}.funding-sources-chart-container .info-box p{font-size:12px!important;margin:0!important;line-height:1.4!important}.funding-sources-chart-container .chart-header label{font-size:12px!important}.funding-sources-chart-container .recharts-legend,.funding-sources-chart-container .recharts-legend-item,.funding-sources-chart-container .recharts-legend-wrapper{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;width:0!important;overflow:hidden!important;margin:0!important;padding:0!important}.funding-sources-chart-container .recharts-xAxis{opacity:1!important}.funding-sources-chart-container .recharts-cartesian-axis-tick,.funding-sources-chart-container .recharts-xAxis{overflow:visible!important;display:block!important;visibility:visible!important}.funding-sources-chart-container .recharts-xAxis .recharts-cartesian-axis-tick-value{font-size:9px!important;display:block!important;visibility:visible!important;opacity:1!important}.funding-sources-chart-container .recharts-yAxis .recharts-cartesian-axis-tick-value{font-size:9px!important}.funding-sources-chart-container .recharts-xAxis .recharts-cartesian-axis-line{display:block!important;visibility:visible!important;opacity:1!important}}@media (max-width:480px){.funding-sources-chart-container{padding-top:.75rem}.withdrawal-strategy-item{font-size:10px;padding:.15rem .3rem}.funding-sources-chart-container .chart-header h3{font-size:14px;line-height:1.4}}.funding-legend-container{margin-top:1rem}.funding-legend-mobile{margin-top:0!important;margin-bottom:0!important;padding:0!important;display:flex!important;flex-wrap:wrap!important;gap:.4rem .75rem!important;font-size:12px!important;color:#475569!important;position:relative!important;z-index:1!important;clear:both!important;width:100%!important;box-sizing:border-box!important}.funding-legend-row{display:inline-flex;align-items:center;gap:.35rem;min-width:auto;flex:0 0 auto;white-space:nowrap}.funding-legend-row:nth-child(n+7){min-width:auto}.funding-legend-mobile .legend-swatch{width:12px;height:12px;border-radius:3px;flex-shrink:0;display:inline-block}.funding-legend-mobile .legend-line{width:20px;height:0;border-top:3px solid #64748b;border-radius:999px;flex-shrink:0;display:inline-block}.funding-legend-mobile .legend-label{font-size:12px;line-height:1.4;color:#475569}@media (max-width:768px){.funding-legend-row{min-width:auto;flex:0 0 auto}.funding-legend-row:nth-child(n+7){min-width:auto}.funding-legend-container{margin-top:0!important;margin-bottom:0!important}.funding-legend-mobile{padding-top:0!important;padding-bottom:0!important}}