html{--mat-sys-background: #faf9fd;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f2f0f4;--mat-sys-inverse-primary: #abc7ff;--mat-sys-inverse-surface: #2f3033;--mat-sys-on-background: #1a1b1f;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #410002;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #001b3f;--mat-sys-on-primary-fixed: #001b3f;--mat-sys-on-primary-fixed-variant: #00458f;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #131c2b;--mat-sys-on-secondary-fixed: #131c2b;--mat-sys-on-secondary-fixed-variant: #3e4759;--mat-sys-on-surface: #1a1b1f;--mat-sys-on-surface-variant: #44474e;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #00006e;--mat-sys-on-tertiary-fixed: #00006e;--mat-sys-on-tertiary-fixed-variant: #0000ef;--mat-sys-outline: #74777f;--mat-sys-outline-variant: #c4c6d0;--mat-sys-primary: #005cbb;--mat-sys-primary-container: #d7e3ff;--mat-sys-primary-fixed: #d7e3ff;--mat-sys-primary-fixed-dim: #abc7ff;--mat-sys-scrim: #000000;--mat-sys-secondary: #565e71;--mat-sys-secondary-container: #dae2f9;--mat-sys-secondary-fixed: #dae2f9;--mat-sys-secondary-fixed-dim: #bec6dc;--mat-sys-shadow: #000000;--mat-sys-surface: #faf9fd;--mat-sys-surface-bright: #faf9fd;--mat-sys-surface-container: #efedf0;--mat-sys-surface-container-high: #e9e7eb;--mat-sys-surface-container-highest: #e3e2e6;--mat-sys-surface-container-low: #f4f3f6;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dbd9dd;--mat-sys-surface-tint: #005cbb;--mat-sys-surface-variant: #e0e2ec;--mat-sys-tertiary: #343dff;--mat-sys-tertiary-container: #e0e0ff;--mat-sys-tertiary-fixed: #e0e0ff;--mat-sys-tertiary-fixed-dim: #bec2ff;--mat-sys-neutral-variant20: #2d3038;--mat-sys-neutral10: #1a1b1f}html{--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12)}html{--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12)}html{--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12)}html{--mat-sys-body-large: 400 1rem / 1.5rem Roboto;--mat-sys-body-large-font: Roboto;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Roboto;--mat-sys-body-medium-font: Roboto;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Roboto;--mat-sys-body-small-font: Roboto;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Roboto;--mat-sys-display-large-font: Roboto;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Roboto;--mat-sys-display-medium-font: Roboto;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Roboto;--mat-sys-display-small-font: Roboto;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Roboto;--mat-sys-headline-large-font: Roboto;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Roboto;--mat-sys-headline-medium-font: Roboto;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Roboto;--mat-sys-headline-small-font: Roboto;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Roboto;--mat-sys-label-large-font: Roboto;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Roboto;--mat-sys-label-medium-font: Roboto;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Roboto;--mat-sys-label-small-font: Roboto;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Roboto;--mat-sys-title-large-font: Roboto;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Roboto;--mat-sys-title-medium-font: Roboto;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Roboto;--mat-sys-title-small-font: Roboto;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500}html{--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px}html{--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{--bg-primary: #0f172a;--bg-secondary: #1e2a45;--bg-card: #1a2340;--accent-primary: #6366f1;--accent-secondary: #8b5cf6;--accent-teal: #22d3ee;--accent-green: #10b981;--accent-yellow: #f59e0b;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--border-color: rgba(255, 255, 255, .08);--input-bg: #0f172a;--input-border: rgba(255, 255, 255, .15);--shadow-card: 0 4px 24px rgba(0, 0, 0, .3);--sidebar-bg: #131628;--sidebar-text: #f1f5f9;--sidebar-text-muted: #94a3b8;--sidebar-border: rgba(255, 255, 255, .08);--sidebar-hover-bg: rgba(255, 255, 255, .06);--sidebar-hover-text: #ffffff;--sidebar-user-hover-bg: rgba(255, 255, 255, .05);--toggle-off-bg: rgba(255, 255, 255, .15)}html,body{height:100%;margin:0}body{font-family:Inter,Roboto,Helvetica Neue,sans-serif;background-color:var(--bg-primary);color:var(--text-primary)}body.light-mode{--bg-primary: #f0f4f8;--bg-secondary: #ffffff;--bg-card: #ffffff;--text-primary: #1e293b;--text-secondary: #64748b;--border-color: rgba(0, 0, 0, .1);--input-bg: #ffffff;--input-border: rgba(0, 0, 0, .2);--shadow-card: 0 4px 24px rgba(0, 0, 0, .08);--sidebar-bg: #ffffff;--sidebar-text: #1e293b;--sidebar-text-muted: #64748b;--sidebar-border: rgba(0, 0, 0, .08);--sidebar-hover-bg: rgba(0, 0, 0, .05);--sidebar-hover-text: #1e293b;--sidebar-user-hover-bg: rgba(0, 0, 0, .04);--toggle-off-bg: rgba(0, 0, 0, .15)}h1,h2,h3,h4,h5,h6{color:var(--text-primary)}.form-control{background-color:var(--input-bg)!important;border:1px solid var(--input-border)!important;color:var(--text-primary)!important;border-radius:8px!important;padding:.5rem .875rem!important;transition:border-color .2s ease,box-shadow .2s ease!important}.form-control:focus{background-color:var(--input-bg)!important;border-color:var(--accent-primary)!important;color:var(--text-primary)!important;box-shadow:0 0 0 3px #6366f133!important}.form-control::placeholder{color:var(--text-secondary)!important}select.form-control option{background-color:#1e2a45;color:var(--text-primary)}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;border:none!important;border-radius:8px!important;font-weight:500!important;padding:.5rem 1.25rem!important;transition:opacity .2s ease,transform .1s ease!important;color:#fff!important}.btn-primary:hover{opacity:.9!important;transform:translateY(-1px)!important}.btn-secondary{background-color:#ffffff14!important;border:1px solid var(--border-color)!important;border-radius:8px!important;color:var(--text-primary)!important;font-weight:500!important;padding:.5rem 1.25rem!important}.btn-secondary:hover{background-color:#ffffff24!important}table{width:100%;border-collapse:collapse;margin-top:1rem}th{background-color:#ffffff0d!important;color:var(--text-secondary)!important;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:.75rem 1rem!important;border-bottom:1px solid var(--border-color)!important}td{color:var(--text-primary)!important;padding:.75rem 1rem!important;border-bottom:1px solid var(--border-color)!important;font-size:.9rem}tr:hover td{background-color:#ffffff08}tr:nth-child(2n){background-color:transparent!important}.form-container{border:1px solid var(--border-color)!important;border-radius:16px!important;padding:2rem!important;background-color:var(--bg-card)!important;box-shadow:var(--shadow-card)!important;margin-bottom:2rem!important}.results-card{background-color:var(--bg-card)!important;border-radius:16px!important;padding:1.5rem!important;border:1px solid var(--border-color)!important;border-left:4px solid var(--accent-primary)!important}.results-card h3{color:var(--text-primary)!important}.results-amort{background-color:var(--bg-card)!important;border-radius:16px!important;padding:1.5rem!important;border:1px solid var(--border-color)!important;border-left:4px solid var(--accent-green)!important}.results-amort h3{color:var(--text-primary)!important}.collapsible-header{display:flex;align-items:center;gap:.6rem;width:100%;background:none;border:none;cursor:pointer;padding:.6rem 0;color:var(--text-primary, #f1f5f9);font-size:1rem;font-weight:600;text-align:left;border-bottom:1px solid var(--border-color, rgba(255, 255, 255, .08));margin-bottom:0;transition:color .2s ease}.collapsible-header:hover{color:var(--accent-primary, #6366f1)}.collapsible-chevron{margin-left:auto;font-size:1.3rem;line-height:1;color:var(--text-secondary, #94a3b8);transition:transform .25s ease;display:inline-block}.collapsible-chevron.open{transform:rotate(90deg)}.collapsible-badge{background:var(--accent-primary, #6366f1);color:#fff;font-size:.7rem;font-weight:700;border-radius:999px;padding:.1rem .5rem;line-height:1.4}.table-card{background-color:var(--bg-card)!important;border-radius:16px!important;border:1px solid var(--border-color)!important;box-shadow:var(--shadow-card)!important;padding:1.5rem!important;margin-top:2rem!important;overflow:hidden!important}.contributions-chart,.amortization-chart,.simulator-chart{background-color:var(--bg-card)!important;border-radius:16px!important;border:1px solid var(--border-color)!important;box-shadow:var(--shadow-card)!important;margin-top:3rem;margin-bottom:3rem;padding:1.5rem;overflow:hidden;width:100%;box-sizing:border-box}.simulator-chart h3{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem;margin-top:0}.simulator-chart ::ng-deep .js-plotly-plot,.simulator-chart ::ng-deep .plot-container{width:100%!important}input[type=checkbox],input[type=radio]{accent-color:var(--accent-primary)}.radio-group{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--text-primary);font-size:.9rem}.pagination-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;margin-bottom:1.5rem}.page-size-selector{display:flex;align-items:center;gap:.5rem;margin-left:auto}.page-size-selector label{white-space:nowrap;color:var(--text-secondary);font-size:.875rem;margin:0}.page-size-selector select{width:auto;min-width:70px;padding:.25rem .5rem;font-size:.875rem}.pagination-controls button{padding:.5rem 1rem;font-size:.9rem}.pagination-controls button:disabled{opacity:.4;cursor:not-allowed}.pagination-controls span{font-weight:500;min-width:150px;text-align:center;color:var(--text-secondary);font-size:.875rem}@media (max-width: 768px){.pagination-controls{flex-wrap:wrap;gap:.5rem}.pagination-controls span{order:3;flex-basis:100%}}.table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.table-header h3,.table-header h4{margin:0}.btn-export{font-size:.8rem;padding:.3rem .75rem;white-space:nowrap}.btn-sm{padding:.25rem .75rem;font-size:.8rem;border-radius:6px}.interest-saved{color:var(--accent-green)!important;font-size:1rem!important;font-weight:600!important;margin-top:1rem!important;padding-top:1rem!important;border-top:1px solid rgba(16,185,129,.2)!important}.form-field-row{display:flex;gap:1rem;margin-top:1.5rem}.form-field-row .form-field{flex:1}@media (max-width: 768px){.form-field-row{flex-direction:column}.form-field-row .form-field{flex:1 1 100%}}.resumen-row{display:flex;gap:2rem;margin-top:2rem;flex-wrap:wrap}.resumen-row .results{flex:1;min-width:280px}@media (max-width: 768px){.resumen-row{flex-direction:column;gap:1.5rem}.resumen-row .results{flex:1 1 100%}}.aportaciones-subseccion,.amortizaciones-subseccion{margin-top:2rem;padding:1.5rem;background-color:#6366f10d;border:1px solid var(--border-color);border-radius:12px;border-left:3px solid var(--accent-primary)}.aportaciones-subseccion h4,.amortizaciones-subseccion h4{margin-top:0;margin-bottom:1.5rem;color:var(--text-primary);font-size:1rem;font-weight:600}.aportaciones-subseccion h5,.amortizaciones-subseccion h5{margin-top:1rem;margin-bottom:.75rem;color:var(--text-secondary);font-size:.875rem;font-weight:500}.aportaciones-subseccion .form-container,.amortizaciones-subseccion .form-container{padding:1rem!important;margin-bottom:1rem!important;border:none!important;background-color:#ffffff08!important;box-shadow:none!important}@media (max-width: 768px){.aportaciones-subseccion,.amortizaciones-subseccion{padding:1rem;margin-top:1.5rem}}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px}.form-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}@media (max-width: 768px){th,td{padding:.5rem .625rem!important;font-size:.8rem!important}.form-container{padding:1.25rem!important}.table-header{flex-wrap:wrap;gap:.5rem}}@media (max-width: 480px){.form-container{padding:1rem!important}th,td{padding:.4rem .5rem!important;font-size:.75rem!important}}.mat-drawer-container,.mat-drawer-content{background-color:var(--bg-primary)!important;color:var(--text-primary)!important}.mat-icon{color:inherit!important}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#ffffff26;border-radius:3px}::-webkit-scrollbar-thumb:hover{background-color:#ffffff40}
