.calculator-wrapper{width:100%;max-width:100%;margin:0 auto}.calculator-container{display:flex;gap:20px;flex-wrap:wrap;margin:2rem 0}.calculator-sidebar{position:sticky;top:100px;height:fit-content;flex:0 0 300px;background:var(--hover-bg);border-radius:8px;padding:1.5rem;border:1px solid var(--border-color)}.calculator-sidebar h2{font-size:1.3rem;margin-bottom:1.5rem;color:var(--text-primary)}.calculator-main{flex:1;min-width:0}.input-group{display:flex;flex-direction:column;margin-bottom:1.2rem}.input-group label{font-weight:600;margin-bottom:.5rem;color:var(--text-primary);font-size:.9rem}.input-group input{padding:.6rem;border:1px solid var(--border-color);border-radius:6px;font-size:.95rem;background:var(--background);color:var(--text-primary);transition:border-color .2s}.input-group input:focus{outline:0;border-color:var(--text-primary)}.input-group input[readonly]{opacity:.6;cursor:not-allowed}.input-group small{margin-top:.3rem;color:var(--text-secondary);font-size:.8rem}.input-group .error-text{color:var(--color-error);font-weight:600}.input-group input.input-error{border-color:var(--color-error)}.scenario-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media (min-width:768px){.scenario-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1200px){.scenario-grid{grid-template-columns:repeat(3,1fr);align-items:start}}.scenario-card{background:var(--hover-bg);border-radius:8px;padding:1.5rem;border:2px solid var(--border-color);display:flex;flex-direction:column;height:100%}.scenario-card h3{flex:0 0 auto}.scenario-card .scenario-desc{flex:0 0 auto}.scenario-card .input-group,.scenario-card .input-row{flex:0 0 auto}.scenario-card:first-child{background:var(--hover-bg)}.scenario-card:nth-child(2){background:linear-gradient(135deg,rgba(59,130,246,.08) 0,var(--hover-bg) 100%);border-color:rgba(59,130,246,.2)}.scenario-card:nth-child(3){background:linear-gradient(135deg,rgba(168,85,247,.08) 0,var(--hover-bg) 100%);border-color:rgba(168,85,247,.2)}.scenario-card h3{font-size:1.1rem;margin-bottom:1rem;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.payoff-chip{display:inline-flex;align-items:center;gap:.3rem;background:var(--color-success-bg-hover);border:1px solid rgba(110,231,183,.3);border-radius:12px;padding:.2rem .6rem;font-size:.75rem;color:var(--color-success)}.scenario-desc{font-size:.85rem;margin-bottom:1rem;color:var(--text-secondary)}.input-row{display:grid;grid-template-columns:auto auto;gap:1rem}.monthly-payment-section{margin-top:auto;padding-top:1.2rem;border-top:1px solid var(--border-color);display:flex;flex-direction:column;flex:0 0 auto}.comparison-metric{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid rgba(255,255,255,.05);min-height:2.5rem;flex:0 0 auto}.comparison-metric:last-child{border-bottom:none}.metric-label{font-size:.85rem;color:var(--text-secondary)}.metric-value{font-size:.9rem;color:var(--text-primary);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}.metric-value.investment-green{color:var(--color-success)}.comparison-metric.highlight{background:var(--color-success-bg);padding:.7rem .5rem;margin:.5rem -.5rem 0;border-radius:6px;border-bottom:none}.comparison-metric.total-with-fee{background:var(--color-accent-blue-bg);padding:.7rem .5rem;margin:.3rem -.5rem 0;border-radius:6px;border-bottom:none}.comparison-metric.total-with-fee .metric-label{font-weight:700}.comparison-metric.total-with-fee .metric-value{font-weight:700;color:var(--color-accent-blue)}.tax-benefit-inline{display:block;width:100%;margin:.3rem 0 0 0;color:var(--color-success);font-size:.75rem}.tax-benefit-value{color:var(--color-success);font-weight:600}.info-tooltip{cursor:help;opacity:.7;margin-left:.3rem}.comparison-cards{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}@media (min-width:768px){.comparison-cards{grid-template-columns:repeat(2,1fr)}}@media (min-width:1200px){.comparison-cards{grid-template-columns:repeat(3,1fr)}}.comparison-card{background:var(--hover-bg);border-radius:8px;padding:1.5rem;border:2px solid var(--border-color);display:flex;flex-direction:column;height:100%}.comparison-card .card-subtitle,.comparison-card h4{flex:0 0 auto}.comparison-card .comparison-metric:last-child{margin-top:auto}.comparison-cards .comparison-card:first-child{background:var(--hover-bg)}.comparison-cards .comparison-card:nth-child(2){background:linear-gradient(135deg,rgba(59,130,246,.08) 0,var(--hover-bg) 100%);border-color:rgba(59,130,246,.2)}.comparison-cards .comparison-card:nth-child(3){background:linear-gradient(135deg,rgba(168,85,247,.08) 0,var(--hover-bg) 100%);border-color:rgba(168,85,247,.2)}.comparison-card h4{font-size:1rem;margin-bottom:.8rem;color:var(--text-primary)}.card-subtitle{font-size:.8rem;color:var(--text-secondary);margin-bottom:1rem;font-style:italic}.text-red{color:var(--color-error-light)!important}.text-green{color:var(--color-success)!important}.tax-benefit{color:var(--color-success)!important}.tax-benefit-row{background:var(--color-success-bg);margin:.3rem 0;padding:.6rem .5rem!important;border-radius:4px}@media (max-width:767px){.calculator-container{flex-direction:column}.calculator-sidebar{position:static;flex:1}.input-row{grid-template-columns:1fr}}.info-icon-btn{background:var(--color-accent-blue-bg);border:1px solid rgba(59,130,246,.3);border-radius:50%;color:var(--color-accent-blue);cursor:help;padding:.25rem;margin-left:.4rem;display:inline-flex;align-items:center;justify-content:center;transition:all .2s;vertical-align:middle;width:24px;height:24px}.info-icon-btn:hover{background:var(--color-accent-blue-bg-hover);border-color:rgba(59,130,246,.5);color:var(--color-accent-blue-light);transform:scale(1.1)}.info-icon-btn svg{display:block}.rules-dialog{background:var(--hover-bg);border:2px solid var(--border-color);border-radius:8px;padding:1.5rem;padding-top:2.5rem;max-width:450px;box-shadow:0 10px 40px rgba(0,0,0,.5);color:var(--text-primary);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}.rules-dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}.dialog-close-btn{position:absolute;top:.75rem;right:.75rem;background:rgba(255,255,255,.05);border:1px solid var(--border-color);border-radius:4px;padding:.25rem;cursor:pointer;color:var(--text-secondary);transition:all .2s;display:flex;align-items:center;justify-content:center}.dialog-close-btn:hover{background:rgba(255,255,255,.1);color:var(--text-primary)}.dialog-close-btn svg{display:block}.rules-dialog h4{margin:0 0 1.2rem 0;font-size:1.1rem;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:.5rem}.rules-dialog h5{margin:0 0 .8rem 0;font-size:.95rem;color:var(--text-primary);font-weight:600}.rules-dialog h6{margin:0 0 .5rem 0;font-size:.85rem;color:var(--text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.current-situation{background:rgba(110,231,183,.05);border:1px solid rgba(110,231,183,.2);border-radius:6px;padding:1rem;margin-bottom:1.5rem}.rule-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.6rem;font-size:.85rem}.rule-item:last-of-type{margin-bottom:0}.rule-label{color:var(--text-secondary);font-weight:500}.rule-value{color:var(--text-primary);font-weight:600}.rule-requirement{color:var(--text-secondary);font-size:.8rem;flex-basis:100%;margin-left:0}.rule-requirement.active-requirement{color:var(--color-success);font-weight:600}.total-requirement{display:flex;justify-content:space-between;margin-top:.8rem;padding-top:.8rem;border-top:1px solid rgba(110,231,183,.2);font-size:.9rem}.total-requirement strong:last-child{color:var(--color-success)}.all-rules{margin-top:1.5rem}.rules-section{margin-bottom:1.2rem}.rules-section:last-child{margin-bottom:0}.rule-tier{display:flex;justify-content:space-between;padding:.5rem .7rem;margin-bottom:.3rem;border-radius:4px;font-size:.85rem;background:rgba(255,255,255,.02);border:1px solid transparent;transition:all .2s}.rule-tier:last-child{margin-bottom:0}.rule-tier.active-tier{background:var(--color-success-bg);border-color:rgba(110,231,183,.3)}.tier-condition{color:var(--text-secondary);font-weight:500}.tier-requirement{color:var(--text-primary);font-weight:600}.rule-tier.active-tier .tier-condition,.rule-tier.active-tier .tier-requirement{color:var(--color-success)}.rules-dialog[open]{animation:dialogFadeIn .3s ease-out}@keyframes dialogFadeIn{from{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.rules-dialog[open]::backdrop{animation:backdropFadeIn .3s ease-out}@keyframes backdropFadeIn{from{opacity:0}to{opacity:1}}.tax-benefit-info-btn{background:0 0;border:none;color:var(--color-success);cursor:help;padding:0;margin-left:.3rem;display:inline-flex;align-items:center;justify-content:center;transition:all .2s;vertical-align:middle;opacity:.7}.tax-benefit-info-btn:hover{opacity:1;transform:scale(1.15)}.tax-benefit-info-btn svg{display:block}.tax-dialog{background:var(--hover-bg);border:2px solid rgba(110,231,183,.3);border-radius:8px;padding:1.5rem;padding-top:2.5rem;max-width:400px;box-shadow:0 10px 40px rgba(0,0,0,.5);color:var(--text-primary);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0}.tax-dialog::backdrop{background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}.tax-dialog h4{margin:0 0 1rem 0;font-size:1.05rem;color:var(--color-success);border-bottom:1px solid rgba(110,231,183,.2);padding-bottom:.5rem}.tax-dialog p{margin:0 0 1rem 0;font-size:.9rem;line-height:1.5;color:var(--text-secondary)}.tax-dialog strong{color:var(--text-primary)}.tax-info-box{background:rgba(110,231,183,.05);border:1px solid rgba(110,231,183,.2);border-radius:6px;padding:1rem;margin:1rem 0}.tax-info-box p{margin:0 0 .5rem 0;color:var(--text-primary);font-weight:600}.tax-info-box ul{margin:0;padding-left:1.5rem;list-style-type:disc}.tax-info-box li{margin-bottom:.5rem;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.tax-info-box li:last-child{margin-bottom:0}.tax-note{font-size:.8rem!important;color:var(--text-secondary)!important;opacity:.8;margin-bottom:0!important}.tax-dialog[open]{animation:dialogFadeIn .3s ease-out}.tax-dialog[open]::backdrop{animation:backdropFadeIn .3s ease-out}@media (max-width:767px){.rules-dialog,.tax-dialog{max-width:100%;width:calc(100% - 2rem);max-height:80vh;overflow-y:auto}}.payment-schedule-btn{width:100%;margin-top:1rem;padding:.6rem 1rem;background:var(--color-accent-blue-bg);border:1px solid rgba(59,130,246,.3);border-radius:6px;color:var(--color-accent-blue);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.payment-schedule-btn:hover{background:var(--color-accent-blue-bg-hover);border-color:rgba(59,130,246,.5);color:var(--color-accent-blue-light)}.payment-schedule-dialog{background:var(--hover-bg);border:2px solid var(--border-color);border-radius:12px;padding:0;max-width:700px;width:90vw;max-height:80vh;box-shadow:0 20px 60px rgba(0,0,0,.5);color:var(--text-primary);position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;overflow:hidden}.payment-schedule-dialog::backdrop{background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}.payment-schedule-dialog .dialog-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background:rgba(0,0,0,.2)}.payment-schedule-dialog .dialog-header h4{margin:0;font-size:1.1rem;color:var(--text-primary)}.payment-schedule-dialog .payment-table-wrapper{overflow-y:auto;max-height:calc(80vh - 60px);padding:1rem 1.5rem;padding-top:0!important}.payment-schedule-dialog[open]{animation:dialogFadeIn .3s ease-out}.payment-schedule-dialog[open]::backdrop{animation:backdropFadeIn .3s ease-out}.payment-table-details{margin-top:1rem;border-top:1px solid var(--border-color);padding-top:.75rem}.payment-table-details summary{cursor:pointer;font-size:.85rem;color:var(--text-secondary);padding:.5rem 0;user-select:none;transition:color .2s}.payment-table-details summary:hover{color:var(--text-primary)}.payment-table-details[open] summary{color:var(--text-primary);margin-bottom:.75rem}.payment-table-wrapper{overflow-x:auto}.payment-schedule-table{width:100%;border-collapse:collapse;font-size:.8rem;font-variant-numeric:tabular-nums}.payment-schedule-table td,.payment-schedule-table th{padding:.5rem .4rem;text-align:right;white-space:nowrap}.payment-schedule-table td:first-child,.payment-schedule-table th:first-child{text-align:left}.payment-schedule-table thead th{color:var(--text-secondary);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.3px;border-bottom:1px solid var(--border-color);padding-bottom:.6rem;position:sticky;top:0;background:var(--hover-bg);z-index:1}.payment-schedule-table tbody tr{border-bottom:1px solid rgba(255,255,255,.03)}.payment-schedule-table tbody tr:hover{background:rgba(255,255,255,.02)}.payment-schedule-table tbody td{color:var(--text-primary)}.payment-schedule-table tfoot .totals-row{border-top:2px solid var(--border-color)}.payment-schedule-table tfoot .totals-row td{font-weight:600;color:var(--text-primary);padding-top:.75rem}.payment-schedule-table tfoot .totals-row td:first-child{color:var(--text-secondary)}.payment-schedule-table td:nth-child(5){color:var(--color-success)}.payment-schedule-table tfoot td:nth-child(5){color:var(--color-success)}@media (max-width:767px){.payment-schedule-table{font-size:.75rem}.payment-schedule-table td,.payment-schedule-table th{padding:.4rem .3rem}}