.calculator{background:var(--bg-header);backdrop-filter:blur(20px);border:1px solid var(--border-base);max-width:1000px;box-shadow:var(--card-shadow);border-radius:24px;margin:2rem auto;padding:2.5rem}@media (width<=640px){.calculator{border-radius:16px;margin:1rem .5rem;padding:1.5rem 1rem}}@media (width<=350px){.calculator{margin:.5rem .25rem;padding:1rem .75rem}}html.modal-open,body.modal-open{width:100%!important;height:100dvh!important;position:fixed!important;overflow:hidden!important}.calculator__header{text-align:center;margin-bottom:2rem}.calculator__title{background:var(--hero-title-bg);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}@media (width<=640px){.calculator__title{font-size:1.75rem;line-height:1.2}.calculator__subtitle{font-size:1rem}}@media (width<=350px){.calculator__title{font-size:1.5rem}.calculator__subtitle{font-size:.85rem}}.calculator__subtitle{color:var(--text-muted);font-size:1.1rem}.calculator__presets{border-bottom:1px solid var(--border-soft);flex-direction:column;align-items:center;gap:1.25rem;margin-bottom:3rem;padding-bottom:2rem;display:flex}.calculator__presets-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);font-size:.9rem;font-weight:600}.calculator__preset-groups{flex-direction:column;gap:1.25rem;width:100%;max-width:920px;display:flex}.calculator__preset-group{flex-direction:column;align-items:center;gap:.6rem;display:flex}.calculator__preset-group-label{color:var(--text-muted);font-size:.8rem;font-weight:600}.calculator__preset-btns{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.preset-btn{background:var(--bg-hover);border:1px solid var(--border-soft);color:var(--text-base);cursor:pointer;border-radius:12px;padding:.6rem 1.2rem;font-size:.95rem;font-weight:500;transition:all .2s cubic-bezier(.4,0,.2,1)}.preset-btn:hover{background:var(--border-soft);transform:translateY(-2px)}.preset-btn--active{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);box-shadow:0 4px 12px #f973164d}.program-limit-hint{background:var(--bg-hover);border:1px solid var(--border-soft);color:var(--text-muted);border-radius:10px;margin:-.5rem 0 1rem;padding:.65rem .9rem;font-size:.9rem;line-height:1.4}.calculator__main{grid-template-columns:1fr 1fr;gap:4rem;display:grid}@media (width<=900px){.calculator__main{grid-template-columns:1fr;gap:3rem}}@media (width<=640px){.calculator__main{gap:2rem}.calculator__presets{gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem}.calculator__preset-groups{gap:1rem}.calculator__preset-btns{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.5rem;width:100%;display:grid}.preset-btn{text-align:center;padding:.6rem .5rem;font-size:.8rem}.program-limit-hint{font-size:.85rem}}.calculator__inputs{flex-direction:column;gap:2rem;display:flex}.input-group{flex-direction:column;gap:.75rem;display:flex}.input-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.input-header label{white-space:nowrap;font-size:1.1rem;font-weight:600}.input-wrapper{background:var(--bg-hover);border:1px solid var(--border-soft);border-radius:12px;align-items:baseline;gap:.5rem;padding:.4rem .8rem;transition:all .2s;display:flex}@media (width<=500px){.input-header{flex-direction:column;align-items:flex-start;gap:.5rem}.input-wrapper{justify-content:space-between;width:100%}.manual-input{flex-grow:1}}.input-wrapper:focus-within{border-color:var(--accent-primary);background:var(--bg-header);box-shadow:0 0 0 2px #f973161a}@media (width<=640px){.manual-input{font-size:1.1rem}.input-wrapper{padding:.5rem .75rem}.currency-label{font-size:.8rem}}.manual-input{color:var(--accent-primary);text-align:right;background:0 0;border:none;outline:none;width:auto;min-width:40px;padding:0;font-family:monospace;font-size:1.25rem;font-weight:700}#price-input,#downpayment-input{width:140px}#downpayment-percent-input{width:40px}#rate-input{width:60px}#term-input{width:40px}.currency-label{color:var(--text-muted);font-size:.9rem;font-weight:600}.amount-input,.percent-input{align-items:center;gap:.25rem;display:flex}.percent-input{border-left:1px solid var(--border-soft);margin-left:.25rem;padding-left:.75rem}.slider{-webkit-appearance:none;background:var(--border-soft);border-radius:5px;outline:none;width:100%;height:6px;transition:opacity .2s}.slider::-webkit-slider-thumb{appearance:none;background:var(--accent-primary);border:3px solid var(--bg-header);cursor:pointer;border-radius:50%;width:20px;height:20px;transition:all .2s;box-shadow:0 0 10px #0003}.slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.calculator__results{flex-direction:column;gap:1.5rem;display:flex}.result-card{background:rgba(var(--accent-primary), .05);border:1px solid var(--border-soft);border-radius:16px;flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.main-result{background:var(--accent-bg);color:#fff;border:none;padding:2rem}.main-result .result-label{color:#fffc}.results-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.result-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.85rem;font-weight:600}.result-value{font-size:1.75rem;font-weight:800;line-height:1.2}@media (width<=640px){.result-value{font-size:1.35rem}.result-label{font-size:.75rem}.main-result{padding:1.25rem}.result-card{padding:1rem}.results-grid{grid-template-columns:1fr}}@media (width<=350px){.calculator__results{gap:.75rem}.result-value{font-size:1.15rem}.main-result{padding:1rem}.result-card{padding:.75rem}}.result-value.secondary{color:var(--text-base);font-size:1.2rem}.chart-container{border-top:1px solid var(--border-soft);align-items:center;gap:2rem;margin-top:1rem;padding:1rem;display:flex}@media (width<=500px){.chart-container{flex-direction:column;gap:1.5rem;padding:1.5rem .5rem}.chart-info{text-align:center;align-items:center;width:100%}.chart-visual{justify-content:center}.chart-legend{width:100%}.legend-item{grid-template-columns:auto 1fr auto;font-size:.95rem}}@media (width<=350px){.donut-chart{width:100px;height:100px}.chart-info__title{font-size:.8rem}}.donut-chart{width:120px;height:120px}.donut-ring{stroke:var(--border-soft)}.donut-segment{stroke:var(--accent-primary);transition:stroke-dasharray .5s}.donut-ring,.donut-segment{transform-origin:50%;transform:rotate(-90deg)}.donut-label{fill:var(--text-base);text-anchor:middle;font-size:1.1rem;font-weight:800}.chart-info{flex-direction:column;flex:1.2;gap:1rem;display:flex}.chart-info__title{color:var(--text-muted);font-size:.95rem;font-weight:600;line-height:1.4}.chart-visual{justify-content:flex-start;display:flex}.chart-legend{flex-direction:column;flex:1;gap:.75rem;display:flex}.legend-item{color:var(--text-muted);grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;font-size:.9rem;display:grid}.dot{border-radius:50%;width:10px;height:10px}.dot.principal{background:var(--border-soft)}.dot.interest{background:var(--accent-primary)}.legend-item span:last-child{color:var(--text-base);font-weight:700}.calculator__schedule{border-top:1px solid var(--border-soft);width:100%;margin-top:3rem;padding-top:2rem}.schedule-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}@media (width<=640px){.schedule-header{flex-direction:column;align-items:flex-start}}@media (width<=350px){.calculator__schedule{margin-top:1.5rem;padding-top:1.5rem}.schedule-title{font-size:1.25rem}}.schedule-title{color:var(--text-base);font-size:1.5rem;font-weight:700}.schedule-legend{flex-wrap:wrap;gap:1.5rem;display:flex}.schedule-legend .legend-item{align-items:center;gap:.5rem;display:flex}.dot.schedule-principal{background:#7e9fff;border-radius:3px;width:12px;height:12px}.dot.schedule-interest{background:#ffc857;border-radius:3px;width:12px;height:12px}.legend-text{color:var(--text-muted);font-size:.85rem}.schedule-tabs{scrollbar-width:thin;gap:.75rem;margin-bottom:2rem;padding-bottom:.5rem;display:flex;overflow-x:auto}.schedule-tab{border:1px solid var(--border-soft);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:100px;padding:.5rem 1.25rem;font-size:.9rem;font-weight:500;transition:all .2s}.schedule-tab:hover{color:#2563eb;border-color:#2563eb}.schedule-tab--active{background:#2563eb;border-color:#2563eb;color:#fff!important}.schedule-chart-wrapper{background:var(--bg-hover);border-radius:16px;flex-direction:column;min-height:350px;padding:4.5rem 1rem 1rem;display:flex;position:relative;overflow-x:auto}.schedule-chart-wrapper:after{content:"→";color:var(--text-muted);opacity:.5;pointer-events:none;font-size:1.25rem;animation:2s infinite bounceRight;display:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}@media (width<=640px){.schedule-chart-wrapper:after{display:block}}@keyframes bounceRight{0%,20%,50%,80%,to{transform:translate(0)translateY(-50%)}40%{transform:translate(-5px)translateY(-50%)}60%{transform:translate(-3px)translateY(-50%)}}.schedule-chart{align-items:flex-end;gap:4px;width:100%;min-width:800px;height:250px;display:flex}@media (width<=640px){.schedule-chart{min-width:1000px}}.schedule-bar{cursor:help;border-radius:2px 2px 0 0;flex-direction:column;flex:1;justify-content:flex-end;min-width:8px;height:100%;transition:opacity .2s;display:flex;position:relative;overflow:visible}.schedule-bar:hover{opacity:.8}.bar-interest{background:#ffc857;width:100%}.bar-principal{background:#7e9fff;width:100%}.schedule-x-axis{border-top:1px solid var(--border-soft);justify-content:space-between;min-width:600px;margin-top:1rem;padding:.75rem 10px 0;display:flex}.x-axis-label{color:var(--text-muted);font-size:.75rem}.schedule-tooltip-shared{color:#fff;white-space:nowrap;z-index:2000;pointer-events:none;background:#1e293b;border-radius:8px;padding:.6rem .8rem;font-size:.75rem;line-height:1.4;display:none;position:absolute;transform:translate(-50%,-100%)translateY(-10px);box-shadow:0 10px 15px -3px #0006}.schedule-tooltip-shared:after{content:"";border:5px solid #0000;border-top-color:#1e293b;position:absolute;top:100%;left:50%;transform:translate(-50%)}.schedule-chart-wrapper.is-scrolled:after{display:none!important}@media (width<=640px){.schedule-x-axis{min-width:1000px;display:flex!important}.x-axis-label{transform-origin:0 0;margin-top:5px;font-size:.65rem;transform:rotate(-45deg)}}.schedule-trigger-container{justify-content:center;gap:1rem;margin-top:2rem;display:flex}@media (width<=500px){.schedule-trigger-container{flex-direction:column;width:100%}.schedule-btn{justify-content:center;width:100%}}@media (width<=350px){.schedule-trigger-container{gap:.5rem}.schedule-btn{border-radius:10px;padding:.6rem 1rem;font-size:.85rem}}.calendar-btn{background:var(--bg-header);border-color:var(--accent-primary);color:var(--accent-primary)}.calendar-btn:hover{background:var(--accent-primary);color:#fff;box-shadow:0 10px 15px -3px #f973164d}.schedule-btn{background:var(--bg-hover);border:1px solid var(--border-soft);color:var(--text-base);cursor:pointer;border-radius:14px;align-items:center;gap:.75rem;padding:.8rem 1.5rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 4px 6px -1px #0000001a}.schedule-btn:hover{background:var(--accent-primary);color:#fff;border-color:var(--accent-primary);transform:translateY(-2px);box-shadow:0 10px 15px -3px #f973164d}.schedule-btn-icon{opacity:.8}.schedule-modal-overlay{backdrop-filter:blur(8px);z-index:9999;opacity:0;visibility:hidden;-webkit-overflow-scrolling:touch;color-scheme:dark;background:#0f172a99;width:100%;height:100dvh;padding:2rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:block;position:fixed;top:0;left:0;overflow-y:auto}@media (width<=350px){.schedule-modal-overlay{padding:1rem .5rem}}.schedule-modal-overlay.active{opacity:1;visibility:visible}.schedule-modal-content{background:var(--bg-base);border:1px solid var(--border-base);border-radius:24px;width:100%;max-width:1100px;margin:0 auto 8rem;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;transform:scale(.9)translateY(20px);box-shadow:0 25px 50px -12px #00000080}.schedule-modal-overlay.active .schedule-modal-content{transform:scale(1)translateY(0)}.modal-close{background:var(--bg-hover);color:var(--text-base);cursor:pointer;z-index:10;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:2rem;line-height:1;transition:all .2s;display:flex;position:absolute;top:.75rem;right:.75rem}.modal-close:hover{color:#fff;background:#ef4444;transform:rotate(90deg)}.schedule-modal-content>.calculator__schedule,.schedule-modal-content>.calendar-header,.schedule-modal-content>.calendar-table-container{padding:2rem}@media (width<=768px){.schedule-modal-content>.calculator__schedule,.schedule-modal-content>.calendar-header,.schedule-modal-content>.calendar-table-container{padding:2rem 1rem 1rem}}@media (width<=350px){.schedule-modal-content>.calculator__schedule,.schedule-modal-content>.calendar-header,.schedule-modal-content>.calendar-table-container{padding:1.5rem .75rem .75rem}}@media (width<=768px){.schedule-modal-content{border-radius:16px;width:100%;margin-bottom:10rem}.schedule-header{flex-direction:column;align-items:flex-start;gap:1rem}.x-axis-label{white-space:nowrap;font-size:.65rem;transform:rotate(-45deg)}}.calendar-modal-content{padding:3rem;display:block}@media (width<=640px){.calendar-modal-content{padding:4rem 1.5rem 1.5rem}}.calendar-header{border-bottom:1px solid var(--border-soft);margin-bottom:2rem;padding-bottom:1.5rem}.calendar-header-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;display:flex}.calendar-title{color:var(--text-base);margin:0;font-size:1.75rem;font-weight:700}.export-actions{align-items:center;gap:.75rem;display:flex}.export-btn{background:var(--bg-hover);border:1px solid var(--border-soft);color:var(--text-base);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1rem;font-size:.85rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 1px 2px #0000000d}.export-btn:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 6px -1px #f9731633}.export-btn:hover svg{opacity:1}.export-btn svg{opacity:.9;stroke-width:2.5px}.calendar-table-container{background:var(--bg-header);border:1px solid var(--border-soft);scrollbar-width:thin;border-radius:12px;flex-grow:1;overflow:auto}.calendar-table{border-collapse:collapse;text-align:left;width:100%;font-size:.95rem}.calendar-table th{background:var(--bg-header);color:var(--text-base);z-index:5;border-bottom:2px solid var(--border-soft);white-space:nowrap;padding:1rem;font-weight:700;position:sticky;top:0;opacity:1!important}.calendar-table td{border-bottom:1px solid var(--border-soft);color:var(--text-base);padding:1rem}.calendar-table tr:hover td{background:rgba(var(--accent-primary-rgb,249, 115, 22), .05)}.calendar-table td:first-child{color:var(--text-muted);font-weight:600}.calendar-table td:last-child{color:var(--accent-primary);font-weight:700}@media (width<=640px){.calendar-modal-content{padding:4rem 1.5rem 1.5rem}.calendar-title{font-size:1.5rem}.export-btn .btn-text{display:none}.calendar-table th,.calendar-table td{padding:.75rem;font-size:.85rem}}@media (width<=350px){.calendar-modal-content{padding:3.5rem .75rem .75rem}.calendar-title{font-size:1.25rem}.calendar-table th,.calendar-table td{padding:.5rem;font-size:.75rem}}@media print{*{box-sizing:border-box!important;max-width:100%!important}html,body{print-color-adjust:exact;color:#000!important;background:#fff!important;width:100%!important;height:auto!important;min-height:auto!important;margin:0!important;padding:0!important;position:static!important;overflow:visible!important}main{min-height:0!important;padding:0!important;overflow:visible!important}header,footer,nav,.mobile-nav,.calculator-info,.calculator__header,.calculator__presets,.calculator__inputs,.chart-container,.calculator-tabs-nav,.schedule-trigger-container,#schedule-modal,.modal-close,.export-actions{display:none!important}.calculator,.calculator__main{height:auto!important;box-shadow:none!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important;display:block!important}.calculator__results{page-break-inside:avoid!important;width:96%!important;margin:0 0 16pt!important;display:block!important}.main-result{width:100%!important;box-shadow:none!important;background:#e2e8f0!important;border:1.5pt solid #334155!important;border-radius:4pt!important;margin-bottom:4pt!important;padding:8pt!important}.results-grid{grid-template-columns:1fr 1fr!important;gap:4pt!important;width:100%!important;display:grid!important}.result-card{color:#000!important;width:100%!important;box-shadow:none!important;page-break-inside:avoid!important;background:#f8fafc!important;border:1pt solid #cbd5e1!important;border-radius:4pt!important;margin-bottom:0!important;padding:8pt!important}.main-result .result-label,.result-label{color:#475569!important;text-transform:uppercase!important;letter-spacing:.05em!important;-webkit-text-fill-color:#475569!important;font-size:7pt!important;font-weight:600!important}.main-result .result-value,.result-value{color:#0f172a!important;background:0 0!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:#0f172a!important;font-size:14pt!important;font-weight:800!important;line-height:1.2!important}.result-value.secondary{font-size:11pt!important}.schedule-modal-overlay,.schedule-modal-content{visibility:visible!important;opacity:1!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important;transform:none!important}#calendar-modal{visibility:visible!important;opacity:1!important;background:#fff!important;width:100%!important;max-width:100%!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;position:static!important;overflow:visible!important}.calendar-modal-content{width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;box-shadow:none!important;color:#000!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important;transform:none!important}.calendar-header{border-bottom:2pt solid #000!important;margin-bottom:20pt!important;padding-bottom:10pt!important}.calendar-title{color:#000!important;font-size:18pt!important;font-weight:700!important}.calendar-table-container{background:#fff!important;border:none!important;width:95%!important;height:auto!important;max-height:none!important;margin:10pt auto 20pt 10pt!important;padding:0 0 300pt!important;display:block!important;overflow:visible!important}.calendar-table{table-layout:fixed!important;border-collapse:collapse!important;background:#fff!important;width:100%!important;font-size:10pt!important}.calendar-table th:first-child,.calendar-table td:first-child{width:18%!important}.calendar-table th:nth-child(2),.calendar-table td:nth-child(2){width:22%!important}.calendar-table th:nth-child(3),.calendar-table td:nth-child(3){width:20%!important}.calendar-table th:nth-child(4),.calendar-table td:nth-child(4){width:22%!important}.calendar-table th:nth-child(5),.calendar-table td:nth-child(5){width:18%!important}.calendar-table tr{page-break-inside:auto!important}.calendar-table th,.calendar-table td{color:#000!important;text-align:right!important;background:#fff!important;border:.5pt solid #cbd5e1!important;padding:6pt 4pt!important}.calendar-table th{text-align:left!important;background-color:#f1f5f9!important;border-bottom:2pt solid #000!important;font-weight:700!important}.calendar-table td:first-child,.calendar-table th:first-child{text-align:left!important}.calendar-table td:last-child{color:#000!important;font-weight:700!important}@page{margin:.8cm 1cm;size:A4 landscape}}.schedule-modal-overlay::-webkit-scrollbar{width:14px}.schedule-modal-overlay::-webkit-scrollbar-track{border-left:1px solid var(--border-soft);background:#0f172a}.schedule-modal-overlay::-webkit-scrollbar-thumb{background:var(--border-base);background-clip:padding-box;border:4px solid #0f172a;border-radius:10px}.schedule-modal-overlay::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.schedule-modal-content::-webkit-scrollbar{width:8px;height:8px}.calendar-table-container::-webkit-scrollbar{width:8px;height:8px}.schedule-chart-wrapper::-webkit-scrollbar{width:8px;height:8px}.schedule-modal-content::-webkit-scrollbar-track{background:0 0}.calendar-table-container::-webkit-scrollbar-track{background:0 0}.schedule-chart-wrapper::-webkit-scrollbar-track{background:0 0}.schedule-modal-content::-webkit-scrollbar-thumb{background:var(--border-soft);border-radius:10px}.calendar-table-container::-webkit-scrollbar-thumb{background:var(--border-soft);border-radius:10px}.schedule-chart-wrapper::-webkit-scrollbar-thumb{background:var(--border-soft);border-radius:10px}.schedule-modal-content::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.calendar-table-container::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.schedule-chart-wrapper::-webkit-scrollbar-thumb:hover{background:var(--accent-primary)}.schedule-modal-overlay,.schedule-modal-content,.calendar-table-container,.schedule-chart-wrapper{scrollbar-width:thin;scrollbar-color:var(--border-base) transparent}.calculator-page{background:var(--section-gradient);min-height:100vh;padding:4rem 0}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.calculator-info{margin-top:5rem}.calculator-info h3{text-align:center;margin-bottom:2.5rem;font-size:2rem}.info-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;display:grid}@media (width<=640px){.calculator-page{padding:2rem 0}.container{padding:0 1rem}.calculator-info{margin-top:3rem}.calculator-info h3{margin-bottom:1.5rem;font-size:1.5rem}.info-grid{grid-template-columns:1fr;gap:1.5rem}.info-card{padding:1.5rem}}.info-card{background:var(--bg-header);border:1px solid var(--border-soft);border-radius:20px;padding:2rem;transition:transform .3s}.info-card:hover{border-color:var(--accent-primary);transform:translateY(-5px)}.info-card h4{color:var(--accent-primary);margin-bottom:1rem;font-size:1.25rem}.info-card p{color:var(--text-muted);font-size:.95rem;line-height:1.6}
