:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--primary-rgb: 59, 130, 246;--accent-color: #10b981;--accent-rgb: 16, 185, 129;--warn-color: #ef4444;--warn-rgb: 239, 68, 68;--extra-payment-color: #8b5cf6;--extra-payment-rgb: 139, 92, 246;--bg-color: #f8fafc;--surface-color: #ffffff;--border-color: #e2e8f0;--text-color: #0f172a;--text-secondary: #475569;--card-shadow: 0 4px 6px -1px rgb(0 0 0 / .05), 0 2px 4px -2px rgb(0 0 0 / .05);--card-shadow-hover: 0 10px 15px -3px rgb(0 0 0 / .08), 0 4px 6px -4px rgb(0 0 0 / .08);--font-title: "Outfit", "Inter", sans-serif;--font-body: "Inter", sans-serif;--header-bg: rgba(255, 255, 255, .8);--header-blur: 12px}body.dark-theme{--primary-color: #60a5fa;--primary-hover: #3b82f6;--primary-rgb: 96, 165, 250;--accent-color: #34d399;--accent-rgb: 52, 211, 153;--warn-color: #f87171;--warn-rgb: 248, 113, 113;--extra-payment-color: #a78bfa;--extra-payment-rgb: 167, 139, 250;--bg-color: #0b0f19;--surface-color: #121826;--border-color: #1e293b;--text-color: #f8fafc;--text-secondary: #94a3b8;--card-shadow: 0 4px 6px -1px rgb(0 0 0 / .3), 0 2px 4px -2px rgb(0 0 0 / .3);--card-shadow-hover: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .4);--header-bg: rgba(18, 24, 38, .8)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-color);color:var(--text-color);line-height:1.5;transition:background-color .3s ease,color .3s ease;overflow-x:hidden;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);font-weight:700;letter-spacing:-.02em}.container{max-width:1440px;margin:0 auto;padding:0 1.5rem}@media(min-width:1920px){.container{max-width:1720px}}.premium-card{background-color:var(--surface-color);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:var(--card-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.premium-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}@media(max-width:600px){.premium-card{padding:1rem;border-radius:12px}}.mat-mdc-slider{--mdc-slider-active-track-color: var(--primary-color) !important;--mdc-slider-inactive-track-color: var(--border-color) !important;--mdc-slider-handle-color: var(--primary-color) !important;--mdc-slider-hover-handle-color: var(--primary-hover) !important;--mdc-slider-focus-handle-color: var(--primary-hover) !important}.mat-mdc-form-field{width:100%;--mdc-outlined-text-field-container-shape: 12px;--mdc-outlined-text-field-focus-outline-color: var(--primary-color) !important;--mdc-outlined-text-field-outline-color: var(--border-color) !important;--mdc-outlined-text-field-hover-outline-color: var(--text-secondary) !important}.mat-mdc-form-field .mdc-text-field--outlined:not(.mdc-text-field--disabled) .mdc-text-field__input{color:var(--text-color)!important;caret-color:var(--primary-color)!important}.mat-mdc-form-field .mdc-floating-label{color:var(--text-secondary)!important}.input-group{margin-bottom:1.25rem}.input-group .input-label{font-family:var(--font-title);font-size:.875rem;font-weight:600;color:var(--text-secondary);margin-bottom:.5rem;display:block}.toggle-group{display:flex;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:8px;padding:2px}.toggle-group button{flex:1;border:none;background:none;font-family:var(--font-title);font-weight:600;font-size:.85rem;padding:.5rem;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.toggle-group button.active{background-color:var(--primary-color);color:#fff}.custom-table-container{overflow-x:auto;border-radius:12px;border:1px solid var(--border-color);background-color:var(--surface-color)}.custom-table-container table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:.875rem;text-align:left}.custom-table-container table th{background-color:var(--bg-color);color:var(--text-secondary);font-family:var(--font-title);font-weight:600;padding:.75rem 1rem;border-bottom:1px solid var(--border-color);white-space:normal;line-height:1.25;position:sticky;top:0;z-index:10}.custom-table-container table td{padding:.75rem 1rem;border-bottom:1px solid var(--border-color);color:var(--text-color);white-space:nowrap}.custom-table-container table tr:last-child td{border-bottom:none}.custom-table-container table tr:hover td{background-color:rgba(var(--primary-rgb),.03)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media print{body{background-color:#fff!important;color:#000!important}header,.theme-toggle,.language-selector,.input-panel-container,.results-summary-cards,.chart-panel-container,.no-print,button,.faq-container{display:none!important}.container{width:100%!important;max-width:100%!important;padding:0!important;margin:0!important}.amortization-table-container{width:100%!important;display:block!important}.amortization-table-container .no-virtual-scroll,.amortization-table-container .yearly-table-wrapper,.amortization-table-container .virtual-viewport,.amortization-table-container .table-outer-wrapper,.amortization-table-container .virtual-table-wrapper{max-height:none!important;height:auto!important;overflow:visible!important;overflow-y:visible!important;min-width:unset!important}.amortization-table-container .virtual-table-body{display:block!important;width:100%!important}.amortization-table-container .table-body-row,.amortization-table-container .table-header-row{min-width:unset!important;width:100%!important;display:flex!important;page-break-inside:avoid}.amortization-table-container .col-hdr,.amortization-table-container .col-cell{border:1px solid #000000!important;padding:4px 6px!important;font-size:8pt!important;color:#000!important;background:none!important}.amortization-table-container .table-header-row .col-hdr{background-color:#f0f0f0!important;font-weight:700!important}.amortization-table-container table{width:100%!important;border-collapse:collapse!important}.amortization-table-container table th,.amortization-table-container table td{border:1px solid #000000!important;color:#000!important;padding:4px 6px!important;font-size:8pt!important}.amortization-table-container table th{background-color:#f0f0f0!important;font-weight:700!important}.print-header{display:block!important;text-align:center;margin-bottom:2rem}.print-header h1{font-size:18pt;margin-bottom:.5rem}}.print-header{display:none}.cdk-overlay-container .mat-mdc-menu-panel{background-color:var(--surface-color)!important;border:1px solid var(--border-color)!important;box-shadow:var(--card-shadow)!important;border-radius:12px!important}.cdk-overlay-container .mat-mdc-menu-item{color:var(--text-color)!important;font-family:var(--font-title)!important;font-weight:500!important}.cdk-overlay-container .mat-mdc-menu-item .mat-icon{color:var(--text-secondary)!important}.cdk-overlay-container .mat-mdc-menu-item:hover{background-color:rgba(var(--primary-rgb),.06)!important}.mat-mdc-menu-panel.theme-menu-panel{min-width:unset!important;max-width:unset!important}.mat-mdc-menu-panel.theme-menu-panel .mat-mdc-menu-content{padding:0!important}
