.welcome-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:white;display:flex;align-items:flex-start;justify-content:center;z-index:9999}.welcome-content{text-align:left;padding:1rem 2rem 2rem;max-width:600px}.welcome-message{font-size:1.2rem;line-height:1.6;color:#255360;margin:1rem 0}.welcome-button{background:linear-gradient(135deg,#255360,#57A0B3);color:#fff;border:none;margin-top:1rem;padding:1rem 3rem;border-radius:var(--radius-base);font-size:1.2rem;font-weight:600;cursor:pointer;transition:transform .2s ease}.welcome-button:hover{transform:translateY(-2px)}.welcome-ps{font-size:.8rem;color:#255360}:root{--primary-gradient: linear-gradient(135deg, #DC84B6, #68C6F0);--shadow-sm: 0 2px 12px rgba(0, 0, 0, .03);--shadow-md: 0 4px 20px rgba(0, 0, 0, .1);--spacing-base: 1rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--radius-base: .75rem;--desktop-width: 1400px}html,body{width:100%;overflow-x:auto;position:relative}@media (max-width: 921px){html,body{overflow-x:hidden}}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:#e9ecef;color:#255360;line-height:1.6;margin:0;padding:0;-webkit-text-size-adjust:100%;text-size-adjust:100%}.desktop-dashboard{max-width:1024px;min-width:1024px;margin:1rem auto;padding:1.5rem;background:#f8f9fa;border-radius:var(--radius-base);box-shadow:var(--shadow-md);min-height:calc(100vh - 2rem)}.dashboard-header{margin-bottom:.1rem;border-bottom:2px solid #e9ecef;padding-bottom:.75rem}.logo-container{display:flex;align-items:center;justify-content:space-between}.logout-btn{background:#57A0B3;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.logout-btn:hover{background:#255360;transform:translateY(-2px)}.main-logo{height:60px;width:auto;object-fit:contain}.layout-container{width:100%;margin:0 auto;padding:0;display:flex;flex-direction:column;gap:1.5rem}.unified-input-card{background:transparent;padding:1.5rem;border-radius:12px;width:100%;max-width:100%;box-sizing:border-box;flex-shrink:0;display:flex;flex-direction:column;gap:1rem}.layout-section{background:transparent;padding:0;border-radius:0;width:100%;max-width:100%;box-sizing:border-box;flex-shrink:0}.layout-section:not(:last-child){margin-bottom:.5rem;padding-bottom:.75rem}.layout-section h2{margin:0 0 .5rem;color:#255360;font-size:1.5rem;font-weight:700}.section-description{color:#255360;font-size:1rem;line-height:1.5;margin-bottom:1.2rem}.mobile-dashboard .layout-section h2{margin:0 0 .25rem!important;max-width:100%!important;font-size:18px!important}.mobile-dashboard .section-description{margin:0 0 1rem!important;max-width:100%!important;font-size:14px!important;line-height:1.4!important}.spending-input-layout{display:flex;gap:1.5rem;align-items:start;width:100%;min-width:0;box-sizing:border-box;flex-wrap:nowrap}.result-container{min-height:200px;flex:1;min-width:0;box-sizing:border-box;display:flex;flex-direction:column;justify-content:flex-start;gap:.75rem}.getting-started-box{background:white;border:2px solid #e9ecef;border-radius:16px;padding:2rem;box-shadow:var(--shadow-sm);width:100%;box-sizing:border-box}.mobile-dashboard .spending-input-layout{min-width:0!important}.mobile-dashboard .getting-started-box{width:100%!important}.getting-started-box h3{margin:0 0 1.5rem;color:#255360;font-size:1.4rem;font-weight:700}.getting-started-box ul{margin:0 0 1.5rem;padding-left:1.5rem;color:#255360;line-height:1.6}.getting-started-box li{margin-bottom:.75rem}.hint-text{color:#255360;font-size:.9rem;margin:0;line-height:1.5}.details-rates-container{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;width:100%;box-sizing:border-box}.details-rates-card{background:white;border:2px solid #e9ecef;border-radius:16px;padding:2rem;box-shadow:var(--shadow-sm);width:100%;box-sizing:border-box}.card-header-with-tooltip{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.card-header-with-tooltip h2{margin:0;font-size:1.5rem;font-weight:700;color:#255360}.section-info-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#57A0B3;color:#fff;border:none;font-size:.9rem;font-weight:700;font-style:italic;cursor:pointer;transition:all .2s ease;flex-shrink:0}.section-info-button:hover{background:#255360;transform:scale(1.1)}.details-rates-inputs{display:flex;flex-direction:column;gap:1rem}.retirement-details-layout,.percentage-rates-layout{display:grid;grid-template-columns:repeat(3,220px);gap:1.2rem;justify-content:space-between;width:100%;box-sizing:border-box;flex-wrap:nowrap}.additional-income-card{background:white;border:2px solid #e9ecef;border-radius:16px;padding:2rem;box-shadow:var(--shadow-sm);width:100%;box-sizing:border-box}.additional-income-layout{display:grid;grid-template-columns:minmax(140px,1.4fr) minmax(95px,.8fr) 115px 120px auto;gap:.75rem;align-items:end;width:100%;box-sizing:border-box}.additional-income-layout.has-dollars{grid-template-columns:minmax(130px,1.3fr) minmax(95px,.8fr) 115px 120px 100px auto}.income-mode-toggle{display:inline-flex;background:#f1f5f7;border:1px solid #e1e8eb;border-radius:999px;padding:2px;gap:1px}.income-mode-option{background:transparent;border:none;color:#6b8a93;font-family:inherit;font-size:.7rem;font-weight:500;padding:.2rem .6rem;border-radius:999px;cursor:pointer;transition:all .15s ease}.income-mode-option:hover:not(.active):not(:disabled){color:#255360}.income-mode-option.active{background:#ffffff;color:#255360;box-shadow:0 1px 2px #0000000f}.income-mode-option:disabled{cursor:not-allowed}.mobile-dashboard .income-mode-toggle{padding:1px}.mobile-dashboard .income-mode-option{font-size:.62rem;padding:.15rem .45rem;letter-spacing:0}.mobile-dashboard .details-rates-container,.mobile-dashboard .retirement-details-layout,.mobile-dashboard .percentage-rates-layout{margin-right:0!important;max-width:100%!important}.additional-income-layout .input-group,.additional-income-layout .input-group-no-label{width:100%}.input-group-no-label{display:flex;flex-direction:column}.input-group-no-label select{padding:.75rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .2s ease;margin-bottom:.125rem}.add-income-button{padding:.5rem 1.25rem;background:#57A0B3;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:all .2s ease;font-size:.95rem;min-width:80px;height:44px;margin-bottom:.125rem}.add-income-button:hover{background:#255360;transform:translateY(-2px)}.help-text{font-size:.9rem;color:#255360;margin:.125rem 0 .5rem;line-height:1.35}.core-inputs{display:flex;flex-direction:column;gap:1rem}.advanced-inputs{display:grid;grid-template-columns:repeat(2,minmax(200px,1fr));gap:1rem;width:100%;max-width:100%;box-sizing:border-box;flex-wrap:nowrap}.input-group{display:flex;flex-direction:column;gap:.25rem}.input-group label{font-weight:600;font-size:1rem;color:#255360;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.input-group input,.input-group select{padding:.75rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;transition:all .2s ease;margin-bottom:.125rem;width:100%;max-width:100%;box-sizing:border-box;flex-shrink:0;height:48px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:disabled,select:disabled,button:disabled{background-color:#f5f5f5!important;color:#999!important;cursor:pointer!important}input:disabled:hover,select:disabled:hover,button:disabled:hover{background-color:#f0f0f0!important}.input-group input:focus,.input-group select:focus{outline:none;border-color:#74b9ff;box-shadow:0 0 0 3px #74b9ff1a}.dollar-input-container{position:relative}.dollar-sign{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#255360;font-size:1rem;pointer-events:none}.dollar-input-container input{padding-left:2rem}.injection-inputs{display:grid;grid-template-columns:2fr 1.5fr 1fr 1fr auto;gap:.75rem;margin-bottom:1rem;align-items:end}.injection-inputs input,.injection-inputs select{padding:.75rem;border:2px solid #e9ecef;border-radius:8px;font-size:.9rem}.injection-inputs button{padding:.75rem 1.5rem;background:#57A0B3;color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:700;transition:all .2s ease}.injection-inputs button:hover{background:#255360}.injections-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;width:100%}.savings-entry{position:relative;padding:.25rem 1rem;background:transparent;border:none;border-radius:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;width:100%;max-width:100%;box-sizing:border-box}.type-indicator{position:absolute;top:-.5rem;left:1rem;padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.type-indicator.lump{background:#DC84B6;color:#fff}.type-indicator.stream{background:#68C6F0;color:#fff}.savings-entry-content{display:flex;gap:.5rem;flex:1;font-size:.9rem;align-items:center}.checkmark-icon{color:#57a0b3;font-weight:700;font-size:1rem;flex-shrink:0}.savings-entry-content input{padding:.5rem;border:1px solid #e9ecef;border-radius:4px;font-size:.9rem}.year-input{width:60px!important;text-align:center;margin-left:.25rem}.savings-entry button{padding:.3rem .6rem;background:transparent;color:#ff6b6b;border:1px solid #ff6b6b;border-radius:4px;cursor:pointer;font-size:.75rem;white-space:nowrap;flex-shrink:0}.savings-entry button:hover{color:#c00;border-color:#c00;transform:translateY(-2px)}.savings-entry-actions{display:flex;gap:.25rem;flex-shrink:0;align-items:center}.savings-entry .entry-icon-btn{padding:0;width:32px;height:32px;background:transparent;border:1px solid transparent;border-radius:50%;color:#6b8a93;font-size:.95rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.savings-entry .entry-icon-btn:hover:not(:disabled){background:#f1f5f7;color:#255360;border-color:#d6e1e6;transform:none}.savings-entry .entry-icon-btn:disabled{opacity:.3;cursor:not-allowed}.savings-entry .entry-icon-btn-remove:hover:not(:disabled){background:#fff5f5;color:#c53030;border-color:#fed7d7}.savings-entry .entry-icon-btn-remove-pending,.savings-entry .entry-icon-btn-remove-pending:hover:not(:disabled){background:#c53030;color:#fff;border-color:#c53030;animation:entryDeletePulse 1.4s ease-in-out infinite}@keyframes entryDeletePulse{0%,to{box-shadow:0 0 #c5303073}50%{box-shadow:0 0 0 4px #c5303000}}.savings-entry .entry-icon-btn-edit>span{display:inline-block;transform:scaleX(-1)}.savings-entry.editing{background:#f0f7f9;border-left:3px solid #57A0B3;border-radius:4px}.add-income-buttons-stacked{display:flex;flex-direction:column;gap:.35rem;width:100%}.add-income-buttons-stacked .add-income-button{width:100%;min-width:0;height:auto;padding:.4rem .75rem;font-size:.85rem;margin-bottom:0}.cancel-edit-button{width:100%;background:transparent;color:#6b8a93;border:1px solid #d6e1e6;border-radius:8px;padding:.4rem .75rem;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .2s ease}.cancel-edit-button:hover:not(:disabled){background:#f1f5f7;color:#255360;border-color:#b9c8ce}.cancel-edit-button:disabled{cursor:not-allowed;opacity:.5}.additional-income-layout-mobile .add-income-buttons-stacked{flex-direction:row;gap:.5rem}.additional-income-layout-mobile .add-income-buttons-stacked .add-income-button,.additional-income-layout-mobile .add-income-buttons-stacked .cancel-edit-button{flex:1 1 0}.mobile-dashboard .savings-entry .entry-icon-btn{width:36px;height:36px;font-size:1rem}.spending-goal-section{background:#f8f9fa;padding:1.5rem;border-radius:12px;border:2px solid #e9ecef;margin-bottom:2rem}.spending-goal-section .input-group{margin-bottom:1.5rem}.results-placeholder{background:white;border:2px dashed #dee2e6;border-radius:16px;padding:3rem 2rem;text-align:center;color:#255360;width:100%;box-sizing:border-box}.placeholder-content h3{margin:0 0 1rem;color:#255360;font-weight:600}.placeholder-content p{margin:0;font-size:1.1rem;line-height:1.5}.button-container{display:flex;gap:1rem;margin-top:1rem;flex-wrap:nowrap;min-width:320px}.calculate-button,.export-button{padding:1rem 2rem;border:none;border-radius:var(--radius-base);font-size:1.1rem;font-weight:700;color:#fff;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;flex:1}.calculate-button{background:linear-gradient(135deg,#255360,#57A0B3);max-width:220px}.calculate-button-stale{background:linear-gradient(135deg,#c97a4a,#e0995c);animation:calculate-button-stale-pulse 2.4s ease-in-out infinite}.calculate-button-stale:hover{background:linear-gradient(135deg,#b66a3d,#d18a4f)}@keyframes calculate-button-stale-pulse{0%,to{box-shadow:0 0 #c97a4a73}50%{box-shadow:0 0 0 8px #c97a4a00}}.calculate-stale-hint{font-size:.78rem;font-weight:600;color:#c97a4a;text-align:center;line-height:1.2}.mobile-dashboard .calculate-stale-hint{font-size:12px}@media (prefers-reduced-motion: reduce){.calculate-button-stale{animation:none}}.calculate-button-wrapper{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;width:100%;max-width:220px}.calculate-button-wrapper .calculate-button{width:100%;max-width:none}.trial-countdown-text{font-size:.78rem;font-weight:500;color:#255360;text-align:center;opacity:.85;line-height:1.2}.mobile-dashboard .calculate-button-wrapper{max-width:none}.mobile-dashboard .trial-countdown-text{font-size:12px}.export-button{background:linear-gradient(135deg,#68C6F0,#4CAF50)}.calculate-button:hover,.export-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.withdrawal-plan-button{background:#255360;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;margin-top:.5rem}.withdrawal-plan-button:hover{background:#1e4249;transform:translateY(-2px);box-shadow:0 8px 16px #2553604d}.download-plan-button{background:#255360;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;margin-top:.5rem}.download-plan-button:hover{background:#1e4249;transform:translateY(-2px);box-shadow:0 8px 16px #2553604d}.chart-explainer-link{background:none;border:none;padding:0;margin:0;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.chart-explainer-link:hover{opacity:.75}.input-controls{display:flex;flex-direction:column;gap:1rem;flex-wrap:nowrap;width:220px;flex-shrink:0}.input-controls>.adjust-pattern-button{margin-top:1.75rem}.results-panel{padding:2rem;background:white;border:2px solid #e9ecef;border-radius:16px;box-shadow:var(--shadow-md);width:100%;max-width:100%;box-sizing:border-box;min-height:280px}.success-rate{margin-bottom:1rem;padding:1rem;background:white;border-radius:16px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem;width:100%;box-sizing:border-box;transition:background-color .2s ease}.success-rate.tier-very-strong{background-color:#f3e8ff}.success-rate.tier-strong{background-color:#e9f5ee}.success-rate.tier-moderate{background-color:#fbf1dd}.success-rate.tier-weak{background-color:#fae6e9}.success-content{display:flex;align-items:flex-start;gap:2rem}.success-score-container{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.success-score{font-size:4rem;font-weight:900;color:#255360;text-shadow:0 2px 4px rgba(37,83,96,.1);line-height:1;margin-bottom:.25rem}.simulation-count{font-size:.75rem;color:#255360;text-align:center;font-weight:500}.success-explanation{font-size:1.1rem;color:#255360;line-height:1.5;margin:0}.disclaimer{font-size:.85rem;color:#255360;font-style:italic;margin:0;line-height:1.4;text-align:center}.withdrawals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.withdrawal-entry{display:flex;flex-direction:column;gap:.5rem}.withdrawal-entry label{font-weight:600;color:#255360;font-size:.9rem}.withdrawal-entry input{padding:.75rem .75rem .75rem 2rem;border:2px solid #e9ecef;border-radius:8px;font-size:.9rem;transition:all .2s ease}.withdrawal-entry input:focus{outline:none;border-color:#74b9ff;box-shadow:0 0 0 3px #74b9ff1a}.reset-button{display:block;margin:2rem auto 1rem;background:none;border:none;color:#255360;font-size:.8rem;cursor:pointer;opacity:.6;padding:.5rem}.reset-button:hover{opacity:1}.footer-terms{font-size:.55rem;color:#aaa;font-weight:300;text-align:center;margin-top:1rem;margin-bottom:1rem}.terms-link{color:#68c6f0;text-decoration:none;cursor:pointer}.terms-link:hover{text-decoration:underline}.error-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.error-dialog,.warning-dialog{background:white;padding:1.5rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:90%;width:400px}.error-dialog h3,.warning-dialog h3{margin:0 0 1rem;color:#255360}.error-content,.warning-content{margin-bottom:1.5rem}.error-content p,.warning-content p{margin:.5rem 0;color:#255360}.error-dialog button{background:#57A0B3;color:#fff;border:none;padding:.5rem 2rem;border-radius:4px;cursor:pointer;font-size:1rem}.error-dialog button:hover{background:#255360}.warning-buttons{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.warning-buttons button{padding:.5rem 2rem;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.warning-buttons button.cancel{background:#e9ecef;color:#255360}.warning-buttons button.confirm{background:#57A0B3;color:#fff}.terms-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:white;padding:1.5rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:90%;width:600px;max-height:80vh;overflow-y:auto;z-index:1000}.terms-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:999}.terms-dialog button{background:#57A0B3;color:#fff;border:none;padding:.5rem 2rem;border-radius:4px;cursor:pointer;font-size:1rem;margin-top:1rem}.terms-dialog button:hover{background:#255360}.guidelines-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:white;padding:1.5rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:90%;width:600px;max-height:80vh;overflow-y:auto;z-index:1000}.guidelines-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:999}.guidelines-dialog h2{margin:0 0 1rem;color:#255360}.guidelines-content{margin-bottom:1.5rem}.guidelines-content p{margin:1rem 0;line-height:1.6;color:#555}.guidelines-dialog button{background:#57A0B3;color:#fff;border:none;padding:.5rem 2rem;border-radius:4px;cursor:pointer;font-size:1rem;margin-top:1rem}.guidelines-dialog button:hover{background:#255360}.label-with-tooltip{display:flex;align-items:baseline;gap:.5rem}.tooltip-button{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:transparent;color:#57a0b3;border:1px solid #57A0B3;font-size:.7rem;font-weight:700;cursor:pointer;transition:all .2s ease;flex-shrink:0;position:relative;top:-2px}.tooltip-button:hover{border-color:#255360;color:#255360;transform:scale(1.1)}.tooltip-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:white;padding:1.5rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:500px;max-height:70vh;overflow-y:auto;z-index:1000}.tooltip-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:999}.tooltip-dialog h3{margin:0 0 1rem;color:#255360}.tooltip-content{margin-bottom:1.5rem}.tooltip-content p{margin:1rem 0;line-height:1.6;color:#555}.tooltip-dialog button{background:#57A0B3;color:#fff;border:none;padding:.5rem 2rem;border-radius:4px;cursor:pointer;font-size:1rem;margin-top:1rem}.tooltip-dialog button:hover{background:#255360}.tooltip-footer{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.tooltip-estimator-link{display:flex;align-items:flex-end;gap:.5rem}.tooltip-estimator-link span{font-size:.9rem;color:#666}.tooltip-dialog .estimator-button{background:linear-gradient(135deg,#255360,#57A0B3);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;margin-top:0}.tooltip-dialog .estimator-button:hover{background:linear-gradient(135deg,#1a3a44,#4a8a9a)}.estimator-launch-button{margin-top:.5rem;align-self:flex-start;background:#255360;color:#fff;border:none;padding:.4rem .85rem;border-radius:6px;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease}.estimator-launch-button:hover{background:#1a3a44}.withdrawal-plan-container{background:white;border:2px solid #e9ecef;border-radius:16px;padding:2rem;width:100%;box-sizing:border-box;min-height:280px}.mobile-dashboard .withdrawal-plan-container{max-width:100%;margin-right:0}.withdrawal-plan-header{margin-bottom:2rem;text-align:center}.withdrawal-plan-header h3{margin:0 0 .5rem;color:#255360;font-size:1.5rem;font-weight:700}.withdrawal-plan-header p{margin:0;color:#255360;font-size:1rem;line-height:1.5}.withdrawal-plan-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;max-height:500px;overflow-y:auto;padding:.5rem}.withdrawal-year-card{background:white;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;box-shadow:var(--shadow-sm);transition:transform .2s ease}.withdrawal-year-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.withdrawal-year-card.partially-funded{border-color:#f8b4b4}.withdrawal-year-card.unfunded{border-color:#f87171}.withdrawal-year{font-size:1.1rem;font-weight:700;color:#255360;margin-bottom:.5rem}.withdrawal-amount{font-size:1.8rem;font-weight:900;color:#57a0b3;margin-bottom:.25rem}.spending-label{font-size:.85rem;font-weight:600;color:#57a0b3;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.withdrawal-details{display:flex;flex-direction:column;gap:.5rem}.detail-row{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;color:#255360}.detail-row span:first-child{font-weight:500}.detail-row span:last-child{font-weight:600}.mobile-dashboard{width:100%;max-width:100%;margin:0;padding:1rem 0rem;background:#f8f9fa;min-height:100vh;box-sizing:border-box;overflow-x:hidden;font-size:14px;-webkit-text-size-adjust:100%;text-size-adjust:100%}.mobile-dashboard *{margin-right:0!important;max-width:100%!important}.mobile-dashboard .layout-section,.mobile-dashboard .section-description,.mobile-dashboard .spending-input-layout,.mobile-dashboard .retirement-details-layout,.mobile-dashboard .percentage-rates-layout,.mobile-dashboard .additional-income-layout,.mobile-dashboard .getting-started-box,.mobile-dashboard .withdrawal-plan-container,.mobile-dashboard .injections-list{margin-right:0!important;max-width:100%!important;width:100%!important;box-sizing:border-box!important}.mobile-dashboard .dashboard-header{margin-bottom:1rem;border-bottom:2px solid #e9ecef;padding-bottom:.75rem;padding-left:.75rem;padding-right:.75rem}.mobile-dashboard .logo-container{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.mobile-dashboard .main-logo{height:40px;width:auto;object-fit:contain}.mobile-dashboard .logout-btn,.mobile-dashboard .logo-container button{padding:.5rem 1rem;font-size:.8rem;white-space:nowrap}.mobile-dashboard .layout-container{padding:0;gap:1.5rem}.mobile-dashboard .unified-input-card{padding:1.5rem;border-radius:12px;margin:0}.mobile-dashboard .additional-income-card{padding:1.25rem 1rem;border-radius:12px}.mobile-dashboard .layout-section h2{font-size:18px;margin:0 0 .25rem;padding-bottom:.5rem;max-width:100%}.mobile-dashboard .section-description{font-size:14px;margin-bottom:1rem;margin-right:0;max-width:100%;line-height:1.4}.spending-input-layout-mobile{display:flex;flex-direction:column;gap:1.5rem;width:100%}.input-controls-mobile{display:flex;flex-direction:column;gap:1rem;width:100%}.action-buttons-mobile{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem}.action-buttons-desktop{display:flex;flex-direction:column;gap:.75rem}.action-buttons-row{display:flex;flex-direction:row;gap:.5rem;width:100%;margin-top:.5rem}.action-buttons-row>button{flex:1 1 0;width:auto;margin-top:0}.my-scenarios-wrapper{display:flex;flex-direction:column;align-items:stretch;gap:.3rem;width:100%}.my-scenarios-wrapper .action-buttons-row{margin-top:0}.loaded-scenario-name{font-size:.78rem;font-weight:500;color:#255360;opacity:.85;text-align:center;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-scenarios-button{background:transparent;color:#255360;border:1px solid #255360;padding:.5rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.my-scenarios-button:hover{background:#f0f8fa;transform:translateY(-2px);box-shadow:0 4px 12px #25536026}.mobile-dashboard .my-scenarios-button{font-size:14px;padding:.5rem .75rem;min-height:auto}.scenarios-modal{max-width:560px;text-align:left}.scenarios-modal h3{text-align:center}.scenarios-current{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:1.25rem}.scenarios-current-label{font-size:.75rem;font-weight:700;color:#6b7c83;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.scenarios-name-input{width:100%;padding:.65rem .85rem;font-size:1.05rem;font-weight:600;color:#255360;border:1px solid #d0d7dc;border-radius:8px;font-family:inherit;box-sizing:border-box;background:white}.scenarios-name-input:focus{outline:none;border-color:#57a0b3;box-shadow:0 0 0 3px #57a0b333}.scenarios-current-name-row{display:flex;align-items:center;gap:.75rem}.scenarios-current-name{flex:1;min-width:0;font-size:1.05rem;font-weight:600;color:#255360;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scenarios-current-status{margin-top:.6rem;font-size:.85rem}.scenarios-status{display:inline-flex;align-items:center;gap:.4rem;font-weight:600}.scenarios-status-clean{color:#2c7a4a}.scenarios-status-saving{color:#6b7c83;font-style:italic}.scenarios-status-error{color:#b3261e}.scenarios-current-hint{margin:.5rem 0 0;font-size:.82rem;color:#6b7c83}.scenarios-current-empty{background:#f8f9fa;border:1px dashed #d0d7dc}.scenarios-current-empty p{margin:0;color:#4a5a60;font-size:.92rem}.scenarios-actions-row{display:flex;justify-content:flex-end;margin-top:.85rem}.scenarios-create{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:1.25rem}.scenarios-create-label{display:block;font-size:.78rem;font-weight:700;color:#6b7c83;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.scenarios-create-buttons{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.85rem;align-items:center}.scenarios-create-hint{margin:.85rem 0 0;font-size:.82rem;color:#6b7c83}.scenarios-error{color:#b3261e;font-size:.85rem;margin-top:.6rem}.scenarios-btn{padding:.55rem 1rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;font-family:inherit;border:1px solid transparent}.scenarios-btn:disabled{opacity:.5;cursor:not-allowed}.scenarios-btn-primary{background:#255360;color:#fff;border-color:#255360}.scenarios-btn-primary:hover:not(:disabled){background:#1e4249;border-color:#1e4249}.scenarios-btn-secondary{background:white;color:#255360;border-color:#255360}.scenarios-btn-secondary:hover:not(:disabled){background:#f0f8fa}.scenarios-btn-small{padding:.4rem .75rem;font-size:.82rem}.scenarios-btn-text{background:none;border:none;padding:.4rem .6rem;color:#6b7c83;font-size:.88rem;cursor:pointer;text-decoration:underline;font-family:inherit}.scenarios-btn-text:hover:not(:disabled){color:#255360}.scenarios-btn-text:disabled{opacity:.5;cursor:not-allowed}.scenarios-divider{margin:1.5rem 0 .75rem;text-align:center;position:relative;color:#6b7c83;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.scenarios-divider:before,.scenarios-divider:after{content:"";position:absolute;top:50%;width:calc(50% - 110px);height:1px;background:#e9ecef}.scenarios-divider:before{left:0}.scenarios-divider:after{right:0}.scenarios-empty{text-align:center;color:#6b7c83;font-style:italic;padding:1rem 0;margin:0}.scenarios-list{list-style:none;margin:0;padding:0;max-height:280px;overflow-y:auto;border:1px solid #e9ecef;border-radius:8px}.scenarios-list-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .875rem;border-bottom:1px solid #eef1f3}.scenarios-list-item:last-child{border-bottom:none}.scenarios-list-item-text{display:flex;flex-direction:column;min-width:0;flex:1}.scenarios-list-item-name{font-weight:600;color:#255360;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scenarios-list-item-date{font-size:.78rem;color:#6b7c83;margin-top:.15rem}.scenarios-list-item-actions{display:flex;gap:.4rem;align-items:center;flex-shrink:0}.scenarios-rename-input{width:100%;padding:.35rem .55rem;font-size:.9rem;border:1px solid #57A0B3;border-radius:6px;font-family:inherit;box-sizing:border-box;color:#255360;font-weight:600}.scenarios-rename-input:focus{outline:none;box-shadow:0 0 0 3px #57a0b333}.scenarios-delete-btn{background:none;border:1px solid transparent;color:#b3261e;padding:.4rem .75rem;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;font-family:inherit;transition:all .15s ease}.scenarios-delete-btn:hover:not(:disabled){background:rgba(179,38,30,.08);border-color:#b3261e4d}.scenarios-delete-btn:disabled{opacity:.4;cursor:not-allowed}.scenarios-delete-btn-armed{background:#FBBF24;color:#422006;border-color:#b45309;box-shadow:0 0 0 2px #b4530940}.scenarios-delete-btn-armed:hover{background:#F59E0B;border-color:#92400e}.scenarios-modal-footer{margin-top:1.25rem;text-align:center}.scenarios-confirm{padding:1rem 0}.scenarios-confirm p{margin:0 0 1rem;color:#255360}.scenarios-confirm-buttons{display:flex;flex-direction:column;gap:.5rem;align-items:stretch;margin-top:1rem}.scenarios-confirm-buttons .scenarios-btn-text{align-self:center;margin-top:.25rem}.save-scenario-button{background:transparent;color:#255360;border:1px solid #255360;padding:.5rem .75rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.save-scenario-button:hover{color:#1e4249;border-color:#1e4249;transform:translateY(-2px);box-shadow:0 8px 16px #2553604d}.load-scenario-button{background:transparent;color:#57a0b3;border:1px solid #57A0B3;padding:.5rem .75rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.load-scenario-button:hover{color:#255360;border-color:#255360;transform:translateY(-2px);box-shadow:0 8px 16px #57a0b34d}.mobile-dashboard .save-scenario-button,.mobile-dashboard .load-scenario-button{font-size:14px;padding:.5rem .75rem;min-height:auto}.scenario-name-input{width:100%;margin-top:.75rem;padding:.6rem .75rem;font-size:.95rem;border:1px solid #d0d7dc;border-radius:8px;font-family:inherit;box-sizing:border-box}.scenario-name-input:focus{outline:none;border-color:#57a0b3;box-shadow:0 0 0 3px #57a0b333}.scenario-load-dialog{max-width:480px}.scenario-list{list-style:none;margin:.75rem 0 0;padding:0;max-height:320px;overflow-y:auto;border:1px solid #e9ecef;border-radius:8px}.scenario-list-item{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .875rem;border-bottom:1px solid #eef1f3;cursor:pointer;transition:background .15s ease}.scenario-list-item:last-child{border-bottom:none}.scenario-list-item:hover{background:#f5f9fa}.scenario-list-item-text{display:flex;flex-direction:column;min-width:0;flex:1}.scenario-list-item-name{font-weight:600;color:#255360;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scenario-list-item-date{font-size:.8rem;color:#6c7a82;margin-top:.15rem}.scenario-delete-button{background:transparent;border:none;color:#99a4ab;font-size:1.4rem;line-height:1;width:28px;height:28px;border-radius:50%;cursor:pointer;flex-shrink:0;padding:0}.scenario-delete-button:hover:not(:disabled){background:#f0d6d3;color:#b3261e}.scenario-delete-button:disabled{opacity:.3;cursor:not-allowed}.scenario-delete-button-pending,.scenario-delete-button-pending:hover:not(:disabled){background:#c53030;color:#fff;animation:scenarioDeletePulse 1.4s ease-in-out infinite}@keyframes scenarioDeletePulse{0%,to{box-shadow:0 0 #c5303073}50%{box-shadow:0 0 0 4px #c5303000}}.scenario-list-item-disabled{opacity:.45;pointer-events:none}.scenario-dont-show{display:flex;align-items:center;gap:.5rem;margin-top:.875rem;font-size:.9rem;color:#4a5a62;cursor:pointer}.scenario-dont-show input{cursor:pointer}.scenario-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#255360;color:#fff;padding:.75rem 1.25rem;border-radius:8px;font-size:.9rem;box-shadow:0 8px 24px #0000002e;z-index:10001}.result-container-mobile{width:100%;margin-top:1.5rem;display:flex;flex-direction:column;justify-content:flex-start;gap:.75rem}.details-rates-container-mobile{display:flex;flex-direction:column;gap:1.5rem;width:100%}.mobile-dashboard .details-rates-card{padding:1.5rem}.mobile-dashboard .card-header-with-tooltip h2{font-size:18px;padding-bottom:0!important;margin:0!important;line-height:1.2!important}.mobile-dashboard .section-info-button{width:20px;height:20px;font-size:.8rem}.retirement-details-layout-mobile,.percentage-rates-layout-mobile,.additional-income-layout-mobile{display:flex;flex-direction:column;gap:1rem;width:100%}.additional-income-layout-mobile .input-group,.additional-income-layout-mobile .input-group-no-label{width:100%}.mobile-dashboard .input-group input,.mobile-dashboard .input-group select{font-size:16px;padding:.875rem;height:auto;min-height:48px}.mobile-dashboard .input-group label{font-size:14px;font-weight:600}.mobile-dashboard .help-text{font-size:12px}.mobile-dashboard .calculate-button,.mobile-dashboard .add-income-button{font-size:14px;padding:1rem;width:100%;min-height:48px}.mobile-dashboard .withdrawal-plan-button,.mobile-dashboard .download-plan-button{font-size:14px;padding:.5rem 1rem;width:100%;min-height:auto}.mobile-dashboard .dollar-input-container input{padding-left:2.5rem}.mobile-dashboard .dollar-sign{left:.875rem;font-size:1rem}.mobile-chart-container{background:white;padding:.5rem;border-radius:12px;box-shadow:var(--shadow-sm);width:100%;max-width:100%;box-sizing:border-box;border:1px solid #e9ecef;overflow:hidden;margin:0}.mobile-chart-container *{box-sizing:border-box}.mobile-chart-container svg,.mobile-chart-container canvas{max-width:100%!important;height:auto!important}.chart-container{background:white;padding:2rem;border-radius:16px;box-shadow:var(--shadow-sm);width:100%;max-width:100%;box-sizing:border-box;border:1px solid #e9ecef;overflow:hidden}.chart-container *{box-sizing:border-box}.chart-container svg,.chart-container canvas{max-width:100%!important;height:auto!important}.chart-title{margin:0 0 1rem;color:#255360;font-size:1.25rem;font-weight:700;text-align:center;line-height:1.3}.mobile-chart-title{margin:.05 0 .5rem 0;color:#255360;font-size:.9rem;font-weight:700;text-align:center;line-height:1.3;padding:0 .25rem}.chart-footer{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:.75rem}.mobile-chart-footer{display:flex;flex-direction:column;align-items:center;gap:.4rem;margin-top:.5rem;margin-bottom:.25rem;padding:0 .25rem}.chart-legend,.mobile-chart-legend{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap}.mobile-chart-legend{gap:1rem;justify-content:center}.chart-legend-item{display:inline-flex;align-items:center;gap:.45rem;font-weight:700;font-size:.85rem;line-height:1;white-space:nowrap}.mobile-chart-legend .chart-legend-item{font-size:.8rem;gap:.4rem}.chart-legend-swatch{display:inline-block;width:18px;height:4px;border-radius:2px;flex-shrink:0}.mobile-chart-legend .chart-legend-swatch{width:16px;height:4px}.chart-fine-print,.mobile-chart-fine-print{font-size:.7rem;color:#666;text-align:center;line-height:1.3;margin:0;width:100%}.mobile-dashboard .success-rate{padding:1rem;margin-bottom:1rem}.mobile-dashboard .success-content{flex-direction:column;gap:1rem;text-align:left;align-items:flex-start}.mobile-dashboard .success-score-container{align-items:flex-start}.mobile-dashboard .success-score{font-size:48px}.mobile-dashboard .simulation-count{text-align:left}@media (max-width: 922px) and (min-width: 568px) and (orientation: landscape){.mobile-dashboard .success-content{flex-direction:row;align-items:flex-start;gap:1.5rem}.mobile-dashboard .success-score-container{flex-shrink:0}.mobile-dashboard .success-explanation{flex:1}}.mobile-dashboard .success-explanation{font-size:14px;line-height:1.4}.mobile-dashboard .simulation-count{font-size:11px}.mobile-dashboard .getting-started-box{padding:1.5rem;margin-right:0;max-width:100%;width:100%}.mobile-dashboard .getting-started-box h3{font-size:16px}.mobile-dashboard .getting-started-box ul{padding-left:1.2rem;font-size:14px;line-height:1.4}.mobile-dashboard .getting-started-box li{margin-bottom:.5rem}.mobile-dashboard .withdrawal-plan-container{padding:1.5rem;margin-right:0;max-width:100%;width:100%}.mobile-dashboard .withdrawal-plan-header h3{font-size:18px}.mobile-dashboard .withdrawal-plan-header p{font-size:14px;line-height:1.4}.mobile-dashboard .withdrawal-plan-grid{grid-template-columns:1fr;gap:1rem;max-height:400px}.mobile-dashboard .withdrawal-year-card{padding:1.25rem}.mobile-dashboard .withdrawal-year{font-size:14px}.mobile-dashboard .withdrawal-amount{font-size:24px}.mobile-dashboard .spending-label{font-size:11px}.mobile-dashboard .detail-row{font-size:12px}.mobile-dashboard .savings-entry{padding:.75rem .25rem;flex-direction:row;gap:.25rem;align-items:flex-start}.mobile-dashboard .savings-entry-content{flex:1 1 auto;min-width:0}.mobile-dashboard .savings-entry-actions{align-self:flex-start}.mobile-dashboard .savings-entry .entry-icon-btn{align-self:auto;margin-top:0}.mobile-dashboard .error-dialog,.mobile-dashboard .warning-dialog,.mobile-dashboard .terms-dialog,.mobile-dashboard .guidelines-dialog,.mobile-dashboard .tooltip-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:none;max-height:85vh;padding:1.5rem;border-radius:16px;box-shadow:0 8px 32px #0003;overflow-y:auto}.mobile-dashboard .error-dialog h3,.mobile-dashboard .warning-dialog h3,.mobile-dashboard .terms-dialog h3,.mobile-dashboard .guidelines-dialog h3,.mobile-dashboard .tooltip-dialog h3{font-size:1.25rem;margin-bottom:1rem}.mobile-dashboard .warning-buttons{flex-direction:column;gap:.75rem;margin-top:1.5rem}.mobile-dashboard .warning-buttons button{width:100%;padding:1rem;font-size:1rem;border-radius:8px}.mobile-dashboard .error-dialog button,.mobile-dashboard .terms-dialog button,.mobile-dashboard .guidelines-dialog button,.mobile-dashboard .tooltip-dialog button{width:100%;padding:1rem;font-size:1rem;border-radius:8px;margin-top:1rem}.mobile-dashboard .tooltip-dialog .tooltip-footer{flex-direction:column;gap:1rem;align-items:stretch}.mobile-dashboard .tooltip-dialog .tooltip-footer>button{order:2;margin-top:0}.mobile-dashboard .tooltip-dialog .tooltip-estimator-link{flex-direction:column;align-items:stretch;gap:.5rem;order:1}.mobile-dashboard .tooltip-dialog .tooltip-estimator-link span{text-align:center}.mobile-dashboard .tooltip-dialog .estimator-button{width:100%;padding:1rem;font-size:1rem}.mobile-dashboard .footer-terms{font-size:10px;margin:1.5rem 0 1rem;padding:0 1rem}.mobile-dashboard .reset-button,.reset-button{display:none!important}.mobile-dashboard .savings-entry-content{font-size:13px;line-height:1.3}.mobile-dashboard .savings-entry button{font-size:11px}.mobile-dashboard .dollar-sign{font-size:14px}.mobile-dashboard .tooltip-button{width:20px;height:20px;font-size:.8rem}.mobile-dashboard .label-with-tooltip{gap:.75rem}@media (min-width: 922px){.mobile-dashboard{max-width:600px;margin:1rem auto}}.pattern-label{font-size:.9rem;font-weight:600;color:#255360;text-align:center;margin-top:.75rem}.adjust-pattern-button{background:#57A0B3;color:#fff;border:1px solid transparent;padding:.5rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;width:100%}.adjust-pattern-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.view-plan-button{background:#255360;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:var(--radius-base);font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;width:100%}.view-plan-button:hover{background:#1e4249;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.mobile-dashboard .view-plan-button{font-size:14px;padding:.6rem 1rem}.pattern-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.pattern-modal{background:white;padding:2rem;border-radius:16px;box-shadow:0 8px 32px #0003;max-width:500px;width:90%;max-height:90vh;overflow-y:auto}.pattern-modal h3{margin:0 0 1.5rem;color:#255360;font-size:1.4rem;font-weight:700;text-align:center}.pattern-options{display:flex;flex-direction:column;gap:1rem}.pattern-option{display:flex;flex-direction:column;align-items:flex-start;padding:1rem 1.25rem;background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.pattern-option:hover{border-color:#57a0b3;background:#f0f8fa;transform:translateY(-2px);box-shadow:0 4px 12px #57a0b333}.pattern-option-name{font-size:1.1rem;font-weight:700;color:#255360;margin-bottom:.25rem}.pattern-option-description{font-size:.9rem;color:#666;line-height:1.4}.pattern-option.current{border-color:#57a0b3;background-color:#57a0b30d}.current-marker{font-size:.7rem;font-weight:700;color:#57a0b3;background:rgba(87,160,179,.1);padding:2px 8px;border-radius:4px;text-transform:uppercase}.pattern-modal-footer{margin:1.5rem 0 0;font-size:.85rem;color:#666;text-align:center;font-style:italic}.te-page{min-height:100vh;background:#e9ecef;font-family:Inter,system-ui,-apple-system,sans-serif;color:#255360}.te-header{background:linear-gradient(135deg,#1f4f5c,#255360);color:#fff;padding:1.5rem 0}.te-header-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.te-header-left{text-align:right}.te-header-left h1{margin:0;font-size:1.75rem;font-weight:700;color:#fff}.te-header-left p{margin:.25rem 0 0;color:#b9d6dd;font-size:.9rem}.te-header-left .te-back-link{display:inline-block;margin-top:.4rem;padding:.35rem 0}.te-header-right{display:flex;align-items:center;gap:1rem}.te-back-link{color:#b9d6dd;text-decoration:none;font-size:.9rem;font-weight:500;padding:.5rem .75rem;border-radius:8px;transition:background .15s}.te-back-link:hover{background:rgba(255,255,255,.1);color:#fff}.te-country-toggle{display:inline-flex;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:4px;gap:2px}.te-country-btn{background:transparent;border:none;color:#d6e7eb;padding:.45rem 1rem;border-radius:7px;cursor:pointer;font-size:.9rem;font-weight:600;font-family:inherit;display:flex;align-items:center;gap:.4rem;transition:background .15s,color .15s}.te-country-btn.active{background:#2f7488;color:#fff}.te-country-btn:not(.active):hover{background:rgba(255,255,255,.07)}.te-header-controls{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.te-header-select{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:.45rem .75rem;font-size:.88rem;font-family:inherit;font-weight:500;cursor:pointer}.te-header-select option{color:#255360;background:white}.te-header-select:focus{outline:none;border-color:#57a0b3;box-shadow:0 0 0 3px #57a0b32e}.te-body{max-width:1200px;margin:0 auto;padding:2rem;display:block}.te-top-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;align-items:stretch}.te-explainer-card{background:white;border-radius:12px;box-shadow:0 4px 20px #0000000f;padding:1.25rem 1.4rem;border-left:4px solid #ffd166;font-size:.85rem;line-height:1.55;color:#4a5b62}.te-explainer-card h3{margin:0 0 .6rem;font-size:1rem;color:#255360;font-weight:700}.te-explainer-card p{margin:0 0 .7rem}.te-explainer-card p:last-child{margin-bottom:0}.te-explainer-card strong{color:#255360}.te-explainer-card em{font-style:italic;color:#255360}.te-inputs-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}.te-result-wide .te-result-grid{display:none}.te-result-spending{margin-top:1.25rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.18);text-align:left}.te-result-spending-label{margin:0 0 .4rem;font-size:.78rem;font-weight:600;color:#ffffffbf;text-transform:uppercase;letter-spacing:.04em}.te-result-spending-value{margin:0;font-size:2.1rem;font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1.1}.te-result-spending-hint{margin:.5rem 0 0;font-size:.78rem;color:#ffffffb3;font-style:italic}.te-disclaimer-card{background:white;border-radius:12px;box-shadow:0 4px 20px #0000000f;padding:1.25rem 1.4rem;border-left:4px solid #57A0B3;font-size:.85rem;line-height:1.55;color:#4a5b62}.te-disclaimer-card h3{margin:0 0 .6rem;font-size:1rem;color:#255360;font-weight:700}.te-disclaimer-card p{margin:0 0 .7rem}.te-disclaimer-card p:last-child{margin-bottom:0}.te-disclaimer-card strong{color:#255360}@media (max-width: 900px){.te-body{padding:1rem}.te-top-row{grid-template-columns:1fr;gap:1rem;margin-bottom:1rem}.te-inputs-grid{grid-template-columns:1fr;gap:1rem}.te-header{padding:1rem 0}.te-header-inner{flex-direction:column;align-items:center;padding:0 1rem;gap:.75rem}.te-header-left{order:0;text-align:center}.te-header-right{order:1;width:100%;display:flex;justify-content:center}.te-header-controls{align-items:center;width:100%;max-width:320px}.te-header-select,.te-country-toggle{width:100%}.te-country-btn{flex:1;justify-content:center}.te-header-left h1{font-size:1.4rem;line-height:1.2}}@media (max-width: 420px){.te-header-left h1{font-size:1.15rem}.te-country-btn{font-size:.85rem;padding:.5rem .6rem}.te-header-select{font-size:.85rem}}.te-card{background:white;border-radius:12px;box-shadow:0 4px 20px #0000000f;padding:1.5rem}.te-card h2{margin:0 0 .5rem;font-size:1.15rem;color:#255360;font-weight:700}.te-card .te-card-desc{margin:0 0 1.25rem;font-size:.9rem;color:#6b7c83;line-height:1.5}.te-card .te-card-desc+.te-card-subnote{margin:-1rem 0 1.25rem}.te-card-subnote{font-size:.78rem;color:#8a99a0;line-height:1.45;font-style:italic}.te-section{margin-bottom:1.5rem}.te-section+.te-section{border-top:1px solid #eef0f2;padding-top:1.25rem}.te-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem;font-size:.9rem;font-weight:600;color:#255360}.te-label-row .te-value{color:#6b7c83;font-weight:500}.te-input-money{position:relative;display:flex;align-items:center}.te-input-money:before{content:"$";position:absolute;left:.85rem;color:#6b7c83;font-weight:600}.te-input-money input{width:100%;padding:.7rem .85rem .7rem 1.75rem;border:1px solid #d6dadd;border-radius:8px;font-size:1rem;font-family:inherit;color:#255360;background:white;box-sizing:border-box}.te-input-money input:focus{outline:none;border-color:#57a0b3;box-shadow:0 0 0 3px #57a0b326}.te-select{width:100%;padding:.7rem .85rem;border:1px solid #d6dadd;border-radius:8px;font-size:1rem;font-family:inherit;color:#255360;background:white;cursor:pointer;box-sizing:border-box}.te-select:focus{outline:none;border-color:#57a0b3;box-shadow:0 0 0 3px #57a0b326}.te-slider{width:100%;margin-top:.5rem;accent-color:#57A0B3}.te-mix-row{margin-bottom:1.1rem}.te-mix-header{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;margin-bottom:.4rem}.te-mix-name{display:flex;align-items:center;gap:.5rem;font-weight:500}.te-dot{display:inline-block;width:.65rem;height:.65rem;border-radius:50%}.te-mix-percent{font-weight:600;color:#255360}.te-mix-hint{font-size:.75rem;color:#8a9aa1;margin:.3rem 0 0}.te-gains-block{margin-top:.75rem;padding:.6rem 0 .2rem .85rem;border-left:2px solid #e6eaed}.te-gains-block .te-gains-label{font-size:.75rem;color:#6b7c83;font-weight:500;margin-bottom:.35rem}.te-gains-block .te-gains-hint{font-size:.7rem;color:#8a9aa1;margin:.4rem 0 0;line-height:1.4}.te-mix-total{font-size:.78rem;font-weight:600;padding:.2rem .55rem;border-radius:999px}.te-mix-total.ok{background:#dcf5e7;color:#1a7846}.te-mix-total.bad{background:#fde2e4;color:#b03245}.te-mix-warning{margin-top:.75rem;padding:.6rem .75rem;background:#fde2e4;border-left:3px solid #b03245;border-radius:6px;font-size:.82rem;color:#6b1f2c}.te-checkbox-row{display:flex;align-items:center;gap:.55rem;font-size:.88rem;color:#255360;margin-top:.5rem;cursor:pointer}.te-checkbox-row input{accent-color:#57A0B3;cursor:pointer}.te-result-card{background:linear-gradient(135deg,#1f4f5c,#255360);color:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 4px 20px #0000001a}.te-result-card .te-result-label{font-size:.85rem;color:#b9d6dd;margin:0}.te-result-card .te-result-rate{font-size:3rem;font-weight:800;line-height:1;margin:.4rem 0 1.25rem}.te-result-row{display:flex;justify-content:space-between;font-size:.9rem;padding:.3rem 0;border-top:1px solid rgba(255,255,255,.12)}.te-result-row:first-of-type{border-top:none}.te-result-row .te-result-amt{font-weight:600}.te-apply-btn{display:block;width:100%;margin-top:1.25rem;padding:.85rem 1rem;background:#ffd166;color:#255360;border:none;border-radius:8px;font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;transition:transform .15s,box-shadow .15s}.te-apply-btn:hover{transform:translateY(-1px);box-shadow:0 4px 14px #ffd16659}.te-apply-btn:disabled{background:#6b7c83;color:#fff9;cursor:not-allowed;transform:none;box-shadow:none}.te-chart-card{display:flex;flex-direction:column}.te-chart{height:240px;margin:.5rem 0}.te-chart-legend{display:flex;justify-content:center;gap:1.25rem;font-size:.85rem;color:#4a5b62;flex-wrap:wrap}.te-summary-table{font-size:.88rem}.te-summary-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #eef0f2}.te-summary-row.total{font-weight:700;background:#f5f7f8;margin:.25rem -.5rem 0;padding:.6rem .5rem;border-radius:6px;border-bottom:none}.te-summary-row.indent{padding-left:1rem;color:#6b7c83;font-size:.82rem}.te-summary-row.indent-2{padding-left:2rem;color:#8a9aa1;font-size:.78rem}.te-disclaimer{margin-top:1rem;padding:.85rem 1rem;background:#eaf3f6;border-left:3px solid #57A0B3;border-radius:6px;font-size:.82rem;color:#355d68;line-height:1.5}.te-disclaimer strong{color:#255360}.te-clawback-note{margin-top:.5rem;padding:.55rem .75rem;background:#fff3e0;border-left:3px solid #e8862a;border-radius:6px;font-size:.8rem;color:#6b3f0f}.te-credit-note{margin-top:.5rem;padding:.55rem .75rem;background:#e6f6ec;border-left:3px solid #2a9b5b;border-radius:6px;font-size:.8rem;color:#1a4f30}.te-prefill-banner{max-width:1200px;margin:1rem auto 0;padding:.75rem 1rem;background:#fff8e1;border-left:3px solid #ffc94d;border-radius:6px;font-size:.88rem;color:#6b5212}.te-gate-card{max-width:540px;margin:4rem auto;background:white;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #00000014;text-align:center}.te-gate-card h2{margin:0 0 .75rem;color:#255360}.te-gate-card p{color:#4a5b62;line-height:1.6}.te-gate-card a{display:inline-block;margin-top:1rem;background:linear-gradient(135deg,#255360,#57A0B3);color:#fff;text-decoration:none;padding:.75rem 1.5rem;border-radius:8px;font-weight:600}.se-page{min-height:100vh;background:#e9ecef;font-family:Inter,system-ui,-apple-system,sans-serif;color:#255360}.se-header{background:linear-gradient(135deg,#1f4f5c,#255360);color:#fff;padding:1.5rem 0}.se-header-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.se-header-left h1{margin:0;font-size:1.75rem;font-weight:700;color:#fff}.se-header-left p{margin:.25rem 0 0;color:#b9d6dd;font-size:.9rem}.se-back-link{display:inline-block;margin-top:.5rem;color:#b9d6dd;text-decoration:none;font-size:.9rem}.se-back-link:hover{color:#fff;text-decoration:underline}.se-body{max-width:1200px;margin:0 auto;padding:1.5rem 2rem 3rem}.se-grid{display:grid;grid-template-columns:5fr 7fr;gap:1.5rem}@media (max-width: 900px){.se-grid{grid-template-columns:1fr}}.se-card,.se-summary-card,.se-chart-card{background:white;border-radius:12px;padding:1.25rem 1.5rem;box-shadow:0 4px 12px #0000000f}.se-card h2,.se-chart-card h3,.se-summary-card h3{margin:0 0 .25rem;font-size:1.15rem;font-weight:700}.se-card-desc{margin:0 0 1rem;color:#6b7c83;font-size:.875rem}.se-form{display:flex;flex-direction:column;gap:1rem}.se-field{display:flex;flex-direction:column;gap:.35rem}.se-field label{font-size:.875rem;font-weight:600;color:#255360}.se-field input,.se-field select{height:2.75rem;border:1px solid #cdd6dc;border-radius:8px;padding:0 .75rem;font-size:.95rem;background:white;color:#255360;font-family:inherit}.se-field input:focus,.se-field select:focus{outline:none;border-color:#255360;box-shadow:0 0 0 3px #25536026}.se-input-prefix{position:relative}.se-input-prefix input{padding-left:1.75rem;width:100%;box-sizing:border-box}.se-prefix{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#6b7c83;font-size:.95rem;pointer-events:none}.se-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.se-error{margin:0;font-size:.8rem;color:#b91c1c}.se-submit{margin-top:.5rem;height:2.75rem;border:none;border-radius:8px;background:#255360;color:#fff;font-weight:600;font-size:.95rem;cursor:pointer}.se-submit:hover{background:#1f4f5c}.se-results{display:flex;flex-direction:column;gap:1.25rem}.se-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 600px){.se-summary-grid{grid-template-columns:1fr}}.se-summary-dark{background:#1f2937;color:#fff}.se-summary-dark .se-summary-label{color:#cbd5e1;font-size:.875rem;font-weight:500}.se-summary-value{font-size:2rem;font-weight:700;margin-top:.25rem}.se-summary-row{display:flex;justify-content:space-between;font-size:.875rem;margin-top:.5rem;color:#cbd5e1}.se-summary-positive{color:#4ade80;font-weight:600}.se-summary-card p{margin:.25rem 0 0;color:#6b7c83;font-size:.875rem;line-height:1.5}.se-next-steps{display:flex;flex-direction:column}.se-apply-button{margin-top:auto;margin-top:.85rem;height:2.6rem;border:none;border-radius:8px;background:#2a9b5b;color:#fff;font-weight:600;font-size:.9rem;cursor:pointer}.se-apply-button:hover:not(:disabled){background:#228049}.se-apply-button:disabled{background:#b8c2c8;cursor:not-allowed}.se-chart-card{display:flex;flex-direction:column}.se-chart-wrap{height:300px;margin-top:.5rem}.se-chart-empty{height:100%;display:flex;align-items:center;justify-content:center;color:#94a3b8;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;font-size:.875rem}.se-disclaimer{background:#eff6ff;border:1px solid #dbeafe;border-radius:8px;padding:.875rem 1rem;font-size:.78rem;color:#475569;line-height:1.5}.plan-page{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#1f2937;background:#f5f8f9;min-height:100vh}.plan-header{background:#ffffff;border-bottom:1px solid #d4dde1;padding:1.25rem 2rem}.plan-header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.plan-header h1{margin:0;font-size:1.5rem;color:#255360}.plan-header .plan-back-link{color:#255360;text-decoration:none;font-weight:600;font-size:.95rem}.plan-header .plan-back-link:hover{text-decoration:underline}.plan-body{max-width:1100px;margin:0 auto;padding:1.5rem 2rem 4rem}@media (max-width: 560px){.plan-body{padding:1rem .75rem}}.plan-tabs{display:flex;gap:0;border-bottom:2px solid #d4dde1;margin:-1.75rem -2rem 1.5rem;padding:0 1rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.plan-tabs::-webkit-scrollbar{display:none}.plan-tab{background:transparent;border:none;border-bottom:3px solid transparent;padding:.9rem 1.1rem;font:inherit;font-weight:600;font-size:.95rem;color:#6b7c83;cursor:pointer;margin-bottom:-2px;white-space:nowrap;transition:color .15s,border-color .15s}.plan-tab:hover{color:#255360}.plan-tab.active{color:#255360;border-bottom-color:#57a0b3}.plan-tab:focus-visible{outline:2px solid #57A0B3;outline-offset:-2px;border-radius:4px}.plan-tabpanel{padding-top:.25rem}@media (max-width: 560px){.plan-tabs{margin:-1.25rem -1rem 1rem;padding:0 .25rem}.plan-tab{padding:.75rem;font-size:.88rem}}.plan-options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:.75rem}.plan-options-field{display:flex;flex-direction:column;gap:.35rem}.plan-options-field>span{font-size:.85rem;font-weight:600;color:#255360}.plan-options-field select,.plan-options-field input{padding:.55rem .7rem;border:1px solid #d4dde1;border-radius:6px;font:inherit;font-size:.95rem;background:#ffffff;color:#1f2937}.plan-options-field select:focus,.plan-options-field input:focus{outline:2px solid #57A0B3;outline-offset:1px;border-color:#57a0b3}.plan-options-actions{display:flex;align-items:center;gap:1rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #eef2f4}.plan-options-reset{background:#ffffff;border:1px solid #d4dde1;color:#255360;padding:.5rem .9rem;border-radius:6px;cursor:pointer;font:inherit;font-weight:600;font-size:.9rem}.plan-options-reset:hover{background:#eaf2f4}.plan-options-saved{font-size:.85rem;color:#3d9970;font-weight:600;transition:opacity .2s}.plan-toc{position:sticky;top:1.5rem;align-self:start;background:#ffffff;border:1px solid #d4dde1;border-radius:10px;padding:1rem;font-size:.9rem}.plan-toc-heading{font-size:.75rem;color:#6b7c83;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .5rem;font-weight:700}.plan-toc ul{list-style:none;padding:0;margin:0}.plan-toc li{margin:0}.plan-toc button{display:block;width:100%;text-align:left;padding:.4rem .5rem;border:none;background:transparent;border-radius:6px;color:#255360;font:inherit;font-weight:500;cursor:pointer}.plan-toc button:hover{background:#eaf2f4}.plan-toc button.active{background:#255360;color:#fff}.plan-accordion-item{border-bottom:1px solid #eef1f3}.plan-accordion-item:last-child{border-bottom:none}.plan-accordion-header{display:flex;align-items:center;gap:.5rem;width:100%;background:transparent;border:none;padding:.9rem 0;font:inherit;cursor:pointer;color:#255360;text-align:left}.plan-accordion-header:hover{color:#1c4351}.plan-accordion-caret{display:inline-block;width:1rem;color:#57a0b3;font-size:.9rem}.plan-accordion-title{font-size:1.15rem;font-weight:700}.plan-accordion-item.open .plan-accordion-header{padding-bottom:.5rem}.plan-accordion-body{padding:.25rem 0 1.5rem 1.5rem}@media (max-width: 560px){.plan-accordion-body{padding-left:.25rem}}.plan-content{background:#ffffff;border:1px solid #d4dde1;border-radius:12px;padding:1.75rem 2rem;min-height:60vh;min-width:0}@media (max-width: 560px){.plan-content{padding:1.25rem 1rem;border-radius:10px}}.plan-content h2{color:#255360;font-size:1.5rem;margin:0 0 1rem}.plan-content h3{color:#1f2937;font-size:1.05rem;margin:1.25rem 0 .4rem}.plan-content p{line-height:1.55;margin:0 0 .75rem}.plan-callout{background:#eaf2f4;border-left:4px solid #57A0B3;padding:.9rem 1rem;margin-top:1rem;border-radius:6px;color:#255360;font-weight:600}.plan-cover-headline{background:#eaf2f4;border-left:4px solid #57A0B3;padding:1rem 1.25rem;border-radius:6px;margin-bottom:1rem}.plan-cover-headline .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7c83;margin-bottom:.25rem}.plan-cover-headline .value{font-size:1.75rem;font-weight:700;color:#255360}.plan-cover-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}@media (max-width: 560px){.plan-cover-row{grid-template-columns:1fr}}.plan-card{border:1px solid #d4dde1;border-radius:8px;padding:1rem 1.1rem}.plan-card .label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7c83;margin-bottom:.25rem}.plan-score{font-size:2.25rem;font-weight:700;line-height:1.1}.plan-score.very-strong{color:#6b21a8}.plan-score.strong{color:#255360}.plan-score.moderate{color:#d9a441}.plan-score.weak{color:#b23a48}.plan-score-card.tier-strong{background-color:#e9f5ee}.plan-pattern-name{font-size:1.15rem;font-weight:700;color:#255360}.plan-pattern-desc{font-size:.85rem;color:#6b7c83;margin-top:.3rem}.plan-inputs-row{display:grid;gap:1rem;margin-top:.5rem;margin-bottom:1rem}.plan-inputs-row.cols-2{grid-template-columns:1fr 1fr}.plan-inputs-row.cols-3{grid-template-columns:1fr 1fr 1fr}@media (max-width: 560px){.plan-inputs-row.cols-2,.plan-inputs-row.cols-3{grid-template-columns:1fr}}.plan-inputs-card{display:flex;flex-direction:column}.plan-inputs-col-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#57a0b3;font-weight:700;margin-bottom:.5rem}.plan-inputs-item{display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:baseline;padding:.4rem 0;border-bottom:1px solid #eef1f3;font-size:.92rem}.plan-inputs-item:last-child{border-bottom:none}.plan-inputs-item .v{font-weight:700}.plan-flows-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;margin-top:1.25rem;margin-bottom:1rem}.plan-flow-card{border-radius:8px;padding:.9rem 1.1rem 1rem;border-left:4px solid transparent}.plan-flow-in{background:#eef6f0;border-left-color:#3d9970}.plan-flow-out{background:#f6efea;border-left-color:#c97a4a}.plan-flow-header{display:flex;align-items:center;gap:.55rem;margin-bottom:.5rem}.plan-flow-header h3{margin:0;font-size:1rem;color:#255360}.plan-flow-icon{display:inline-flex;align-items:center;justify-content:center;width:1.4rem;height:1.4rem;border-radius:50%;font-size:.85rem;font-weight:700;line-height:1}.plan-flow-in .plan-flow-icon{background:#3D9970;color:#fff}.plan-flow-out .plan-flow-icon{background:#C97A4A;color:#fff}.plan-flow-list{list-style:none;margin:0;padding:0}.plan-flow-list li{font-size:.9rem;line-height:1.45;padding:.35rem 0;border-bottom:1px solid rgba(37,83,96,.08)}.plan-flow-list li:last-child{border-bottom:none}.plan-summary-footer{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #d4dde1;display:grid;gap:1.25rem}.plan-summary-footer-item h4{font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#57a0b3;margin:0 0 .35rem;font-weight:700}.plan-summary-footer-item p{margin:0;font-size:.85rem;line-height:1.5;color:#6b7c83}.plan-bullets{margin:.25rem 0 0;padding-left:1.25rem}.plan-bullets li{margin:.25rem 0;font-size:.92rem}.plan-overview-intro{color:#4b5563;margin-bottom:1.25rem}.plan-year-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.85rem}.plan-year-card{text-align:left;border:1px solid #d4dde1;border-radius:10px;padding:.9rem 1rem;background:#ffffff;cursor:pointer;transition:border-color .15s,box-shadow .15s,transform .05s;font:inherit;color:inherit}.plan-year-card:hover{border-color:#57a0b3;box-shadow:0 4px 14px #2553601f}.plan-year-card:active{transform:translateY(1px)}.plan-year-card.partial{border-left:4px solid #D9A441}.plan-year-card.unfunded{border-left:4px solid #B23A48}.plan-year-card.funded{border-left:4px solid #3D9970}.plan-year-card .yr-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7c83;margin-bottom:.15rem}.plan-year-card .yr-number{font-size:1.1rem;font-weight:700;color:#255360;margin-bottom:.5rem}.plan-year-card .yr-amount{font-size:1.25rem;font-weight:700;color:#1f2937}.plan-year-card .yr-amount-label{font-size:.78rem;color:#6b7c83;margin-bottom:.5rem}.plan-year-card .yr-calendar{font-size:.72rem;color:#6b7c83;font-weight:600;margin:-.35rem 0 .4rem;letter-spacing:.01em}.plan-year-card .yr-status{font-size:.78rem;font-weight:700}.plan-year-card.funded .yr-status{color:#3d9970}.plan-year-card.partial .yr-status{color:#d9a441}.plan-year-card.unfunded .yr-status{color:#b23a48}.plan-year-detail-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;flex-wrap:wrap}.plan-year-detail-header h2{margin:0}.plan-year-calendar-sub{color:#6b7c83;font-size:.95rem;font-weight:600;margin-top:.1rem}.plan-year-nav{display:flex;gap:.5rem}.plan-year-nav button,.plan-back-to-overview{background:#ffffff;border:1px solid #d4dde1;color:#255360;padding:.4rem .75rem;border-radius:6px;cursor:pointer;font-size:.88rem;font-weight:600}.plan-year-nav button:hover,.plan-back-to-overview:hover{background:#eaf2f4}.plan-year-nav button:disabled{opacity:.4;cursor:not-allowed}.plan-year-status-bar{padding:.6rem .85rem;border-radius:6px;font-weight:600;margin-bottom:.75rem;font-size:.92rem}.plan-year-status-bar.funded{background:#E9F5EE;color:#1f6f47}.plan-year-status-bar.partial{background:#FBF1DD;color:#8a6418}.plan-year-status-bar.unfunded{background:#FAE6E9;color:#8a2530}.plan-year-status-bar.major-expense{background:#F3E8FF;color:#6b21a8}.plan-year-status-bar.lump-sum{background:#1F2937;color:#f9fafb}.plan-year-note{font-size:.88rem;color:#4b5563;margin:.25rem 0}.plan-month-table{width:100%;border-collapse:collapse;margin-top:.75rem;font-size:.9rem;table-layout:fixed}.plan-month-table th,.plan-month-table td{padding:.5rem .6rem;text-align:right;border-bottom:1px solid #eef1f3;overflow:hidden;text-overflow:ellipsis}.plan-month-table th{background:#255360;color:#fff;font-weight:600;font-size:.82rem}.plan-month-table th:first-child,.plan-month-table td:first-child{text-align:left}.plan-month-table tr:nth-child(2n) td{background:#f7f8fa}.plan-month-table tfoot td{font-weight:700;background:#eaf2f4;border-top:2px solid #57A0B3}.plan-month-hero{background:linear-gradient(135deg,#255360 0%,#1c4351 100%);color:#fff;border-radius:14px;padding:2rem 1.5rem;margin:1.5rem 0 2rem;text-align:center}.plan-month-hero-label{font-size:.95rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;opacity:.85;margin-bottom:.4rem}.plan-month-hero-amount{font-size:3.5rem;font-weight:800;line-height:1;letter-spacing:-.02em;margin:.25rem 0 .5rem}.plan-month-hero-sub{font-size:1rem;opacity:.9}@media (max-width: 560px){.plan-month-hero{padding:1.5rem 1rem}.plan-month-hero-amount{font-size:2.6rem}.plan-month-hero-label{font-size:.8rem}.plan-month-hero-sub{font-size:.9rem}}.plan-section-heading{color:#255360;font-size:1.15rem;font-weight:700;margin:1.75rem 0 .6rem}.plan-flow-card{border:1px solid #e2e8eb;border-radius:12px;background:#fff;padding:.5rem 1.25rem}.plan-flow-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid #eef1f3}.plan-flow-row:last-child{border-bottom:none}.plan-flow-row-label{flex:1;min-width:0}.plan-flow-row-title{font-size:1.05rem;font-weight:700;color:#1f2d33}.plan-flow-row-sub{font-size:.85rem;color:#6b7c83;margin-top:.15rem}.plan-flow-row-amount{font-size:1.6rem;font-weight:700;color:#255360;white-space:nowrap;font-variant-numeric:tabular-nums}.plan-flow-row-amount.muted{color:#6b7c83}.plan-flow-plus,.plan-flow-equals{color:#57a0b3;font-size:1.5rem;font-weight:700;text-align:center;padding:.15rem 0;line-height:1}.plan-flow-substreams{list-style:none;margin:-.25rem 0 .75rem;padding:.5rem 0 .25rem 1rem;border-left:3px solid #d4dde1}.plan-flow-substreams li{display:flex;justify-content:space-between;gap:1rem;padding:.25rem 0;font-size:.92rem;color:#4b5563}.plan-flow-substreams li span:last-child{font-weight:600;color:#255360;font-variant-numeric:tabular-nums}.plan-flow-row.plan-flow-total{background:#f3f7f8;margin:.25rem -1.25rem -.5rem;padding:.9rem 1.25rem;border-radius:0 0 12px 12px;border-top:2px solid #57A0B3;border-bottom:none}.plan-flow-row.plan-flow-total .plan-flow-row-amount{color:#1c4351}.plan-flow-row.plan-flow-spending{background:#e8f4e8;margin:-.5rem -1.25rem 0;padding:1.1rem 1.25rem;border-radius:12px 12px 0 0;border-bottom:1px solid #c6e0c6}.plan-flow-row.plan-flow-spending .plan-flow-row-title{color:#1f5d2c}.plan-flow-row.plan-flow-spending .plan-flow-row-amount{color:#1f5d2c;font-size:1.9rem}@media (max-width: 560px){.plan-flow-card{padding:.25rem 1rem}.plan-flow-row{padding:.75rem 0}.plan-flow-row-title{font-size:.98rem}.plan-flow-row-amount{font-size:1.3rem}.plan-flow-row.plan-flow-spending .plan-flow-row-amount{font-size:1.55rem}.plan-flow-row.plan-flow-total{margin:.25rem -1rem -.25rem;padding:.8rem 1rem}.plan-flow-row.plan-flow-spending{margin:-.25rem -1rem 0;padding:.9rem 1rem}}.plan-year-events{list-style:none;padding:0;margin:.5rem 0 0;border:1px solid #e2e8eb;border-radius:10px;overflow:hidden}.plan-year-events li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid #eef1f3;background:#fafbfc}.plan-year-events li:last-child{border-bottom:none}.plan-year-events li strong{color:#255360}.plan-year-events li span{font-size:.9rem;color:#4b5563;text-align:right}.plan-year-events li.major-expense{background:#FAF5FF;border-bottom-color:#eadcfb}.plan-year-events li.major-expense strong{color:#6b21a8}.plan-year-events li.lump-sum{background:#1F2937;border-bottom-color:#374151}.plan-year-events li.lump-sum strong{color:#f9fafb}.plan-year-events li.lump-sum span{color:#d1d5db}.plan-year-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:2rem 0 1.5rem}.plan-year-totals>div{background:#f7f8fa;border:1px solid #e2e8eb;border-radius:10px;padding:.85rem 1rem}.plan-year-totals-label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#6b7c83}.plan-year-totals-amount{font-size:1.5rem;font-weight:700;color:#255360;margin-top:.25rem;font-variant-numeric:tabular-nums}.plan-year-totals-amount.accent{color:#1f5d2c}.plan-year-totals-amount.muted{color:#6b7c83}.plan-year-totals-sub{font-size:.78rem;color:#6b7c83;margin-top:.3rem;line-height:1.3}@media (max-width: 560px){.plan-year-totals{grid-template-columns:1fr}.plan-year-totals-amount{font-size:1.25rem}}.plan-show-work{margin-top:2rem;border-top:1px solid #eef1f3;padding-top:1rem}.plan-show-work>summary{cursor:pointer;font-weight:600;color:#255360;padding:.5rem 0;font-size:.95rem}.plan-show-work>summary:hover{color:#1c4351}.plan-show-work-intro{font-size:.88rem;color:#6b7c83;margin:.5rem 0 .75rem}.plan-month-table.compact{font-size:.74rem;margin-left:-.25rem;margin-right:-.25rem;width:calc(100% + .5rem)}.plan-month-table.compact th,.plan-month-table.compact td{padding:.35rem .25rem}.plan-month-table.compact th{font-size:.68rem;letter-spacing:.01em}.plan-worked{background:#f7f8fa;padding:1rem 1.1rem;border-radius:8px;margin:.5rem 0 .75rem}.plan-worked-row{display:flex;justify-content:space-between;padding:.2rem 0}.plan-worked-row.total{border-top:1px solid #1f2937;margin-top:.4rem;padding-top:.5rem;font-weight:700}.plan-worked-warning{color:#b23a48;font-weight:600;margin:.6rem 0}.plan-panel{border:1px solid #d4dde1;border-radius:8px;padding:1.1rem 1.25rem;margin-bottom:1rem}.plan-panel-heading{color:#255360;font-size:1.05rem;font-weight:700;margin:0 0 .5rem}.plan-glossary{margin:.5rem 0 1.25rem}.plan-glossary-item{margin-bottom:.65rem;font-size:.95rem}.plan-glossary-item .term{font-weight:700}.plan-teaser-banner{background:#fff8e1;border:1px solid #f0d68c;color:#6b4a00;padding:.85rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.92rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.plan-teaser-banner .upgrade-btn,.plan-empty button,.plan-locked-card .upgrade-btn{background:#255360;color:#fff;border:none;padding:.55rem 1rem;border-radius:6px;cursor:pointer;font-weight:600;text-decoration:none;display:inline-block;font-size:.92rem}.plan-teaser-banner .upgrade-btn:hover,.plan-empty button:hover,.plan-locked-card .upgrade-btn:hover{background:#1c4351}.plan-locked-overlay{position:relative}.plan-locked-glaze{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(255,255,255,.55);backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);display:flex;align-items:center;justify-content:center;z-index:5;cursor:pointer;border-radius:10px}.plan-locked-card{background:#fff;border:1px solid #d4dde1;border-radius:10px;padding:1rem 1.25rem;box-shadow:0 6px 20px #25536026;color:#255360;text-align:center;font-weight:600;max-width:320px}.plan-empty{text-align:center;padding:3rem 1rem;color:#4b5563}.plan-empty h2{color:#255360}.plan-empty p{margin:.5rem 0 1.25rem}.plan-loading{padding:3rem;text-align:center;color:#6b7c83}
