.scenario-studio-chart-container{position:relative;padding:1.5rem;background:white;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin:1rem 0;max-width:100%;overflow-x:hidden;box-sizing:border-box}.scenario-studio-chart-plot-outer{display:grid;grid-template-columns:minmax(1.5rem,auto) minmax(0,1fr);grid-template-rows:1fr auto;grid-column-gap:.35rem;column-gap:.35rem;grid-row-gap:.35rem;row-gap:.35rem;width:-moz-fit-content;width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;align-items:center}.chart-axis-y-label{grid-column:1;grid-row:1;writing-mode:vertical-rl;transform:rotate(180deg);line-height:1.2;padding:.25rem 0}.chart-axis-x-label,.chart-axis-y-label{font-size:.8125rem;font-weight:600;color:#374151;text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.chart-axis-x-label{grid-column:2;grid-row:2}.scenario-studio-chart-plot-wrap{position:relative;width:-moz-fit-content;width:fit-content;max-width:100%;grid-column:2;grid-row:1;margin-left:auto;margin-right:auto;overflow:visible}@media (min-width:1025px){.scenario-studio-chart-container{overflow-x:visible}}.chart-header{margin-bottom:1.5rem;text-align:left!important}.chart-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .5rem}.line-chart-svg{display:block;margin:0 auto;width:auto!important;height:auto!important;max-width:100%!important;box-sizing:border-box}.scenario-studio-chart-container .line-chart-svg path{transition:opacity .2s ease,stroke-width .2s ease,filter .2s ease;cursor:pointer}.scenario-studio-chart-container .line-chart-svg circle{transition:none!important;cursor:pointer}.scenario-studio-chart-container .line-chart-svg circle:hover{r:inherit!important}.chart-legend{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem;background:#f9fafb;border-radius:8px;margin-top:3rem;justify-content:flex-start!important}.chart-tooltip{position:absolute;background:rgba(0,0,0,.85);color:white;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;pointer-events:none;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:150px}.tooltip-header{display:flex;justify-content:space-between;align-items:center}.tooltip-scenario{font-size:.75rem;opacity:.9;background:rgba(255,255,255,.2);padding:.25rem .5rem;border-radius:4px}.tooltip-value{font-size:.875rem;line-height:1.5}.tooltip-value strong{font-weight:600;color:#fbbf24}@media (max-width:1024px){.scenario-studio-chart-container .line-chart-svg{width:100%!important;height:auto!important;max-width:100%!important}.scenario-studio-chart-container{overflow-x:hidden;padding:1rem}}@media (max-width:768px){.scenario-studio-chart-container{padding:.75rem;margin:.75rem 0;overflow-x:hidden!important;overflow-y:visible;max-width:100%!important;width:100%!important;box-sizing:border-box!important;-webkit-overflow-scrolling:touch}.scenario-studio-chart-container .line-chart-svg{max-width:100%!important;width:100%!important;height:auto!important;overflow:visible}.chart-header{margin-bottom:.75rem;max-width:100%;overflow-wrap:break-word;word-wrap:break-word}.chart-title{font-size:1rem!important;line-height:1.3;margin-bottom:.375rem!important}.chart-header p{font-size:.8125rem!important;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.chart-legend{padding:.625rem!important;gap:.625rem!important;margin-top:1rem!important;display:flex;flex-wrap:wrap}.chart-axis-x-label,.chart-axis-y-label,.chart-legend{font-size:.75rem!important}.scenario-studio-chart-plot-outer{column-gap:.25rem;row-gap:.25rem}.chart-legend>div{flex:0 1 auto;min-width:-moz-fit-content;min-width:fit-content}.chart-empty{padding:2rem 1rem!important;font-size:.875rem!important}}@media (max-width:480px){.scenario-studio-chart-container{padding:.5rem}.chart-title{font-size:.9375rem!important}.chart-header p{font-size:.75rem!important}.chart-legend{padding:.5rem!important;gap:.5rem!important;font-size:.7rem!important}}.heatmap-chart-container{position:relative;padding:1.5rem;background:white;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin:1rem 0}.heatmap-header{margin-bottom:1.5rem;text-align:left}.heatmap-title{font-size:1.25rem;font-weight:600;color:#111827;margin:0 0 .5rem}.chart-empty{padding:3rem 2rem;text-align:center;color:#9ca3af;font-size:.9375rem}.heatmap-wrapper{overflow-x:auto;overflow-y:auto;max-height:600px;margin-bottom:1.5rem}.heatmap-table{display:inline-block;min-width:100%;overflow:hidden}.heatmap-row{display:flex;border-bottom:1px solid #e2e8f0;position:relative}.heatmap-row:last-child{border-bottom:none}.header-row{background:#f8fafc;font-weight:600;position:-webkit-sticky;position:sticky;top:0;z-index:10}.heatmap-cell{flex:1 1;padding:.75rem;font-size:12px;display:flex;align-items:center;justify-content:center;border-right:1px solid #e2e8f0;min-width:80px;min-height:50px;transition:opacity .2s ease,transform .2s ease}.heatmap-cell:last-child{border-right:none}.row-label{flex:0 0 120px;justify-content:flex-start;font-weight:500;color:#1e293b;background:#fafafa;z-index:5}.corner-cell,.row-label{min-width:120px;position:-webkit-sticky;position:sticky;left:0}.corner-cell{background:#f8fafc;font-weight:600;top:0;z-index:15;padding:.5rem;overflow:hidden;word-wrap:break-word}.corner-label-container{position:relative;width:100%;height:100%;min-height:50px;display:flex;flex-direction:column;justify-content:space-between}.corner-label-x{padding-top:2px}.corner-label-x,.corner-label-y{font-size:10px;color:#475569;white-space:normal;font-weight:500;line-height:1.2;text-align:center;word-break:break-word;max-width:100%}.corner-label-y{width:100%;margin-top:auto}.column-header{background:#f8fafc;font-weight:500;color:#475569;font-size:11px}.data-cell--optimum{outline:3px solid var(--color-text-primary,#111827);outline-offset:-3px}.data-cell--within-band{box-shadow:inset 0 0 0 2px var(--color-warning,#f59e0b)}.heatmap-optimum-star{font-size:.85rem}.heatmap-export-btn{margin-bottom:.5rem;padding:.4rem .75rem;font-size:.8125rem;border:1px solid var(--color-border,#e2e8f0);border-radius:var(--radius-md,6px);background:var(--color-background,#fff);cursor:pointer}.heatmap-export-btn:hover{background:var(--color-background-secondary,#f8fafc)}.data-cell{position:relative;cursor:pointer;font-weight:500;text-shadow:0 1px 2px rgba(0,0,0,.2);overflow:hidden}.data-cell:hover{opacity:.9;z-index:20;box-shadow:0 2px 8px rgba(0,0,0,.2);outline:2px solid rgba(59,130,246,.5);outline-offset:-2px}.heatmap-legend{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:#f9fafb;border-radius:8px;margin-top:1rem}.legend-title{font-size:13px;font-weight:600;color:#475569}.legend-container{display:flex;flex-direction:column;gap:.5rem}.legend-gradient{display:flex;align-items:center;gap:.75rem}.legend-label{font-size:12px;color:#64748b;font-weight:500;min-width:35px;text-align:center}.legend-bar{border:1px solid #e2e8f0;flex-shrink:0;width:200px}.legend-values{display:flex;align-items:center;gap:.75rem;font-size:11px;color:#6b7280}.legend-value-left{min-width:35px;text-align:center}.legend-value-spacer{width:200px;flex-shrink:0}.legend-value-right{min-width:35px;text-align:center}.heatmap-tooltip{background:rgba(0,0,0,.85);color:white;padding:.75rem 1rem;border-radius:8px;font-size:.875rem;box-shadow:0 4px 12px rgba(0,0,0,.15);min-width:200px}.tooltip-header{font-weight:600;margin-bottom:.5rem;padding-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.2)}.tooltip-content{display:flex;flex-direction:column;gap:.25rem}.tooltip-content div{font-size:.8125rem}@media (max-width:768px){.heatmap-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;overflow-y:auto!important}.heatmap-tooltip .tooltip-header{font-size:.75rem!important;margin-bottom:.375rem!important;padding-bottom:.375rem!important}.heatmap-tooltip .tooltip-header strong{font-size:.75rem!important}.heatmap-tooltip .tooltip-content{gap:.2rem!important}.heatmap-tooltip .tooltip-content div{font-size:.6875rem!important}.heatmap-tooltip .tooltip-content div strong{font-size:.6875rem!important;font-weight:600!important}}.heatmap-insights{margin-top:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;border:1px solid #e2e8f0}.insights-header{margin-bottom:1rem}.insights-title{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .5rem}.insight-card{padding:1rem;border-radius:8px;border-left:4px solid;background:white;box-shadow:0 1px 3px rgba(0,0,0,.1);transition:transform .2s ease,box-shadow .2s ease}.insight-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.insight-success{border-left-color:#10b981;background:linear-gradient(90deg,#f0fdf4 0,white 10%)}.insight-info{border-left-color:#3b82f6;background:linear-gradient(90deg,#eff6ff 0,white 10%)}.insight-warning{border-left-color:#f59e0b;background:linear-gradient(90deg,#fffbeb 0,white 10%)}.insight-error{border-left-color:#ef4444;background:linear-gradient(90deg,#fef2f2 0,white 10%)}.insight-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.insight-icon{font-size:1.25rem}.insight-title{font-size:.9375rem;color:#111827}.insight-message{font-size:.875rem;color:#4b5563;line-height:1.6;margin:0}.insights-panel{background:#ffffff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;margin-top:2rem;box-shadow:0 2px 4px rgba(0,0,0,.05)}.insights-panel.empty,.insights-panel.loading{opacity:.8}.insights-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.insights-header h3{margin:0;font-size:1.25rem;font-weight:600;color:#333}.insights-count{font-size:.875rem;color:#666;background:#f5f5f5;padding:.25rem .75rem;border-radius:12px}.insights-loading{text-align:center;padding:2rem;color:#666}.insights-loading .spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top-color:#4caf50;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.insights-empty{text-align:center;padding:2rem;color:#999;font-style:italic}.insights-list{gap:1rem}.insight-card,.insights-list{display:flex;flex-direction:column}.insight-card{border:1px solid #e0e0e0;border-radius:6px;background:#fafafa;transition:all .2s ease;overflow:hidden;width:100%;box-sizing:border-box}.insight-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}.insight-card.expanded{background:#ffffff;border-color:#4CAF50}.insight-card[data-type=optimal_retirement_age]{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border:2px solid #4caf50;border-left-width:6px;box-shadow:0 4px 12px rgba(76,175,80,.2)}.insight-card[data-type=optimal_retirement_age]:hover{box-shadow:0 6px 16px rgba(76,175,80,.3);transform:translateY(-2px)}.insight-card[data-type=optimal_retirement_age] .insight-title{font-size:1.25rem;font-weight:700;color:#2e7d32}.insight-card[data-type=optimal_savings_amount]{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border:2px solid #4caf50;border-left-width:6px;box-shadow:0 4px 12px rgba(76,175,80,.2)}.insight-card[data-type=optimal_savings_amount]:hover{box-shadow:0 6px 16px rgba(76,175,80,.3);transform:translateY(-2px)}.insight-card[data-type=optimal_savings_amount] .insight-title{font-size:1.25rem;font-weight:700;color:#2e7d32}.insight-card.insight-severity-high{border-left:4px solid #f44336}.insight-card.insight-severity-medium{border-left:4px solid #ff9800}.insight-card.insight-severity-low{border-left:4px solid #4caf50}.insight-card.insight-severity-info{border-left:4px solid #2196f3}.insight-header-section{padding:1.25rem;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.insight-title{margin:0 0 .75rem;font-size:1.125rem;font-weight:600;color:#333;line-height:1.3}.insight-summary,.insight-title{width:100%;box-sizing:border-box}.insight-summary{margin:0 0 1rem;font-size:.9375rem;color:#666;line-height:1.5}.insight-toggle-button{width:auto;min-width:140px;padding:.625rem 1.25rem;background:#3b82f6;color:white;border:none;border-radius:6px;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease}.insight-toggle-button:hover{background:#2563eb}.insight-toggle-button:active{transform:scale(.98)}.insight-content-section{padding:0 1.25rem 1.25rem;border-top:1px solid #e0e0e0;display:flex;flex-direction:column;width:100%;box-sizing:border-box}.insight-content,.insight-details-button,.insight-header,.insight-header-new,.insight-title-row,.insight-title-section,.insight-toggle{display:none}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.insight-details{margin-bottom:1rem;width:100%;box-sizing:border-box}.insight-details h5{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}.insight-details ul{margin:0;padding-left:1.5rem;list-style-type:disc}.insight-details li{margin-bottom:.5rem;font-size:.9rem;color:#555;line-height:1.5}.insight-recommendation{margin-bottom:1rem;padding:1rem;background:#e8f5e9;border-radius:4px;border-left:3px solid #4caf50;width:100%;box-sizing:border-box}.insight-recommendation h5{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:#2e7d32}.insight-recommendation p{margin:0;font-size:.9rem;color:#1b5e20;line-height:1.5}.insight-how-to{margin-bottom:1rem;padding:1rem;background:#f0fdf4;border-radius:4px;border-left:3px solid #16a34a;width:100%;box-sizing:border-box}.insight-how-to h5{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:#166534}.insight-how-to-list{margin:0;padding-left:1.25rem;font-size:.875rem;line-height:1.5;color:#374151}.insight-how-to-list li+li{margin-top:.35rem}.insight-metrics{margin-bottom:1rem;width:100%;box-sizing:border-box}.insight-metrics h5{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}.metrics-grid{gap:.75rem}.metric-item,.metrics-grid{display:flex;flex-direction:column;width:100%}.metric-item{padding:.75rem;background:#f5f5f5;border-radius:4px;box-sizing:border-box}.metric-label{font-size:.8rem;color:#666;margin-bottom:.25rem;text-transform:capitalize}.metric-value{font-size:1rem;font-weight:600;color:#333}.insight-affected-ages{margin-top:1rem;width:100%;box-sizing:border-box}.insight-affected-ages h5{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:#333;text-transform:uppercase;letter-spacing:.5px}.age-tags{display:flex;flex-wrap:wrap;gap:.5rem}.age-tag{display:inline-block;padding:.25rem .75rem;background:#e3f2fd;color:#1976d2;border-radius:12px;font-size:.8rem;font-weight:500}@media (max-width:768px){.insights-panel{padding:1rem;margin-top:.75rem}.insights-header{padding:.75rem 0;flex-wrap:wrap;gap:.5rem}.insights-header h3{font-size:1rem}.insights-count{font-size:.75rem;padding:.25rem .625rem}.insights-list{gap:.75rem}.insight-header-section{padding:1rem}.insight-title{font-size:1rem;margin-bottom:.625rem}.insight-summary{font-size:.875rem;margin-bottom:.875rem}.insight-toggle-button{width:100%;padding:.625rem 1rem;font-size:.875rem}.insight-content-section{padding:.875rem 1rem 1rem}.insight-affected-ages h5,.insight-details h5,.insight-details li,.insight-metrics h5,.insight-recommendation h5,.insight-recommendation p{font-size:.8125rem}.metrics-grid{gap:.5rem}.metric-item{padding:.625rem;width:100%}.metric-label{font-size:.75rem}.metric-value{font-size:.875rem}.age-tags{gap:.375rem}.age-tag{padding:.25rem .625rem;font-size:.75rem}.insight-recommendation{padding:.75rem;margin-bottom:.75rem}}