.mortgage-graph{max-width:600px;margin:0 2rem 2rem;padding:0 2rem 2rem;box-sizing:border-box}.mortgage-calculator h2{margin:0;margin-bottom:1rem;font-size:1.5rem;color:#111827}.graph-container{position:relative;height:400px;margin-bottom:1.5rem;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;background:#fff}.toggle-btn{position:absolute;bottom:1rem;right:1rem;background:#6b7280e6;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:all .2s;z-index:10;backdrop-filter:blur(4px)}.toggle-btn:hover{background:#4b5563f2;transform:translateY(-1px);box-shadow:0 2px 8px #00000026}.graph-legend{display:flex;justify-content:center;gap:2rem;margin-bottom:1.5rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#374151}.legend-color{width:16px;height:16px;border-radius:3px}.legend-color.original{background:#ef4444}.legend-color.accelerated{background:#10b981}.legend-color.forecast{background:#8b5cf6}.impact-summary{border-top:2px solid #e5e7eb;padding-top:1.5rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.impact-item{text-align:center;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.impact-label{display:block;font-size:.9rem;color:#6b7280;margin-bottom:.5rem}.impact-value{display:block;font-size:1.5rem;font-weight:700;color:#111827}.impact-value.positive{color:#059669}.forecast-impact{margin-top:1.5rem;border-top:2px dashed #8b5cf6;background:linear-gradient(135deg,#8b5cf60d,#8b5cf61a);padding:1.5rem;border-radius:8px}.forecast-title{grid-column:1 / -1;margin:0 0 1rem;font-size:1.1rem;color:#8b5cf6;text-align:center;font-weight:600}.forecast-impact .impact-item{background:#fffc;border:1px solid rgba(139,92,246,.2)}.forecast-impact .impact-label{color:#7c3aed}@media (max-width: 768px){.mortgage-graph{margin:0 0 1rem;padding:1.5rem 1rem;width:100%;max-width:100%}.graph-container{height:300px}.toggle-btn{bottom:.5rem;right:.5rem;padding:.4rem .8rem;font-size:.85rem}.graph-legend{flex-direction:column;align-items:center;gap:1rem}.impact-summary{grid-template-columns:1fr;gap:1rem}}.payment-ledger{max-width:600px;padding:2rem 2rem 0;margin:2rem 2rem 0;display:flex;flex-direction:column;height:550px}.ledger-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.ledger-header h3{margin:0;font-size:1.5rem;color:#111827}.header-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.add-btn{background:#3245ff;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.add-btn:hover{background:#2235ee}.back-btn{background:#6b7280;color:#fff;border:none;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.back-btn:hover{background:#4b5563}.add-payment-form{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem;transition:all .3s ease}.form-row{display:flex;gap:1rem;align-items:end;flex-wrap:wrap}.input-group{display:flex;flex-direction:column;gap:.5rem;min-width:150px;flex:1}.input-group label{font-size:.9rem;color:#4b5563;font-weight:500}.input-group input{padding:.5rem;border:1px solid #d1d5db;border-radius:6px;font-size:1rem}.input-group input:focus{outline:none;border-color:#3245ff;box-shadow:0 0 0 2px #3245ff1a}.form-actions{display:flex;gap:.5rem;margin-top:.5rem}.save-btn,.cancel-btn{padding:.5rem 1rem;border-radius:6px;font-size:.9rem;cursor:pointer;border:1px solid;transition:all .2s}.save-btn{background:#10b981;color:#fff;border-color:#10b981}.save-btn:hover{background:#059669;border-color:#059669}.cancel-btn{background:#fff;color:#6b7280;border-color:#d1d5db}.cancel-btn:hover{background:#f9fafb;border-color:#9ca3af}.payments-list{margin-bottom:1.5rem;flex:1;overflow-y:auto;min-height:0}.empty-state{text-align:center;padding:2rem;color:#6b7280;font-style:italic}.payments-table{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.table-header{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;padding:1rem;background:#f9fafb;font-weight:600;color:#374151;border-bottom:1px solid #e5e7eb}.payment-row{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;padding:1rem;border-bottom:1px solid #f3f4f6;align-items:center}.payment-row:last-child{border-bottom:none}.payment-row:hover{background:#f9fafb}.payment-date{color:#374151}.payment-amount{font-weight:600;color:#059669}.delete-btn{background:#ef4444;color:#fff;border:none;padding:.25rem .75rem;border-radius:4px;cursor:pointer;font-size:.8rem;transition:background-color .2s}.delete-btn:hover{background:#dc2626}.ledger-summary{border-top:2px solid #e5e7eb;padding-top:1rem;display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.summary-item{display:flex;flex-direction:column;gap:.25rem}.summary-item span:first-child{font-size:.9rem;color:#6b7280}.summary-item span:last-child{font-size:1.25rem;font-weight:700;color:#111827}@media (max-width: 767px){.payment-ledger{margin:1rem 0;padding:1.5rem 1rem;width:100%;max-width:100%}}@media (max-width: 640px){.form-row{flex-direction:column}.ledger-summary{flex-direction:column;gap:1rem}.table-header,.payment-row{grid-template-columns:1fr 1fr;gap:.5rem}.delete-btn{justify-self:end}}
