.mortgage-visual-container{margin-top:2rem;padding:2rem;background:white;border-radius:1rem;box-shadow:0 4px 20px rgba(0,0,0,.1)}.mortgage-visual-container h3{color:#1e293b;font-size:1.75rem;margin-bottom:2rem;text-align:center;border-bottom:3px solid #3b82f6;padding-bottom:1rem}.mortgage-visual-container h4{color:#334155;font-size:1.25rem;margin-bottom:1rem;margin-top:2rem}.visual-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem;margin-bottom:2rem}.summary-card{background:linear-gradient(135deg,#f8fafc,#f1f5f9);padding:1.5rem;border-radius:.75rem;border:2px solid #e2e8f0}.summary-card h4{margin-top:0;text-align:center}.pie-chart{display:flex;justify-content:center;align-items:center;margin:1.5rem 0}.pie-slice{width:200px;height:200px;box-shadow:0 4px 12px rgba(0,0,0,.15)}.pie-center,.pie-slice{border-radius:50%;display:flex;align-items:center;justify-content:center}.pie-center{width:120px;height:120px;background:white;flex-direction:column;box-shadow:inset 0 2px 8px rgba(0,0,0,.1)}.pie-label{font-size:.875rem;color:#64748b;margin-bottom:.25rem}.pie-value{font-size:1rem;font-weight:700;color:#1e293b}.pie-legend{display:flex;flex-direction:column;gap:.75rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.legend-color{width:20px;height:20px;border-radius:4px;flex-shrink:0}.principal-color{background:#3b82f6}.interest-color{background:#ef4444}.legend-text{color:#334155}.comparison-bars{gap:1.5rem;margin-top:1rem}.comparison-bars,.comparison-item{display:flex;flex-direction:column}.comparison-item{gap:.5rem}.comparison-label{font-weight:600;color:#334155;font-size:.95rem}.comparison-bar-container{background:#f1f5f9;border-radius:.5rem;overflow:hidden;height:40px;position:relative}.comparison-bar{height:100%;display:flex;align-items:center;justify-content:center;color:white;font-weight:700;font-size:.875rem;transition:width .5s ease;border-radius:.5rem}.principal-bar{background:linear-gradient(135deg,#3b82f6,#2563eb)}.interest-bar{background:linear-gradient(135deg,#ef4444,#dc2626)}.yearly-breakdown{margin:2rem 0;padding:1.5rem;background:#f8fafc;border-radius:.75rem}.yearly-chart{gap:1rem;margin:1.5rem 0}.year-bar-container,.yearly-chart{display:flex;flex-direction:column}.year-bar-container{gap:.5rem}.year-label{font-weight:600;color:#334155;font-size:.9rem}.stacked-bar{display:flex;background:#e2e8f0;border-radius:.5rem;overflow:hidden;height:40px;box-shadow:inset 0 2px 4px rgba(0,0,0,.1)}.bar-segment{display:flex;align-items:center;justify-content:center;transition:all .3s ease}.principal-segment{background:linear-gradient(135deg,#3b82f6,#2563eb)}.interest-segment{background:linear-gradient(135deg,#ef4444,#dc2626)}.bar-value{color:white;font-weight:700;font-size:.8rem;text-shadow:0 1px 2px rgba(0,0,0,.3)}.year-balance{font-size:.85rem;color:#64748b;text-align:right}.chart-legend{display:flex;gap:2rem;justify-content:center;margin-top:1.5rem;padding-top:1rem;border-top:2px solid #e2e8f0}.year-selector{margin:2rem 0;padding:1.5rem;background:#f8fafc;border-radius:.75rem}.year-buttons{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.year-btn{padding:.75rem 1.25rem;border:2px solid #e2e8f0;background:white;color:#475569;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .3s ease;font-family:var(--font-family-sans)}.year-btn:hover{border-color:#3b82f6;color:#3b82f6}.year-btn.active{background:linear-gradient(135deg,#3b82f6,#2563eb);color:white;border-color:#2563eb;box-shadow:0 4px 12px rgba(59,130,246,.4)}.monthly-schedule{margin:2rem 0}.schedule-table-container{overflow-x:auto;border-radius:.75rem;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-top:1rem}.schedule-table-container.full{max-height:600px;overflow-y:auto}.schedule-table{width:100%;border-collapse:collapse;background:white;font-family:var(--font-family-mono)}.schedule-table thead{background:linear-gradient(135deg,#1e293b,#334155);color:white;position:-webkit-sticky;position:sticky;top:0;z-index:10}.schedule-table th{padding:1rem;text-align:left;font-weight:600;font-size:.9rem;border-bottom:3px solid #3b82f6}.schedule-table td{padding:.875rem;border-bottom:1px solid #e2e8f0;font-size:.9rem;color:#334155}.schedule-table tbody tr:hover{background:#f8fafc}.schedule-table tbody tr.year-end{background:#fef3c7;font-weight:600;border-bottom:2px solid #fbbf24}.principal-cell{color:#2563eb;font-weight:600}.interest-cell{color:#dc2626;font-weight:600}.full-schedule-section{margin:2rem 0;text-align:center}.toggle-schedule-btn{padding:1rem 2rem;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:white;border:none;border-radius:.5rem;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;font-family:var(--font-family-sans)}.toggle-schedule-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 4px 12px rgba(139,92,246,.4)}.full-schedule{margin-top:1.5rem}.insights-section{margin:2rem 0;padding:1.5rem;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-radius:.75rem;border:2px solid #86efac}.insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));grid-gap:1rem;gap:1rem;margin-top:1rem}.insight-card{background:white;padding:1.25rem;border-radius:.5rem;display:flex;gap:1rem;align-items:flex-start;box-shadow:0 2px 8px rgba(0,0,0,.05);transition:all .3s ease}.insight-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.insight-icon{font-size:2rem;flex-shrink:0}.insight-content{flex:1 1}.insight-label{font-weight:600;color:#334155;font-size:.9rem;margin-bottom:.5rem}.insight-details{font-size:.85rem;color:#64748b}.insight-details div{margin-bottom:.25rem}.insight-value{font-size:1.1rem;font-weight:700;color:#1e293b}@media (max-width:768px){.mortgage-visual-container{padding:1.5rem}.visual-summary{grid-template-columns:1fr}.pie-slice{width:180px;height:180px}.pie-center{width:100px;height:100px}.pie-value{font-size:.875rem}.year-buttons{justify-content:center}.schedule-table td,.schedule-table th{padding:.625rem;font-size:.8rem}.insights-grid{grid-template-columns:1fr}.chart-legend{flex-direction:column;gap:.75rem}}@media (max-width:480px){.mortgage-visual-container h3{font-size:1.5rem}.mortgage-visual-container h4{font-size:1.1rem}.pie-slice{width:160px;height:160px}.pie-center{width:90px;height:90px}.year-btn{padding:.625rem 1rem;font-size:.875rem}.schedule-table td,.schedule-table th{padding:.5rem;font-size:.75rem}.insight-icon{font-size:1.5rem}}