{"id":5863,"date":"2024-07-14T21:35:48","date_gmt":"2024-07-15T02:35:48","guid":{"rendered":"https:\/\/inversionesguru.com\/co\/?post_type=herramientas&#038;p=5863"},"modified":"2026-08-09T16:33:43","modified_gmt":"2026-08-09T21:33:43","slug":"simulador-cuenta-de-ahorros-nubank-colombia","status":"publish","type":"herramientas","link":"https:\/\/inversionesguru.com\/co\/herramientas\/simulador-cuenta-de-ahorros-nubank-colombia\/","title":{"rendered":"Simulador de Cuenta de Ahorros NUBANK Colombia | Agosto 9,30%"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"5863\" class=\"elementor elementor-5863\" data-elementor-post-type=\"herramientas\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7125fc0 e-con-full e-flex e-con e-parent\" data-id=\"7125fc0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c3c6832 elementor-widget elementor-widget-html\" data-id=\"c3c6832\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\r\n  #ig-nu-cajitas-sim {\r\n    --ig-ink: #17332f;\r\n    --ig-ink-2: #24443e;\r\n    --ig-muted: #5b6f68;\r\n    --ig-muted-2: #789088;\r\n    --ig-bg-a: #effbf6;\r\n    --ig-bg-b: #fff3ec;\r\n    --ig-panel: #ffffff;\r\n    --ig-panel-soft: rgba(255, 255, 255, 0.84);\r\n    --ig-line: rgba(23, 51, 47, 0.14);\r\n    --ig-line-strong: rgba(23, 51, 47, 0.26);\r\n    --ig-accent: #0f9f7a;\r\n    --ig-accent-dark: #08755d;\r\n    --ig-coral: #ef6a4a;\r\n    --ig-coral-dark: #c84f34;\r\n    --ig-gold: #b97809;\r\n    --ig-nu: #820ad1;\r\n    --ig-nu-dark: #4c0677;\r\n    --ig-green-soft: #dff8ed;\r\n    --ig-coral-soft: #ffe2d7;\r\n    --ig-nu-soft: #f3e8ff;\r\n    --ig-warning-soft: #fff7dd;\r\n    --ig-danger: #b42318;\r\n    --ig-shadow: 0 24px 54px rgba(23, 51, 47, 0.12);\r\n    --ig-shadow-soft: 0 14px 34px rgba(23, 51, 47, 0.08);\r\n    --ig-radius: 8px;\r\n    display: block;\r\n    width: 100%;\r\n    overflow: hidden;\r\n    color: var(--ig-ink);\r\n    background:\r\n      radial-gradient(circle at 8% 4%, rgba(15, 159, 122, 0.09), transparent 30%),\r\n      radial-gradient(circle at 94% 10%, rgba(130, 10, 209, 0.07), transparent 26%),\r\n      var(--ig-bg-a);\r\n    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\r\n    line-height: 1.5;\r\n    -webkit-font-smoothing: antialiased;\r\n    text-rendering: optimizeLegibility;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim *,\r\n  #ig-nu-cajitas-sim *::before,\r\n  #ig-nu-cajitas-sim *::after {\r\n    box-sizing: border-box;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim :where(h1, h2, h3, h4, p, ul, li, figure, blockquote) {\r\n    margin: 0;\r\n    padding: 0;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim :where(button, input, select) {\r\n    font: inherit;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim :where(h1, h2, h3, p, span, strong, label, button, input, select, td, th) {\r\n    overflow-wrap: break-word;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-wrap {\r\n    width: min(1160px, calc(100% - 32px));\r\n    max-width: 100%;\r\n    margin: 0 auto;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-shell {\r\n    padding: 34px 0;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-ribbon,\r\n  #ig-nu-cajitas-sim .ig-nu-card,\r\n  #ig-nu-cajitas-sim .ig-nu-panel,\r\n  #ig-nu-cajitas-sim .ig-nu-result-card,\r\n  #ig-nu-cajitas-sim .ig-nu-note,\r\n  #ig-nu-cajitas-sim .ig-nu-table-card,\r\n  #ig-nu-cajitas-sim .ig-nu-pdf-actions {\r\n    min-width: 0;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: var(--ig-radius);\r\n    background: var(--ig-panel-soft);\r\n    box-shadow: var(--ig-shadow-soft);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-ribbon {\r\n    display: grid;\r\n    grid-template-columns: minmax(0, 1fr) auto;\r\n    gap: 18px;\r\n    align-items: center;\r\n    padding: 16px;\r\n    margin-bottom: 16px;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-kicker,\r\n  #ig-nu-cajitas-sim .ig-nu-status,\r\n  #ig-nu-cajitas-sim .ig-nu-chip {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    width: fit-content;\r\n    color: var(--ig-accent-dark);\r\n    font-size: 12px;\r\n    font-weight: 850;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-dot {\r\n    width: 9px;\r\n    height: 9px;\r\n    border-radius: 999px;\r\n    background: var(--ig-accent);\r\n    box-shadow: 0 0 0 6px rgba(15, 159, 122, 0.14);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-logo {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    width: 42px;\r\n    height: 42px;\r\n    border-radius: var(--ig-radius);\r\n    background: var(--ig-ink);\r\n    color: #ffffff;\r\n    font-size: 15px;\r\n    font-weight: 950;\r\n    letter-spacing: -0.03em;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-ribbon strong {\r\n    display: block;\r\n    margin-top: 5px;\r\n    color: var(--ig-ink);\r\n    font-size: 16px;\r\n    line-height: 1.24;\r\n    font-weight: 930;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-ribbon p {\r\n    margin-top: 4px;\r\n    color: var(--ig-muted);\r\n    font-size: 13px;\r\n    line-height: 1.48;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-hero {\r\n    display: grid;\r\n    grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.74fr);\r\n    gap: 18px;\r\n    align-items: stretch;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-card {\r\n    padding: 24px;\r\n    background: rgba(255, 255, 255, 0.92);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-eyebrow {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    gap: 8px;\r\n    min-height: 32px;\r\n    padding: 6px 10px;\r\n    border: 1px solid rgba(15, 159, 122, 0.24);\r\n    border-radius: var(--ig-radius);\r\n    background: rgba(255, 255, 255, 0.68);\r\n    color: var(--ig-accent-dark);\r\n    font-size: 12px;\r\n    font-weight: 850;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim h1 {\r\n    margin-top: 14px;\r\n    color: var(--ig-ink);\r\n    font-size: clamp(32px, 4vw, 54px);\r\n    line-height: 1.04;\r\n    font-weight: 930;\r\n    letter-spacing: -0.02em;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim h1 span {\r\n    color: var(--ig-nu);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-lead {\r\n    max-width: 720px;\r\n    margin-top: 14px;\r\n    color: var(--ig-muted);\r\n    font-size: 16px;\r\n    line-height: 1.72;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-form {\r\n    display: grid;\r\n    gap: 16px;\r\n    margin-top: 22px;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-grid-2,\r\n  #ig-nu-cajitas-sim .ig-nu-grid-3,\r\n  #ig-nu-cajitas-sim .ig-nu-kpi-grid {\r\n    display: grid;\r\n    gap: 12px;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-grid-2 {\r\n    grid-template-columns: repeat(2, minmax(0, 1fr));\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-grid-3 {\r\n    grid-template-columns: repeat(3, minmax(0, 1fr));\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-field {\r\n    min-width: 0;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-label {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    gap: 10px;\r\n    margin-bottom: 7px;\r\n    color: var(--ig-ink-2);\r\n    font-size: 13px;\r\n    font-weight: 850;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-label small {\r\n    color: var(--ig-muted-2);\r\n    font-size: 11px;\r\n    font-weight: 750;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-help {\r\n    margin: 7px 0 0;\r\n    color: var(--ig-muted);\r\n    font-size: 12px;\r\n    line-height: 1.45;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim :where(.ig-nu-input, .ig-nu-select) {\r\n    width: 100%;\r\n    min-height: 50px;\r\n    padding: 12px 13px;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: var(--ig-radius);\r\n    outline: 0;\r\n    background: #ffffff;\r\n    color: var(--ig-ink);\r\n    font-size: 15px;\r\n    font-weight: 760;\r\n    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim :where(.ig-nu-input, .ig-nu-select):focus {\r\n    border-color: var(--ig-accent);\r\n    box-shadow: 0 0 0 4px rgba(15, 159, 122, 0.14);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-input.ig-error {\r\n    border-color: var(--ig-danger);\r\n    box-shadow: 0 0 0 4px rgba(180, 35, 24, 0.12);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-custom-rate {\r\n    display: none;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-custom-rate.is-visible {\r\n    display: block;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-toggle-card {\r\n    display: grid;\r\n    grid-template-columns: auto 1fr;\r\n    gap: 12px;\r\n    align-items: start;\r\n    padding: 14px;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: var(--ig-radius);\r\n    background: rgba(239, 251, 246, 0.72);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-switch {\r\n    position: relative;\r\n    display: inline-flex;\r\n    width: 46px;\r\n    height: 26px;\r\n    margin-top: 2px;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-switch input {\r\n    position: absolute;\r\n    opacity: 0;\r\n    width: 0;\r\n    height: 0;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-slider {\r\n    position: absolute;\r\n    inset: 0;\r\n    cursor: pointer;\r\n    border-radius: 999px;\r\n    background: rgba(23, 51, 47, 0.16);\r\n    transition: background-color 180ms ease;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-slider::after {\r\n    content: \"\";\r\n    position: absolute;\r\n    left: 3px;\r\n    top: 3px;\r\n    width: 20px;\r\n    height: 20px;\r\n    border-radius: 999px;\r\n    background: #ffffff;\r\n    box-shadow: 0 4px 10px rgba(23, 51, 47, 0.18);\r\n    transition: transform 180ms ease;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-switch input:checked + .ig-nu-slider {\r\n    background: var(--ig-accent);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-switch input:checked + .ig-nu-slider::after {\r\n    transform: translateX(20px);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-toggle-card strong {\r\n    display: block;\r\n    color: var(--ig-ink);\r\n    font-size: 13px;\r\n    font-weight: 900;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-toggle-card p {\r\n    margin-top: 3px;\r\n    color: var(--ig-muted);\r\n    font-size: 12px;\r\n    line-height: 1.45;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-actions {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    gap: 10px;\r\n    margin-top: 4px;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-btn {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 9px;\r\n    min-height: 50px;\r\n    padding: 12px 18px;\r\n    border: 1px solid transparent;\r\n    border-radius: var(--ig-radius);\r\n    cursor: pointer;\r\n    font-size: 14px;\r\n    font-weight: 850;\r\n    text-decoration: none;\r\n    transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-btn:hover {\r\n    transform: translateY(-2px);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-btn-primary {\r\n    background: var(--ig-ink);\r\n    color: #ffffff;\r\n    box-shadow: 0 16px 28px rgba(23, 51, 47, 0.18);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-btn-primary:hover {\r\n    background: var(--ig-accent-dark);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-btn-secondary {\r\n    border-color: var(--ig-line);\r\n    background: #ffffff;\r\n    color: var(--ig-ink);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-btn-secondary:hover {\r\n    border-color: var(--ig-line-strong);\r\n    background: var(--ig-bg-a);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-btn-coral {\r\n    background: var(--ig-coral);\r\n    color: #ffffff;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-btn-coral:hover {\r\n    background: var(--ig-coral-dark);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-btn:disabled {\r\n    cursor: not-allowed;\r\n    opacity: 0.58;\r\n    transform: none;\r\n    box-shadow: none;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-alert {\r\n    display: none;\r\n    margin-top: 14px;\r\n    padding: 12px 13px;\r\n    border: 1px solid rgba(180, 35, 24, 0.28);\r\n    border-radius: var(--ig-radius);\r\n    background: #fff0ec;\r\n    color: var(--ig-danger);\r\n    font-size: 13px;\r\n    font-weight: 800;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-alert.is-visible {\r\n    display: block;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-panel {\r\n    position: relative;\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: space-between;\r\n    gap: 16px;\r\n    padding: 18px;\r\n    overflow: hidden;\r\n    background:\r\n      radial-gradient(circle at 20% 15%, rgba(130, 10, 209, 0.13), transparent 36%),\r\n      radial-gradient(circle at 80% 20%, rgba(239, 106, 74, 0.12), transparent 34%),\r\n      rgba(255, 255, 255, 0.88);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-panel::before {\r\n    content: \"\";\r\n    position: absolute;\r\n    inset: 12px;\r\n    border: 1px dashed rgba(15, 159, 122, 0.22);\r\n    border-radius: var(--ig-radius);\r\n    pointer-events: none;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-panel > * {\r\n    position: relative;\r\n    z-index: 1;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-visual-top {\r\n    display: flex;\r\n    align-items: flex-start;\r\n    justify-content: space-between;\r\n    gap: 12px;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-badge-purple {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    min-height: 30px;\r\n    padding: 5px 9px;\r\n    border-radius: var(--ig-radius);\r\n    background: var(--ig-nu-soft);\r\n    color: var(--ig-nu-dark);\r\n    font-size: 12px;\r\n    font-weight: 900;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-jar {\r\n    min-height: 290px;\r\n    padding: 20px;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: var(--ig-radius);\r\n    background: #ffffff;\r\n    box-shadow: var(--ig-shadow-soft);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-jar h2 {\r\n    color: var(--ig-ink);\r\n    font-size: 28px;\r\n    line-height: 1.12;\r\n    font-weight: 930;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-jar p {\r\n    margin-top: 8px;\r\n    color: var(--ig-muted);\r\n    font-size: 13px;\r\n    line-height: 1.6;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-meter {\r\n    margin-top: 18px;\r\n    padding: 16px;\r\n    border-radius: var(--ig-radius);\r\n    background: var(--ig-ink);\r\n    color: #ffffff;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-meter-row {\r\n    display: flex;\r\n    align-items: center;\r\n    justify-content: space-between;\r\n    gap: 12px;\r\n    font-size: 12px;\r\n    font-weight: 850;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-meter-value {\r\n    margin-top: 8px;\r\n    color: #ffffff;\r\n    font-size: 30px;\r\n    line-height: 1.08;\r\n    font-weight: 930;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-progress {\r\n    position: relative;\r\n    height: 10px;\r\n    margin-top: 14px;\r\n    overflow: hidden;\r\n    border-radius: 999px;\r\n    background: rgba(255, 255, 255, 0.16);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-progress i {\r\n    display: block;\r\n    width: var(--ig-progress, 0%);\r\n    height: 100%;\r\n    border-radius: inherit;\r\n    background: linear-gradient(90deg, var(--ig-accent), var(--ig-coral));\r\n    transition: width 460ms ease;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-mini-stats {\r\n    display: grid;\r\n    grid-template-columns: repeat(3, minmax(0, 1fr));\r\n    gap: 10px;\r\n    margin-top: 14px;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-mini-stat {\r\n    min-width: 0;\r\n    padding: 11px;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: var(--ig-radius);\r\n    background: rgba(255, 255, 255, 0.78);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-mini-stat span {\r\n    display: block;\r\n    color: var(--ig-muted);\r\n    font-size: 11px;\r\n    font-weight: 780;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-mini-stat strong {\r\n    display: block;\r\n    margin-top: 4px;\r\n    color: var(--ig-ink);\r\n    font-size: 14px;\r\n    line-height: 1.2;\r\n    font-weight: 930;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-results {\r\n    display: none;\r\n    margin-top: 18px;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-results.is-visible {\r\n    display: block;\r\n    animation: ig-nu-rise 360ms ease both;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-summary {\r\n    display: grid;\r\n    grid-template-columns: minmax(280px, 0.75fr) minmax(0, 1.25fr);\r\n    gap: 18px;\r\n    align-items: stretch;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-result-card {\r\n    padding: 18px;\r\n    background: rgba(255, 255, 255, 0.92);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-result-card.is-final {\r\n    background:\r\n      linear-gradient(135deg, rgba(239, 106, 74, 0.18), transparent 42%),\r\n      var(--ig-ink);\r\n    color: #ffffff;\r\n    box-shadow: var(--ig-shadow);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-result-label {\r\n    color: var(--ig-muted);\r\n    font-size: 12px;\r\n    font-weight: 850;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-result-card.is-final .ig-nu-result-label,\r\n  #ig-nu-cajitas-sim .ig-nu-result-card.is-final p {\r\n    color: rgba(255, 255, 255, 0.76);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-big-value {\r\n    margin-top: 6px;\r\n    color: var(--ig-ink);\r\n    font-size: clamp(30px, 4vw, 44px);\r\n    line-height: 1.04;\r\n    font-weight: 930;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-result-card.is-final .ig-nu-big-value {\r\n    color: #ffffff;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-result-card p {\r\n    margin-top: 10px;\r\n    color: var(--ig-muted);\r\n    font-size: 13px;\r\n    line-height: 1.62;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-kpi-grid {\r\n    grid-template-columns: repeat(4, minmax(0, 1fr));\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-kpi {\r\n    min-width: 0;\r\n    padding: 14px;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: var(--ig-radius);\r\n    background: #ffffff;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-kpi span {\r\n    display: block;\r\n    color: var(--ig-muted);\r\n    font-size: 11px;\r\n    font-weight: 850;\r\n    text-transform: uppercase;\r\n    letter-spacing: 0.03em;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-kpi strong {\r\n    display: block;\r\n    margin-top: 6px;\r\n    color: var(--ig-ink);\r\n    font-size: 18px;\r\n    line-height: 1.12;\r\n    font-weight: 930;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-kpi.is-gain {\r\n    border-left: 4px solid var(--ig-accent);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-kpi.is-cost {\r\n    border-left: 4px solid var(--ig-coral);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-chart {\r\n    min-height: 156px;\r\n    margin-top: 14px;\r\n    padding: 12px;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: var(--ig-radius);\r\n    background: #ffffff;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-chart svg {\r\n    display: block;\r\n    width: 100%;\r\n    height: 132px;\r\n    overflow: visible;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-chart-line {\r\n    stroke-dasharray: 520;\r\n    stroke-dashoffset: 520;\r\n    animation: ig-nu-draw 950ms ease forwards;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-table-layout {\r\n    display: grid;\r\n    grid-template-columns: minmax(0, 1fr);\r\n    gap: 18px;\r\n    margin-top: 18px;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-table-card {\r\n    padding: 18px;\r\n    background: rgba(255, 255, 255, 0.92);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-table-card h3 {\r\n    color: var(--ig-ink);\r\n    font-size: 20px;\r\n    line-height: 1.22;\r\n    font-weight: 930;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-table-card p {\r\n    margin-top: 6px;\r\n    color: var(--ig-muted);\r\n    font-size: 13px;\r\n    line-height: 1.58;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-table-scroll {\r\n    width: 100%;\r\n    max-height: 430px;\r\n    margin-top: 12px;\r\n    overflow: auto;\r\n    border: 1px solid var(--ig-line);\r\n    border-radius: var(--ig-radius);\r\n    background: #ffffff;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim table {\r\n    width: 100%;\r\n    min-width: 800px;\r\n    border-collapse: collapse;\r\n    font-variant-numeric: tabular-nums;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim th {\r\n    position: sticky;\r\n    top: 0;\r\n    z-index: 2;\r\n    padding: 11px 12px;\r\n    background: var(--ig-ink);\r\n    color: #ffffff;\r\n    font-size: 11px;\r\n    line-height: 1.32;\r\n    font-weight: 850;\r\n    text-align: left;\r\n    white-space: nowrap;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim td {\r\n    padding: 10px 12px;\r\n    border-bottom: 1px solid var(--ig-line);\r\n    color: var(--ig-ink-2);\r\n    font-size: 13px;\r\n    white-space: nowrap;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim tbody tr:nth-child(even) {\r\n    background: rgba(239, 251, 246, 0.72);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim tbody tr:last-child td {\r\n    border-bottom: 0;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim td.ig-money,\r\n  #ig-nu-cajitas-sim th.ig-money {\r\n    text-align: right;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-positive {\r\n    color: var(--ig-accent-dark);\r\n    font-weight: 850;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-negative {\r\n    color: var(--ig-coral-dark);\r\n    font-weight: 850;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-note-grid {\r\n    display: grid;\r\n    grid-template-columns: repeat(3, minmax(0, 1fr));\r\n    gap: 12px;\r\n    margin-top: 18px;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-note {\r\n    padding: 15px;\r\n    background: rgba(255, 255, 255, 0.86);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-note strong {\r\n    display: block;\r\n    color: var(--ig-ink);\r\n    font-size: 13px;\r\n    line-height: 1.25;\r\n    font-weight: 930;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-note p {\r\n    margin-top: 7px;\r\n    color: var(--ig-muted);\r\n    font-size: 12px;\r\n    line-height: 1.52;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-pdf-actions {\r\n    display: flex;\r\n    flex-wrap: wrap;\r\n    align-items: center;\r\n    justify-content: center;\r\n    gap: 10px;\r\n    margin-top: 18px;\r\n    padding: 14px;\r\n    background: var(--ig-bg-b);\r\n    border-color: rgba(239, 106, 74, 0.22);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-pdf-status {\r\n    color: var(--ig-muted);\r\n    font-size: 12px;\r\n    font-weight: 780;\r\n    text-align: center;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-hidden {\r\n    display: none !important;\r\n  }\r\n\r\n  @media (max-width: 1040px) {\r\n    #ig-nu-cajitas-sim .ig-nu-hero,\r\n    #ig-nu-cajitas-sim .ig-nu-summary {\r\n      grid-template-columns: 1fr;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-panel {\r\n      order: -1;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-kpi-grid,\r\n    #ig-nu-cajitas-sim .ig-nu-note-grid {\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    }\r\n  }\r\n\r\n  @media (max-width: 760px) {\r\n    #ig-nu-cajitas-sim .ig-nu-wrap {\r\n      width: min(100% - 22px, 1160px);\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-shell {\r\n      padding: 18px 0;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-ribbon {\r\n      grid-template-columns: 1fr;\r\n      gap: 12px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-status {\r\n      justify-self: start;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-card,\r\n    #ig-nu-cajitas-sim .ig-nu-panel,\r\n    #ig-nu-cajitas-sim .ig-nu-result-card,\r\n    #ig-nu-cajitas-sim .ig-nu-table-card {\r\n      padding: 18px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-grid-2,\r\n    #ig-nu-cajitas-sim .ig-nu-grid-3,\r\n    #ig-nu-cajitas-sim .ig-nu-kpi-grid,\r\n    #ig-nu-cajitas-sim .ig-nu-note-grid,\r\n    #ig-nu-cajitas-sim .ig-nu-mini-stats {\r\n      grid-template-columns: 1fr;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-actions,\r\n    #ig-nu-cajitas-sim .ig-nu-pdf-actions {\r\n      display: grid;\r\n      grid-template-columns: 1fr;\r\n      align-items: stretch;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-btn {\r\n      width: 100%;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim h1 {\r\n      font-size: 32px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-lead {\r\n      font-size: 15px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-table-scroll {\r\n      max-height: 360px;\r\n    }\r\n  }\r\n\r\n\r\n  \/* ==========================================================\r\n     Ajuste responsive m\u00f3vil IG | Mantiene branding y l\u00f3gica\r\n     Mejora: orden natural del formulario, menor altura visual,\r\n     lectura de cifras largas, tablas t\u00e1ctiles y controles 16px.\r\n     ========================================================== *\/\r\n  @media (max-width: 760px) {\r\n    #ig-nu-cajitas-sim .ig-nu-panel {\r\n      order: 0;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-ribbon > div[style] {\r\n      width: 100%;\r\n      display: grid !important;\r\n      grid-template-columns: auto minmax(0, 1fr);\r\n      gap: 10px !important;\r\n      align-items: flex-start !important;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-logo {\r\n      width: 38px;\r\n      height: 38px;\r\n      flex: 0 0 38px;\r\n      font-size: 14px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-status,\r\n    #ig-nu-cajitas-sim .ig-nu-kicker,\r\n    #ig-nu-cajitas-sim .ig-nu-chip,\r\n    #ig-nu-cajitas-sim .ig-nu-eyebrow,\r\n    #ig-nu-cajitas-sim .ig-nu-badge-purple {\r\n      max-width: 100%;\r\n      white-space: normal;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim h1 {\r\n      font-size: clamp(28px, 8.4vw, 34px);\r\n      line-height: 1.08;\r\n      letter-spacing: -0.018em;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-lead {\r\n      font-size: 14.5px;\r\n      line-height: 1.62;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim :where(.ig-nu-input, .ig-nu-select) {\r\n      min-height: 48px;\r\n      font-size: 16px;\r\n      padding: 11px 12px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-label {\r\n      align-items: flex-start;\r\n      flex-direction: column;\r\n      gap: 2px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-toggle-card {\r\n      grid-template-columns: auto minmax(0, 1fr);\r\n      padding: 12px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-visual-top {\r\n      align-items: flex-start;\r\n      flex-direction: column;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-jar {\r\n      min-height: 0;\r\n      padding: 16px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-jar h2 {\r\n      font-size: clamp(22px, 7vw, 28px);\r\n      line-height: 1.12;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-meter {\r\n      padding: 14px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-meter-row {\r\n      align-items: flex-start;\r\n      flex-direction: column;\r\n      gap: 4px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-meter-value,\r\n    #ig-nu-cajitas-sim .ig-nu-big-value,\r\n    #ig-nu-cajitas-sim .ig-nu-kpi strong,\r\n    #ig-nu-cajitas-sim .ig-nu-mini-stat strong {\r\n      overflow-wrap: anywhere;\r\n      word-break: break-word;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-meter-value,\r\n    #ig-nu-cajitas-sim .ig-nu-big-value {\r\n      font-size: clamp(25px, 7.6vw, 34px);\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-mini-stats {\r\n      grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      gap: 8px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-mini-stat {\r\n      padding: 9px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-mini-stat span {\r\n      font-size: 10px;\r\n      line-height: 1.25;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-mini-stat strong {\r\n      font-size: 12.5px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-kpi-grid {\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      gap: 10px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-kpi {\r\n      padding: 12px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-kpi span {\r\n      font-size: 10px;\r\n      line-height: 1.25;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-kpi strong {\r\n      font-size: clamp(15px, 4.4vw, 18px);\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-chart {\r\n      min-height: 130px;\r\n      padding: 10px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-chart svg {\r\n      height: 110px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-table-card h3 {\r\n      font-size: 18px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-table-card p {\r\n      font-size: 12.5px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-table-scroll {\r\n      max-width: 100%;\r\n      max-height: 340px;\r\n      overflow-x: auto;\r\n      overflow-y: auto;\r\n      -webkit-overflow-scrolling: touch;\r\n      overscroll-behavior-inline: contain;\r\n      touch-action: pan-x pan-y;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-table-scroll::after {\r\n      content: \"Desliza la tabla \u2192\";\r\n      position: sticky;\r\n      left: 0;\r\n      bottom: 0;\r\n      display: block;\r\n      padding: 7px 10px;\r\n      border-top: 1px solid var(--ig-line);\r\n      background: rgba(255, 255, 255, 0.94);\r\n      color: var(--ig-muted);\r\n      font-size: 11px;\r\n      font-weight: 800;\r\n      text-align: left;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim table {\r\n      min-width: 720px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim th,\r\n    #ig-nu-cajitas-sim td {\r\n      padding: 9px 10px;\r\n      font-size: 12px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-pdf-status {\r\n      width: 100%;\r\n    }\r\n  }\r\n\r\n  @media (max-width: 430px) {\r\n    #ig-nu-cajitas-sim .ig-nu-wrap {\r\n      width: min(100% - 16px, 1160px);\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-shell {\r\n      padding: 12px 0;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-ribbon,\r\n    #ig-nu-cajitas-sim .ig-nu-card,\r\n    #ig-nu-cajitas-sim .ig-nu-panel,\r\n    #ig-nu-cajitas-sim .ig-nu-result-card,\r\n    #ig-nu-cajitas-sim .ig-nu-table-card,\r\n    #ig-nu-cajitas-sim .ig-nu-note,\r\n    #ig-nu-cajitas-sim .ig-nu-pdf-actions {\r\n      padding: 14px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim h1 {\r\n      font-size: clamp(26px, 9vw, 31px);\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-kpi-grid,\r\n    #ig-nu-cajitas-sim .ig-nu-mini-stats {\r\n      grid-template-columns: 1fr;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-table-scroll {\r\n      max-height: 320px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim table {\r\n      min-width: 660px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim th,\r\n    #ig-nu-cajitas-sim td {\r\n      padding: 8px 9px;\r\n      font-size: 11.5px;\r\n    }\r\n  }\r\n\r\n  @media (prefers-reduced-motion: reduce) {\r\n    #ig-nu-cajitas-sim *,\r\n    #ig-nu-cajitas-sim *::before,\r\n    #ig-nu-cajitas-sim *::after {\r\n      animation-duration: 1ms !important;\r\n      animation-iteration-count: 1 !important;\r\n      scroll-behavior: auto !important;\r\n      transition-duration: 1ms !important;\r\n    }\r\n  }\r\n\r\n  @keyframes ig-nu-rise {\r\n    from { opacity: 0; transform: translateY(10px); }\r\n    to { opacity: 1; transform: translateY(0); }\r\n  }\r\n\r\n  @keyframes ig-nu-draw {\r\n    to { stroke-dashoffset: 0; }\r\n  }\r\n\r\n\r\n  \/* Actualizaci\u00f3n normativa y de producto IG \u00b7 09\/08\/2026 *\/\r\n  #ig-nu-cajitas-sim .ig-nu-inline-note {\r\n    padding: 12px 13px;\r\n    border: 1px solid rgba(130, 10, 209, 0.18);\r\n    border-left: 4px solid var(--ig-nu);\r\n    border-radius: var(--ig-radius);\r\n    background: var(--ig-nu-soft);\r\n    color: var(--ig-ink-2);\r\n    font-size: 12px;\r\n    line-height: 1.55;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-inline-note strong {\r\n    color: var(--ig-nu-dark);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-note a {\r\n    display: inline-flex;\r\n    margin-top: 8px;\r\n    color: var(--ig-accent-dark);\r\n    font-size: 12px;\r\n    font-weight: 850;\r\n    text-decoration: underline;\r\n    text-underline-offset: 3px;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-note-grid {\r\n    grid-template-columns: repeat(4, minmax(0, 1fr));\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-kpi-grid {\r\n    grid-template-columns: repeat(3, minmax(0, 1fr));\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-toggle-card.is-disabled {\r\n    opacity: 0.62;\r\n    background: #f8fafc;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-rate-meta {\r\n    display: block;\r\n    margin-top: 6px;\r\n    color: var(--ig-muted);\r\n    font-size: 11px;\r\n    line-height: 1.45;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-table-separator td {\r\n    background: var(--ig-warning-soft);\r\n    color: var(--ig-gold);\r\n    font-weight: 850;\r\n    text-align: center;\r\n  }\r\n\r\n  @media (max-width: 1040px) {\r\n    #ig-nu-cajitas-sim .ig-nu-note-grid {\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    }\r\n  }\r\n\r\n  @media (max-width: 760px) {\r\n    #ig-nu-cajitas-sim .ig-nu-note-grid,\r\n    #ig-nu-cajitas-sim .ig-nu-kpi-grid {\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    }\r\n  }\r\n\r\n  @media (max-width: 430px) {\r\n    #ig-nu-cajitas-sim .ig-nu-note-grid,\r\n    #ig-nu-cajitas-sim .ig-nu-kpi-grid {\r\n      grid-template-columns: 1fr;\r\n    }\r\n  }\r\n\r\n\r\n\r\n  \/* ==========================================================\r\n     V4.1 \u00b7 UX enfocada en la ganancia neta + responsive\r\n     ========================================================== *\/\r\n  #ig-nu-cajitas-sim {\r\n    --ig-bg-a: #f4faf7;\r\n    --ig-bg-b: #fffaf7;\r\n    --ig-panel-soft: #ffffff;\r\n    --ig-line: rgba(23, 51, 47, 0.12);\r\n    --ig-line-strong: rgba(23, 51, 47, 0.22);\r\n    --ig-shadow: 0 22px 55px rgba(23, 51, 47, 0.10);\r\n    --ig-shadow-soft: 0 10px 28px rgba(23, 51, 47, 0.065);\r\n    --ig-radius: 16px;\r\n    background: var(--ig-bg-a);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-shell { padding: 28px 0 34px; }\r\n  #ig-nu-cajitas-sim .ig-nu-ribbon { background:#fff; border-radius:18px; box-shadow:none; }\r\n  #ig-nu-cajitas-sim .ig-nu-card,\r\n  #ig-nu-cajitas-sim .ig-nu-panel,\r\n  #ig-nu-cajitas-sim .ig-nu-result-hero,\r\n  #ig-nu-cajitas-sim .ig-nu-chart-card,\r\n  #ig-nu-cajitas-sim .ig-nu-horizons-card,\r\n  #ig-nu-cajitas-sim .ig-nu-data-disclosure,\r\n  #ig-nu-cajitas-sim .ig-nu-sources,\r\n  #ig-nu-cajitas-sim .ig-nu-pdf-actions {\r\n    border:1px solid var(--ig-line);\r\n    border-radius:18px;\r\n    background:#fff;\r\n    box-shadow:var(--ig-shadow-soft);\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-hero {\r\n    grid-template-columns:minmax(0, 1.08fr) minmax(330px, .72fr);\r\n    gap:18px;\r\n    align-items:start;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-card { padding:28px; }\r\n  #ig-nu-cajitas-sim h1 { max-width:680px; font-size:clamp(36px,4.4vw,56px); }\r\n  #ig-nu-cajitas-sim h1 span { color:var(--ig-nu); }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-form { gap:15px; }\r\n  #ig-nu-cajitas-sim :where(.ig-nu-input,.ig-nu-select) { border-radius:12px; }\r\n  #ig-nu-cajitas-sim .ig-nu-toggle-card { border-radius:14px; background:#f8fbfa; }\r\n  #ig-nu-cajitas-sim .ig-nu-toggle-primary { border-color:rgba(130,10,209,.16); background:#fbf8fd; }\r\n  #ig-nu-cajitas-sim .ig-nu-toggle-primary strong { color:var(--ig-ink); }\r\n  #ig-nu-cajitas-sim .ig-nu-inline-note { background:#f8fbfa; border-color:var(--ig-line); border-left-color:var(--ig-accent); }\r\n  #ig-nu-cajitas-sim .ig-nu-inline-note strong { color:var(--ig-ink); }\r\n  #ig-nu-cajitas-sim .ig-nu-inline-note.is-neutral { border-left-color:var(--ig-line-strong); }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-advanced,\r\n  #ig-nu-cajitas-sim .ig-nu-data-disclosure,\r\n  #ig-nu-cajitas-sim .ig-nu-sources { overflow:hidden; }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-advanced { border:1px solid var(--ig-line); border-radius:14px; background:#fff; }\r\n  #ig-nu-cajitas-sim :where(.ig-nu-advanced,.ig-nu-data-disclosure,.ig-nu-sources) > summary {\r\n    display:flex;\r\n    align-items:center;\r\n    justify-content:space-between;\r\n    gap:16px;\r\n    padding:15px 16px;\r\n    cursor:pointer;\r\n    list-style:none;\r\n    color:var(--ig-ink);\r\n  }\r\n  #ig-nu-cajitas-sim :where(.ig-nu-advanced,.ig-nu-data-disclosure,.ig-nu-sources) > summary::-webkit-details-marker { display:none; }\r\n  #ig-nu-cajitas-sim :where(.ig-nu-advanced,.ig-nu-data-disclosure,.ig-nu-sources) > summary span:first-child { display:grid; gap:2px; }\r\n  #ig-nu-cajitas-sim :where(.ig-nu-advanced,.ig-nu-data-disclosure,.ig-nu-sources) > summary strong { font-size:14px; font-weight:900; }\r\n  #ig-nu-cajitas-sim :where(.ig-nu-advanced,.ig-nu-data-disclosure,.ig-nu-sources) > summary small { color:var(--ig-muted); font-size:11px; font-weight:650; }\r\n  #ig-nu-cajitas-sim .ig-nu-summary-action { color:var(--ig-accent-dark); font-size:12px; font-weight:850; white-space:nowrap; }\r\n  #ig-nu-cajitas-sim details[open] > summary { border-bottom:1px solid var(--ig-line); }\r\n  #ig-nu-cajitas-sim details[open] .ig-nu-summary-action::after { content:'  \u2191'; }\r\n  #ig-nu-cajitas-sim details:not([open]) .ig-nu-summary-action::after { content:'  \u2193'; }\r\n  #ig-nu-cajitas-sim .ig-nu-advanced-body,\r\n  #ig-nu-cajitas-sim .ig-nu-disclosure-body { display:grid; gap:14px; padding:16px; }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-panel {\r\n    position:sticky;\r\n    top:92px;\r\n    align-self:start;\r\n    display:grid;\r\n    gap:14px;\r\n    padding:20px;\r\n    overflow:visible;\r\n    background:#fff;\r\n    box-shadow:var(--ig-shadow-soft);\r\n  }\r\n  #ig-nu-cajitas-sim .ig-nu-panel::before { display:none; }\r\n  #ig-nu-cajitas-sim .ig-nu-projection-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }\r\n  #ig-nu-cajitas-sim .ig-nu-badge-purple { margin-top:7px; border-radius:999px; padding:5px 9px; background:#f4edf9; color:#5e187f; }\r\n  #ig-nu-cajitas-sim .ig-nu-rate-card { padding:16px; border:1px solid var(--ig-line); border-radius:14px; background:#f8fbfa; }\r\n  #ig-nu-cajitas-sim .ig-nu-rate-card > span { display:block; color:var(--ig-muted); font-size:11px; font-weight:800; }\r\n  #ig-nu-cajitas-sim .ig-nu-rate-card > strong { display:block; margin-top:3px; color:var(--ig-nu); font-size:30px; line-height:1.05; font-weight:950; }\r\n  #ig-nu-cajitas-sim .ig-nu-rate-card p { margin-top:7px; color:var(--ig-muted); font-size:12px; line-height:1.45; }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-answer { padding:19px; border-radius:16px; background:var(--ig-ink); color:#fff; }\r\n  #ig-nu-cajitas-sim .ig-nu-answer-label { display:block; color:rgba(255,255,255,.72); font-size:11px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }\r\n  #ig-nu-cajitas-sim .ig-nu-answer-value { display:block; margin-top:7px; color:#fff; font-size:clamp(24px,2.7vw,38px); line-height:1.05; font-weight:950; overflow-wrap:anywhere; }\r\n  #ig-nu-cajitas-sim .ig-nu-answer p { margin-top:10px; color:rgba(255,255,255,.74); font-size:12px; line-height:1.55; }\r\n  #ig-nu-cajitas-sim .ig-nu-projection-foot { color:var(--ig-muted); font-size:11px; line-height:1.48; }\r\n  #ig-nu-cajitas-sim .ig-nu-mini-stats { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:0; }\r\n  #ig-nu-cajitas-sim .ig-nu-mini-stat { background:#fff; border-radius:12px; }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-results { margin-top:20px; }\r\n  #ig-nu-cajitas-sim .ig-nu-results.is-visible { display:grid; gap:16px; }\r\n  #ig-nu-cajitas-sim .ig-nu-result-hero { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr); gap:20px; padding:26px; background:#fff; }\r\n  #ig-nu-cajitas-sim .ig-nu-result-hero-copy { min-width:0; }\r\n  #ig-nu-cajitas-sim .ig-nu-result-hero .ig-nu-result-label { display:block; margin-top:12px; color:var(--ig-muted); font-size:12px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }\r\n  #ig-nu-cajitas-sim .ig-nu-net-value { margin-top:6px; color:var(--ig-accent-dark); font-size:clamp(42px,6vw,72px); line-height:.98; font-weight:950; letter-spacing:-.035em; overflow-wrap:anywhere; }\r\n  #ig-nu-cajitas-sim .ig-nu-result-hero-copy p { max-width:650px; margin-top:13px; color:var(--ig-muted); font-size:14px; line-height:1.62; }\r\n  #ig-nu-cajitas-sim .ig-nu-result-essentials { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; align-content:center; }\r\n  #ig-nu-cajitas-sim .ig-nu-result-essentials > div { padding:14px; border:1px solid var(--ig-line); border-radius:13px; background:#f8fbfa; }\r\n  #ig-nu-cajitas-sim .ig-nu-result-essentials span { display:block; color:var(--ig-muted); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }\r\n  #ig-nu-cajitas-sim .ig-nu-result-essentials strong { display:block; margin-top:5px; color:var(--ig-ink); font-size:16px; line-height:1.2; font-weight:930; overflow-wrap:anywhere; }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-chart-card,\r\n  #ig-nu-cajitas-sim .ig-nu-horizons-card { padding:20px; }\r\n  #ig-nu-cajitas-sim .ig-nu-chart-head,\r\n  #ig-nu-cajitas-sim .ig-nu-block-head { display:flex; align-items:end; justify-content:space-between; gap:16px; }\r\n  #ig-nu-cajitas-sim .ig-nu-chart-head h2,\r\n  #ig-nu-cajitas-sim .ig-nu-block-head h3 { margin-top:5px; color:var(--ig-ink); font-size:22px; line-height:1.18; font-weight:930; }\r\n  #ig-nu-cajitas-sim .ig-nu-block-head p,\r\n  #ig-nu-cajitas-sim .ig-nu-chart-caption { color:var(--ig-muted); font-size:12px; line-height:1.5; }\r\n  #ig-nu-cajitas-sim .ig-nu-chart { margin-top:14px; border:0; background:linear-gradient(180deg,#fbfdfc,#fff); }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-horizon-cards { display:none; gap:10px; margin-top:14px; }\r\n  #ig-nu-cajitas-sim .ig-nu-horizon-card { padding:14px; border:1px solid var(--ig-line); border-radius:13px; background:#f8fbfa; }\r\n  #ig-nu-cajitas-sim .ig-nu-horizon-card span { display:block; color:var(--ig-muted); font-size:11px; font-weight:800; }\r\n  #ig-nu-cajitas-sim .ig-nu-horizon-card strong { display:block; margin-top:4px; color:var(--ig-accent-dark); font-size:20px; font-weight:930; }\r\n  #ig-nu-cajitas-sim .ig-nu-horizon-card small { display:block; margin-top:3px; color:var(--ig-muted); font-size:11px; }\r\n  #ig-nu-cajitas-sim .ig-nu-horizon-table-wrap { margin-top:14px; }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-data-disclosure { box-shadow:none; }\r\n  #ig-nu-cajitas-sim .ig-nu-detail-intro { color:var(--ig-muted); font-size:12px; line-height:1.55; }\r\n  #ig-nu-cajitas-sim .ig-nu-kpi-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }\r\n  #ig-nu-cajitas-sim .ig-nu-kpi { border-radius:13px; background:#f8fbfa; }\r\n  #ig-nu-cajitas-sim .ig-nu-kpi.is-gain { border-left:1px solid var(--ig-line); border-top:3px solid var(--ig-accent); }\r\n  #ig-nu-cajitas-sim .ig-nu-kpi.is-cost { border-left:1px solid var(--ig-line); border-top:3px solid var(--ig-coral); }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-pdf-actions { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:0; padding:16px 18px; background:#fffaf7; border-color:rgba(239,106,74,.18); }\r\n  #ig-nu-cajitas-sim .ig-nu-pdf-actions > div { display:grid; gap:3px; }\r\n  #ig-nu-cajitas-sim .ig-nu-pdf-actions > div > strong { color:var(--ig-ink); font-size:13px; font-weight:900; }\r\n  #ig-nu-cajitas-sim .ig-nu-pdf-status { text-align:left; }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-sources { margin-top:16px; box-shadow:none; }\r\n  #ig-nu-cajitas-sim .ig-nu-note-grid { margin-top:0; padding:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }\r\n  #ig-nu-cajitas-sim .ig-nu-note { box-shadow:none; border-radius:14px; background:#f8fbfa; }\r\n\r\n  @media (max-width:1040px) {\r\n    #ig-nu-cajitas-sim .ig-nu-hero { grid-template-columns:minmax(0,1fr) minmax(300px,.72fr); }\r\n    #ig-nu-cajitas-sim .ig-nu-panel { position:sticky; top:78px; order:0; }\r\n    #ig-nu-cajitas-sim .ig-nu-result-hero { grid-template-columns:1fr; }\r\n  }\r\n\r\n  \/* V4.1 \u00b7 ajuste final de legibilidad monetaria *\/\r\n  #ig-nu-cajitas-sim .ig-nu-mini-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }\r\n  #ig-nu-cajitas-sim .ig-nu-mini-stat:last-child { grid-column:1 \/ -1; }\r\n  #ig-nu-cajitas-sim .ig-nu-mini-stat strong { white-space:nowrap; font-size:clamp(11px,1.05vw,13px); letter-spacing:-.025em; }\r\n  #ig-nu-cajitas-sim .ig-nu-net-value { white-space:nowrap; letter-spacing:-.045em; }\r\n\r\n  @media (max-width:860px) {\r\n    #ig-nu-cajitas-sim .ig-nu-hero { grid-template-columns:1fr; }\r\n    #ig-nu-cajitas-sim .ig-nu-panel { position:static; order:0; }\r\n    #ig-nu-cajitas-sim .ig-nu-projection-head { align-items:center; }\r\n    #ig-nu-cajitas-sim .ig-nu-horizon-table-wrap { display:none; }\r\n    #ig-nu-cajitas-sim .ig-nu-horizon-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }\r\n  }\r\n\r\n  @media (max-width:760px) {\r\n    #ig-nu-cajitas-sim .ig-nu-wrap { width:min(100% - 20px,1160px); }\r\n    #ig-nu-cajitas-sim .ig-nu-shell { padding:12px 0 20px; }\r\n    #ig-nu-cajitas-sim .ig-nu-ribbon { padding:13px; }\r\n    #ig-nu-cajitas-sim .ig-nu-card { padding:18px; }\r\n    #ig-nu-cajitas-sim .ig-nu-panel { padding:16px; }\r\n    #ig-nu-cajitas-sim h1 { font-size:clamp(30px,9.5vw,42px); }\r\n    #ig-nu-cajitas-sim .ig-nu-lead { font-size:14px; line-height:1.6; }\r\n    #ig-nu-cajitas-sim .ig-nu-grid-2,\r\n    #ig-nu-cajitas-sim .ig-nu-grid-3 { grid-template-columns:1fr; }\r\n    #ig-nu-cajitas-sim .ig-nu-label { flex-direction:row; align-items:center; }\r\n    #ig-nu-cajitas-sim .ig-nu-actions { grid-template-columns:1fr; }\r\n    #ig-nu-cajitas-sim .ig-nu-btn { min-height:52px; }\r\n    #ig-nu-cajitas-sim .ig-nu-mini-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }\r\n    #ig-nu-cajitas-sim .ig-nu-mini-stat:last-child { grid-column:1 \/ -1; }\r\n    #ig-nu-cajitas-sim .ig-nu-result-hero { padding:20px; }\r\n    #ig-nu-cajitas-sim .ig-nu-net-value { font-size:clamp(38px,12vw,58px); }\r\n    #ig-nu-cajitas-sim .ig-nu-result-essentials { grid-template-columns:repeat(2,minmax(0,1fr)); }\r\n    #ig-nu-cajitas-sim .ig-nu-chart-card,\r\n    #ig-nu-cajitas-sim .ig-nu-horizons-card { padding:16px; }\r\n    #ig-nu-cajitas-sim .ig-nu-chart-head { align-items:flex-start; flex-direction:column; gap:5px; }\r\n    #ig-nu-cajitas-sim .ig-nu-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }\r\n    #ig-nu-cajitas-sim .ig-nu-pdf-actions { align-items:stretch; flex-direction:column; }\r\n    #ig-nu-cajitas-sim .ig-nu-pdf-status { text-align:left; }\r\n    #ig-nu-cajitas-sim .ig-nu-note-grid { grid-template-columns:1fr; }\r\n    #ig-nu-cajitas-sim :where(.ig-nu-advanced,.ig-nu-data-disclosure,.ig-nu-sources) > summary { padding:14px; align-items:flex-start; }\r\n  }\r\n\r\n  @media (max-width:470px) {\r\n    #ig-nu-cajitas-sim .ig-nu-wrap { width:min(100% - 14px,1160px); }\r\n    #ig-nu-cajitas-sim .ig-nu-ribbon > div[style] { grid-template-columns:auto minmax(0,1fr); }\r\n    #ig-nu-cajitas-sim .ig-nu-ribbon p { display:none; }\r\n    #ig-nu-cajitas-sim .ig-nu-status { font-size:11px; }\r\n    #ig-nu-cajitas-sim .ig-nu-card,\r\n    #ig-nu-cajitas-sim .ig-nu-panel { border-radius:16px; }\r\n    #ig-nu-cajitas-sim h1 { font-size:clamp(28px,10.5vw,36px); }\r\n    #ig-nu-cajitas-sim .ig-nu-mini-stats { grid-template-columns:1fr; }\r\n    #ig-nu-cajitas-sim .ig-nu-result-essentials { grid-template-columns:1fr; }\r\n    #ig-nu-cajitas-sim .ig-nu-horizon-cards { grid-template-columns:1fr; }\r\n    #ig-nu-cajitas-sim .ig-nu-kpi-grid { grid-template-columns:1fr; }\r\n    #ig-nu-cajitas-sim .ig-nu-answer-value { font-size:clamp(24px,9vw,34px); }\r\n    #ig-nu-cajitas-sim .ig-nu-net-value { font-size:clamp(32px,10.5vw,42px); white-space:nowrap; }\r\n    #ig-nu-cajitas-sim .ig-nu-summary-action { font-size:11px; }\r\n  }\r\n\r\n  \/* ==========================================================\r\n     V4.2 \u00b7 Responsive mobile audit pass\r\n     Objetivos:\r\n     - Evitar duplicar el resultado en pantallas peque\u00f1as.\r\n     - Reducir altura y densidad antes del c\u00e1lculo.\r\n     - Mantener cifras importantes visibles sin desbordes.\r\n     - Mejorar targets t\u00e1ctiles, selects y disclosures.\r\n     - Hacer las tablas t\u00e9cnicas utilizables sin provocar\r\n       overflow horizontal de toda la p\u00e1gina.\r\n     ========================================================== *\/\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-results {\r\n    scroll-margin-top: 88px;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim :where(\r\n    .ig-nu-input,\r\n    .ig-nu-select,\r\n    .ig-nu-btn,\r\n    .ig-nu-advanced > summary,\r\n    .ig-nu-data-disclosure > summary,\r\n    .ig-nu-sources > summary\r\n  ) {\r\n    touch-action: manipulation;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-select {\r\n    max-width: 100%;\r\n    text-overflow: ellipsis;\r\n  }\r\n\r\n  #ig-nu-cajitas-sim .ig-nu-result-essentials strong,\r\n  #ig-nu-cajitas-sim .ig-nu-horizon-card strong,\r\n  #ig-nu-cajitas-sim .ig-nu-kpi strong {\r\n    font-variant-numeric: tabular-nums;\r\n  }\r\n\r\n  \/* Tablets y m\u00f3viles: el panel lateral deja de duplicar\r\n     informaci\u00f3n. La tasa ya est\u00e1 en el selector y el resultado\r\n     principal aparece inmediatamente despu\u00e9s del c\u00e1lculo. *\/\r\n  @media (max-width: 980px) {\r\n    #ig-nu-cajitas-sim .ig-nu-panel {\r\n      display: none !important;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-hero {\r\n      grid-template-columns: 1fr;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim :where(.ig-nu-input, .ig-nu-select) {\r\n      font-size: 16px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-ribbon {\r\n      grid-template-columns: 1fr;\r\n      gap: 8px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-ribbon p {\r\n      display: none;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-status {\r\n      justify-self: start;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-horizon-table-wrap {\r\n      display: none;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-horizon-cards {\r\n      display: grid;\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    }\r\n  }\r\n\r\n  @media (max-width: 760px) {\r\n    #ig-nu-cajitas-sim {\r\n      overflow-x: clip;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-wrap {\r\n      width: min(calc(100% - 16px), 1160px);\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-shell {\r\n      padding: 8px 0 18px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-ribbon {\r\n      margin-bottom: 10px;\r\n      padding: 11px 12px;\r\n      border-radius: 14px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-ribbon > div[style] {\r\n      grid-template-columns: 34px minmax(0, 1fr);\r\n      gap: 9px !important;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-logo {\r\n      width: 34px;\r\n      height: 34px;\r\n      flex-basis: 34px;\r\n      border-radius: 10px;\r\n      font-size: 12px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-ribbon .ig-nu-kicker {\r\n      font-size: 10px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-ribbon strong {\r\n      margin-top: 2px;\r\n      font-size: 13px;\r\n      line-height: 1.25;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-ribbon > .ig-nu-status {\r\n      margin-left: 43px;\r\n      font-size: 10.5px;\r\n      line-height: 1.3;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-dot {\r\n      width: 7px;\r\n      height: 7px;\r\n      box-shadow: 0 0 0 4px rgba(15, 159, 122, 0.12);\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-card {\r\n      padding: 16px;\r\n      border-radius: 16px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-eyebrow {\r\n      min-height: 29px;\r\n      padding: 5px 9px;\r\n      font-size: 10.5px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim h1 {\r\n      margin-top: 11px;\r\n      font-size: clamp(29px, 9.3vw, 38px);\r\n      line-height: 1.055;\r\n      letter-spacing: -0.025em;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-lead {\r\n      margin-top: 11px;\r\n      font-size: 13.5px;\r\n      line-height: 1.58;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-form {\r\n      gap: 13px;\r\n      margin-top: 18px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-grid-2,\r\n    #ig-nu-cajitas-sim .ig-nu-grid-3 {\r\n      grid-template-columns: 1fr;\r\n      gap: 12px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-label {\r\n      min-height: 20px;\r\n      gap: 6px;\r\n      font-size: 12px;\r\n      line-height: 1.3;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-label small {\r\n      font-size: 10px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim :where(.ig-nu-input, .ig-nu-select) {\r\n      min-height: 50px;\r\n      width: 100%;\r\n      padding: 11px 12px;\r\n      border-radius: 12px;\r\n      font-size: 16px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-help,\r\n    #ig-nu-cajitas-sim .ig-nu-rate-meta {\r\n      margin-top: 5px;\r\n      font-size: 11px;\r\n      line-height: 1.48;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-toggle-card {\r\n      grid-template-columns: auto minmax(0, 1fr);\r\n      gap: 11px;\r\n      padding: 12px;\r\n      border-radius: 13px;\r\n      align-items: flex-start;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-toggle-card strong {\r\n      font-size: 12.5px;\r\n      line-height: 1.35;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-toggle-card p {\r\n      margin-top: 4px;\r\n      font-size: 11px;\r\n      line-height: 1.48;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim :where(\r\n      .ig-nu-advanced,\r\n      .ig-nu-data-disclosure,\r\n      .ig-nu-sources\r\n    ) > summary {\r\n      display: grid;\r\n      grid-template-columns: minmax(0, 1fr) auto;\r\n      gap: 10px;\r\n      min-height: 58px;\r\n      padding: 12px 13px;\r\n      align-items: center;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim :where(\r\n      .ig-nu-advanced,\r\n      .ig-nu-data-disclosure,\r\n      .ig-nu-sources\r\n    ) > summary strong {\r\n      font-size: 12.5px;\r\n      line-height: 1.3;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim :where(\r\n      .ig-nu-advanced,\r\n      .ig-nu-data-disclosure,\r\n      .ig-nu-sources\r\n    ) > summary small {\r\n      margin-top: 2px;\r\n      font-size: 10.5px;\r\n      line-height: 1.35;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-summary-action {\r\n      font-size: 10.5px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-advanced-body,\r\n    #ig-nu-cajitas-sim .ig-nu-disclosure-body {\r\n      padding: 13px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-inline-note {\r\n      padding: 11px 12px;\r\n      font-size: 11px;\r\n      line-height: 1.5;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-actions {\r\n      display: grid;\r\n      grid-template-columns: 1fr;\r\n      gap: 7px;\r\n      margin-top: 2px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-actions .ig-nu-btn-primary {\r\n      width: 100%;\r\n      min-height: 54px;\r\n      border-radius: 13px;\r\n      font-size: 14px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-actions .ig-nu-btn-secondary {\r\n      width: auto;\r\n      min-height: 42px;\r\n      justify-self: center;\r\n      padding: 8px 14px;\r\n      border-color: transparent;\r\n      background: transparent;\r\n      box-shadow: none;\r\n      color: var(--ig-muted);\r\n      font-size: 12px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-alert {\r\n      margin-top: 9px;\r\n      padding: 11px 12px;\r\n      border-radius: 12px;\r\n      font-size: 11.5px;\r\n      line-height: 1.45;\r\n    }\r\n\r\n    \/* Resultado principal: 2 x 2 tambi\u00e9n en m\u00f3vil para\r\n       reducir scroll vertical sin sacrificar lectura. *\/\r\n    #ig-nu-cajitas-sim .ig-nu-results.is-visible {\r\n      gap: 12px;\r\n      margin-top: 12px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-result-hero {\r\n      gap: 15px;\r\n      padding: 16px;\r\n      border-radius: 16px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-result-hero .ig-nu-result-label {\r\n      margin-top: 8px;\r\n      font-size: 10.5px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-net-value {\r\n      max-width: 100%;\r\n      margin-top: 4px;\r\n      font-size: clamp(31px, 10.8vw, 48px);\r\n      line-height: 1;\r\n      letter-spacing: -0.05em;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-result-hero-copy p {\r\n      margin-top: 9px;\r\n      font-size: 11.5px;\r\n      line-height: 1.5;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-result-essentials {\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      gap: 8px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-result-essentials > div {\r\n      min-width: 0;\r\n      padding: 11px;\r\n      border-radius: 11px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-result-essentials span {\r\n      font-size: 9px;\r\n      line-height: 1.25;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-result-essentials strong {\r\n      margin-top: 4px;\r\n      font-size: clamp(12px, 3.7vw, 15px);\r\n      line-height: 1.22;\r\n      letter-spacing: -0.02em;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-chart-card,\r\n    #ig-nu-cajitas-sim .ig-nu-horizons-card {\r\n      padding: 14px;\r\n      border-radius: 16px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-chart-head,\r\n    #ig-nu-cajitas-sim .ig-nu-block-head {\r\n      align-items: flex-start;\r\n      flex-direction: column;\r\n      gap: 4px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-chart-head h2,\r\n    #ig-nu-cajitas-sim .ig-nu-block-head h3 {\r\n      font-size: 18px;\r\n      line-height: 1.22;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-chart-caption,\r\n    #ig-nu-cajitas-sim .ig-nu-block-head p {\r\n      font-size: 11px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-chart {\r\n      min-height: 118px;\r\n      margin-top: 10px;\r\n      padding: 7px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-chart svg {\r\n      height: 104px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-horizon-cards {\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      gap: 8px;\r\n      margin-top: 11px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-horizon-card {\r\n      min-width: 0;\r\n      padding: 11px;\r\n      border-radius: 11px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-horizon-card span,\r\n    #ig-nu-cajitas-sim .ig-nu-horizon-card small {\r\n      font-size: 9.5px;\r\n      line-height: 1.35;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-horizon-card strong {\r\n      margin-top: 3px;\r\n      font-size: clamp(15px, 4.5vw, 19px);\r\n      line-height: 1.15;\r\n      letter-spacing: -0.025em;\r\n      overflow-wrap: anywhere;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-kpi-grid {\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      gap: 8px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-kpi {\r\n      min-width: 0;\r\n      padding: 11px;\r\n      border-radius: 11px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-kpi span {\r\n      font-size: 9px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-kpi strong {\r\n      font-size: clamp(12.5px, 3.8vw, 16px);\r\n      line-height: 1.2;\r\n      overflow-wrap: anywhere;\r\n    }\r\n\r\n    \/* Tablas: el overflow queda encerrado dentro del componente.\r\n       La primera columna permanece visible para conservar contexto. *\/\r\n    #ig-nu-cajitas-sim .ig-nu-table-scroll {\r\n      position: relative;\r\n      width: 100%;\r\n      max-width: 100%;\r\n      max-height: 330px;\r\n      margin-top: 10px;\r\n      overflow: auto;\r\n      border-radius: 11px;\r\n      -webkit-overflow-scrolling: touch;\r\n      overscroll-behavior: contain;\r\n      scrollbar-width: thin;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim table {\r\n      min-width: 650px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim th,\r\n    #ig-nu-cajitas-sim td {\r\n      padding: 8px 9px;\r\n      font-size: 11px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim th:first-child,\r\n    #ig-nu-cajitas-sim td:first-child {\r\n      position: sticky;\r\n      left: 0;\r\n      z-index: 1;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim th:first-child {\r\n      z-index: 3;\r\n      background: var(--ig-ink);\r\n    }\r\n\r\n    #ig-nu-cajitas-sim td:first-child {\r\n      background: #ffffff;\r\n      box-shadow: 5px 0 10px rgba(23, 51, 47, 0.045);\r\n    }\r\n\r\n    #ig-nu-cajitas-sim tbody tr:nth-child(even) td:first-child {\r\n      background: #f2faf6;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-table-scroll::after {\r\n      content: 'Desliza para ver m\u00e1s \u2192';\r\n      position: sticky;\r\n      left: 0;\r\n      bottom: 0;\r\n      display: block;\r\n      width: max-content;\r\n      max-width: calc(100vw - 52px);\r\n      margin-top: -1px;\r\n      padding: 6px 9px;\r\n      border: 1px solid var(--ig-line);\r\n      border-radius: 0 9px 0 0;\r\n      background: rgba(255,255,255,.96);\r\n      color: var(--ig-muted);\r\n      font-size: 9.5px;\r\n      font-weight: 800;\r\n      pointer-events: none;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-pdf-actions {\r\n      gap: 12px;\r\n      padding: 14px;\r\n      border-radius: 16px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-pdf-actions > div > strong {\r\n      font-size: 12.5px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-pdf-status {\r\n      font-size: 10.5px;\r\n      line-height: 1.45;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-pdf-actions .ig-nu-btn {\r\n      width: 100%;\r\n      min-height: 50px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-sources {\r\n      margin-top: 12px;\r\n      border-radius: 16px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-note-grid {\r\n      grid-template-columns: 1fr;\r\n      gap: 9px;\r\n      padding: 12px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-note {\r\n      padding: 12px;\r\n      border-radius: 12px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-note strong {\r\n      font-size: 12px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-note p {\r\n      font-size: 10.5px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-note a {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      min-height: 40px;\r\n      margin-top: 3px;\r\n      padding: 6px 0;\r\n      font-size: 11px;\r\n    }\r\n  }\r\n\r\n  @media (max-width: 430px) {\r\n    #ig-nu-cajitas-sim .ig-nu-wrap {\r\n      width: min(calc(100% - 12px), 1160px);\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-card {\r\n      padding: 14px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim h1 {\r\n      font-size: clamp(28px, 9.6vw, 34px);\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-lead {\r\n      font-size: 13px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim :where(\r\n      .ig-nu-advanced,\r\n      .ig-nu-data-disclosure,\r\n      .ig-nu-sources\r\n    ) > summary small {\r\n      display: none;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-result-hero {\r\n      padding: 14px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-result-essentials {\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-net-value {\r\n      font-size: clamp(30px, 10.2vw, 42px);\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-horizon-cards,\r\n    #ig-nu-cajitas-sim .ig-nu-kpi-grid {\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n    }\r\n\r\n    #ig-nu-cajitas-sim table {\r\n      min-width: 620px;\r\n    }\r\n  }\r\n\r\n  @media (max-width: 350px) {\r\n    #ig-nu-cajitas-sim .ig-nu-wrap {\r\n      width: min(calc(100% - 10px), 1160px);\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-ribbon > .ig-nu-status {\r\n      margin-left: 0;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-label {\r\n      align-items: flex-start;\r\n      flex-direction: column;\r\n      gap: 2px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-net-value {\r\n      font-size: 29px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-horizon-cards,\r\n    #ig-nu-cajitas-sim .ig-nu-kpi-grid {\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      gap: 7px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-horizon-card,\r\n    #ig-nu-cajitas-sim .ig-nu-kpi {\r\n      padding: 9px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-horizon-card strong,\r\n    #ig-nu-cajitas-sim .ig-nu-kpi strong {\r\n      font-size: 11.5px;\r\n    }\r\n\r\n    #ig-nu-cajitas-sim .ig-nu-result-essentials strong {\r\n      font-size: 11.5px;\r\n    }\r\n  }\r\n\r\n\r\n<\/style>\r\n\r\n<div id=\"ig-nu-cajitas-sim\">\r\n  <div class=\"ig-nu-shell\">\r\n    <div class=\"ig-nu-wrap\">\r\n      <section class=\"ig-nu-ribbon\" aria-label=\"Identidad de la herramienta\">\r\n        <div style=\"display:flex; gap:12px; align-items:flex-start; min-width:0;\">\r\n          <span class=\"ig-nu-logo\" aria-hidden=\"true\">IG<\/span>\r\n          <div>\r\n            <span class=\"ig-nu-kicker\">Herramienta financiera<\/span>\r\n            <strong>Simulador de rentabilidad Nu: Cuenta de Ahorros y Cajitas<\/strong>\r\n            <p>Proyecta el saldo disponible de Cuenta Nu o una Cajita, con rendimiento diario, Nu Plus, retenci\u00f3n por umbral tributario y cobertura Fogaf\u00edn.<\/p>\r\n          <\/div>\r\n        <\/div>\r\n        <span class=\"ig-nu-status\"><span class=\"ig-nu-dot\"><\/span> Par\u00e1metros revisados: 09\/08\/2026<\/span>\r\n      <\/section>\r\n\r\n      <section class=\"ig-nu-hero\">\r\n        <article class=\"ig-nu-card\" aria-label=\"Formulario del simulador\">\r\n          <span class=\"ig-nu-eyebrow\">Cuenta Nu y Cajitas<\/span>\r\n          <h1>Visualiza c\u00f3mo puede crecer tu dinero <span>d\u00eda a d\u00eda.<\/span><\/h1>\r\n          <p class=\"ig-nu-lead\">Selecciona entre el saldo disponible de Cuenta Nu o una Cajita. La tasa de las Cajitas puede cambiar, por eso puedes usar la \u00faltima tasa p\u00fablica confirmada o escribir exactamente la que aparezca en tu app.<\/p>\r\n\r\n          <form class=\"ig-nu-form\" id=\"igNuForm\" novalidate>\r\n            <div class=\"ig-nu-grid-2\">\r\n              <div class=\"ig-nu-field\">\r\n                <label class=\"ig-nu-label\" for=\"igNuPrincipal\">Saldo inicial a simular <small>COP<\/small><\/label>\r\n                <input class=\"ig-nu-input ig-money-input\" id=\"igNuPrincipal\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"Ej: 5.000.000\">\r\n              <\/div>\r\n              <div class=\"ig-nu-field\">\r\n                <label class=\"ig-nu-label\" for=\"igNuContribution\">Aporte mensual programado <small>opcional<\/small><\/label>\r\n                <input class=\"ig-nu-input ig-money-input\" id=\"igNuContribution\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"Ej: 200.000\">\r\n                <p class=\"ig-nu-help\">Se modela al cierre del mismo d\u00eda de cada mes y empieza a rendir desde el d\u00eda siguiente.<\/p>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"ig-nu-grid-2\">\r\n              <div class=\"ig-nu-field\">\r\n                <label class=\"ig-nu-label\" for=\"igNuStartDate\">Primer d\u00eda de rendimiento<\/label>\r\n                <input class=\"ig-nu-input\" id=\"igNuStartDate\" type=\"date\">\r\n              <\/div>\r\n              <div class=\"ig-nu-field\">\r\n                <label class=\"ig-nu-label\" for=\"igNuDays\">D\u00edas a simular<\/label>\r\n                <input class=\"ig-nu-input\" id=\"igNuDays\" type=\"number\" min=\"1\" max=\"3650\" value=\"365\" inputmode=\"numeric\">\r\n                <p class=\"ig-nu-help\">Puedes proyectar desde 1 d\u00eda hasta 10 a\u00f1os.<\/p>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <div class=\"ig-nu-field\">\r\n              <label class=\"ig-nu-label\" for=\"igNuProduct\">\u00bfD\u00f3nde estar\u00e1 el dinero?<\/label>\r\n              <select class=\"ig-nu-select\" id=\"igNuProduct\">\r\n                <option value=\"cajita-official\" selected>Cajita Nu \u00b7 9,30% E.A.<\/option>\r\n                <option value=\"cajita-custom\">Cajita Nu \u00b7 tasa de mi app<\/option>\r\n                <option value=\"available\">Saldo disponible \u00b7 0,10% E.A.<\/option>\r\n              <\/select>\r\n              <span class=\"ig-nu-rate-meta\" id=\"igNuRateMeta\">Usamos 9,30% E.A. como tasa de referencia. Como puede cambiar, valida siempre la tasa vigente en la web oficial de Nu o en tu app.<\/span>\r\n            <\/div>\r\n\r\n            <div class=\"ig-nu-field ig-nu-custom-rate\" id=\"igNuCustomRateWrap\">\r\n              <label class=\"ig-nu-label\" for=\"igNuCustomRate\">Tasa base mostrada en tu app <small>% E.A.<\/small><\/label>\r\n              <input class=\"ig-nu-input\" id=\"igNuCustomRate\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"Ej: 9,30\">\r\n            <\/div>\r\n\r\n            <div class=\"ig-nu-toggle-card ig-nu-toggle-primary\" id=\"igNuPlusCard\">\r\n              <label class=\"ig-nu-switch\" aria-label=\"Indicar que Nu Plus est\u00e1 activo\">\r\n                <input type=\"checkbox\" id=\"igNuPlus\">\r\n                <span class=\"ig-nu-slider\"><\/span>\r\n              <\/label>\r\n              <div>\r\n                <strong>Ya tengo Nu Plus activo en mis Cajitas<\/strong>\r\n                <p>Suma 0,50 puntos porcentuales E.A. Act\u00edvalo solo si tu app ya muestra ese beneficio. Si comienza despu\u00e9s, puedes ajustar la fecha en Opciones avanzadas.<\/p>\r\n              <\/div>\r\n            <\/div>\r\n\r\n            <details class=\"ig-nu-advanced\" id=\"igNuAdvanced\">\r\n              <summary>\r\n                <span>\r\n                  <strong>Opciones avanzadas<\/strong>\r\n                  <small>Meta, impuestos, Fogaf\u00edn y fecha de Nu Plus<\/small>\r\n                <\/span>\r\n                <span class=\"ig-nu-summary-action\">Configurar<\/span>\r\n              <\/summary>\r\n\r\n              <div class=\"ig-nu-advanced-body\">\r\n                <div class=\"ig-nu-grid-2\">\r\n                  <div class=\"ig-nu-field\">\r\n                    <label class=\"ig-nu-label\" for=\"igNuGoal\">Meta de ahorro <small>opcional<\/small><\/label>\r\n                    <input class=\"ig-nu-input ig-money-input\" id=\"igNuGoal\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"Ej: 20.000.000\">\r\n                    <p class=\"ig-nu-help\">La usamos solo para mostrar qu\u00e9 porcentaje de tu meta alcanzar\u00edas.<\/p>\r\n                  <\/div>\r\n                  <div class=\"ig-nu-field\">\r\n                    <label class=\"ig-nu-label\" for=\"igNuOtherBalances\">Otros saldos en Nu <small>opcional \u00b7 Fogaf\u00edn<\/small><\/label>\r\n                    <input class=\"ig-nu-input ig-money-input\" id=\"igNuOtherBalances\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"Cuenta, otras Cajitas y CDT\">\r\n                    <p class=\"ig-nu-help\">No incluyas el saldo que est\u00e1s simulando. Sirve para estimar la cobertura agregada por titular y entidad.<\/p>\r\n                  <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"ig-nu-grid-2 ig-hidden\" id=\"igNuPlusStartWrap\">\r\n                  <div class=\"ig-nu-field\">\r\n                    <label class=\"ig-nu-label\" for=\"igNuPlusStartDate\">Fecha desde la que aplica Nu Plus<\/label>\r\n                    <input class=\"ig-nu-input\" id=\"igNuPlusStartDate\" type=\"date\">\r\n                    <p class=\"ig-nu-help\">Si ya tienes el beneficio activo, usa el primer d\u00eda de la simulaci\u00f3n.<\/p>\r\n                  <\/div>\r\n                  <div class=\"ig-nu-inline-note\">\r\n                    <strong>Regla Nu Plus:<\/strong> Nu indica que el rendimiento adicional de las Cajitas empieza desde el primer d\u00eda del mes siguiente al periodo en el que cumpliste el gasto m\u00ednimo y los criterios de elegibilidad. Ajusta esta fecha a lo que realmente aplique en tu caso.\r\n                  <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"ig-nu-toggle-card\">\r\n                  <label class=\"ig-nu-switch\" aria-label=\"Estimar retenci\u00f3n en la fuente\">\r\n                    <input type=\"checkbox\" id=\"igNuApplyTax\" checked>\r\n                    <span class=\"ig-nu-slider\"><\/span>\r\n                  <\/label>\r\n                  <div>\r\n                    <strong>Estimar retenci\u00f3n en la fuente<\/strong>\r\n                    <p>La estimaci\u00f3n usa 7% cuando el inter\u00e9s bruto diario alcanza 0,055 UVT. Con UVT 2026 de $52.374, el umbral utilizado es $2.880,57 por d\u00eda.<\/p>\r\n                  <\/div>\r\n                <\/div>\r\n\r\n                <div class=\"ig-nu-inline-note is-neutral\">\r\n                  <strong>Sobre 4\u00d71000:<\/strong> esta proyecci\u00f3n calcula el crecimiento dentro de la cuenta. No descuenta GMF, retiros en cajero ni movimientos posteriores porque dependen del uso que hagas del dinero al final.\r\n                <\/div>\r\n              <\/div>\r\n            <\/details>\r\n\r\n            <div class=\"ig-nu-actions\">\r\n              <button class=\"ig-nu-btn ig-nu-btn-primary\" id=\"igNuCalculate\" type=\"button\">Calcular rentabilidad<\/button>\r\n              <button class=\"ig-nu-btn ig-nu-btn-secondary\" id=\"igNuReset\" type=\"button\">Reiniciar<\/button>\r\n            <\/div>\r\n\r\n            <div class=\"ig-nu-alert\" id=\"igNuAlert\" role=\"alert\"><\/div>\r\n          <\/form>\r\n        <\/article>\r\n\r\n        <aside class=\"ig-nu-panel\" aria-label=\"Resumen r\u00e1pido de la simulaci\u00f3n\">\r\n          <div class=\"ig-nu-projection-head\">\r\n            <div>\r\n              <span class=\"ig-nu-kicker\">Tu proyecci\u00f3n<\/span>\r\n              <div class=\"ig-nu-badge-purple\" id=\"igNuProductBadge\">Cajita Nu<\/div>\r\n            <\/div>\r\n            <span class=\"ig-nu-status\"><span class=\"ig-nu-dot\"><\/span> Compuesto diario<\/span>\r\n          <\/div>\r\n\r\n          <div class=\"ig-nu-rate-card\">\r\n            <span>Tasa que est\u00e1s simulando<\/span>\r\n            <strong id=\"igNuSideRate\">9,30% E.A.<\/strong>\r\n            <p id=\"igNuSideRateNote\">Cajita Nu con la tasa p\u00fablica de referencia seleccionada.<\/p>\r\n          <\/div>\r\n\r\n          <div class=\"ig-nu-answer\" aria-live=\"polite\">\r\n            <span class=\"ig-nu-answer-label\">Ganancia neta estimada<\/span>\r\n            <strong class=\"ig-nu-answer-value\" id=\"igNuSideNet\">Calcula tu escenario<\/strong>\r\n            <p id=\"igNuSideInsight\">Completa los datos y te mostraremos primero cu\u00e1nto dinero podr\u00edas ganar, no solo el saldo final.<\/p>\r\n          <\/div>\r\n\r\n          <div class=\"ig-nu-mini-stats\">\r\n            <div class=\"ig-nu-mini-stat\"><span>Saldo final<\/span><strong id=\"igNuSideFinal\">\u2014<\/strong><\/div>\r\n            <div class=\"ig-nu-mini-stat\"><span>Dinero aportado<\/span><strong id=\"igNuSideContrib\">\u2014<\/strong><\/div>\r\n            <div class=\"ig-nu-mini-stat\"><span>Retenci\u00f3n est.<\/span><strong id=\"igNuSideTax\">\u2014<\/strong><\/div>\r\n          <\/div>\r\n\r\n          <p class=\"ig-nu-projection-foot\">La proyecci\u00f3n es informativa. Nu liquida el rendimiento real seg\u00fan sus condiciones, tasas y redondeos vigentes.<\/p>\r\n        <\/aside>\r\n      <\/section>\r\n\r\n      <section class=\"ig-nu-results\" id=\"igNuResults\" aria-live=\"polite\">\r\n        <article class=\"ig-nu-result-hero\">\r\n          <div class=\"ig-nu-result-hero-copy\">\r\n            <span class=\"ig-nu-kicker\">Tu resultado<\/span>\r\n            <span class=\"ig-nu-result-label\">Ganancia neta estimada<\/span>\r\n            <div class=\"ig-nu-net-value\" id=\"igNuNetInterest\">$0<\/div>\r\n            <p id=\"igNuMainInsight\">Resultado estimado con inter\u00e9s compuesto diario.<\/p>\r\n          <\/div>\r\n\r\n          <div class=\"ig-nu-result-essentials\">\r\n            <div><span>Dinero aportado<\/span><strong id=\"igNuTotalInvested\">$0<\/strong><\/div>\r\n            <div><span>Saldo final<\/span><strong id=\"igNuFinalAmount\">$0<\/strong><\/div>\r\n            <div><span>Tasa aplicada<\/span><strong id=\"igNuResultRate\">9,30% E.A.<\/strong><\/div>\r\n            <div><span>Periodo<\/span><strong id=\"igNuResultPeriod\">0 d\u00edas<\/strong><\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n        <article class=\"ig-nu-chart-card\">\r\n          <div class=\"ig-nu-chart-head\">\r\n            <div>\r\n              <span class=\"ig-nu-kicker\">Evoluci\u00f3n estimada<\/span>\r\n              <h2>As\u00ed podr\u00eda crecer tu saldo.<\/h2>\r\n            <\/div>\r\n            <span class=\"ig-nu-chart-caption\" id=\"igNuChartCaption\">Del saldo inicial al saldo final proyectado.<\/span>\r\n          <\/div>\r\n          <div class=\"ig-nu-chart\" id=\"igNuChart\" aria-label=\"Gr\u00e1fico de crecimiento proyectado\"><\/div>\r\n        <\/article>\r\n\r\n        <article class=\"ig-nu-horizons-card\">\r\n          <div class=\"ig-nu-block-head\">\r\n            <div>\r\n              <h3>\u00bfQu\u00e9 pasa con el tiempo?<\/h3>\r\n              <p>Compara r\u00e1pidamente la ganancia neta con el mismo saldo, tasa y aporte mensual.<\/p>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"ig-nu-horizon-cards\" id=\"igNuHorizonCards\"><\/div>\r\n          <div class=\"ig-nu-horizon-table-wrap\">\r\n            <div class=\"ig-nu-table-scroll\" style=\"max-height:none;\">\r\n              <table>\r\n                <thead><tr><th>Horizonte<\/th><th class=\"ig-money\">Saldo final<\/th><th class=\"ig-money\">Ganancia neta<\/th><th class=\"ig-money\">Rendimiento bruto<\/th><th class=\"ig-money\">Retenci\u00f3n<\/th><\/tr><\/thead>\r\n                <tbody id=\"igNuHorizonBody\"><\/tbody>\r\n              <\/table>\r\n            <\/div>\r\n          <\/div>\r\n        <\/article>\r\n\r\n        <details class=\"ig-nu-data-disclosure\" id=\"igNuTechnicalDetails\">\r\n          <summary>\r\n            <span><strong>Detalle t\u00e9cnico del resultado<\/strong><small>Rendimiento bruto, retenci\u00f3n y cobertura Fogaf\u00edn<\/small><\/span>\r\n            <span class=\"ig-nu-summary-action\">Ver detalle<\/span>\r\n          <\/summary>\r\n          <div class=\"ig-nu-disclosure-body\">\r\n            <div class=\"ig-nu-kpi-grid\">\r\n              <div class=\"ig-nu-kpi\"><span>Rendimiento bruto<\/span><strong id=\"igNuGrossInterest\">$0<\/strong><\/div>\r\n              <div class=\"ig-nu-kpi is-cost\"><span>Retenci\u00f3n estimada<\/span><strong id=\"igNuTaxTotal\">$0<\/strong><\/div>\r\n              <div class=\"ig-nu-kpi is-gain\"><span>Cubierto por Fogaf\u00edn<\/span><strong id=\"igNuFogafinCovered\">$0<\/strong><\/div>\r\n              <div class=\"ig-nu-kpi is-cost\"><span>Saldo sobre cobertura<\/span><strong id=\"igNuFogafinUncovered\">$0<\/strong><\/div>\r\n            <\/div>\r\n          <\/div>\r\n        <\/details>\r\n\r\n        <details class=\"ig-nu-data-disclosure\" id=\"igNuMonthlyDetails\">\r\n          <summary>\r\n            <span><strong>Detalle mensual estimado<\/strong><small>C\u00f3mo evoluciona el saldo mes a mes<\/small><\/span>\r\n            <span class=\"ig-nu-summary-action\">Ver tabla<\/span>\r\n          <\/summary>\r\n          <div class=\"ig-nu-disclosure-body\">\r\n            <p class=\"ig-nu-detail-intro\">El aporte programado se agrega al cierre del d\u00eda equivalente de cada mes y empieza a generar rendimiento desde el d\u00eda siguiente.<\/p>\r\n            <div class=\"ig-nu-table-scroll\">\r\n              <table>\r\n                <thead><tr><th>Mes<\/th><th class=\"ig-money\">Saldo inicial<\/th><th class=\"ig-money\">Aportes<\/th><th class=\"ig-money\">Inter\u00e9s bruto<\/th><th class=\"ig-money\">Retenci\u00f3n<\/th><th class=\"ig-money\">Inter\u00e9s neto<\/th><th class=\"ig-money\">Saldo final<\/th><\/tr><\/thead>\r\n                <tbody id=\"igNuMonthlyBody\"><\/tbody>\r\n              <\/table>\r\n            <\/div>\r\n          <\/div>\r\n        <\/details>\r\n\r\n        <details class=\"ig-nu-data-disclosure\" id=\"igNuDailyDetails\">\r\n          <summary>\r\n            <span><strong>C\u00e1lculo d\u00eda a d\u00eda<\/strong><small>Vista t\u00e9cnica para revisar la liquidaci\u00f3n diaria<\/small><\/span>\r\n            <span class=\"ig-nu-summary-action\">Ver tabla<\/span>\r\n          <\/summary>\r\n          <div class=\"ig-nu-disclosure-body\">\r\n            <p class=\"ig-nu-detail-intro\">El inter\u00e9s de cada d\u00eda se calcula sobre el saldo de cierre del d\u00eda anterior. Para periodos extensos esta vista recorta filas sin alterar el c\u00e1lculo.<\/p>\r\n            <div class=\"ig-nu-table-scroll\">\r\n              <table>\r\n                <thead><tr><th>D\u00eda<\/th><th>Fecha<\/th><th class=\"ig-money\">Saldo base<\/th><th class=\"ig-money\">Aporte al cierre<\/th><th class=\"ig-money\">Inter\u00e9s bruto<\/th><th class=\"ig-money\">Retenci\u00f3n<\/th><th class=\"ig-money\">Inter\u00e9s neto<\/th><th class=\"ig-money\">Saldo final<\/th><\/tr><\/thead>\r\n                <tbody id=\"igNuDailyBody\"><\/tbody>\r\n              <\/table>\r\n            <\/div>\r\n          <\/div>\r\n        <\/details>\r\n\r\n        <div class=\"ig-nu-pdf-actions\">\r\n          <div>\r\n            <strong>Guarda tu simulaci\u00f3n<\/strong>\r\n            <span class=\"ig-nu-pdf-status\" id=\"igNuPdfStatus\">Ejecuta el c\u00e1lculo para habilitar el reporte.<\/span>\r\n          <\/div>\r\n          <button class=\"ig-nu-btn ig-nu-btn-coral\" id=\"igNuPdf\" type=\"button\" disabled>Descargar reporte PDF<\/button>\r\n        <\/div>\r\n      <\/section>\r\n\r\n      <details class=\"ig-nu-sources\">\r\n        <summary>\r\n          <span><strong>Fuentes y criterios utilizados<\/strong><small>Tasas, Nu Plus, retenci\u00f3n y Seguro de Dep\u00f3sitos<\/small><\/span>\r\n          <span class=\"ig-nu-summary-action\">Consultar<\/span>\r\n        <\/summary>\r\n        <div class=\"ig-nu-note-grid\">\r\n          <article class=\"ig-nu-note\">\r\n                    <strong>Tasas oficiales utilizadas<\/strong>\r\n                    <p>Saldo disponible: 0,10% E.A. Para Cajitas, esta versi\u00f3n usa 9,30% E.A. como \u00faltima tasa publicada de referencia. La tasa es variable y conviene validarla en la web oficial o en la app antes de tomar una decisi\u00f3n.<\/p>\r\n                    <a href=\"https:\/\/nu.com.co\/cf\/cuenta\/\" target=\"_blank\" rel=\"noopener\">Ver tasa oficial de Cuenta Nu<\/a>\r\n                    <a href=\"https:\/\/nu.com.co\/cf\/cuenta-condiciones\/\" target=\"_blank\" rel=\"noopener\">Tarifas y condiciones oficiales<\/a>\r\n                  <\/article>\r\n          <article class=\"ig-nu-note\">\r\n                    <strong>Nu Plus<\/strong>\r\n                    <p>Nu Plus agrega 0,50 puntos porcentuales E.A. a las Cajitas. El beneficio de rendimiento comienza desde el primer d\u00eda del mes siguiente al periodo en que cumpliste las condiciones, mientras permanezca activo.<\/p>\r\n                    <a href=\"https:\/\/cdn.nubank.com.br\/colombia\/terminos-y-condiciones-nu-plus.pdf\" target=\"_blank\" rel=\"noopener\">T\u00e9rminos de Nu Plus<\/a>\r\n                  <\/article>\r\n          <article class=\"ig-nu-note\">\r\n                    <strong>Retenci\u00f3n estimada<\/strong>\r\n                    <p>Se aplica el 7% solo cuando el inter\u00e9s diario alcanza 0,055 UVT. Con UVT 2026 de $52.374, el umbral diario estimado es $2.880,57.<\/p>\r\n                    <a href=\"https:\/\/normograma.dian.gov.co\/dian\/compilacion\/docs\/decreto_2715_1983.htm\" target=\"_blank\" rel=\"noopener\">Norma compilada por la DIAN<\/a>\r\n                  <\/article>\r\n          <article class=\"ig-nu-note\">\r\n                    <strong>Fogaf\u00edn y disponibilidad<\/strong>\r\n                    <p>La cobertura m\u00e1xima general es de $50 millones por depositante y entidad, agregando los productos protegidos. Las Cajitas permiten a\u00f1adir o retirar dinero sin un plazo fijo.<\/p>\r\n                    <a href=\"https:\/\/www.fogafin.gov.co\/que-es-el-seguro-de-depositos\" target=\"_blank\" rel=\"noopener\">Seguro de Dep\u00f3sitos Fogaf\u00edn<\/a>\r\n                  <\/article>\r\n        <\/div>\r\n      <\/details>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function () {\r\n  'use strict';\r\n\r\n  const root = document.getElementById('ig-nu-cajitas-sim');\r\n  if (!root || root.dataset.igReady === 'true') return;\r\n  root.dataset.igReady = 'true';\r\n\r\n  const CONFIG = {\r\n    reportTitle: 'Simulador de rentabilidad Nu: Cuenta de Ahorros y Cajitas',\r\n    reportFile: 'reporte-rentabilidad-nu-cajitas-2026.pdf',\r\n    siteUrl: 'https:\/\/inversionesguru.com\/co\/',\r\n    logoUrl: 'https:\/\/inversionesguru.com\/co\/wp-content\/uploads\/sites\/3\/2026\/08\/inversionesguru_logo.png',\r\n    officialCajitaRate: 0.093,\r\n    availableBalanceRate: 0.001,\r\n    nuPlusBonus: 0.005,\r\n    taxRate: 0.07,\r\n    uvt2026: 52374,\r\n    taxThresholdUvt: 0.055,\r\n    fogafinLimit: 50000000,\r\n    maxDays: 3650,\r\n    dailyDisplayLimit: 730,\r\n    pdfDailyLimit: 120\r\n  };\r\n  CONFIG.taxThresholdDaily = CONFIG.uvt2026 * CONFIG.taxThresholdUvt;\r\n\r\n  const state = { lastReport: null, lastResult: null, monthlyRendered: false, dailyRendered: false, logoPromise: null };\r\n  const $ = selector => root.querySelector(selector);\r\n\r\n  const el = {\r\n    principal: $('#igNuPrincipal'),\r\n    contribution: $('#igNuContribution'),\r\n    startDate: $('#igNuStartDate'),\r\n    days: $('#igNuDays'),\r\n    goal: $('#igNuGoal'),\r\n    product: $('#igNuProduct'),\r\n    otherBalances: $('#igNuOtherBalances'),\r\n    rateMeta: $('#igNuRateMeta'),\r\n    customRateWrap: $('#igNuCustomRateWrap'),\r\n    customRate: $('#igNuCustomRate'),\r\n    nuPlusCard: $('#igNuPlusCard'),\r\n    nuPlus: $('#igNuPlus'),\r\n    nuPlusStartWrap: $('#igNuPlusStartWrap'),\r\n    nuPlusStartDate: $('#igNuPlusStartDate'),\r\n    applyTax: $('#igNuApplyTax'),\r\n    alert: $('#igNuAlert'),\r\n    results: $('#igNuResults'),\r\n    calculate: $('#igNuCalculate'),\r\n    reset: $('#igNuReset'),\r\n    pdf: $('#igNuPdf'),\r\n    pdfStatus: $('#igNuPdfStatus'),\r\n    finalAmount: $('#igNuFinalAmount'),\r\n    mainInsight: $('#igNuMainInsight'),\r\n    netInterest: $('#igNuNetInterest'),\r\n    grossInterest: $('#igNuGrossInterest'),\r\n    taxTotal: $('#igNuTaxTotal'),\r\n    totalInvested: $('#igNuTotalInvested'),\r\n    fogafinCovered: $('#igNuFogafinCovered'),\r\n    fogafinUncovered: $('#igNuFogafinUncovered'),\r\n    chart: $('#igNuChart'),\r\n    chartCaption: $('#igNuChartCaption'),\r\n    horizonCards: $('#igNuHorizonCards'),\r\n    horizonBody: $('#igNuHorizonBody'),\r\n    monthlyBody: $('#igNuMonthlyBody'),\r\n    dailyBody: $('#igNuDailyBody'),\r\n    monthlyDetails: $('#igNuMonthlyDetails'),\r\n    dailyDetails: $('#igNuDailyDetails'),\r\n    technicalDetails: $('#igNuTechnicalDetails'),\r\n    resultRate: $('#igNuResultRate'),\r\n    resultPeriod: $('#igNuResultPeriod'),\r\n    sideFinal: $('#igNuSideFinal'),\r\n    sideRate: $('#igNuSideRate'),\r\n    sideRateNote: $('#igNuSideRateNote'),\r\n    sideInsight: $('#igNuSideInsight'),\r\n    sideNet: $('#igNuSideNet'),\r\n    sideTax: $('#igNuSideTax'),\r\n    sideContrib: $('#igNuSideContrib'),\r\n    productBadge: $('#igNuProductBadge')\r\n  };\r\n\r\n  const moneyFmt = new Intl.NumberFormat('es-CO', {\r\n    style: 'currency', currency: 'COP', minimumFractionDigits: 2, maximumFractionDigits: 2\r\n  });\r\n  const numberFmt = new Intl.NumberFormat('es-CO', {\r\n    minimumFractionDigits: 2, maximumFractionDigits: 2\r\n  });\r\n\r\n  function round2(value) {\r\n    return Math.round((Number(value) || 0) * 100) \/ 100;\r\n  }\r\n\r\n  function formatMoney(value) {\r\n    return moneyFmt.format(round2(value));\r\n  }\r\n\r\n  function formatRate(value) {\r\n    return numberFmt.format((Number(value) || 0) * 100) + '% E.A.';\r\n  }\r\n\r\n  function toYMD(date) {\r\n    const z = n => String(n).padStart(2, '0');\r\n    return date.getFullYear() + '-' + z(date.getMonth() + 1) + '-' + z(date.getDate());\r\n  }\r\n\r\n  function fromYMD(value) {\r\n    const parts = String(value || '').split('-').map(Number);\r\n    if (parts.length !== 3 || parts.some(Number.isNaN)) return null;\r\n    const date = new Date(parts[0], parts[1] - 1, parts[2]);\r\n    return Number.isNaN(date.getTime()) ? null : date;\r\n  }\r\n\r\n  function addDays(date, days) {\r\n    const next = new Date(date);\r\n    next.setDate(next.getDate() + days);\r\n    return next;\r\n  }\r\n\r\n  function monthKey(date) {\r\n    return date.getFullYear() + '-' + String(date.getMonth() + 1).padStart(2, '0');\r\n  }\r\n\r\n  function monthLabel(key) {\r\n    const [year, month] = key.split('-').map(Number);\r\n    return new Intl.DateTimeFormat('es-CO', { month: 'long', year: 'numeric' }).format(new Date(year, month - 1, 1));\r\n  }\r\n\r\n  function parseMoney(value) {\r\n    if (typeof value !== 'string') return Number.isFinite(value) ? Number(value) : NaN;\r\n    let s = value.replace(\/\\s\/g, '').replace(\/[^\\d.,-]\/g, '');\r\n    if (!s || s === '-' || s === ',' || s === '.') return NaN;\r\n    const negative = s.includes('-');\r\n    s = s.replace(\/-\/g, '');\r\n    const lastComma = s.lastIndexOf(',');\r\n    const lastDot = s.lastIndexOf('.');\r\n    const commaCount = (s.match(\/,\/g) || []).length;\r\n    const dotCount = (s.match(\/\\.\/g) || []).length;\r\n    let decimalSep = '';\r\n\r\n    if (commaCount && dotCount) decimalSep = lastComma > lastDot ? ',' : '.';\r\n    else if (commaCount === 1 && s.length - lastComma - 1 > 0 && s.length - lastComma - 1 <= 2) decimalSep = ',';\r\n    else if (dotCount === 1 && s.length - lastDot - 1 > 0 && s.length - lastDot - 1 <= 2) decimalSep = '.';\r\n\r\n    if (decimalSep) {\r\n      const thousandSep = decimalSep === ',' ? '.' : ',';\r\n      s = s.replace(new RegExp('\\\\' + thousandSep, 'g'), '');\r\n      const index = s.lastIndexOf(decimalSep);\r\n      s = s.slice(0, index).replace(\/[.,]\/g, '') + '.' + s.slice(index + 1).replace(\/[.,]\/g, '');\r\n    } else s = s.replace(\/[.,]\/g, '');\r\n\r\n    const parsed = parseFloat(s);\r\n    if (Number.isNaN(parsed)) return NaN;\r\n    return negative ? -parsed : parsed;\r\n  }\r\n\r\n  function parseRatePercent(value) {\r\n    const cleaned = String(value || '').replace(\/[^\\d.,]\/g, '').replace(',', '.');\r\n    const parsed = parseFloat(cleaned);\r\n    return Number.isFinite(parsed) ? parsed \/ 100 : NaN;\r\n  }\r\n\r\n  function formatMoneyInput(value) {\r\n    const parsed = parseMoney(value);\r\n    if (!Number.isFinite(parsed)) return '';\r\n    return new Intl.NumberFormat('es-CO', {\r\n      minimumFractionDigits: Number.isInteger(parsed) ? 0 : 2,\r\n      maximumFractionDigits: 2\r\n    }).format(parsed);\r\n  }\r\n\r\n  function getBaseRate() {\r\n    if (el.product.value === 'available') return CONFIG.availableBalanceRate;\r\n    if (el.product.value === 'cajita-custom') return parseRatePercent(el.customRate.value);\r\n    return CONFIG.officialCajitaRate;\r\n  }\r\n\r\n  function isCajita(product) {\r\n    return product !== 'available';\r\n  }\r\n\r\n  function getInputs() {\r\n    const product = el.product.value;\r\n    const contribution = parseMoney(el.contribution.value || '0');\r\n    const goal = parseMoney(el.goal.value || '0');\r\n    const otherBalances = parseMoney(el.otherBalances.value || '0');\r\n    return {\r\n      product,\r\n      principal: parseMoney(el.principal.value),\r\n      contribution: Number.isFinite(contribution) && contribution > 0 ? contribution : 0,\r\n      goal: Number.isFinite(goal) && goal > 0 ? goal : 0,\r\n      otherBalances: Number.isFinite(otherBalances) && otherBalances > 0 ? otherBalances : 0,\r\n      startDate: fromYMD(el.startDate.value),\r\n      days: parseInt(el.days.value, 10),\r\n      baseRate: getBaseRate(),\r\n      nuPlus: isCajita(product) && el.nuPlus.checked,\r\n      nuPlusStartDate: fromYMD(el.nuPlusStartDate.value),\r\n      applyTax: el.applyTax.checked\r\n    };\r\n  }\r\n\r\n  function clearErrors() {\r\n    el.alert.textContent = '';\r\n    el.alert.classList.remove('is-visible');\r\n    root.querySelectorAll('.ig-error').forEach(node => node.classList.remove('ig-error'));\r\n  }\r\n\r\n  function showError(message, fields) {\r\n    el.alert.textContent = message;\r\n    el.alert.classList.add('is-visible');\r\n    (fields || []).forEach(field => field && field.classList.add('ig-error'));\r\n  }\r\n\r\n  function validate(inputs) {\r\n    const errors = [];\r\n    const fields = [];\r\n    if (!Number.isFinite(inputs.principal) || inputs.principal <= 0) {\r\n      errors.push('ingresa un saldo inicial mayor a $0'); fields.push(el.principal);\r\n    }\r\n    if (!Number.isFinite(inputs.days) || inputs.days < 1 || inputs.days > CONFIG.maxDays) {\r\n      errors.push('usa un plazo entre 1 y ' + CONFIG.maxDays + ' d\u00edas'); fields.push(el.days);\r\n    }\r\n    if (!inputs.startDate) {\r\n      errors.push('selecciona una fecha inicial v\u00e1lida'); fields.push(el.startDate);\r\n    }\r\n    if (!Number.isFinite(inputs.baseRate) || inputs.baseRate < 0 || inputs.baseRate > 1) {\r\n      errors.push('ingresa una tasa E.A. v\u00e1lida entre 0% y 100%'); fields.push(el.customRate);\r\n    }\r\n    if (inputs.nuPlus && !inputs.nuPlusStartDate) {\r\n      errors.push('indica desde qu\u00e9 fecha aplica Nu Plus'); fields.push(el.nuPlusStartDate);\r\n    }\r\n    if (errors.length) {\r\n      showError('Revisa el formulario: ' + errors.join(', ') + '.', fields);\r\n      const firstInvalid = fields.find(Boolean);\r\n      if (firstInvalid) {\r\n        try { firstInvalid.focus({ preventScroll: true }); } catch (error) { try { firstInvalid.focus(); } catch (focusError) {} }\r\n        try {\r\n          firstInvalid.scrollIntoView({\r\n            behavior: window.matchMedia('(prefers-reduced-motion: reduce)').matches ? 'auto' : 'smooth',\r\n            block: 'center'\r\n          });\r\n        } catch (error) {}\r\n      }\r\n      return false;\r\n    }\r\n    return true;\r\n  }\r\n\r\n  function dailyRateFromEA(annualRate) {\r\n    return Math.pow(1 + annualRate, 1 \/ 365) - 1;\r\n  }\r\n\r\n  function effectiveAnnualRate(inputs, date) {\r\n    const plusApplies = inputs.nuPlus && inputs.nuPlusStartDate && date >= inputs.nuPlusStartDate;\r\n    return inputs.baseRate + (plusApplies ? CONFIG.nuPlusBonus : 0);\r\n  }\r\n\r\n  function lastDayOfMonth(date) {\r\n    return new Date(date.getFullYear(), date.getMonth() + 1, 0).getDate();\r\n  }\r\n\r\n  function isMonthlyContributionDate(currentDate, startDate, index) {\r\n    if (index <= 0) return false;\r\n    const distance = (currentDate.getFullYear() - startDate.getFullYear()) * 12 + currentDate.getMonth() - startDate.getMonth();\r\n    if (distance <= 0) return false;\r\n    return currentDate.getDate() === Math.min(startDate.getDate(), lastDayOfMonth(currentDate));\r\n  }\r\n\r\n  function simulate(inputs, periodDays) {\r\n    const days = periodDays || inputs.days;\r\n    let balance = round2(inputs.principal);\r\n    let grossTotal = 0;\r\n    let taxTotal = 0;\r\n    let netTotal = 0;\r\n    let contributionTotal = 0;\r\n    let taxDays = 0;\r\n    const dailyRows = [];\r\n    const monthlyMap = new Map();\r\n    const chartPoints = [];\r\n\r\n    for (let index = 0; index < days; index++) {\r\n      const day = index + 1;\r\n      const currentDate = addDays(inputs.startDate, index);\r\n      const key = monthKey(currentDate);\r\n      const openingBalance = balance;\r\n      const annualRate = effectiveAnnualRate(inputs, currentDate);\r\n      const dailyRate = dailyRateFromEA(annualRate);\r\n      const gross = round2(openingBalance * dailyRate);\r\n      const taxable = inputs.applyTax && gross >= CONFIG.taxThresholdDaily;\r\n      const tax = taxable ? round2(gross * CONFIG.taxRate) : 0;\r\n      const net = round2(gross - tax);\r\n      balance = round2(balance + net);\r\n\r\n      let contributionToday = 0;\r\n      if (inputs.contribution > 0 && isMonthlyContributionDate(currentDate, inputs.startDate, index)) {\r\n        contributionToday = round2(inputs.contribution);\r\n        balance = round2(balance + contributionToday);\r\n        contributionTotal = round2(contributionTotal + contributionToday);\r\n      }\r\n\r\n      grossTotal = round2(grossTotal + gross);\r\n      taxTotal = round2(taxTotal + tax);\r\n      netTotal = round2(netTotal + net);\r\n      if (taxable) taxDays += 1;\r\n\r\n      if (!monthlyMap.has(key)) {\r\n        monthlyMap.set(key, {\r\n          key, label: monthLabel(key), startBalance: openingBalance,\r\n          contributions: 0, gross: 0, tax: 0, net: 0, finalBalance: balance\r\n        });\r\n      }\r\n      const month = monthlyMap.get(key);\r\n      month.contributions = round2(month.contributions + contributionToday);\r\n      month.gross = round2(month.gross + gross);\r\n      month.tax = round2(month.tax + tax);\r\n      month.net = round2(month.net + net);\r\n      month.finalBalance = balance;\r\n\r\n      dailyRows.push({\r\n        day, date: currentDate, dateYMD: toYMD(currentDate), openingBalance,\r\n        contribution: contributionToday, annualRate, gross, tax, net, finalBalance: balance\r\n      });\r\n      if (day === 1 || day === days || day % 7 === 0) chartPoints.push({ day, balance });\r\n    }\r\n\r\n    return {\r\n      days,\r\n      finalBalance: balance,\r\n      invested: round2(inputs.principal + contributionTotal),\r\n      contributionTotal,\r\n      grossTotal,\r\n      taxTotal,\r\n      netTotal,\r\n      taxDays,\r\n      firstRate: effectiveAnnualRate(inputs, inputs.startDate),\r\n      lastRate: effectiveAnnualRate(inputs, addDays(inputs.startDate, days - 1)),\r\n      dailyRows,\r\n      monthlyRows: Array.from(monthlyMap.values()),\r\n      chartPoints\r\n    };\r\n  }\r\n\r\n  function buildHorizons(inputs, chosenResult) {\r\n    const raw = [\r\n      { label: '1 d\u00eda', days: 1 },\r\n      { label: '30 d\u00edas', days: 30 },\r\n      { label: '6 meses', days: 180 },\r\n      { label: '1 a\u00f1o', days: 365 },\r\n      { label: 'Periodo elegido', days: inputs.days }\r\n    ];\r\n    const seen = new Set();\r\n    return raw.filter(item => {\r\n      if (seen.has(item.days)) return false;\r\n      seen.add(item.days); return true;\r\n    }).map(item => ({ ...item, result: item.days === inputs.days && chosenResult ? chosenResult : simulate(inputs, item.days) }));\r\n  }\r\n\r\n  function productLabel(inputs) {\r\n    if (inputs.product === 'available') return 'Saldo disponible Cuenta Nu';\r\n    if (inputs.product === 'cajita-custom') return 'Cajita con tasa ingresada';\r\n    return 'Cajita con \u00faltima tasa p\u00fablica confirmada';\r\n  }\r\n\r\n  function rateDescription(inputs, result) {\r\n    if (result.firstRate === result.lastRate) return formatRate(result.firstRate);\r\n    return formatRate(result.firstRate) + ' \u2192 ' + formatRate(result.lastRate);\r\n  }\r\n\r\n  function buildInsight(inputs, result) {\r\n    if (inputs.goal > 0) {\r\n      const progress = Math.min(100, result.finalBalance \/ inputs.goal * 100);\r\n      if (result.finalBalance >= inputs.goal) return 'Con este escenario alcanzar\u00edas o superar\u00edas tu meta de ' + formatMoney(inputs.goal) + '.';\r\n      return 'Llegar\u00edas al ' + numberFmt.format(progress) + '% de tu meta y faltar\u00edan aproximadamente ' + formatMoney(inputs.goal - result.finalBalance) + '.';\r\n    }\r\n    const taxText = inputs.applyTax\r\n      ? (result.taxDays ? 'La retenci\u00f3n se activ\u00f3 en ' + result.taxDays + ' d\u00eda(s).' : 'El inter\u00e9s diario no alcanz\u00f3 el umbral estimado de retenci\u00f3n.')\r\n      : 'La retenci\u00f3n fue desactivada para este escenario.';\r\n    return 'La ganancia neta estimada es ' + formatMoney(result.netTotal) + '. ' + taxText;\r\n  }\r\n\r\n  function renderChart(points) {\r\n    if (!points || points.length < 2) {\r\n      el.chart.innerHTML = '<p style=\"color:var(--ig-muted);font-size:13px;\">Calcula para ver el crecimiento proyectado.<\/p>';\r\n      return;\r\n    }\r\n    const width = 100;\r\n    const height = 48;\r\n    const values = points.map(point => point.balance);\r\n    const max = Math.max(...values);\r\n    const min = Math.min(...values);\r\n    const range = max - min || 1;\r\n    const padding = range * 0.16;\r\n    const path = points.map((point, index) => {\r\n      const x = index \/ Math.max(1, points.length - 1) * width;\r\n      const y = height - ((point.balance - min + padding) \/ (range + padding * 2) * height);\r\n      return (index ? 'L ' : 'M ') + x.toFixed(2) + ',' + y.toFixed(2);\r\n    }).join(' ');\r\n    el.chart.innerHTML =\r\n      '<svg viewBox=\"0 0 100 48\" preserveAspectRatio=\"none\" aria-hidden=\"true\">' +\r\n      '<defs><linearGradient id=\"igNuChartGrad2026\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\"><stop offset=\"0%\" stop-color=\"#0f9f7a\" stop-opacity=\"0.26\"><\/stop><stop offset=\"100%\" stop-color=\"#0f9f7a\" stop-opacity=\"0\"><\/stop><\/linearGradient><\/defs>' +\r\n      '<path d=\"M 0,48 ' + path + ' L 100,48 Z\" fill=\"url(#igNuChartGrad2026)\"><\/path>' +\r\n      '<path class=\"ig-nu-chart-line\" d=\"' + path + '\" fill=\"none\" stroke=\"#0f9f7a\" stroke-width=\"2.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg>';\r\n  }\r\n\r\n  function dailyRowsForDisplay(rows) {\r\n    if (rows.length <= CONFIG.dailyDisplayLimit) return { first: rows, last: [], omitted: 0 };\r\n    const half = Math.floor(CONFIG.dailyDisplayLimit \/ 2);\r\n    return {\r\n      first: rows.slice(0, half),\r\n      last: rows.slice(-half),\r\n      omitted: rows.length - half * 2\r\n    };\r\n  }\r\n\r\n  function dailyRowHtml(row) {\r\n    return '<tr>' +\r\n      '<td><strong>' + row.day + '<\/strong><\/td>' +\r\n      '<td>' + row.dateYMD + '<\/td>' +\r\n      '<td class=\"ig-money\">' + formatMoney(row.openingBalance) + '<\/td>' +\r\n      '<td class=\"ig-money\">' + formatMoney(row.contribution) + '<\/td>' +\r\n      '<td class=\"ig-money\">' + formatMoney(row.gross) + '<\/td>' +\r\n      '<td class=\"ig-money ig-negative\">' + formatMoney(row.tax) + '<\/td>' +\r\n      '<td class=\"ig-money ig-positive\">' + formatMoney(row.net) + '<\/td>' +\r\n      '<td class=\"ig-money\"><strong>' + formatMoney(row.finalBalance) + '<\/strong><\/td>' +\r\n      '<\/tr>';\r\n  }\r\n\r\n  function renderMonthlyTable() {\r\n    if (!state.lastResult || state.monthlyRendered) return;\r\n    el.monthlyBody.innerHTML = state.lastResult.monthlyRows.map(row => '<tr>' +\r\n      '<td><strong>' + row.label + '<\/strong><\/td>' +\r\n      '<td class=\"ig-money\">' + formatMoney(row.startBalance) + '<\/td>' +\r\n      '<td class=\"ig-money\">' + formatMoney(row.contributions) + '<\/td>' +\r\n      '<td class=\"ig-money\">' + formatMoney(row.gross) + '<\/td>' +\r\n      '<td class=\"ig-money ig-negative\">' + formatMoney(row.tax) + '<\/td>' +\r\n      '<td class=\"ig-money ig-positive\">' + formatMoney(row.net) + '<\/td>' +\r\n      '<td class=\"ig-money\"><strong>' + formatMoney(row.finalBalance) + '<\/strong><\/td>' +\r\n      '<\/tr>').join('');\r\n    state.monthlyRendered = true;\r\n  }\r\n\r\n  function renderDailyTable() {\r\n    if (!state.lastResult || state.dailyRendered) return;\r\n    const display = dailyRowsForDisplay(state.lastResult.dailyRows);\r\n    el.dailyBody.innerHTML = display.first.map(dailyRowHtml).join('') +\r\n      (display.omitted ? '<tr class=\"ig-nu-table-separator\"><td colspan=\"8\">Se omitieron ' + display.omitted + ' filas intermedias solo en esta vista.<\/td><\/tr>' : '') +\r\n      display.last.map(dailyRowHtml).join('');\r\n    state.dailyRendered = true;\r\n  }\r\n\r\n  function render(inputs, result, horizons) {\r\n    const fogafinBase = round2(result.finalBalance + inputs.otherBalances);\r\n    const fogafinCovered = Math.min(fogafinBase, CONFIG.fogafinLimit);\r\n    const fogafinUncovered = Math.max(0, fogafinBase - CONFIG.fogafinLimit);\r\n    const insight = buildInsight(inputs, result);\r\n\r\n    el.finalAmount.textContent = formatMoney(result.finalBalance);\r\n    el.mainInsight.textContent = insight;\r\n    el.netInterest.textContent = formatMoney(result.netTotal);\r\n    el.grossInterest.textContent = formatMoney(result.grossTotal);\r\n    el.taxTotal.textContent = formatMoney(result.taxTotal);\r\n    el.totalInvested.textContent = formatMoney(result.invested);\r\n    el.fogafinCovered.textContent = formatMoney(fogafinCovered);\r\n    el.fogafinUncovered.textContent = formatMoney(fogafinUncovered);\r\n    el.resultRate.textContent = rateDescription(inputs, result);\r\n    el.resultPeriod.textContent = result.days + (result.days === 1 ? ' d\u00eda' : ' d\u00edas');\r\n\r\n    el.sideNet.textContent = formatMoney(result.netTotal);\r\n    el.sideFinal.textContent = formatMoney(result.finalBalance);\r\n    el.sideRate.textContent = rateDescription(inputs, result);\r\n    el.sideInsight.textContent = insight;\r\n    el.sideTax.textContent = formatMoney(result.taxTotal);\r\n    el.sideContrib.textContent = formatMoney(result.invested);\r\n    el.productBadge.textContent = productLabel(inputs);\r\n    el.chartCaption.textContent = 'De ' + formatMoney(inputs.principal) + ' a ' + formatMoney(result.finalBalance) + ' en ' + result.days + (result.days === 1 ? ' d\u00eda.' : ' d\u00edas.');\r\n\r\n    el.horizonCards.innerHTML = horizons.map(item => '<div class=\"ig-nu-horizon-card\">' +\r\n      '<span>' + item.label + '<\/span>' +\r\n      '<strong>' + formatMoney(item.result.netTotal) + '<\/strong>' +\r\n      '<small>Saldo final: ' + formatMoney(item.result.finalBalance) + '<\/small>' +\r\n      '<\/div>').join('');\r\n\r\n    el.horizonBody.innerHTML = horizons.map(item => '<tr>' +\r\n      '<td><strong>' + item.label + '<\/strong><\/td>' +\r\n      '<td class=\"ig-money\"><strong>' + formatMoney(item.result.finalBalance) + '<\/strong><\/td>' +\r\n      '<td class=\"ig-money ig-positive\">' + formatMoney(item.result.netTotal) + '<\/td>' +\r\n      '<td class=\"ig-money\">' + formatMoney(item.result.grossTotal) + '<\/td>' +\r\n      '<td class=\"ig-money ig-negative\">' + formatMoney(item.result.taxTotal) + '<\/td>' +\r\n      '<\/tr>').join('');\r\n\r\n    state.lastResult = result;\r\n    state.monthlyRendered = false;\r\n    state.dailyRendered = false;\r\n    el.monthlyBody.innerHTML = '';\r\n    el.dailyBody.innerHTML = '';\r\n    if (el.monthlyDetails && el.monthlyDetails.open) renderMonthlyTable();\r\n    if (el.dailyDetails && el.dailyDetails.open) renderDailyTable();\r\n\r\n    renderChart(result.chartPoints);\r\n    el.results.classList.add('is-visible');\r\n    el.pdf.disabled = false;\r\n    el.pdfStatus.textContent = 'Reporte listo para descargar con el logo oficial de InversionesGuru.';\r\n\r\n    state.lastReport = buildReport(inputs, result, horizons, fogafinBase, fogafinCovered, fogafinUncovered);\r\n    saveState();\r\n  }\r\n\r\n  function buildReport(inputs, result, horizons, fogafinBase, fogafinCovered, fogafinUncovered) {\r\n    return {\r\n      title: CONFIG.reportTitle,\r\n      generatedAt: new Date().toLocaleString('es-CO'),\r\n      headline: {\r\n        net: formatMoney(result.netTotal),\r\n        final: formatMoney(result.finalBalance),\r\n        invested: formatMoney(result.invested),\r\n        rate: rateDescription(inputs, result),\r\n        gross: formatMoney(result.grossTotal),\r\n        tax: formatMoney(result.taxTotal),\r\n        days: String(result.days)\r\n      },\r\n      inputs: [\r\n        ['Producto', productLabel(inputs)],\r\n        ['Saldo inicial', formatMoney(inputs.principal)],\r\n        ['Aporte mensual', formatMoney(inputs.contribution)],\r\n        ['D\u00edas simulados', String(inputs.days)],\r\n        ['Fecha inicial', toYMD(inputs.startDate)],\r\n        ['Tasa base', formatRate(inputs.baseRate)],\r\n        ['Nu Plus', inputs.nuPlus ? '+0,50 p.p. E.A. desde ' + toYMD(inputs.nuPlusStartDate) : 'No aplicado'],\r\n        ['Retenci\u00f3n', inputs.applyTax ? '7% si el inter\u00e9s diario alcanza ' + formatMoney(CONFIG.taxThresholdDaily) : 'No aplicada'],\r\n        ['Otros saldos Nu', formatMoney(inputs.otherBalances)],\r\n        ['Meta', inputs.goal > 0 ? formatMoney(inputs.goal) : 'No definida']\r\n      ],\r\n      summary: [\r\n        ['Saldo final proyectado', formatMoney(result.finalBalance)],\r\n        ['Capital aportado', formatMoney(result.invested)],\r\n        ['Rendimiento bruto', formatMoney(result.grossTotal)],\r\n        ['Retenci\u00f3n estimada', formatMoney(result.taxTotal)],\r\n        ['D\u00edas con retenci\u00f3n', String(result.taxDays)],\r\n        ['Rendimiento neto', formatMoney(result.netTotal)],\r\n        ['Tasa aplicada', rateDescription(inputs, result)],\r\n        ['Saldo agregado para Fogaf\u00edn', formatMoney(fogafinBase)],\r\n        ['Cubierto estimado', formatMoney(fogafinCovered)],\r\n        ['Excedente no cubierto', formatMoney(fogafinUncovered)]\r\n      ],\r\n      horizons: horizons.map(item => [item.label, formatMoney(item.result.finalBalance), formatMoney(item.result.netTotal), formatMoney(item.result.grossTotal), formatMoney(item.result.taxTotal)]),\r\n      monthlyRows: result.monthlyRows.map(row => [row.label, formatMoney(row.startBalance), formatMoney(row.contributions), formatMoney(row.gross), formatMoney(row.tax), formatMoney(row.net), formatMoney(row.finalBalance)]),\r\n      dailyRows: result.dailyRows.slice(0, CONFIG.pdfDailyLimit).map(row => [String(row.day), row.dateYMD, formatMoney(row.openingBalance), formatMoney(row.contribution), formatMoney(row.gross), formatMoney(row.tax), formatMoney(row.net), formatMoney(row.finalBalance)]),\r\n      dailyTruncated: result.dailyRows.length > CONFIG.pdfDailyLimit,\r\n      disclaimer: 'Proyecci\u00f3n informativa revisada el 9 de agosto de 2026. Esta versi\u00f3n usa 9,30% E.A. como \u00faltima tasa publicada de referencia para las Cajitas. La p\u00e1gina oficial de tarifas y contrato de Nu puede mostrar temporalmente que est\u00e1 actualizando la tasa del mes, por lo que la cifra debe validarse nuevamente en la web oficial o en la app antes de tomar una decisi\u00f3n. La retenci\u00f3n real, los redondeos, movimientos, Nu Plus, GMF y cobertura dependen de las condiciones aplicables al titular y de la liquidaci\u00f3n de Nu.'\r\n    };\r\n  }\r\n\r\n  function calculate() {\r\n    clearErrors();\r\n    const inputs = getInputs();\r\n    if (!validate(inputs)) return;\r\n    const result = simulate(inputs);\r\n    const horizons = buildHorizons(inputs, result);\r\n    render(inputs, result, horizons);\r\n    el.results.scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n  }\r\n\r\n  function updateProductUI() {\r\n    const product = el.product.value;\r\n    const custom = product === 'cajita-custom';\r\n    const cajita = isCajita(product);\r\n    el.customRateWrap.classList.toggle('is-visible', custom);\r\n    el.nuPlus.disabled = !cajita;\r\n    el.nuPlusCard.classList.toggle('is-disabled', !cajita);\r\n    if (!cajita) el.nuPlus.checked = false;\r\n    el.nuPlusStartWrap.classList.toggle('ig-hidden', !cajita || !el.nuPlus.checked);\r\n\r\n    if (product === 'available') {\r\n      el.rateMeta.textContent = 'El saldo disponible de Cuenta Nu registra 0,10% E.A. en las tarifas oficiales. Nu Plus no aplica sobre este saldo.';\r\n      el.productBadge.textContent = 'Saldo disponible';\r\n      if (el.sideRateNote) el.sideRateNote.textContent = 'Saldo principal de Cuenta Nu. Nu Plus no aplica sobre este saldo.';\r\n    } else if (custom) {\r\n      el.rateMeta.textContent = 'Escribe la tasa base exacta que aparezca en tu app. El adicional de Nu Plus se suma aparte cuando est\u00e9 activo.';\r\n      el.productBadge.textContent = 'Cajita personalizada';\r\n      if (el.sideRateNote) el.sideRateNote.textContent = 'Usaremos exactamente la tasa base que escribas desde tu app.';\r\n    } else {\r\n      el.rateMeta.textContent = 'Usamos 9,30% E.A. como tasa de referencia. Como la rentabilidad puede cambiar, valida siempre la tasa vigente en la web oficial de Nu o en tu app.';\r\n      el.productBadge.textContent = 'Cajita Nu';\r\n      if (el.sideRateNote) el.sideRateNote.textContent = 'Cajita Nu con 9,30% E.A. como tasa p\u00fablica de referencia.';\r\n    }\r\n    updateSideRatePreview();\r\n  }\r\n\r\n  function updateSideRatePreview() {\r\n    const base = getBaseRate();\r\n    if (!Number.isFinite(base)) {\r\n      el.sideRate.textContent = 'Tasa pendiente';\r\n      return;\r\n    }\r\n    const plus = isCajita(el.product.value) && el.nuPlus.checked ? CONFIG.nuPlusBonus : 0;\r\n    el.sideRate.textContent = formatRate(base + plus);\r\n    if (el.sideRateNote && plus > 0) el.sideRateNote.textContent = 'Incluye +0,50 p.p. E.A. de Nu Plus seg\u00fan la fecha configurada.';\r\n  }\r\n\r\n  function saveState() {\r\n    try {\r\n      localStorage.setItem('igNuCajitasInputsV4', JSON.stringify({\r\n        principal: el.principal.value,\r\n        contribution: el.contribution.value,\r\n        startDate: el.startDate.value,\r\n        days: el.days.value,\r\n        goal: el.goal.value,\r\n        product: el.product.value,\r\n        otherBalances: el.otherBalances.value,\r\n        customRate: el.customRate.value,\r\n        nuPlus: el.nuPlus.checked,\r\n        nuPlusStartDate: el.nuPlusStartDate.value,\r\n        applyTax: el.applyTax.checked\r\n      }));\r\n    } catch (error) {}\r\n  }\r\n\r\n  function loadState() {\r\n    try {\r\n      const saved = JSON.parse(localStorage.getItem('igNuCajitasInputsV4') || 'null');\r\n      if (!saved) return;\r\n      el.principal.value = saved.principal || '';\r\n      el.contribution.value = saved.contribution || '';\r\n      el.startDate.value = saved.startDate || el.startDate.value;\r\n      el.days.value = saved.days || '365';\r\n      el.goal.value = saved.goal || '';\r\n      el.product.value = saved.product || 'cajita-official';\r\n      el.otherBalances.value = saved.otherBalances || '';\r\n      el.customRate.value = saved.customRate || '';\r\n      el.nuPlus.checked = saved.nuPlus === true;\r\n      el.nuPlusStartDate.value = saved.nuPlusStartDate || el.startDate.value;\r\n      el.applyTax.checked = saved.applyTax !== false;\r\n    } catch (error) {}\r\n  }\r\n\r\n  function reset() {\r\n    clearErrors();\r\n    el.principal.value = '';\r\n    el.contribution.value = '';\r\n    el.goal.value = '';\r\n    el.otherBalances.value = '';\r\n    el.days.value = '365';\r\n    el.startDate.value = toYMD(new Date());\r\n    el.product.value = 'cajita-official';\r\n    el.customRate.value = '';\r\n    el.nuPlus.checked = false;\r\n    el.nuPlusStartDate.value = el.startDate.value;\r\n    el.applyTax.checked = true;\r\n    el.results.classList.remove('is-visible');\r\n    el.pdf.disabled = true;\r\n    el.pdfStatus.textContent = 'Ejecuta el c\u00e1lculo para habilitar el reporte.';\r\n    state.lastReport = null;\r\n    state.lastResult = null;\r\n    state.monthlyRendered = false;\r\n    state.dailyRendered = false;\r\n    el.sideFinal.textContent = '\u2014';\r\n    el.sideInsight.textContent = 'Completa los datos y te mostraremos primero cu\u00e1nto dinero podr\u00edas ganar, no solo el saldo final.';\r\n    el.sideNet.textContent = 'Calcula tu escenario';\r\n    el.sideTax.textContent = '\u2014';\r\n    el.sideContrib.textContent = '\u2014';\r\n    if (el.monthlyDetails) el.monthlyDetails.open = false;\r\n    if (el.dailyDetails) el.dailyDetails.open = false;\r\n    if (el.technicalDetails) el.technicalDetails.open = false;\r\n    el.monthlyBody.innerHTML = '';\r\n    el.dailyBody.innerHTML = '';\r\n    updateProductUI();\r\n    try { localStorage.removeItem('igNuCajitasInputsV4'); } catch (error) {}\r\n  }\r\n\r\n  function ensureJsPdf() {\r\n    if (window.jspdf && window.jspdf.jsPDF) return Promise.resolve(window.jspdf.jsPDF);\r\n    return new Promise((resolve, reject) => {\r\n      const existing = document.querySelector('script[data-ig-jspdf=\"true\"]');\r\n      if (existing) {\r\n        existing.addEventListener('load', () => resolve(window.jspdf.jsPDF), { once: true });\r\n        existing.addEventListener('error', reject, { once: true });\r\n        return;\r\n      }\r\n      const script = document.createElement('script');\r\n      script.src = 'https:\/\/cdn.jsdelivr.net\/npm\/jspdf@2.5.1\/dist\/jspdf.umd.min.js';\r\n      script.async = true;\r\n      script.dataset.igJspdf = 'true';\r\n      script.onload = () => window.jspdf && window.jspdf.jsPDF ? resolve(window.jspdf.jsPDF) : reject(new Error('jsPDF no disponible'));\r\n      script.onerror = reject;\r\n      document.head.appendChild(script);\r\n    });\r\n  }\r\n\r\n  function ensureLogoDataUrl() {\r\n    if (state.logoPromise) return state.logoPromise;\r\n    state.logoPromise = fetch(CONFIG.logoUrl, { credentials: 'same-origin', cache: 'force-cache' })\r\n      .then(response => {\r\n        if (!response.ok) throw new Error('No se pudo cargar el logo');\r\n        return response.blob();\r\n      })\r\n      .then(blob => new Promise((resolve, reject) => {\r\n        const reader = new FileReader();\r\n        reader.onload = () => resolve(reader.result);\r\n        reader.onerror = reject;\r\n        reader.readAsDataURL(blob);\r\n      }))\r\n      .catch(error => {\r\n        state.logoPromise = null;\r\n        throw error;\r\n      });\r\n    return state.logoPromise;\r\n  }\r\n\r\n  function safe(value) {\r\n    return String(value == null ? '' : value).replace(\/\\s+\/g, ' ').trim();\r\n  }\r\n\r\n  function exportPdf(jsPDF, report, logoDataUrl) {\r\n    const doc = new jsPDF({ unit: 'mm', format: 'a4' });\r\n    const margin = 18;\r\n    const width = 210 - margin * 2;\r\n    let y = 0;\r\n\r\n    function decorate() {\r\n      if (logoDataUrl) {\r\n        try { doc.addImage(logoDataUrl, 'PNG', margin, 9, 45, 18, undefined, 'FAST'); }\r\n        catch (error) { logoDataUrl = null; }\r\n      }\r\n      if (!logoDataUrl) {\r\n        doc.setFillColor(23, 51, 47); doc.roundedRect(margin, 12, 12, 12, 2, 2, 'F');\r\n        doc.setTextColor(255, 255, 255); doc.setFont('helvetica', 'bold'); doc.setFontSize(8); doc.text('IG', margin + 3.1, 19.6);\r\n        doc.setTextColor(23, 51, 47); doc.setFontSize(11); doc.text('InversionesGuru', margin + 16, 17);\r\n      }\r\n      doc.setTextColor(91, 111, 104); doc.setFont('helvetica', 'normal'); doc.setFontSize(7.6); doc.text(CONFIG.siteUrl, 210 - margin, 20, { align: 'right' });\r\n      doc.setDrawColor(222, 232, 228); doc.line(margin, 30, 210 - margin, 30);\r\n      y = 38;\r\n    }\r\n\r\n    function nextPage(required) {\r\n      if (y + required <= 278) return;\r\n      doc.addPage(); decorate();\r\n    }\r\n\r\n    function lines(value, maxWidth) { return doc.splitTextToSize(safe(value), maxWidth); }\r\n\r\n    function section(value) {\r\n      nextPage(13);\r\n      doc.setFillColor(244, 250, 247); doc.roundedRect(margin, y, width, 8, 2, 2, 'F');\r\n      doc.setTextColor(8, 117, 93); doc.setFont('helvetica', 'bold'); doc.setFontSize(9.5); doc.text(value, margin + 3, y + 5.3);\r\n      y += 12;\r\n    }\r\n\r\n    function keyValues(rows) {\r\n      rows.forEach(row => {\r\n        nextPage(10);\r\n        const left = lines(row[0], 70); const right = lines(row[1], 98); const count = Math.max(left.length, right.length);\r\n        doc.setTextColor(91, 111, 104); doc.setFont('helvetica', 'normal'); doc.setFontSize(8.3); doc.text(left, margin, y);\r\n        doc.setTextColor(23, 51, 47); doc.setFont('helvetica', 'bold'); doc.text(right, margin + 74, y);\r\n        y += count * 4.1 + 2;\r\n        doc.setDrawColor(235, 240, 238); doc.line(margin, y - 1, 210 - margin, y - 1);\r\n      });\r\n      y += 3;\r\n    }\r\n\r\n    function table(title, headings, rows, truncated) {\r\n      if (!rows || !rows.length) return;\r\n      section(title);\r\n      const cols = headings.length; const colWidth = width \/ cols;\r\n      function drawRow(row, header) {\r\n        const cells = Array.from({ length: cols }, (_, i) => lines(row[i] || '', colWidth - 2));\r\n        const rowLines = Math.max(...cells.map(cell => cell.length)); const rowHeight = Math.max(6, rowLines * 3.15 + 2.4);\r\n        nextPage(rowHeight + 2);\r\n        if (header) { doc.setFillColor(23, 51, 47); doc.setTextColor(255,255,255); }\r\n        else { doc.setFillColor(250, 252, 251); doc.setTextColor(36,68,62); }\r\n        doc.rect(margin, y - 3.8, width, rowHeight, 'F');\r\n        doc.setFont('helvetica', header ? 'bold' : 'normal'); doc.setFontSize(header ? 6.3 : 6.1);\r\n        cells.forEach((cell, i) => doc.text(cell, margin + i * colWidth + 1, y)); y += rowHeight;\r\n      }\r\n      drawRow(headings, true); rows.forEach(row => drawRow(row, false));\r\n      if (truncated) {\r\n        nextPage(8); doc.setTextColor(91, 111, 104); doc.setFont('helvetica', 'normal'); doc.setFontSize(8);\r\n        doc.text('La tabla diaria fue recortada en el PDF; el c\u00e1lculo completo s\u00ed fue realizado.', margin, y + 2); y += 8;\r\n      }\r\n      y += 3;\r\n    }\r\n\r\n    decorate();\r\n    doc.setTextColor(23, 51, 47); doc.setFont('helvetica', 'bold'); doc.setFontSize(16);\r\n    doc.text('Simulaci\u00f3n de Cuenta Nu y Cajitas', margin, y); y += 7;\r\n    doc.setTextColor(91, 111, 104); doc.setFont('helvetica', 'normal'); doc.setFontSize(8.3);\r\n    doc.text('Reporte generado el ' + report.generatedAt, margin, y); y += 9;\r\n\r\n    doc.setFillColor(244, 250, 247); doc.roundedRect(margin, y, width, 38, 3, 3, 'F');\r\n    doc.setTextColor(91,111,104); doc.setFont('helvetica','bold'); doc.setFontSize(8); doc.text('GANANCIA NETA ESTIMADA', margin + 5, y + 7);\r\n    doc.setTextColor(8,117,93); doc.setFont('helvetica','bold'); doc.setFontSize(23); doc.text(report.headline.net, margin + 5, y + 18);\r\n    doc.setTextColor(91,111,104); doc.setFont('helvetica','normal'); doc.setFontSize(7.5);\r\n    doc.text('Dinero aportado', margin + 5, y + 27); doc.text('Saldo final', margin + 65, y + 27); doc.text('Tasa aplicada', margin + 121, y + 27);\r\n    doc.setTextColor(23,51,47); doc.setFont('helvetica','bold'); doc.setFontSize(8.5);\r\n    doc.text(report.headline.invested, margin + 5, y + 33); doc.text(report.headline.final, margin + 65, y + 33); doc.text(report.headline.rate, margin + 121, y + 33);\r\n    y += 45;\r\n\r\n    section('Datos de la simulaci\u00f3n'); keyValues(report.inputs);\r\n    section('Detalle del resultado'); keyValues(report.summary);\r\n    table('Resumen por horizontes', ['Horizonte', 'Saldo final', 'Ganancia neta', 'Bruto', 'Retenci\u00f3n'], report.horizons, false);\r\n    table('Detalle mensual', ['Mes', 'Inicial', 'Aportes', 'Bruto', 'Ret.', 'Neto', 'Final'], report.monthlyRows, false);\r\n    table('Detalle diario', ['D\u00eda', 'Fecha', 'Base', 'Aporte', 'Bruto', 'Ret.', 'Neto', 'Final'], report.dailyRows, report.dailyTruncated);\r\n    section('Nota informativa');\r\n    doc.setTextColor(91, 111, 104); doc.setFont('helvetica', 'normal'); doc.setFontSize(8.2);\r\n    const note = lines(report.disclaimer, width); nextPage(note.length * 4 + 6); doc.text(note, margin, y);\r\n\r\n    const pages = doc.getNumberOfPages();\r\n    for (let page = 1; page <= pages; page++) {\r\n      doc.setPage(page); doc.setDrawColor(222,232,228); doc.line(margin, 286, 210 - margin, 286);\r\n      doc.setTextColor(91,111,104); doc.setFontSize(7.3); doc.text(CONFIG.siteUrl + ' | Reporte informativo', margin, 291);\r\n      doc.text('P\u00e1gina ' + page + ' de ' + pages, 210 - margin, 291, { align: 'right' });\r\n    }\r\n    doc.save(CONFIG.reportFile);\r\n  }\r\n\r\n  function escapeHtml(value) {\r\n    return safe(value).replace(\/[&<>\"']\/g, char => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#039;' })[char]);\r\n  }\r\n\r\n  function printFallback(report) {\r\n    const popup = window.open('', '_blank', 'noopener,noreferrer,width=900,height=700');\r\n    if (!popup) throw new Error('Ventana bloqueada');\r\n    const list = rows => rows.map(row => '<tr><th>' + escapeHtml(row[0]) + '<\/th><td>' + escapeHtml(row[1]) + '<\/td><\/tr>').join('');\r\n    popup.document.write('<!doctype html><html lang=\"es\"><head><meta charset=\"utf-8\"><title>' + escapeHtml(report.title) + '<\/title><style>body{font-family:Arial,sans-serif;color:#17332f;padding:36px;position:relative}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d8e5e0;padding-bottom:14px}header img{width:230px;height:auto}.hero{margin:22px 0;padding:22px;border-radius:14px;background:#f4faf7}.hero span{font-size:12px;color:#5b6f68;font-weight:700}.hero strong{display:block;margin-top:6px;color:#08755d;font-size:36px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.metrics div{padding:10px;background:#fff;border:1px solid #d8e5e0;border-radius:8px}.metrics b{display:block;margin-top:3px}h1{font-size:22px}h2{margin-top:24px;color:#08755d;font-size:16px}table{border-collapse:collapse;width:100%;background:#fff}th,td{border-bottom:1px solid #d8e5e0;padding:9px;text-align:left;font-size:13px}th{width:46%;color:#5b6f68}.url{color:#08755d;font-weight:700}@media print{button{display:none}}<\/style><\/head><body><header><img decoding=\"async\" src=\"' + CONFIG.logoUrl + '\" alt=\"InversionesGuru\"><span class=\"url\">' + CONFIG.siteUrl + '<\/span><\/header><h1>Simulaci\u00f3n de Cuenta Nu y Cajitas<\/h1><div class=\"hero\"><span>GANANCIA NETA ESTIMADA<\/span><strong>' + escapeHtml(report.headline.net) + '<\/strong><div class=\"metrics\"><div><span>Aportado<\/span><b>' + escapeHtml(report.headline.invested) + '<\/b><\/div><div><span>Saldo final<\/span><b>' + escapeHtml(report.headline.final) + '<\/b><\/div><div><span>Tasa<\/span><b>' + escapeHtml(report.headline.rate) + '<\/b><\/div><\/div><\/div><p>Reporte informativo. Elige Imprimir y luego Guardar como PDF.<\/p><h2>Datos ingresados<\/h2><table>' + list(report.inputs) + '<\/table><h2>Detalle del resultado<\/h2><table>' + list(report.summary) + '<\/table><p>' + escapeHtml(report.disclaimer) + '<\/p><button onclick=\"window.print()\">Imprimir \/ guardar como PDF<\/button><\/body><\/html>');\r\n    popup.document.close(); popup.focus(); setTimeout(() => popup.print(), 350);\r\n  }\r\n\r\n  async function downloadPdf() {\r\n    if (!state.lastReport) return;\r\n    const original = el.pdf.innerHTML;\r\n    el.pdf.disabled = true;\r\n    el.pdf.textContent = 'Generando PDF...';\r\n    el.pdfStatus.textContent = 'Preparando reporte y logo oficial.';\r\n    try {\r\n      const jsPDF = await ensureJsPdf();\r\n      let logoDataUrl = null;\r\n      try { logoDataUrl = await ensureLogoDataUrl(); } catch (logoError) {}\r\n      exportPdf(jsPDF, state.lastReport, logoDataUrl);\r\n      el.pdfStatus.textContent = logoDataUrl ? 'PDF descargado con el logo oficial de InversionesGuru.' : 'PDF descargado. No fue posible insertar el logo, se us\u00f3 el sello IG.';\r\n    } catch (error) {\r\n      try { printFallback(state.lastReport); el.pdfStatus.textContent = 'Se abri\u00f3 la vista de impresi\u00f3n. Elige Guardar como PDF.'; }\r\n      catch (fallbackError) { el.pdfStatus.textContent = 'No fue posible generar el PDF. Revisa permisos de descargas o ventanas emergentes.'; }\r\n    } finally {\r\n      el.pdf.innerHTML = original;\r\n      el.pdf.disabled = !state.lastReport;\r\n    }\r\n  }\r\n\r\n  function init() {\r\n    const today = toYMD(new Date());\r\n    el.startDate.value = today;\r\n    el.nuPlusStartDate.value = today;\r\n\r\n    root.querySelectorAll('.ig-money-input').forEach(input => {\r\n      input.addEventListener('input', () => {\r\n        input.value = formatMoneyInput(input.value);\r\n        try { input.setSelectionRange(input.value.length, input.value.length); } catch (error) {}\r\n      });\r\n      input.addEventListener('blur', () => { input.value = formatMoneyInput(input.value); });\r\n    });\r\n\r\n    el.customRate.addEventListener('input', () => {\r\n      el.customRate.value = el.customRate.value.replace(\/[^\\d.,]\/g, '').slice(0, 8);\r\n      updateSideRatePreview();\r\n    });\r\n    el.product.addEventListener('change', updateProductUI);\r\n    el.nuPlus.addEventListener('change', () => {\r\n      el.nuPlusStartWrap.classList.toggle('ig-hidden', !el.nuPlus.checked || !isCajita(el.product.value));\r\n      if (el.nuPlus.checked && !el.nuPlusStartDate.value) el.nuPlusStartDate.value = el.startDate.value || today;\r\n      updateSideRatePreview();\r\n    });\r\n    el.startDate.addEventListener('change', () => {\r\n      if (!el.nuPlusStartDate.value) el.nuPlusStartDate.value = el.startDate.value;\r\n    });\r\n    if (el.monthlyDetails) el.monthlyDetails.addEventListener('toggle', () => { if (el.monthlyDetails.open) renderMonthlyTable(); });\r\n    if (el.dailyDetails) el.dailyDetails.addEventListener('toggle', () => { if (el.dailyDetails.open) renderDailyTable(); });\r\n    el.calculate.addEventListener('click', calculate);\r\n    el.reset.addEventListener('click', reset);\r\n    el.pdf.addEventListener('click', downloadPdf);\r\n\r\n    loadState();\r\n    updateProductUI();\r\n  }\r\n\r\n  init();\r\n})();\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-978fe1d e-flex e-con-boxed e-con e-parent\" data-id=\"978fe1d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ddd118a elementor-widget elementor-widget-html\" data-id=\"ddd118a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t <div class=\"financial-note\">\r\n        <div class=\"financial-note-icon\">\r\n            <span>&#9888;&#65039;<\/span> <!-- Emoji de advertencia -->\r\n        <\/div>\r\n        <div class=\"financial-note-content\">\r\n            Tasa de rendimiento actual de NUBANK en <span id=\"dynamic-date\">[Mes y A\u00f1o]<\/span> es del: <span class=\"rate-value\">9.30% E.A<\/span>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n        \/\/ Este script se encarga de actualizar el mes y el a\u00f1o autom\u00e1ticamente.\r\n        document.addEventListener('DOMContentLoaded', function() {\r\n            \/\/ Obtenemos el elemento donde se mostrar\u00e1 la fecha\r\n            const dateElement = document.getElementById('dynamic-date');\r\n\r\n            \/\/ Creamos un objeto de fecha\r\n            const now = new Date();\r\n\r\n            \/\/ Lista de nombres de los meses en espa\u00f1ol\r\n            const monthNames = [\r\n                \"enero\", \"febrero\", \"marzo\", \"abril\", \"mayo\", \"junio\",\r\n                \"julio\", \"agosto\", \"septiembre\", \"octubre\", \"noviembre\", \"diciembre\"\r\n            ];\r\n\r\n            \/\/ Obtenemos el nombre del mes actual y el a\u00f1o\r\n            const month = monthNames[now.getMonth()];\r\n            const year = now.getFullYear();\r\n\r\n            \/\/ Formateamos el texto y lo insertamos en el HTML\r\n            \/\/ La 'primera letra en may\u00fascula' se maneja con CSS si se desea,\r\n            \/\/ pero aqu\u00ed lo hacemos con JS para mayor control.\r\n            const formattedMonth = month.charAt(0).toUpperCase() + month.slice(1);\r\n            dateElement.textContent = `${formattedMonth} de ${year}`;\r\n        });\r\n    <\/script>\r\n    \r\n     <style>\r\n        \/* Estilos para el contenedor del aviso *\/\r\n        .financial-note {\r\n            font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\r\n            background-color: #fffbe6; \/* Un fondo amarillo p\u00e1lido para llamar la atenci\u00f3n *\/\r\n            color: #5c4800; \/* Color de texto oscuro para legibilidad *\/\r\n            border-left: 5px solid #ffc107; \/* Borde izquierdo de acento de color \u00e1mbar *\/\r\n            padding: 1.5rem; \/* Espaciado interno generoso *\/\r\n            margin: 2rem auto; \/* Centrado y con espacio exterior *\/\r\n            border-radius: 8px; \/* Bordes redondeados *\/\r\n            max-width: 800px; \/* Ancho m\u00e1ximo para mantener la legibilidad *\/\r\n            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); \/* Sombra sutil para darle profundidad *\/\r\n            display: flex; \/* Usamos flexbox para alinear el \u00edcono y el texto *\/\r\n            align-items: center; \/* Alineaci\u00f3n vertical *\/\r\n            gap: 1.25rem; \/* Espacio entre el \u00edcono y el texto *\/\r\n        }\r\n\r\n        \/* Estilos para el \u00edcono de advertencia *\/\r\n        .financial-note-icon {\r\n            font-size: 1.8rem;\r\n            flex-shrink: 0; \/* Evita que el \u00edcono se encoja *\/\r\n        }\r\n\r\n        \/* Estilos para el contenido de texto *\/\r\n        .financial-note-content {\r\n            font-size: 1.1rem; \/* Tama\u00f1o de fuente ligeramente m\u00e1s grande *\/\r\n            line-height: 1.6; \/* Altura de l\u00ednea para mejor lectura *\/\r\n        }\r\n\r\n        \/* Estilo para la parte din\u00e1mica del mes y el a\u00f1o *\/\r\n        .financial-note-content #dynamic-date {\r\n            font-weight: 600; \/* Hacemos la fecha un poco m\u00e1s audaz *\/\r\n        }\r\n\r\n         \/* Estilo para el valor de la tasa *\/\r\n        .rate-value {\r\n            font-weight: 700; \/* Hacemos el valor de la tasa m\u00e1s audaz *\/\r\n            color: #c0392b; \/* Un color rojo sutil para el valor *\/\r\n        }\r\n    <\/style>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a469ee6 e-flex e-con-boxed e-con e-parent\" data-id=\"a469ee6\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-909a51b elementor-widget elementor-widget-text-editor\" data-id=\"909a51b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<h2 class=\"PDq2pG_selectionAnchorContainer\" data-section-id=\"9xp17r\" data-start=\"965\" data-end=\"1048\"><span style=\"color: #000000;\">Calculadora de ahorros Nu Colombia 2026: cu\u00e1nto rinden las Cajitas al 9,30% E.A.<\/span><\/h2><p data-start=\"1050\" data-end=\"1324\"><span style=\"color: #000000;\">\u00bfQuieres saber <strong data-start=\"1065\" data-end=\"1109\">cu\u00e1nto ganar\u00edas ahorrando en Nu Colombia<\/strong>? Con nuestro simulador puedes calcular en segundos cu\u00e1nto podr\u00eda crecer tu dinero en una <strong data-start=\"1199\" data-end=\"1212\">Cajita Nu<\/strong>, comparar diferentes plazos, a\u00f1adir aportes mensuales y ver tanto la <strong data-start=\"1282\" data-end=\"1303\">ganancia estimada<\/strong> como el saldo final.<\/span><\/p><p data-start=\"1326\" data-end=\"1597\"><span style=\"color: #000000;\">Actualmente, la p\u00e1gina oficial de Cuenta Nu informa una rentabilidad de <strong data-start=\"1398\" data-end=\"1429\">9,30% E.A. para las Cajitas<\/strong>. Es importante diferenciarla del dinero que permanece disponible en la cuenta principal, cuya tasa publicada es de <strong data-start=\"1545\" data-end=\"1559\">0,10% E.A.<\/strong><\/span><\/p><p data-start=\"1599\" data-end=\"1920\"><span style=\"color: #000000;\">Si tienes <strong data-start=\"1609\" data-end=\"1620\">Nu Plus<\/strong> y cumples las condiciones del programa, Nu establece un rendimiento adicional de <strong data-start=\"1702\" data-end=\"1756\">0,50 puntos porcentuales E.A. en todas tus Cajitas<\/strong> a partir del periodo en que corresponda. Con una tasa base de 9,30% E.A., esto puede llevar la tasa simulada a <strong data-start=\"1868\" data-end=\"1882\">9,80% E.A.<\/strong><\/span><\/p><blockquote data-start=\"1922\" data-end=\"2138\"><p data-start=\"1924\" data-end=\"2138\"><span style=\"color: #000000;\"><strong data-start=\"1924\" data-end=\"1971\">Tasa usada por defecto en esta calculadora:<\/strong> 9,30% E.A.<\/span><br data-start=\"1982\" data-end=\"1985\" \/><span style=\"color: #000000;\">Las tasas de Nu pueden cambiar. Antes de tomar una decisi\u00f3n, verifica en la app o en la p\u00e1gina oficial de Nu la tasa que est\u00e9 vigente para tus Cajitas.<\/span><\/p><\/blockquote><h2 data-section-id=\"1c8d2ue\" data-start=\"2140\" data-end=\"2184\"><span style=\"color: #000000;\">\u00bfCu\u00e1nto paga Nu Colombia por tus ahorros?<\/span><\/h2><p data-start=\"2186\" data-end=\"2311\"><span style=\"color: #000000;\">No todo el dinero dentro de Cuenta Nu recibe la misma rentabilidad. La diferencia principal est\u00e1 en d\u00f3nde mantienes el saldo:<\/span><\/p><div class=\"group TyagGW_tableContainer\"><div class=\"TyagGW_tableWrapper flex flex-col-reverse w-fit\" tabindex=\"-1\"><table class=\"w-fit min-w-(--thread-content-width)\" data-start=\"2313\" data-end=\"2685\"><thead data-start=\"2313\" data-end=\"2364\"><tr data-start=\"2313\" data-end=\"2364\"><th class=\"last:pe-10\" data-start=\"2313\" data-end=\"2325\" data-col-size=\"sm\"><span style=\"color: #000000;\">Modalidad<\/span><\/th><th class=\"last:pe-10\" data-start=\"2325\" data-end=\"2346\" data-col-size=\"md\"><span style=\"color: #000000;\">Tasa de referencia<\/span><\/th><th class=\"last:pe-10\" data-start=\"2346\" data-end=\"2364\" data-col-size=\"md\"><span style=\"color: #000000;\">Disponibilidad<\/span><\/th><\/tr><\/thead><tbody data-start=\"2380\" data-end=\"2685\"><tr data-start=\"2380\" data-end=\"2460\"><td data-start=\"2380\" data-end=\"2397\" data-col-size=\"sm\"><span style=\"color: #000000;\"><strong data-start=\"2382\" data-end=\"2396\">Cajitas Nu<\/strong><\/span><\/td><td data-col-size=\"md\" data-start=\"2397\" data-end=\"2414\"><span style=\"color: #000000;\"><strong data-start=\"2399\" data-end=\"2413\">9,30% E.A.<\/strong><\/span><\/td><td data-col-size=\"md\" data-start=\"2414\" data-end=\"2460\"><span style=\"color: #000000;\">Puedes mover el dinero cuando lo necesites<\/span><\/td><\/tr><tr data-start=\"2461\" data-end=\"2580\"><td data-start=\"2461\" data-end=\"2487\" data-col-size=\"sm\"><span style=\"color: #000000;\"><strong data-start=\"2463\" data-end=\"2486\">Cajitas con Nu Plus<\/strong><\/span><\/td><td data-col-size=\"md\" data-start=\"2487\" data-end=\"2541\"><span style=\"color: #000000;\"><strong data-start=\"2489\" data-end=\"2503\">9,80% E.A.<\/strong> si aplica el beneficio de +0,50 p.p.<\/span><\/td><td data-col-size=\"md\" data-start=\"2541\" data-end=\"2580\"><span style=\"color: #000000;\">Sujeto a las condiciones de Nu Plus<\/span><\/td><\/tr><tr data-start=\"2581\" data-end=\"2685\"><td data-start=\"2581\" data-end=\"2618\" data-col-size=\"sm\"><span style=\"color: #000000;\"><strong data-start=\"2583\" data-end=\"2617\">Dinero disponible en Cuenta Nu<\/strong><\/span><\/td><td data-col-size=\"md\" data-start=\"2618\" data-end=\"2635\"><span style=\"color: #000000;\"><strong data-start=\"2620\" data-end=\"2634\">0,10% E.A.<\/strong><\/span><\/td><td data-col-size=\"md\" data-start=\"2635\" data-end=\"2685\"><span style=\"color: #000000;\">Disponible directamente para usar o transferir<\/span><\/td><\/tr><\/tbody><\/table><\/div><\/div><p data-start=\"2687\" data-end=\"2848\"><span style=\"color: #000000;\">Nu se\u00f1ala adem\u00e1s que el dinero de las Cajitas genera rendimientos y que estos pueden verse diariamente desde la aplicaci\u00f3n.<\/span><\/p><p data-start=\"2850\" data-end=\"2989\"><span style=\"color: #000000;\">Por eso, si tu objetivo es obtener rentabilidad sin bloquear el dinero en un CDT, <strong data-start=\"2932\" data-end=\"2988\">las Cajitas son el componente relevante para simular<\/strong>.<\/span><\/p><h2 data-section-id=\"2cyx0d\" data-start=\"2991\" data-end=\"3038\"><span style=\"color: #000000;\">\u00bfC\u00f3mo funciona la calculadora de Cajitas Nu?<\/span><\/h2><p data-start=\"3040\" data-end=\"3211\"><span style=\"color: #000000;\">El simulador parte de la <strong data-start=\"3065\" data-end=\"3095\">tasa efectiva anual (E.A.)<\/strong> y la transforma en una tasa diaria equivalente para proyectar el crecimiento del dinero mediante inter\u00e9s compuesto.<\/span><\/p><p data-start=\"3213\" data-end=\"3265\"><span style=\"color: #000000;\">La f\u00f3rmula utilizada para estimar la tasa diaria es:<\/span><\/p><p data-start=\"3267\" data-end=\"3312\"><span style=\"color: #000000;\"><strong data-start=\"3267\" data-end=\"3312\">Tasa diaria = (1 + tasa E.A.)^(1\/365) \u2212 1<\/strong><\/span><\/p><p data-start=\"3314\" data-end=\"3489\"><span style=\"color: #000000;\">Esto permite calcular c\u00f3mo podr\u00eda evolucionar el saldo d\u00eda a d\u00eda y tener en cuenta que los rendimientos que permanecen en la cuenta tambi\u00e9n pueden generar nuevos rendimientos.<\/span><\/p><p data-start=\"3491\" data-end=\"3728\"><span style=\"color: #000000;\">Adem\u00e1s del saldo inicial, la calculadora permite incorporar <strong data-start=\"3551\" data-end=\"3572\">aportes mensuales<\/strong>, elegir el n\u00famero de d\u00edas, simular <strong data-start=\"3608\" data-end=\"3619\">Nu Plus<\/strong>, estimar una eventual retenci\u00f3n en la fuente y visualizar el crecimiento del saldo en diferentes horizontes.<\/span><\/p><h2 data-section-id=\"krpgiu\" data-start=\"3730\" data-end=\"3799\"><span style=\"color: #000000;\">Ejemplo: \u00bfcu\u00e1nto rinden $5.000.000 en una Cajita Nu al 9,30% E.A.?<\/span><\/h2><p data-start=\"3801\" data-end=\"3950\"><span style=\"color: #000000;\">Supongamos que depositas <strong data-start=\"3826\" data-end=\"3840\">$5.000.000<\/strong>, no realizas aportes adicionales y mantienes el dinero en una Cajita con una tasa constante de <strong data-start=\"3936\" data-end=\"3950\">9,30% E.A.<\/strong><\/span><\/p><p data-start=\"3952\" data-end=\"3994\"><span style=\"color: #000000;\">La proyecci\u00f3n matem\u00e1tica aproximada ser\u00eda:<\/span><\/p><div class=\"group TyagGW_tableContainer\"><div class=\"TyagGW_tableWrapper flex flex-col-reverse w-fit\" tabindex=\"-1\"><table class=\"w-fit min-w-(--thread-content-width)\" data-start=\"3996\" data-end=\"4209\"><thead data-start=\"3996\" data-end=\"4048\"><tr data-start=\"3996\" data-end=\"4048\"><th class=\"last:pe-10\" data-start=\"3996\" data-end=\"4004\" data-col-size=\"sm\"><span style=\"color: #000000;\">Plazo<\/span><\/th><th class=\"last:pe-10\" data-start=\"4004\" data-end=\"4030\" data-col-size=\"sm\"><span style=\"color: #000000;\">Ganancia bruta estimada<\/span><\/th><th class=\"last:pe-10\" data-start=\"4030\" data-end=\"4048\" data-col-size=\"sm\"><span style=\"color: #000000;\">Saldo estimado<\/span><\/th><\/tr><\/thead><tbody data-start=\"4065\" data-end=\"4209\"><tr data-start=\"4065\" data-end=\"4111\"><td data-start=\"4065\" data-end=\"4079\" data-col-size=\"sm\"><span style=\"color: #000000;\"><strong data-start=\"4067\" data-end=\"4078\">30 d\u00edas<\/strong><\/span><\/td><td data-start=\"4079\" data-end=\"4093\" data-col-size=\"sm\"><span style=\"color: #000000;\"><strong data-start=\"4081\" data-end=\"4092\">$36.679<\/strong><\/span><\/td><td data-col-size=\"sm\" data-start=\"4093\" data-end=\"4111\"><span style=\"color: #000000;\"><strong data-start=\"4095\" data-end=\"4109\">$5.036.679<\/strong><\/span><\/td><\/tr><tr data-start=\"4112\" data-end=\"4160\"><td data-start=\"4112\" data-end=\"4127\" data-col-size=\"sm\"><span style=\"color: #000000;\"><strong data-start=\"4114\" data-end=\"4126\">180 d\u00edas<\/strong><\/span><\/td><td data-col-size=\"sm\" data-start=\"4127\" data-end=\"4142\"><span style=\"color: #000000;\"><strong data-start=\"4129\" data-end=\"4141\">$224.149<\/strong><\/span><\/td><td data-col-size=\"sm\" data-start=\"4142\" data-end=\"4160\"><span style=\"color: #000000;\"><strong data-start=\"4144\" data-end=\"4158\">$5.224.149<\/strong><\/span><\/td><\/tr><tr data-start=\"4161\" data-end=\"4209\"><td data-start=\"4161\" data-end=\"4176\" data-col-size=\"sm\"><span style=\"color: #000000;\"><strong data-start=\"4163\" data-end=\"4175\">365 d\u00edas<\/strong><\/span><\/td><td data-col-size=\"sm\" data-start=\"4176\" data-end=\"4191\"><span style=\"color: #000000;\"><strong data-start=\"4178\" data-end=\"4190\">$465.000<\/strong><\/span><\/td><td data-col-size=\"sm\" data-start=\"4191\" data-end=\"4209\"><span style=\"color: #000000;\"><strong data-start=\"4193\" data-end=\"4207\">$5.465.000<\/strong><\/span><\/td><\/tr><\/tbody><\/table><\/div><\/div><p data-start=\"4211\" data-end=\"4311\"><span style=\"color: #000000;\">Estos valores son estimativos y suponen que la tasa permanece en 9,30% E.A. durante todo el periodo.<\/span><\/p><p data-start=\"4313\" data-end=\"4514\"><span style=\"color: #000000;\">En un a\u00f1o completo, una tasa efectiva anual de 9,30% implica aproximadamente <strong data-start=\"4390\" data-end=\"4441\">$465.000 de rendimiento bruto sobre $5 millones<\/strong>, antes de considerar una eventual retenci\u00f3n u otros factores aplicables.<\/span><\/p><h2 data-section-id=\"1gwvd4w\" data-start=\"4516\" data-end=\"4548\"><span style=\"color: #000000;\">\u00bfCu\u00e1nto ganar\u00edas con Nu Plus?<\/span><\/h2><p data-start=\"4550\" data-end=\"4997\"><span style=\"color: #000000;\">Los t\u00e9rminos de Nu Plus vigentes desde junio de 2026 establecen un beneficio autom\u00e1tico de <strong data-start=\"4641\" data-end=\"4680\">0,50% E.A. adicional en las Cajitas<\/strong>. Nu tambi\u00e9n establece actualmente un gasto m\u00ednimo de <strong data-start=\"4734\" data-end=\"4746\">$900.000<\/strong> dentro del periodo definido por el programa y otras condiciones de elegibilidad. El rendimiento adicional empieza a aplicarse desde el primer d\u00eda del mes siguiente al periodo en el que se cumpli\u00f3 el gasto m\u00ednimo.<\/span><\/p><p data-start=\"4999\" data-end=\"5093\"><span style=\"color: #000000;\">Si tomamos como referencia una Cajita al 9,30% E.A., el simulador puede proyectar una tasa de:<\/span><\/p><p data-start=\"5095\" data-end=\"5144\"><span style=\"color: #000000;\"><strong data-start=\"5095\" data-end=\"5144\">9,30% + 0,50 puntos porcentuales = 9,80% E.A.<\/strong><\/span><\/p><p data-start=\"5146\" data-end=\"5303\"><span style=\"color: #000000;\">Con $5.000.000 mantenidos durante 365 d\u00edas al 9,80% E.A., la ganancia bruta matem\u00e1tica ser\u00eda aproximadamente de <strong data-start=\"5258\" data-end=\"5270\">$490.000<\/strong>, frente a $465.000 al 9,30% E.A.<\/span><\/p><p data-start=\"5305\" data-end=\"5488\"><span style=\"color: #000000;\">La diferencia ser\u00eda cercana a <strong data-start=\"5335\" data-end=\"5368\">$25.000 adicionales en un a\u00f1o<\/strong> para ese saldo, suponiendo que la tasa y el beneficio se mantengan durante todo el periodo y que Nu Plus sea aplicable.<\/span><\/p><h2 data-section-id=\"6g2dbe\" data-start=\"5490\" data-end=\"5556\"><span style=\"color: #000000;\">\u00bfLas ganancias de las Cajitas Nu tienen retenci\u00f3n en la fuente?<\/span><\/h2><p data-start=\"5558\" data-end=\"5681\"><span style=\"color: #000000;\">Pueden tenerla, pero <strong data-start=\"5579\" data-end=\"5650\">no es correcto restar autom\u00e1ticamente un 7% a cualquier rendimiento<\/strong>, independientemente del monto.<\/span><\/p><p data-start=\"5683\" data-end=\"5853\"><span style=\"color: #000000;\">Nu se\u00f1ala que los intereses generados en Cuenta Nu y en las Cajitas <strong data-start=\"5751\" data-end=\"5814\">podr\u00edan estar sometidos a una retenci\u00f3n en la fuente del 7%<\/strong>.<\/span><\/p><p data-start=\"5855\" data-end=\"6210\"><span style=\"color: #000000;\">Para cuentas de ahorro diferentes del antiguo sistema UPAC, la regulaci\u00f3n recopilada por la DIAN establece que no se practica retenci\u00f3n cuando el inter\u00e9s diario es inferior a <strong data-start=\"6030\" data-end=\"6043\">0,055 UVT<\/strong>. Para 2026, la UVT est\u00e1 fijada en <strong data-start=\"6078\" data-end=\"6089\">$52.374<\/strong>, por lo que ese umbral equivale aproximadamente a <strong data-start=\"6140\" data-end=\"6171\">$2.880,57 de inter\u00e9s diario<\/strong>.<\/span><\/p><p data-start=\"6212\" data-end=\"6464\"><span style=\"color: #000000;\">En el ejemplo de $5.000.000 al 9,30% E.A., el inter\u00e9s inicial estimado es de aproximadamente <strong data-start=\"6305\" data-end=\"6323\">$1.218 diarios<\/strong>, por debajo de ese umbral. Por eso, bajo los supuestos utilizados por nuestra calculadora, <strong data-start=\"6415\" data-end=\"6463\">no se estimar\u00eda retenci\u00f3n para ese escenario<\/strong>.<\/span><\/p><p data-start=\"6466\" data-end=\"6658\"><span style=\"color: #000000;\">La retenci\u00f3n real puede depender de c\u00f3mo se produzca el pago o abono de los rendimientos y de las condiciones tributarias aplicables, por lo que el c\u00e1lculo debe entenderse como una referencia.<\/span><\/p><h2 data-section-id=\"u3dh2q\" data-start=\"6660\" data-end=\"6740\"><span style=\"color: #000000;\">\u00bfQu\u00e9 diferencia hay entre dejar el dinero disponible y ponerlo en una Cajita?<\/span><\/h2><p data-start=\"6742\" data-end=\"6810\"><span style=\"color: #000000;\">Es una diferencia importante si tu objetivo es obtener rentabilidad.<\/span><\/p><p data-start=\"6812\" data-end=\"7056\"><span style=\"color: #000000;\">El documento oficial de tarifas de Nu se\u00f1ala una tasa de <strong data-start=\"6869\" data-end=\"6909\">0,10% E.A. para el dinero disponible<\/strong> en la Cuenta de Ahorros Nu, mientras que para las Cajitas remite a la tasa vigente publicada por la entidad.<\/span><\/p><p data-start=\"7058\" data-end=\"7210\"><span style=\"color: #000000;\">Por ejemplo, sobre $5.000.000 mantenidos durante un a\u00f1o completo, la diferencia entre una tasa de 0,10% E.A. y una de 9,30% E.A. puede ser considerable.<\/span><\/p><p data-start=\"7212\" data-end=\"7390\"><span style=\"color: #000000;\">Por eso nuestra calculadora permite seleccionar por separado <strong data-start=\"7273\" data-end=\"7293\">saldo disponible<\/strong> o <strong data-start=\"7296\" data-end=\"7309\">Cajita Nu<\/strong>, evitando presentar ambas alternativas como si ofrecieran la misma rentabilidad.<\/span><\/p><h2 data-section-id=\"15sfiui\" data-start=\"7392\" data-end=\"7451\"><span style=\"color: #000000;\">\u00bfPuedo retirar el dinero de una Cajita Nu cuando quiera?<\/span><\/h2><p data-start=\"7453\" data-end=\"7758\"><span style=\"color: #000000;\">Las Cajitas est\u00e1n dise\u00f1adas para separar dinero dentro de Cuenta Nu por objetivos de ahorro. Nu las presenta como una forma de organizar el dinero y permite mover recursos de las Cajitas cuando los necesitas, a diferencia de un CDT, donde existe un plazo determinado.<\/span><\/p><p data-start=\"7760\" data-end=\"7956\"><span style=\"color: #000000;\">Esto hace que las Cajitas puedan resultar \u00fatiles para objetivos como un fondo de emergencia, vacaciones, matr\u00edcula, compra futura o simplemente separar dinero que no quieres gastar inmediatamente.<\/span><\/p><h2 data-section-id=\"vl5wwq\" data-start=\"7958\" data-end=\"8005\"><span style=\"color: #000000;\">\u00bfEl dinero en Nu est\u00e1 protegido por Fogaf\u00edn?<\/span><\/h2><p data-start=\"8007\" data-end=\"8268\"><span style=\"color: #000000;\">El Seguro de Dep\u00f3sitos de Fogaf\u00edn protege a los depositantes de entidades inscritas ante una eventual liquidaci\u00f3n, actualmente <strong data-start=\"8134\" data-end=\"8186\">hasta por $50 millones por persona y por entidad<\/strong>, de acuerdo con las condiciones del seguro.<\/span><\/p><p data-start=\"8270\" data-end=\"8449\"><span style=\"color: #000000;\">Por esa raz\u00f3n, nuestro simulador incluye la posibilidad de indicar otros saldos que tengas en Nu y mostrar una estimaci\u00f3n de cu\u00e1nto estar\u00eda dentro del l\u00edmite general de cobertura.<\/span><\/p><h2 data-section-id=\"12tt3iy\" data-start=\"8451\" data-end=\"8495\"><span style=\"color: #000000;\">\u00bfLa tasa de las Cajitas Nu puede cambiar?<\/span><\/h2><p data-start=\"8497\" data-end=\"8558\"><span style=\"color: #000000;\">S\u00ed. <strong data-start=\"8501\" data-end=\"8558\">La tasa no debe interpretarse como fija para siempre.<\/strong><\/span><\/p><p data-start=\"8560\" data-end=\"8838\"><span style=\"color: #000000;\">La propia documentaci\u00f3n de Nu remite a su p\u00e1gina para consultar la rentabilidad vigente de las Cajitas, mientras que otros par\u00e1metros como la tasa del dinero disponible y el beneficio adicional de Nu Plus aparecen definidos separadamente.<\/span><\/p><p data-start=\"8840\" data-end=\"8996\"><span style=\"color: #000000;\">Por eso el simulador utiliza <strong data-start=\"8869\" data-end=\"8914\">9,30% E.A. como tasa de referencia actual<\/strong>, pero tambi\u00e9n permite escribir manualmente la tasa que aparezca en tu aplicaci\u00f3n.<\/span><\/p><p data-start=\"8998\" data-end=\"9089\"><span style=\"color: #000000;\">As\u00ed puedes seguir utilizando la calculadora aunque Nu modifique nuevamente la rentabilidad.<\/span><\/p><h2 data-section-id=\"hni050\" data-start=\"9091\" data-end=\"9151\"><span style=\"color: #000000;\">\u00bfC\u00f3mo saber cu\u00e1nto me rinde Nu seg\u00fan el dinero que tengo?<\/span><\/h2><p data-start=\"9153\" data-end=\"9226\"><span style=\"color: #000000;\">La forma m\u00e1s sencilla es utilizar el simulador que tienes en esta p\u00e1gina.<\/span><\/p><p data-start=\"9228\" data-end=\"9423\"><span style=\"color: #000000;\">Introduce el saldo que quieres ahorrar, selecciona la Cajita Nu, define durante cu\u00e1nto tiempo mantendr\u00edas el dinero y, si corresponde, indica si tienes activo el rendimiento adicional de Nu Plus.<\/span><\/p><p data-start=\"9425\" data-end=\"9471\"><span style=\"color: #000000;\">El resultado destaca primero el dato m\u00e1s \u00fatil:<\/span><\/p><p data-start=\"9473\" data-end=\"9544\"><span style=\"color: #000000;\"><strong data-start=\"9473\" data-end=\"9544\">cu\u00e1nto dinero habr\u00edas ganado realmente durante el periodo simulado.<\/strong><\/span><\/p><p data-start=\"9546\" data-end=\"9718\"><span style=\"color: #000000;\">Despu\u00e9s puedes consultar el saldo final, inter\u00e9s bruto, tasa utilizada, posibles retenciones, evoluci\u00f3n mensual, crecimiento d\u00eda a d\u00eda y estimaci\u00f3n de cobertura de Fogaf\u00edn.<\/span><\/p><h3 data-section-id=\"js1ou2\" data-start=\"9720\" data-end=\"9734\"><span style=\"color: #000000;\">En resumen<\/span><\/h3><p data-start=\"9736\" data-end=\"10062\"><span style=\"color: #000000;\">Con la referencia actual de <strong data-start=\"9764\" data-end=\"9778\">9,30% E.A.<\/strong>, $5 millones mantenidos durante un a\u00f1o completo generar\u00edan aproximadamente <strong data-start=\"9854\" data-end=\"9887\">$465.000 de rendimiento bruto<\/strong>, suponiendo que la tasa no cambie durante el periodo. Con el beneficio adicional de <strong data-start=\"9972\" data-end=\"9983\">Nu Plus<\/strong>, una tasa total de 9,80% E.A. llevar\u00eda esa estimaci\u00f3n a cerca de <strong data-start=\"10049\" data-end=\"10061\">$490.000<\/strong>.<\/span><\/p><p data-start=\"10064\" data-end=\"10244\"><span style=\"color: #000000;\">La cantidad real depender\u00e1 de la tasa que Nu mantenga en cada momento, los movimientos de tu cuenta, aportes o retiros, la aplicaci\u00f3n de Nu Plus y las retenciones que correspondan.<\/span><\/p><p data-start=\"10246\" data-end=\"10378\"><span style=\"color: #000000;\"><strong data-start=\"10246\" data-end=\"10378\">Usa la calculadora de Cuenta Nu y Cajitas de esta p\u00e1gina para introducir tu propio saldo y conocer una proyecci\u00f3n personalizada.<\/strong><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>IG Herramienta financiera Simulador de rentabilidad Nu: Cuenta de Ahorros y Cajitas Proyecta el saldo disponible de Cuenta Nu o una Cajita, con rendimiento diario, Nu Plus, retenci\u00f3n por umbral tributario y cobertura Fogaf\u00edn. Par\u00e1metros revisados: 09\/08\/2026 Cuenta Nu y Cajitas Visualiza c\u00f3mo puede crecer tu dinero d\u00eda a d\u00eda. Selecciona entre el saldo disponible&#8230;<\/p>\n","protected":false},"author":1,"featured_media":4021,"template":"elementor_header_footer","meta":{"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-5863","herramientas","type-herramientas","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/herramientas\/5863","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/herramientas"}],"about":[{"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/types\/herramientas"}],"author":[{"embeddable":true,"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/users\/1"}],"version-history":[{"count":73,"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/herramientas\/5863\/revisions"}],"predecessor-version":[{"id":8801,"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/herramientas\/5863\/revisions\/8801"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/media\/4021"}],"wp:attachment":[{"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/media?parent=5863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}