{"id":5905,"date":"2025-01-11T18:37:22","date_gmt":"2025-01-11T23:37:22","guid":{"rendered":"https:\/\/inversionesguru.com\/co\/?post_type=herramientas&#038;p=5905"},"modified":"2026-05-30T11:44:22","modified_gmt":"2026-05-30T16:44:22","slug":"simulador-cuenta-de-ahorros-rappipay-colombia","status":"publish","type":"herramientas","link":"https:\/\/inversionesguru.com\/co\/herramientas\/simulador-cuenta-de-ahorros-rappipay-colombia\/","title":{"rendered":"Simulador Cuenta de Ahorros RappiPay Colombia"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"5905\" class=\"elementor elementor-5905\" data-elementor-post-type=\"herramientas\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9fd4a2c e-flex e-con-boxed e-con e-parent\" data-id=\"9fd4a2c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a025135 elementor-widget elementor-widget-html\" data-id=\"a025135\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"html.default\">\n\t\t\t\t\t<section id=\"ig-rappi-bovedas-sim\" aria-labelledby=\"ig-rappi-title\">\r\n  <style>\r\n    #ig-rappi-bovedas-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,.86);\r\n      --ig-line:rgba(23,51,47,.14);\r\n      --ig-line-strong:rgba(23,51,47,.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-green-soft:#dff8ed;\r\n      --ig-coral-soft:#ffe2d7;\r\n      --ig-warning:#b97809;\r\n      --ig-danger:#b42318;\r\n      --ig-shadow:0 24px 54px rgba(23,51,47,.12);\r\n      --ig-shadow-soft:0 14px 34px rgba(23,51,47,.08);\r\n      --ig-radius:10px;\r\n      display:block;\r\n      width:100%;\r\n      overflow:hidden;\r\n      color:var(--ig-ink);\r\n      background:\r\n        linear-gradient(90deg,rgba(15,159,122,.07) 1px,transparent 1px),\r\n        linear-gradient(180deg,rgba(23,51,47,.05) 1px,transparent 1px),\r\n        var(--ig-bg-a);\r\n      background-size:56px 56px,56px 56px,auto;\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      padding:28px 0;\r\n    }\r\n    #ig-rappi-bovedas-sim *,\r\n    #ig-rappi-bovedas-sim *::before,\r\n    #ig-rappi-bovedas-sim *::after{box-sizing:border-box;}\r\n    #ig-rappi-bovedas-sim :where(h1,h2,h3,p,ul,li,figure,blockquote){margin:0;padding:0;}\r\n    #ig-rappi-bovedas-sim :where(h1,h2,h3,p,a,strong,span,label,button,input,select,th,td){overflow-wrap:break-word;}\r\n    #ig-rappi-bovedas-sim button,\r\n    #ig-rappi-bovedas-sim input,\r\n    #ig-rappi-bovedas-sim select{font:inherit;}\r\n    #ig-rappi-bovedas-sim button,\r\n    #ig-rappi-bovedas-sim input,\r\n    #ig-rappi-bovedas-sim a{-webkit-tap-highlight-color:transparent;}\r\n    #ig-rappi-bovedas-sim .ig-wrap{width:min(1120px,calc(100% - 28px));max-width:100%;margin:0 auto;}\r\n    #ig-rappi-bovedas-sim .ig-tool-ribbon{\r\n      display:grid;\r\n      grid-template-columns:minmax(0,1fr) auto;\r\n      gap:16px;\r\n      align-items:center;\r\n      margin-bottom:16px;\r\n      padding:16px;\r\n      border:1px solid var(--ig-line);\r\n      border-radius:var(--ig-radius);\r\n      background:rgba(255,255,255,.84);\r\n      box-shadow:var(--ig-shadow-soft);\r\n    }\r\n    #ig-rappi-bovedas-sim .ig-kicker,\r\n    #ig-rappi-bovedas-sim .ig-tool-status{\r\n      display:inline-flex;\r\n      align-items:center;\r\n      gap:8px;\r\n      color:var(--ig-accent-dark);\r\n      font-size:12px;\r\n      font-weight:850;\r\n    }\r\n    #ig-rappi-bovedas-sim .ig-dot{width:9px;height:9px;border-radius:999px;background:var(--ig-accent);box-shadow:0 0 0 5px rgba(15,159,122,.14);}\r\n    #ig-rappi-bovedas-sim .ig-tool-ribbon strong{display:block;margin-top:4px;color:var(--ig-ink);font-size:15px;line-height:1.3;font-weight:900;}\r\n    #ig-rappi-bovedas-sim .ig-tool-ribbon p{margin-top:4px;color:var(--ig-muted);font-size:13px;}\r\n    #ig-rappi-bovedas-sim .ig-card{\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);\r\n      overflow:hidden;\r\n    }\r\n    #ig-rappi-bovedas-sim .ig-hero{\r\n      display:grid;\r\n      grid-template-columns:minmax(0,1.05fr) minmax(310px,.72fr);\r\n      gap:18px;\r\n      align-items:stretch;\r\n      margin-bottom:18px;\r\n    }\r\n    #ig-rappi-bovedas-sim .ig-hero-main{padding:28px;position:relative;}\r\n    #ig-rappi-bovedas-sim .ig-hero-main::after{\r\n      content:\"\";\r\n      position:absolute;\r\n      right:-70px;\r\n      top:-80px;\r\n      width:230px;\r\n      height:230px;\r\n      border-radius:999px;\r\n      background:radial-gradient(circle,rgba(239,106,74,.22),transparent 68%);\r\n      pointer-events:none;\r\n    }\r\n    #ig-rappi-bovedas-sim .ig-eyebrow{\r\n      display:inline-flex;\r\n      align-items:center;\r\n      gap:8px;\r\n      width:fit-content;\r\n      min-height:32px;\r\n      padding:6px 10px;\r\n      border:1px solid rgba(15,159,122,.24);\r\n      border-radius:var(--ig-radius);\r\n      background:rgba(255,255,255,.74);\r\n      color:var(--ig-accent-dark);\r\n      font-size:12px;\r\n      font-weight:850;\r\n    }\r\n    #ig-rappi-bovedas-sim h1{\r\n      max-width:760px;\r\n      margin-top:16px;\r\n      color:var(--ig-ink);\r\n      font-size:42px;\r\n      line-height:1.08;\r\n      font-weight:930;\r\n      letter-spacing:0;\r\n    }\r\n    #ig-rappi-bovedas-sim h1 span{color:var(--ig-coral-dark);}\r\n    #ig-rappi-bovedas-sim .ig-hero-copy{max-width:740px;margin-top:14px;color:var(--ig-muted);font-size:16px;line-height:1.72;}\r\n    #ig-rappi-bovedas-sim .ig-hero-side{\r\n      padding:22px;\r\n      background:\r\n        linear-gradient(135deg,rgba(239,106,74,.14),transparent 46%),\r\n        var(--ig-ink);\r\n      color:#fff;\r\n    }\r\n    #ig-rappi-bovedas-sim .ig-hero-side h2{color:#fff;font-size:22px;line-height:1.18;font-weight:930;}\r\n    #ig-rappi-bovedas-sim .ig-hero-side p{margin-top:10px;color:rgba(255,255,255,.76);font-size:14px;line-height:1.65;}\r\n    #ig-rappi-bovedas-sim .ig-rate-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:18px;}\r\n    #ig-rappi-bovedas-sim .ig-rate-pill{min-height:86px;padding:12px;border:1px solid rgba(255,255,255,.14);border-radius:var(--ig-radius);background:rgba(255,255,255,.08);}\r\n    #ig-rappi-bovedas-sim .ig-rate-pill small{display:block;color:rgba(255,255,255,.72);font-size:11px;font-weight:800;}\r\n    #ig-rappi-bovedas-sim .ig-rate-pill strong{display:block;margin-top:5px;color:#fff;font-size:22px;line-height:1.1;font-weight:930;}\r\n    #ig-rappi-bovedas-sim .ig-layout{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:18px;align-items:start;}\r\n    #ig-rappi-bovedas-sim .ig-form-card{padding:24px;}\r\n    #ig-rappi-bovedas-sim .ig-form-grid{display:grid;gap:16px;}\r\n    #ig-rappi-bovedas-sim .ig-field{display:grid;gap:8px;}\r\n    #ig-rappi-bovedas-sim label,\r\n    #ig-rappi-bovedas-sim .ig-label{color:var(--ig-ink-2);font-size:14px;font-weight:850;}\r\n    #ig-rappi-bovedas-sim .ig-help{color:var(--ig-muted);font-size:12px;line-height:1.45;}\r\n    #ig-rappi-bovedas-sim input[type=\"text\"],\r\n    #ig-rappi-bovedas-sim input[type=\"number\"],\r\n    #ig-rappi-bovedas-sim input[type=\"date\"],\r\n    #ig-rappi-bovedas-sim select{\r\n      width:100%;\r\n      min-height:50px;\r\n      padding:12px;\r\n      border:1px solid var(--ig-line);\r\n      border-radius:var(--ig-radius);\r\n      outline:0;\r\n      background:#fff;\r\n      color:var(--ig-ink);\r\n      transition:border-color 180ms ease,box-shadow 180ms ease,background-color 180ms ease;\r\n    }\r\n    #ig-rappi-bovedas-sim input:focus,\r\n    #ig-rappi-bovedas-sim select:focus{border-color:var(--ig-accent);box-shadow:0 0 0 4px rgba(15,159,122,.14);}\r\n    #ig-rappi-bovedas-sim .ig-segment{\r\n      display:grid;\r\n      grid-template-columns:repeat(2,minmax(0,1fr));\r\n      gap:10px;\r\n      padding:5px;\r\n      border:1px solid var(--ig-line);\r\n      border-radius:var(--ig-radius);\r\n      background:rgba(255,255,255,.72);\r\n    }\r\n    #ig-rappi-bovedas-sim .ig-segment button{\r\n      min-height:48px;\r\n      border:0;\r\n      border-radius:8px;\r\n      background:transparent;\r\n      color:var(--ig-muted);\r\n      cursor:pointer;\r\n      font-size:13px;\r\n      font-weight:850;\r\n      transition:background-color 180ms ease,color 180ms ease,box-shadow 180ms ease,transform 180ms ease;\r\n    }\r\n    #ig-rappi-bovedas-sim .ig-segment button[aria-pressed=\"true\"]{background:var(--ig-ink);color:#fff;box-shadow:0 12px 22px rgba(23,51,47,.16);}\r\n    #ig-rappi-bovedas-sim .ig-option-grid{display:grid;gap:10px;}\r\n    #ig-rappi-bovedas-sim .ig-option-grid.is-three{grid-template-columns:repeat(3,minmax(0,1fr));}\r\n    #ig-rappi-bovedas-sim .ig-option{\r\n      position:relative;\r\n      display:grid;\r\n      gap:5px;\r\n      min-height:86px;\r\n      padding:14px;\r\n      border:1px solid var(--ig-line);\r\n      border-radius:var(--ig-radius);\r\n      background:#fff;\r\n      cursor:pointer;\r\n      transition:transform 180ms ease,border-color 180ms ease,box-shadow 180ms ease,background-color 180ms ease;\r\n    }\r\n    #ig-rappi-bovedas-sim .ig-option:hover{transform:translateY(-2px);border-color:var(--ig-line-strong);box-shadow:var(--ig-shadow-soft);}\r\n    #ig-rappi-bovedas-sim .ig-option input{position:absolute;opacity:0;pointer-events:none;}\r\n    #ig-rappi-bovedas-sim .ig-option strong{color:var(--ig-ink);font-size:14px;font-weight:900;line-height:1.2;}\r\n    #ig-rappi-bovedas-sim .ig-option span{color:var(--ig-muted);font-size:12px;line-height:1.35;}\r\n    #ig-rappi-bovedas-sim .ig-option:has(input:checked){border-color:rgba(15,159,122,.44);background:var(--ig-bg-a);box-shadow:0 0 0 4px rgba(15,159,122,.08);}\r\n    #ig-rappi-bovedas-sim .ig-inline{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;}\r\n    #ig-rappi-bovedas-sim .ig-toggle{\r\n      display:flex;\r\n      gap:10px;\r\n      align-items:flex-start;\r\n      padding:13px;\r\n      border:1px solid var(--ig-line);\r\n      border-radius:var(--ig-radius);\r\n      background:#fff;\r\n      cursor:pointer;\r\n    }\r\n    #ig-rappi-bovedas-sim .ig-toggle input{width:18px;height:18px;margin-top:2px;accent-color:var(--ig-accent);}\r\n    #ig-rappi-bovedas-sim .ig-toggle strong{display:block;color:var(--ig-ink);font-size:13px;font-weight:900;}\r\n    #ig-rappi-bovedas-sim .ig-toggle span{display:block;margin-top:3px;color:var(--ig-muted);font-size:12px;line-height:1.35;}\r\n    #ig-rappi-bovedas-sim .ig-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;}\r\n    #ig-rappi-bovedas-sim .ig-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 16px;\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      transition:transform 180ms ease,background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease;\r\n    }\r\n    #ig-rappi-bovedas-sim .ig-btn:hover{transform:translateY(-2px);}\r\n    #ig-rappi-bovedas-sim .ig-btn-primary{background:var(--ig-ink);color:#fff;box-shadow:0 16px 28px rgba(23,51,47,.2);}\r\n    #ig-rappi-bovedas-sim .ig-btn-primary:hover{background:var(--ig-accent-dark);}\r\n    #ig-rappi-bovedas-sim .ig-btn-secondary{background:#fff;color:var(--ig-ink);border-color:var(--ig-line);}\r\n    #ig-rappi-bovedas-sim .ig-btn-secondary:hover{border-color:var(--ig-line-strong);background:var(--ig-bg-a);}\r\n    #ig-rappi-bovedas-sim .ig-msg{display:none;margin-top:14px;padding:13px;border-radius:var(--ig-radius);border:1px solid rgba(180,35,24,.22);background:#fff1f0;color:var(--ig-danger);font-size:13px;font-weight:750;}\r\n    #ig-rappi-bovedas-sim .ig-msg.is-visible{display:block;}\r\n    #ig-rappi-bovedas-sim .ig-results{display:none;gap:18px;}\r\n    #ig-rappi-bovedas-sim .ig-results.is-visible{display:grid;animation:ig-rappi-rise 360ms ease both;}\r\n    #ig-rappi-bovedas-sim .ig-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}\r\n    #ig-rappi-bovedas-sim .ig-kpi{\r\n      min-height:128px;\r\n      padding:16px;\r\n      border:1px solid var(--ig-line);\r\n      border-radius:var(--ig-radius);\r\n      background:#fff;\r\n      box-shadow:var(--ig-shadow-soft);\r\n    }\r\n    #ig-rappi-bovedas-sim .ig-kpi small{display:block;color:var(--ig-muted);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.02em;}\r\n    #ig-rappi-bovedas-sim .ig-kpi strong{display:block;margin-top:8px;color:var(--ig-ink);font-size:20px;line-height:1.12;font-weight:930;}\r\n    #ig-rappi-bovedas-sim .ig-kpi.is-final{background:var(--ig-ink);border-color:var(--ig-ink);}\r\n    #ig-rappi-bovedas-sim .ig-kpi.is-final small{color:rgba(255,255,255,.72);}\r\n    #ig-rappi-bovedas-sim .ig-kpi.is-final strong{color:#fff;font-size:22px;}\r\n    #ig-rappi-bovedas-sim .ig-kpi.is-green{border-left:4px solid var(--ig-accent);}\r\n    #ig-rappi-bovedas-sim .ig-kpi.is-coral{border-left:4px solid var(--ig-coral);}\r\n    #ig-rappi-bovedas-sim .ig-kpi em{display:block;margin-top:8px;color:var(--ig-muted);font-style:normal;font-size:12px;line-height:1.35;}\r\n    #ig-rappi-bovedas-sim .ig-visual-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.65fr);gap:16px;padding:20px;}\r\n    #ig-rappi-bovedas-sim .ig-chart-box{min-height:190px;border:1px dashed rgba(15,159,122,.3);border-radius:var(--ig-radius);background:linear-gradient(180deg,rgba(15,159,122,.08),transparent);padding:14px;}\r\n    #ig-rappi-bovedas-sim .ig-chart-box svg{display:block;width:100%;height:160px;overflow:visible;}\r\n    #ig-rappi-bovedas-sim .ig-chart-line{stroke-dasharray:400;stroke-dashoffset:400;animation:ig-rappi-draw 900ms ease forwards;}\r\n    #ig-rappi-bovedas-sim .ig-story{display:grid;gap:10px;align-content:start;}\r\n    #ig-rappi-bovedas-sim .ig-story h2{color:var(--ig-ink);font-size:22px;line-height:1.18;font-weight:930;}\r\n    #ig-rappi-bovedas-sim .ig-story p{color:var(--ig-muted);font-size:14px;line-height:1.65;}\r\n    #ig-rappi-bovedas-sim .ig-meter{height:10px;border-radius:999px;background:rgba(23,51,47,.08);overflow:hidden;}\r\n    #ig-rappi-bovedas-sim .ig-meter i{display:block;width:var(--ig-progress,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ig-accent),var(--ig-coral));transition:width 500ms ease;}\r\n    #ig-rappi-bovedas-sim .ig-section-card{padding:20px;}\r\n    #ig-rappi-bovedas-sim .ig-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px;}\r\n    #ig-rappi-bovedas-sim .ig-section-head h2{color:var(--ig-ink);font-size:22px;line-height:1.2;font-weight:930;}\r\n    #ig-rappi-bovedas-sim .ig-section-head p{margin-top:5px;color:var(--ig-muted);font-size:13px;}\r\n    #ig-rappi-bovedas-sim .ig-table-wrap{overflow:auto;border:1px solid var(--ig-line);border-radius:var(--ig-radius);background:#fff;}\r\n    #ig-rappi-bovedas-sim table{width:100%;min-width:760px;border-collapse:collapse;font-variant-numeric:tabular-nums;}\r\n    #ig-rappi-bovedas-sim th{padding:11px 12px;background:var(--ig-ink);color:#fff;font-size:11px;line-height:1.3;font-weight:850;text-align:left;white-space:nowrap;}\r\n    #ig-rappi-bovedas-sim td{padding:11px 12px;border-bottom:1px solid var(--ig-line);color:var(--ig-ink-2);font-size:13px;vertical-align:middle;}\r\n    #ig-rappi-bovedas-sim tbody tr:nth-child(even){background:rgba(239,251,246,.72);}\r\n    #ig-rappi-bovedas-sim tbody tr:last-child td{border-bottom:0;}\r\n    #ig-rappi-bovedas-sim .ig-money{font-weight:850;color:var(--ig-ink);white-space:nowrap;}\r\n    #ig-rappi-bovedas-sim .ig-positive{font-weight:850;color:var(--ig-accent-dark);white-space:nowrap;}\r\n    #ig-rappi-bovedas-sim .ig-ret{font-weight:850;color:var(--ig-warning);white-space:nowrap;}\r\n    #ig-rappi-bovedas-sim .ig-pdf-actions{display:none;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;padding:14px;border:1px solid rgba(239,106,74,.22);border-radius:var(--ig-radius);background:var(--ig-bg-b);}\r\n    #ig-rappi-bovedas-sim .ig-results.is-visible .ig-pdf-actions{display:flex;}\r\n    #ig-rappi-bovedas-sim .ig-pdf-btn{background:var(--ig-coral);color:#fff;}\r\n    #ig-rappi-bovedas-sim .ig-pdf-btn:hover{background:var(--ig-coral-dark);}\r\n    #ig-rappi-bovedas-sim .ig-pdf-btn:disabled{cursor:not-allowed;opacity:.58;transform:none;box-shadow:none;}\r\n    #ig-rappi-bovedas-sim .ig-pdf-status{color:var(--ig-muted);font-size:12px;font-weight:750;}\r\n    #ig-rappi-bovedas-sim .ig-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px;}\r\n    #ig-rappi-bovedas-sim .ig-info-card{padding:17px;border:1px solid var(--ig-line);border-radius:var(--ig-radius);background:#fff;box-shadow:var(--ig-shadow-soft);}\r\n    #ig-rappi-bovedas-sim .ig-info-card h3{color:var(--ig-ink);font-size:15px;font-weight:900;line-height:1.25;}\r\n    #ig-rappi-bovedas-sim .ig-info-card p{margin-top:8px;color:var(--ig-muted);font-size:13px;line-height:1.55;}\r\n    #ig-rappi-bovedas-sim .ig-note{margin-top:18px;padding:16px;border:1px solid rgba(185,120,9,.24);border-left:4px solid var(--ig-warning);border-radius:var(--ig-radius);background:#fffaf0;color:var(--ig-ink-2);font-size:13px;line-height:1.6;}\r\n    #ig-rappi-bovedas-sim .ig-note strong{color:var(--ig-ink);}\r\n    #ig-rappi-bovedas-sim .is-hidden{display:none!important;}\r\n    @keyframes ig-rappi-rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}\r\n    @keyframes ig-rappi-draw{to{stroke-dashoffset:0}}\r\n    @media (prefers-reduced-motion:reduce){\r\n      #ig-rappi-bovedas-sim *,#ig-rappi-bovedas-sim *::before,#ig-rappi-bovedas-sim *::after{animation-duration:1ms!important;transition-duration:1ms!important;scroll-behavior:auto!important;}\r\n    }\r\n    @media (max-width:980px){\r\n      #ig-rappi-bovedas-sim .ig-hero,#ig-rappi-bovedas-sim .ig-layout,#ig-rappi-bovedas-sim .ig-visual-card{grid-template-columns:1fr;}\r\n      #ig-rappi-bovedas-sim .ig-summary{grid-template-columns:repeat(2,minmax(0,1fr));}\r\n      #ig-rappi-bovedas-sim .ig-info-grid{grid-template-columns:1fr;}\r\n      #ig-rappi-bovedas-sim h1{font-size:34px;}\r\n    }\r\n    @media (max-width:720px){\r\n      #ig-rappi-bovedas-sim{padding:16px 0;}\r\n      #ig-rappi-bovedas-sim .ig-wrap{width:min(100% - 18px,1120px);}\r\n      #ig-rappi-bovedas-sim .ig-tool-ribbon{grid-template-columns:1fr;}\r\n      #ig-rappi-bovedas-sim .ig-hero-main,#ig-rappi-bovedas-sim .ig-hero-side,#ig-rappi-bovedas-sim .ig-form-card,#ig-rappi-bovedas-sim .ig-section-card,#ig-rappi-bovedas-sim .ig-visual-card{padding:18px;}\r\n      #ig-rappi-bovedas-sim h1{font-size:29px;}\r\n      #ig-rappi-bovedas-sim .ig-rate-strip,#ig-rappi-bovedas-sim .ig-summary,#ig-rappi-bovedas-sim .ig-inline,#ig-rappi-bovedas-sim .ig-option-grid.is-three,#ig-rappi-bovedas-sim .ig-actions{grid-template-columns:1fr;}\r\n      #ig-rappi-bovedas-sim .ig-section-head{display:grid;}\r\n      #ig-rappi-bovedas-sim .ig-btn{width:100%;}\r\n      #ig-rappi-bovedas-sim .ig-pdf-actions{align-items:stretch;flex-direction:column;}\r\n      #ig-rappi-bovedas-sim .ig-pdf-status{text-align:center;}\r\n      #ig-rappi-bovedas-sim table{min-width:720px;}\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"ig-wrap\">\r\n    <div class=\"ig-tool-ribbon\" aria-label=\"Estado de la herramienta\">\r\n      <div>\r\n        <span class=\"ig-kicker\">\u2197 Herramienta financiera<\/span>\r\n        <strong>Simulador de RappiCuenta, Bolsillos y B\u00f3vedas<\/strong>\r\n        <p>Compara saldo disponible, Bolsillos y B\u00f3vedas con una proyecci\u00f3n visual y descargable.<\/p>\r\n      <\/div>\r\n      <span class=\"ig-tool-status\"><span class=\"ig-dot\"><\/span> Reporte PDF disponible al calcular<\/span>\r\n    <\/div>\r\n\r\n    <div class=\"ig-hero\">\r\n      <div class=\"ig-card ig-hero-main\">\r\n        <span class=\"ig-eyebrow\">RappiPay \u00b7 RappiCuenta<\/span>\r\n        <h1 id=\"ig-rappi-title\">Simula cu\u00e1nto puede crecer tu dinero <span>seg\u00fan d\u00f3nde lo guardes.<\/span><\/h1>\r\n        <p class=\"ig-hero-copy\">Elige entre saldo fuera de Bolsillos, saldo en Bolsillos o una B\u00f3veda con plazo. La herramienta separa rendimiento bruto, retenci\u00f3n estimada y monto final para que el usuario entienda la diferencia antes de decidir.<\/p>\r\n      <\/div>\r\n      <aside class=\"ig-card ig-hero-side\" aria-label=\"Tasas destacadas\">\r\n        <h2>Tasas de referencia usadas<\/h2>\r\n        <p>RappiPay publica tasas diferenciadas para Bolsillos y B\u00f3vedas. Las tasas pueden cambiar; este simulador permite entender escenarios con los valores vigentes parametrizados.<\/p>\r\n        <div class=\"ig-rate-strip\">\r\n          <div class=\"ig-rate-pill\"><small>Bolsillos<\/small><strong>9% E.A.<\/strong><\/div>\r\n          <div class=\"ig-rate-pill\"><small>B\u00f3veda 180 d\u00edas<\/small><strong>10,1% E.A.<\/strong><\/div>\r\n          <div class=\"ig-rate-pill\"><small>B\u00f3veda 360 d\u00edas<\/small><strong>10,5% E.A.<\/strong><\/div>\r\n        <\/div>\r\n      <\/aside>\r\n    <\/div>\r\n\r\n    <div class=\"ig-layout\">\r\n      <form class=\"ig-card ig-form-card\" id=\"ig-rappi-form\" novalidate>\r\n        <div class=\"ig-form-grid\">\r\n          <div class=\"ig-field\">\r\n            <label for=\"ig-rappi-amount\">Monto a simular<\/label>\r\n            <input id=\"ig-rappi-amount\" type=\"text\" inputmode=\"numeric\" autocomplete=\"off\" placeholder=\"Ej: 10.000.000\" aria-describedby=\"ig-rappi-amount-help\">\r\n            <div class=\"ig-help\" id=\"ig-rappi-amount-help\">Puedes escribir 10000000 y se formatea como 10.000.000.<\/div>\r\n          <\/div>\r\n\r\n          <div class=\"ig-field\">\r\n            <span class=\"ig-label\">Tipo de simulaci\u00f3n<\/span>\r\n            <div class=\"ig-segment\" role=\"group\" aria-label=\"Tipo de producto\">\r\n              <button type=\"button\" id=\"ig-rappi-tab-flex\" aria-pressed=\"true\">RappiCuenta \/ Bolsillos<\/button>\r\n              <button type=\"button\" id=\"ig-rappi-tab-vault\" aria-pressed=\"false\">B\u00f3vedas<\/button>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div id=\"ig-rappi-flex-panel\" class=\"ig-field\">\r\n            <span class=\"ig-label\">Ubicaci\u00f3n del saldo<\/span>\r\n            <div class=\"ig-option-grid\">\r\n              <label class=\"ig-option\">\r\n                <input type=\"radio\" name=\"ig-rappi-flex-rate\" value=\"bolsillo\" checked>\r\n                <strong>En Bolsillos \u00b7 9% E.A.<\/strong>\r\n                <span>Para dinero separado dentro de Bolsillos.<\/span>\r\n              <\/label>\r\n              <label class=\"ig-option\">\r\n                <input type=\"radio\" name=\"ig-rappi-flex-rate\" value=\"cuenta\">\r\n                <strong>Fuera de Bolsillos \u00b7 0,1% E.A.<\/strong>\r\n                <span>Para saldo disponible en la cuenta.<\/span>\r\n              <\/label>\r\n            <\/div>\r\n            <div class=\"ig-inline\">\r\n              <div class=\"ig-field\">\r\n                <label for=\"ig-rappi-months\">Meses a proyectar<\/label>\r\n                <input id=\"ig-rappi-months\" type=\"number\" min=\"1\" max=\"120\" value=\"12\">\r\n              <\/div>\r\n              <div class=\"ig-field\">\r\n                <label for=\"ig-rappi-start\">Fecha inicial<\/label>\r\n                <input id=\"ig-rappi-start\" type=\"date\">\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div id=\"ig-rappi-vault-panel\" class=\"ig-field is-hidden\">\r\n            <span class=\"ig-label\">Plazo de la B\u00f3veda<\/span>\r\n            <div class=\"ig-option-grid is-three\">\r\n              <label class=\"ig-option\">\r\n                <input type=\"radio\" name=\"ig-rappi-vault-term\" value=\"90\" data-rate=\"0.095\" checked>\r\n                <strong>90 d\u00edas<\/strong>\r\n                <span>9,5% E.A.<\/span>\r\n              <\/label>\r\n              <label class=\"ig-option\">\r\n                <input type=\"radio\" name=\"ig-rappi-vault-term\" value=\"180\" data-rate=\"0.101\">\r\n                <strong>180 d\u00edas<\/strong>\r\n                <span>10,1% E.A.<\/span>\r\n              <\/label>\r\n              <label class=\"ig-option\">\r\n                <input type=\"radio\" name=\"ig-rappi-vault-term\" value=\"360\" data-rate=\"0.105\">\r\n                <strong>360 d\u00edas<\/strong>\r\n                <span>10,5% E.A.<\/span>\r\n              <\/label>\r\n            <\/div>\r\n            <label class=\"ig-toggle\">\r\n              <input id=\"ig-rappi-early\" type=\"checkbox\">\r\n              <span><strong>Simular retiro anticipado<\/strong><span>Si se retira antes del plazo, se usa la tasa de retiro anticipado.<\/span><\/span>\r\n            <\/label>\r\n            <div class=\"ig-inline\">\r\n              <div class=\"ig-field\" id=\"ig-rappi-held-wrap\">\r\n                <label for=\"ig-rappi-held-days\">D\u00edas reales en la B\u00f3veda<\/label>\r\n                <input id=\"ig-rappi-held-days\" type=\"number\" min=\"1\" max=\"89\" value=\"30\" disabled>\r\n                <div class=\"ig-help\">Solo se activa si marcas retiro anticipado.<\/div>\r\n              <\/div>\r\n              <div class=\"ig-field\">\r\n                <label for=\"ig-rappi-vault-start\">Fecha inicial<\/label>\r\n                <input id=\"ig-rappi-vault-start\" type=\"date\">\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <label class=\"ig-toggle\">\r\n            <input id=\"ig-rappi-tax\" type=\"checkbox\" checked>\r\n            <span><strong>Aplicar retenci\u00f3n estimada del 7%<\/strong><span>Se calcula sobre los intereses generados. Puede variar seg\u00fan normativa y situaci\u00f3n del usuario.<\/span><\/span>\r\n          <\/label>\r\n        <\/div>\r\n\r\n        <div class=\"ig-actions\">\r\n          <button class=\"ig-btn ig-btn-primary\" type=\"submit\">Calcular rendimiento<\/button>\r\n          <button class=\"ig-btn ig-btn-secondary\" type=\"button\" id=\"ig-rappi-reset\">Reiniciar<\/button>\r\n        <\/div>\r\n        <div class=\"ig-msg\" id=\"ig-rappi-msg\" role=\"alert\"><\/div>\r\n      <\/form>\r\n\r\n      <div class=\"ig-results\" id=\"ig-rappi-results\" aria-live=\"polite\">\r\n        <div class=\"ig-summary\">\r\n          <article class=\"ig-kpi\">\r\n            <small>Tasa aplicada<\/small>\r\n            <strong id=\"ig-rappi-rate-out\">\u2014<\/strong>\r\n            <em id=\"ig-rappi-product-out\">\u2014<\/em>\r\n          <\/article>\r\n          <article class=\"ig-kpi is-green\">\r\n            <small>Rendimiento bruto<\/small>\r\n            <strong id=\"ig-rappi-gross-out\">$0<\/strong>\r\n            <em>Antes de retenci\u00f3n estimada.<\/em>\r\n          <\/article>\r\n          <article class=\"ig-kpi is-coral\">\r\n            <small>Retenci\u00f3n estimada<\/small>\r\n            <strong id=\"ig-rappi-tax-out\">$0<\/strong>\r\n            <em>Seg\u00fan la opci\u00f3n seleccionada.<\/em>\r\n          <\/article>\r\n          <article class=\"ig-kpi is-final\">\r\n            <small>Monto final neto<\/small>\r\n            <strong id=\"ig-rappi-final-out\">$0<\/strong>\r\n            <em id=\"ig-rappi-period-out\">\u2014<\/em>\r\n          <\/article>\r\n        <\/div>\r\n\r\n        <div class=\"ig-card ig-visual-card\">\r\n          <div class=\"ig-chart-box\" id=\"ig-rappi-chart\" aria-label=\"Gr\u00e1fico estimado de crecimiento\"><\/div>\r\n          <div class=\"ig-story\">\r\n            <h2 id=\"ig-rappi-story-title\">Resultado de la simulaci\u00f3n<\/h2>\r\n            <p id=\"ig-rappi-story-copy\">Calcula un escenario para ver el resumen financiero.<\/p>\r\n            <div class=\"ig-meter\" aria-hidden=\"true\"><i id=\"ig-rappi-meter\" style=\"--ig-progress:0%\"><\/i><\/div>\r\n            <p id=\"ig-rappi-meter-copy\">El rendimiento se visualizar\u00e1 aqu\u00ed.<\/p>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ig-card ig-section-card\">\r\n          <div class=\"ig-section-head\">\r\n            <div>\r\n              <h2 id=\"ig-rappi-table-title\">Detalle<\/h2>\r\n              <p id=\"ig-rappi-table-copy\">Tabla de la proyecci\u00f3n calculada.<\/p>\r\n            <\/div>\r\n          <\/div>\r\n          <div class=\"ig-table-wrap\">\r\n            <table>\r\n              <thead id=\"ig-rappi-thead\"><\/thead>\r\n              <tbody id=\"ig-rappi-tbody\"><\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ig-pdf-actions\">\r\n          <button class=\"ig-btn ig-pdf-btn\" type=\"button\" id=\"ig-rappi-pdf\">Descargar reporte PDF<\/button>\r\n          <span class=\"ig-pdf-status\" id=\"ig-rappi-pdf-status\">Reporte listo con marca de agua de InversionesGuru.<\/span>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ig-info-grid\">\r\n      <article class=\"ig-info-card\">\r\n        <h3>Bolsillos y saldo disponible<\/h3>\r\n        <p>La tasa usada para saldo en Bolsillos es mayor que la tasa para saldo fuera de Bolsillos. Esta secci\u00f3n proyecta mes a mes.<\/p>\r\n      <\/article>\r\n      <article class=\"ig-info-card\">\r\n        <h3>B\u00f3vedas con plazo<\/h3>\r\n        <p>Las B\u00f3vedas separan dinero por un plazo definido. El rendimiento se estima para 90, 180 o 360 d\u00edas seg\u00fan la tasa seleccionada.<\/p>\r\n      <\/article>\r\n      <article class=\"ig-info-card\">\r\n        <h3>Retiro anticipado<\/h3>\r\n        <p>Si retiras antes del plazo, la rentabilidad se recalcula con la tasa de retiro anticipado sobre los d\u00edas reales en la B\u00f3veda.<\/p>\r\n      <\/article>\r\n    <\/div>\r\n\r\n    <div class=\"ig-note\">\r\n      <strong>Nota:<\/strong> este simulador es informativo. Las tasas, condiciones comerciales, topes, impuestos y reglas de retenci\u00f3n pueden cambiar. Verifica siempre la informaci\u00f3n vigente en RappiPay antes de tomar una decisi\u00f3n.\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <script>\r\n    (function(){\r\n      'use strict';\r\n      const root = document.getElementById('ig-rappi-bovedas-sim');\r\n      if(!root || root.dataset.ready === 'true') return;\r\n      root.dataset.ready = 'true';\r\n\r\n      const CONFIG = {\r\n        tasas: {\r\n          bolsillo: 0.09,\r\n          cuenta: 0.001,\r\n          retiroAnticipado: 0.001,\r\n          boveda90: 0.095,\r\n          boveda180: 0.101,\r\n          boveda360: 0.105\r\n        },\r\n        minimoBoveda: 500000,\r\n        retencion: 0.07,\r\n        url: 'https:\/\/inversionesguru.com\/co\/',\r\n        pdfFile: 'reporte-rappicuenta-bovedas.pdf'\r\n      };\r\n\r\n      const $ = (sel) => root.querySelector(sel);\r\n      const $$ = (sel) => Array.from(root.querySelectorAll(sel));\r\n      const fmtMoney = new Intl.NumberFormat('es-CO',{style:'currency',currency:'COP',minimumFractionDigits:0,maximumFractionDigits:0});\r\n      const fmtPct = new Intl.NumberFormat('es-CO',{style:'percent',minimumFractionDigits:1,maximumFractionDigits:1});\r\n      const toMoney = (value) => fmtMoney.format(Math.round(Number(value) || 0));\r\n      const round2 = (value) => Math.round((Number(value) || 0) * 100) \/ 100;\r\n      const dateFmt = new Intl.DateTimeFormat('es-CO',{year:'numeric',month:'short',day:'2-digit'});\r\n\r\n      const els = {\r\n        amount: $('#ig-rappi-amount'),\r\n        months: $('#ig-rappi-months'),\r\n        start: $('#ig-rappi-start'),\r\n        vaultStart: $('#ig-rappi-vault-start'),\r\n        tabFlex: $('#ig-rappi-tab-flex'),\r\n        tabVault: $('#ig-rappi-tab-vault'),\r\n        flexPanel: $('#ig-rappi-flex-panel'),\r\n        vaultPanel: $('#ig-rappi-vault-panel'),\r\n        early: $('#ig-rappi-early'),\r\n        heldDays: $('#ig-rappi-held-days'),\r\n        tax: $('#ig-rappi-tax'),\r\n        form: $('#ig-rappi-form'),\r\n        reset: $('#ig-rappi-reset'),\r\n        msg: $('#ig-rappi-msg'),\r\n        results: $('#ig-rappi-results'),\r\n        rateOut: $('#ig-rappi-rate-out'),\r\n        productOut: $('#ig-rappi-product-out'),\r\n        grossOut: $('#ig-rappi-gross-out'),\r\n        taxOut: $('#ig-rappi-tax-out'),\r\n        finalOut: $('#ig-rappi-final-out'),\r\n        periodOut: $('#ig-rappi-period-out'),\r\n        storyTitle: $('#ig-rappi-story-title'),\r\n        storyCopy: $('#ig-rappi-story-copy'),\r\n        meter: $('#ig-rappi-meter'),\r\n        meterCopy: $('#ig-rappi-meter-copy'),\r\n        chart: $('#ig-rappi-chart'),\r\n        tableTitle: $('#ig-rappi-table-title'),\r\n        tableCopy: $('#ig-rappi-table-copy'),\r\n        thead: $('#ig-rappi-thead'),\r\n        tbody: $('#ig-rappi-tbody'),\r\n        pdf: $('#ig-rappi-pdf'),\r\n        pdfStatus: $('#ig-rappi-pdf-status')\r\n      };\r\n\r\n      let state = { mode:'flex', lastReport:null };\r\n\r\n      function todayYMD(){\r\n        const d = new Date();\r\n        return d.getFullYear() + '-' + String(d.getMonth()+1).padStart(2,'0') + '-' + String(d.getDate()).padStart(2,'0');\r\n      }\r\n      function parseYMD(value){\r\n        if(!value) return new Date();\r\n        const parts = String(value).split('-').map(Number);\r\n        return new Date(parts[0], parts[1]-1, parts[2]);\r\n      }\r\n      function addMonths(date, months){\r\n        const d = new Date(date);\r\n        const day = d.getDate();\r\n        d.setMonth(d.getMonth() + months);\r\n        if(d.getDate() !== day) d.setDate(0);\r\n        return d;\r\n      }\r\n      function addDays(date, days){\r\n        const d = new Date(date);\r\n        d.setDate(d.getDate() + days);\r\n        return d;\r\n      }\r\n      function parseMoney(value){\r\n        const digits = String(value || '').replace(\/[^0-9]\/g,'');\r\n        return digits ? Number(digits) : NaN;\r\n      }\r\n      function formatInputMoney(input){\r\n        const number = parseMoney(input.value);\r\n        input.value = Number.isFinite(number) && number > 0 ? new Intl.NumberFormat('es-CO',{maximumFractionDigits:0}).format(number) : '';\r\n      }\r\n      function dailyRate(tea){return Math.pow(1 + tea, 1\/365) - 1;}\r\n      function monthlyRate(tea){return Math.pow(1 + tea, 1\/12) - 1;}\r\n      function applyTax(gross){\r\n        const tax = els.tax.checked ? round2(gross * CONFIG.retencion) : 0;\r\n        return { tax, net: round2(gross - tax) };\r\n      }\r\n      function showMsg(message){\r\n        els.msg.textContent = message;\r\n        els.msg.classList.add('is-visible');\r\n      }\r\n      function hideMsg(){\r\n        els.msg.textContent = '';\r\n        els.msg.classList.remove('is-visible');\r\n      }\r\n      function selectedFlex(){\r\n        return root.querySelector('input[name=\"ig-rappi-flex-rate\"]:checked').value;\r\n      }\r\n      function selectedVault(){\r\n        return root.querySelector('input[name=\"ig-rappi-vault-term\"]:checked');\r\n      }\r\n      function setMode(mode){\r\n        state.mode = mode;\r\n        const isFlex = mode === 'flex';\r\n        els.tabFlex.setAttribute('aria-pressed', String(isFlex));\r\n        els.tabVault.setAttribute('aria-pressed', String(!isFlex));\r\n        els.flexPanel.classList.toggle('is-hidden', !isFlex);\r\n        els.vaultPanel.classList.toggle('is-hidden', isFlex);\r\n        hideResults();\r\n        updateHeldMax();\r\n      }\r\n      function updateHeldMax(){\r\n        const term = Number(selectedVault().value || 90);\r\n        const isEarly = els.early.checked;\r\n        els.heldDays.disabled = !isEarly;\r\n        els.heldDays.max = String(Math.max(1, term - 1));\r\n        if(!isEarly){\r\n          els.heldDays.value = Math.min(Number(els.heldDays.value || 30), term - 1);\r\n          return;\r\n        }\r\n        let held = Number(els.heldDays.value || 1);\r\n        held = Math.max(1, Math.min(held, term - 1));\r\n        els.heldDays.value = String(held);\r\n      }\r\n      function hideResults(){\r\n        els.results.classList.remove('is-visible');\r\n        state.lastReport = null;\r\n      }\r\n      function reset(){\r\n        els.amount.value = '';\r\n        els.months.value = '12';\r\n        els.start.value = todayYMD();\r\n        els.vaultStart.value = todayYMD();\r\n        els.early.checked = false;\r\n        els.heldDays.value = '30';\r\n        els.tax.checked = true;\r\n        root.querySelector('input[name=\"ig-rappi-flex-rate\"][value=\"bolsillo\"]').checked = true;\r\n        root.querySelector('input[name=\"ig-rappi-vault-term\"][value=\"90\"]').checked = true;\r\n        setMode('flex');\r\n        hideMsg();\r\n      }\r\n      function validate(amount){\r\n        if(!Number.isFinite(amount) || amount <= 0){\r\n          showMsg('Ingresa un monto v\u00e1lido mayor a $0 COP.');\r\n          return false;\r\n        }\r\n        if(state.mode === 'flex'){\r\n          const months = Number(els.months.value);\r\n          if(!Number.isInteger(months) || months < 1 || months > 120){\r\n            showMsg('Ingresa un n\u00famero de meses entre 1 y 120.');\r\n            return false;\r\n          }\r\n        }\r\n        if(state.mode === 'vault'){\r\n          if(amount < CONFIG.minimoBoveda){\r\n            showMsg('Para B\u00f3vedas, el monto m\u00ednimo de referencia es $500.000 COP.');\r\n            return false;\r\n          }\r\n          if(els.early.checked){\r\n            const term = Number(selectedVault().value);\r\n            const held = Number(els.heldDays.value);\r\n            if(!Number.isInteger(held) || held < 1 || held >= term){\r\n              showMsg('Para retiro anticipado, los d\u00edas reales deben ser menores al plazo elegido.');\r\n              return false;\r\n            }\r\n          }\r\n        }\r\n        hideMsg();\r\n        return true;\r\n      }\r\n\r\n      function simulateFlex(amount){\r\n        const location = selectedFlex();\r\n        const tea = location === 'bolsillo' ? CONFIG.tasas.bolsillo : CONFIG.tasas.cuenta;\r\n        const months = Number(els.months.value);\r\n        const start = parseYMD(els.start.value);\r\n        const mRate = monthlyRate(tea);\r\n        let balance = amount;\r\n        let totalGross = 0;\r\n        let totalTax = 0;\r\n        const rows = [];\r\n        const points = [{label:'Inicio', value:amount}];\r\n        for(let i=1;i<=months;i++){\r\n          const periodStart = addMonths(start, i-1);\r\n          const periodEnd = addMonths(start, i);\r\n          const gross = round2(balance * mRate);\r\n          const taxInfo = applyTax(gross);\r\n          balance = round2(balance + taxInfo.net);\r\n          totalGross = round2(totalGross + gross);\r\n          totalTax = round2(totalTax + taxInfo.tax);\r\n          rows.push({\r\n            periodo: i,\r\n            fecha: dateFmt.format(periodEnd),\r\n            saldoBase: balance - taxInfo.net,\r\n            bruto: gross,\r\n            retencion: taxInfo.tax,\r\n            neto: taxInfo.net,\r\n            acumulado: balance\r\n          });\r\n          points.push({label:String(i), value:balance});\r\n        }\r\n        const product = location === 'bolsillo' ? 'Saldo en Bolsillos' : 'Saldo fuera de Bolsillos';\r\n        return {\r\n          type:'flex',\r\n          product,\r\n          rate: tea,\r\n          gross: totalGross,\r\n          tax: totalTax,\r\n          net: round2(totalGross - totalTax),\r\n          final: balance,\r\n          period: months + (months === 1 ? ' mes proyectado' : ' meses proyectados'),\r\n          rows,\r\n          points,\r\n          tableTitle:'Detalle mensual de la proyecci\u00f3n',\r\n          tableCopy:'Proyecci\u00f3n con capitalizaci\u00f3n mensual equivalente a la tasa E.A. seleccionada.',\r\n          inputs:[['Monto inicial',toMoney(amount)],['Producto',product],['Meses',String(months)],['Retenci\u00f3n estimada',els.tax.checked ? 'S\u00ed, 7%' : 'No aplicada']]\r\n        };\r\n      }\r\n\r\n      function simulateVault(amount){\r\n        const selected = selectedVault();\r\n        const term = Number(selected.value);\r\n        const fullRate = Number(selected.dataset.rate);\r\n        const isEarly = els.early.checked;\r\n        const days = isEarly ? Number(els.heldDays.value) : term;\r\n        const tea = isEarly ? CONFIG.tasas.retiroAnticipado : fullRate;\r\n        const start = parseYMD(els.vaultStart.value);\r\n        const end = addDays(start, days);\r\n        const gross = round2(amount * (Math.pow(1 + tea, days \/ 365) - 1));\r\n        const taxInfo = applyTax(gross);\r\n        const final = round2(amount + taxInfo.net);\r\n        const checkPoints = Math.min(6, Math.max(2, Math.ceil(days \/ 30)));\r\n        const points = [];\r\n        for(let i=0;i<=checkPoints;i++){\r\n          const d = Math.round((days \/ checkPoints) * i);\r\n          const g = amount * (Math.pow(1 + tea, d \/ 365) - 1);\r\n          const t = els.tax.checked ? g * CONFIG.retencion : 0;\r\n          points.push({label:String(d), value:amount + g - t});\r\n        }\r\n        const product = isEarly ? 'B\u00f3veda con retiro anticipado' : 'B\u00f3veda a ' + term + ' d\u00edas';\r\n        const rows = [{\r\n          periodo: isEarly ? 'Retiro anticipado' : 'Plazo completo',\r\n          fecha: dateFmt.format(end),\r\n          dias: days,\r\n          tasa: fmtPct.format(tea) + ' E.A.',\r\n          bruto: gross,\r\n          retencion: taxInfo.tax,\r\n          neto: taxInfo.net,\r\n          acumulado: final\r\n        }];\r\n        return {\r\n          type:'vault',\r\n          product,\r\n          rate: tea,\r\n          gross,\r\n          tax: taxInfo.tax,\r\n          net: taxInfo.net,\r\n          final,\r\n          period: days + (days === 1 ? ' d\u00eda simulado' : ' d\u00edas simulados'),\r\n          rows,\r\n          points,\r\n          tableTitle:'Detalle de la B\u00f3veda',\r\n          tableCopy:isEarly ? 'El retiro anticipado usa la tasa de retiro anticipado sobre los d\u00edas reales en la B\u00f3veda.' : 'Proyecci\u00f3n al finalizar el plazo seleccionado.',\r\n          inputs:[['Monto inicial',toMoney(amount)],['Producto',product],['Plazo seleccionado',term + ' d\u00edas'],['D\u00edas calculados',String(days)],['Retenci\u00f3n estimada',els.tax.checked ? 'S\u00ed, 7%' : 'No aplicada']]\r\n        };\r\n      }\r\n\r\n      function drawChart(points){\r\n        if(!points || !points.length){els.chart.innerHTML='';return;}\r\n        const values = points.map(p => Number(p.value));\r\n        const min = Math.min(...values);\r\n        const max = Math.max(...values);\r\n        const range = max - min || 1;\r\n        const w = 100;\r\n        const h = 62;\r\n        const pad = range * 0.12;\r\n        const line = values.map((v,i) => {\r\n          const x = (i \/ (values.length - 1 || 1)) * w;\r\n          const y = h - (((v - min + pad) \/ (range + pad * 2)) * h);\r\n          return (i ? 'L ' : 'M ') + x.toFixed(2) + ',' + y.toFixed(2);\r\n        }).join(' ');\r\n        const area = line.replace(\/^M \/,'M ') + ' L ' + w + ',' + h + ' L 0,' + h + ' Z';\r\n        els.chart.innerHTML = '<svg viewBox=\"0 0 '+w+' '+h+'\" preserveAspectRatio=\"none\" aria-hidden=\"true\"><defs><linearGradient id=\"ig-rappi-grad\" 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><path d=\"'+area+'\" fill=\"url(#ig-rappi-grad)\"><\/path><path class=\"ig-chart-line\" d=\"'+line+'\" fill=\"none\" stroke=\"#0f9f7a\" stroke-width=\"2.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><\/path><\/svg>';\r\n      }\r\n\r\n      function renderTable(report){\r\n        if(report.type === 'vault'){\r\n          els.thead.innerHTML = '<tr><th>Escenario<\/th><th>Fecha estimada<\/th><th>D\u00edas<\/th><th>Tasa<\/th><th>Inter\u00e9s bruto<\/th><th>Retenci\u00f3n<\/th><th>Inter\u00e9s neto<\/th><th>Monto final<\/th><\/tr>';\r\n          els.tbody.innerHTML = report.rows.map(r => '<tr><td>'+r.periodo+'<\/td><td>'+r.fecha+'<\/td><td>'+r.dias+'<\/td><td>'+r.tasa+'<\/td><td class=\"ig-money\">'+toMoney(r.bruto)+'<\/td><td class=\"ig-ret\">'+toMoney(r.retencion)+'<\/td><td class=\"ig-positive\">'+toMoney(r.neto)+'<\/td><td class=\"ig-money\">'+toMoney(r.acumulado)+'<\/td><\/tr>').join('');\r\n          return;\r\n        }\r\n        els.thead.innerHTML = '<tr><th>Mes<\/th><th>Fecha estimada<\/th><th>Saldo base<\/th><th>Inter\u00e9s bruto<\/th><th>Retenci\u00f3n<\/th><th>Inter\u00e9s neto<\/th><th>Monto acumulado<\/th><\/tr>';\r\n        els.tbody.innerHTML = report.rows.map(r => '<tr><td>'+r.periodo+'<\/td><td>'+r.fecha+'<\/td><td class=\"ig-money\">'+toMoney(r.saldoBase)+'<\/td><td class=\"ig-money\">'+toMoney(r.bruto)+'<\/td><td class=\"ig-ret\">'+toMoney(r.retencion)+'<\/td><td class=\"ig-positive\">'+toMoney(r.neto)+'<\/td><td class=\"ig-money\">'+toMoney(r.acumulado)+'<\/td><\/tr>').join('');\r\n      }\r\n\r\n      function render(report){\r\n        els.rateOut.textContent = fmtPct.format(report.rate) + ' E.A.';\r\n        els.productOut.textContent = report.product;\r\n        els.grossOut.textContent = toMoney(report.gross);\r\n        els.taxOut.textContent = toMoney(report.tax);\r\n        els.finalOut.textContent = toMoney(report.final);\r\n        els.periodOut.textContent = report.period;\r\n        els.storyTitle.textContent = report.product;\r\n        els.storyCopy.textContent = 'Sobre ' + report.inputs[0][1] + ', el rendimiento neto estimado es de ' + toMoney(report.net) + ' para el periodo seleccionado.';\r\n        const growthPct = Math.max(0, Math.min(100, (report.net \/ (parseMoney(els.amount.value) || 1)) * 1200));\r\n        els.meter.style.setProperty('--ig-progress', growthPct.toFixed(2) + '%');\r\n        els.meterCopy.textContent = 'Crecimiento neto estimado: ' + ((report.net \/ (parseMoney(els.amount.value) || 1)) * 100).toLocaleString('es-CO',{minimumFractionDigits:2,maximumFractionDigits:2}) + '% sobre el capital inicial.';\r\n        els.tableTitle.textContent = report.tableTitle;\r\n        els.tableCopy.textContent = report.tableCopy;\r\n        drawChart(report.points);\r\n        renderTable(report);\r\n        els.results.classList.add('is-visible');\r\n        state.lastReport = report;\r\n        setTimeout(() => els.results.scrollIntoView({behavior:'smooth',block:'start'}), 80);\r\n      }\r\n\r\n      function calculate(){\r\n        const amount = parseMoney(els.amount.value);\r\n        if(!validate(amount)){ hideResults(); return; }\r\n        const report = state.mode === 'flex' ? simulateFlex(amount) : simulateVault(amount);\r\n        render(report);\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 = () => resolve(window.jspdf.jsPDF);\r\n          script.onerror = reject;\r\n          document.head.appendChild(script);\r\n        });\r\n      }\r\n      function clean(value){return String(value == null ? '' : value).replace(\/\\s+\/g,' ').trim();}\r\n      function exportPdf(jsPDF, report){\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        function decorate(){\r\n          doc.setFillColor(15,159,122);doc.roundedRect(margin,12,12,12,2,2,'F');\r\n          doc.setTextColor(255,255,255);doc.setFontSize(8);doc.setFont('helvetica','bold');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          doc.setTextColor(91,111,104);doc.setFontSize(8);doc.setFont('helvetica','normal');doc.text(CONFIG.url,margin+16,22);\r\n          doc.setTextColor(226,239,234);doc.setFontSize(19);doc.setFont('helvetica','bold');doc.text('inversionesguru.com\/co\/',34,166,{angle:32});doc.text('inversionesguru.com\/co\/',70,235,{angle:32});\r\n          doc.setDrawColor(215,228,223);doc.line(margin,28,210-margin,28);y=36;\r\n        }\r\n        function next(required){if(y + required <= 278) return; doc.addPage(); decorate();}\r\n        function split(value, max){return doc.splitTextToSize(clean(value), max);}\r\n        function section(title){next(14);doc.setFillColor(255,243,236);doc.roundedRect(margin,y,width,8,2,2,'F');doc.setTextColor(200,79,52);doc.setFont('helvetica','bold');doc.setFontSize(10);doc.text(title,margin+3,y+5.4);y+=12;}\r\n        function kv(rows){rows.forEach(row=>{next(8);const l=split(row[0],70);const v=split(row[1],98);const lines=Math.max(l.length,v.length);doc.setTextColor(91,111,104);doc.setFont('helvetica','normal');doc.setFontSize(8.5);doc.text(l,margin,y);doc.setTextColor(23,51,47);doc.setFont('helvetica','bold');doc.text(v,margin+74,y);y+=lines*4.2+2;doc.setDrawColor(232,239,236);doc.line(margin,y-1,210-margin,y-1);});y+=3;}\r\n        function table(headings, rows, title){\r\n          section(title); const cols=headings.length; const colW=width\/cols;\r\n          function draw(row, header){const cells=row.map(c=>split(c,colW-2));const lines=Math.max(...cells.map(c=>c.length));const rh=Math.max(6,lines*3.2+2);next(rh+2);doc.setFillColor(header?23:255,header?51:255,header?47:255);if(!header && Math.round(y)%2===0) doc.setFillColor(239,251,246);doc.rect(margin,y-3.6,width,rh,'F');doc.setTextColor(header?255:36,header?255:68,header?255:62);doc.setFont('helvetica',header?'bold':'normal');doc.setFontSize(header?6.6:6.4);cells.forEach((cell,i)=>doc.text(cell,margin+i*colW+1,y));y+=rh;}\r\n          draw(headings,true);rows.slice(0,90).forEach(r=>draw(r,false));\r\n          if(rows.length>90){next(7);doc.setTextColor(91,111,104);doc.setFontSize(8);doc.text('La tabla fue recortada en el PDF. Consulta el detalle completo en la calculadora.',margin,y+2);y+=7;}\r\n        }\r\n        decorate();\r\n        doc.setTextColor(23,51,47);doc.setFont('helvetica','bold');doc.setFontSize(18);doc.text(split('Reporte de RappiCuenta, Bolsillos y B\u00f3vedas',width),margin,y);y+=13;\r\n        doc.setTextColor(91,111,104);doc.setFont('helvetica','normal');doc.setFontSize(9);doc.text('Reporte informativo generado el '+new Date().toLocaleString('es-CO'),margin,y);y+=8;\r\n        section('Datos ingresados'); kv(report.inputs);\r\n        section('Resumen estimado'); kv([['Producto',report.product],['Tasa aplicada',fmtPct.format(report.rate)+' E.A.'],['Rendimiento bruto',toMoney(report.gross)],['Retenci\u00f3n estimada',toMoney(report.tax)],['Rendimiento neto',toMoney(report.net)],['Monto final',toMoney(report.final)],['Periodo',report.period]]);\r\n        const headings = report.type === 'vault' ? ['Escenario','Fecha','D\u00edas','Tasa','Bruto','Retenci\u00f3n','Neto','Final'] : ['Mes','Fecha','Saldo base','Bruto','Retenci\u00f3n','Neto','Final'];\r\n        const rows = report.type === 'vault' ? report.rows.map(r=>[r.periodo,r.fecha,String(r.dias),r.tasa,toMoney(r.bruto),toMoney(r.retencion),toMoney(r.neto),toMoney(r.acumulado)]) : report.rows.map(r=>[String(r.periodo),r.fecha,toMoney(r.saldoBase),toMoney(r.bruto),toMoney(r.retencion),toMoney(r.neto),toMoney(r.acumulado)]);\r\n        table(headings, rows, report.tableTitle);\r\n        section('Nota informativa');\r\n        doc.setTextColor(91,111,104);doc.setFont('helvetica','normal');doc.setFontSize(8.5);doc.text(split('Estimaci\u00f3n educativa. Las tasas, condiciones comerciales, topes, impuestos y reglas de retenci\u00f3n pueden cambiar. Verifica siempre la informaci\u00f3n oficial de RappiPay antes de tomar una decisi\u00f3n.',width),margin,y);\r\n        const pages=doc.getNumberOfPages();\r\n        for(let p=1;p<=pages;p++){doc.setPage(p);doc.setDrawColor(215,228,223);doc.line(margin,286,210-margin,286);doc.setTextColor(91,111,104);doc.setFontSize(7.5);doc.text(CONFIG.url+'  |  Reporte informativo',margin,291);doc.text('P\u00e1gina '+p+' de '+pages,210-margin,291,{align:'right'});}\r\n        doc.save(CONFIG.pdfFile);\r\n      }\r\n      function fallbackPrint(report){\r\n        const popup = window.open('', '_blank');\r\n        if(!popup) throw new Error('No fue posible abrir la vista de impresi\u00f3n.');\r\n        const esc = (value) => clean(value).replace(\/[&<>\"']\/g, ch => ({'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#039;'}[ch]));\r\n        const rows = [['Producto',report.product],['Tasa aplicada',fmtPct.format(report.rate)+' E.A.'],['Rendimiento bruto',toMoney(report.gross)],['Retenci\u00f3n estimada',toMoney(report.tax)],['Rendimiento neto',toMoney(report.net)],['Monto final',toMoney(report.final)],['Periodo',report.period]];\r\n        const table = rows.map(r=>'<tr><th>'+esc(r[0])+'<\/th><td>'+esc(r[1])+'<\/td><\/tr>').join('');\r\n        popup.document.write('<!doctype html><html><head><meta charset=\"utf-8\"><title>Reporte RappiCuenta<\/title><style>body{font-family:Arial,sans-serif;color:#17332f;padding:36px;position:relative}body:before{content:\"inversionesguru.com\/co\/\";position:fixed;inset:45% 0;text-align:center;transform:rotate(-28deg);font-size:42px;color:#dfeee9;z-index:-1}h1{font-size:24px}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid #d8e5e0;padding:8px;text-align:left;font-size:13px}th{width:44%}.url{color:#08755d;font-weight:700}<\/style><\/head><body><div class=\"url\">'+CONFIG.url+'<\/div><h1>Reporte de RappiCuenta, Bolsillos y B\u00f3vedas<\/h1><p>Reporte informativo. Usa Imprimir y selecciona Guardar como PDF.<\/p><table>'+table+'<\/table><\/body><\/html>');\r\n        popup.document.close(); popup.focus(); popup.print();\r\n      }\r\n\r\n      els.form.addEventListener('submit', (ev)=>{ev.preventDefault(); calculate();});\r\n      els.reset.addEventListener('click', reset);\r\n      els.tabFlex.addEventListener('click', () => setMode('flex'));\r\n      els.tabVault.addEventListener('click', () => setMode('vault'));\r\n      els.early.addEventListener('change', () => { updateHeldMax(); hideResults(); });\r\n      els.heldDays.addEventListener('input', () => { updateHeldMax(); hideResults(); });\r\n      $$('.ig-option input, #ig-rappi-tax, #ig-rappi-months, #ig-rappi-start, #ig-rappi-vault-start').forEach(el => el.addEventListener('change', hideResults));\r\n      els.amount.addEventListener('input', () => { formatInputMoney(els.amount); hideMsg(); hideResults(); });\r\n      els.amount.addEventListener('blur', () => formatInputMoney(els.amount));\r\n      els.pdf.addEventListener('click', async () => {\r\n        if(!state.lastReport) return;\r\n        const old = els.pdf.textContent;\r\n        els.pdf.disabled = true;\r\n        els.pdf.textContent = 'Generando PDF...';\r\n        els.pdfStatus.textContent = 'Preparando tu reporte descargable.';\r\n        try{\r\n          const jsPDF = await ensureJsPdf();\r\n          exportPdf(jsPDF, state.lastReport);\r\n          els.pdfStatus.textContent = 'PDF descargado con marca de agua de InversionesGuru.';\r\n        }catch(err){\r\n          try{\r\n            fallbackPrint(state.lastReport);\r\n            els.pdfStatus.textContent = 'Se abri\u00f3 la vista de impresi\u00f3n. Elige Guardar como PDF.';\r\n          }catch(e){\r\n            els.pdfStatus.textContent = 'No fue posible generar el PDF. Revisa permisos de descargas o ventanas emergentes.';\r\n          }\r\n        }finally{\r\n          els.pdf.textContent = old;\r\n          els.pdf.disabled = false;\r\n        }\r\n      });\r\n\r\n      els.start.value = todayYMD();\r\n      els.vaultStart.value = todayYMD();\r\n      updateHeldMax();\r\n    })();\r\n  <\/script>\r\n<\/section>\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-c849a0c e-flex e-con-boxed e-con e-parent\" data-id=\"c849a0c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;ekit_has_onepagescroll_dot&quot;:&quot;yes&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a757e6c elementor-widget elementor-widget-heading\" data-id=\"a757e6c\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Calculadora de Rendimientos RappiPay: Estima tus Ganancias<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1bdea6e elementor-widget elementor-widget-text-editor\" data-id=\"1bdea6e\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;ekit_we_effect_on&quot;:&quot;none&quot;}\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: #000000;\"><span class=\"selected\">Calcula f\u00e1cilmente los posibles <\/span><strong><span class=\"selected\">rendimientos de tu Cuenta RappiPay<\/span><\/strong><span class=\"selected\"> (o Dep\u00f3sito de Bajo Monto) y <\/span><strong><span class=\"selected\">B\u00f3vedas de Ahorro RappiPay<\/span><\/strong><span class=\"selected\"> con nuestra herramienta interactiva. Descubre una estimaci\u00f3n de cu\u00e1nto podr\u00eda crecer tu dinero.<\/span><\/span><\/p><h3><span class=\"selected\" style=\"color: #000000;\"><b>\u00bfC\u00f3mo Funciona esta Calculadora RappiPay?<\/b><\/span><\/h3><p><span class=\"selected\" style=\"color: #000000;\">Esta calculadora proyecta tus posibles ganancias utilizando:<\/span><\/p><ul><li><p><span class=\"selected\" style=\"color: #000000;\">La informaci\u00f3n que ingresas: monto, tipo de producto RappiPay y condiciones espec\u00edficas (transacciones, plazo).<\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><span class=\"selected\">Las <\/span><strong><span class=\"selected\">tasas de inter\u00e9s Efectivas Anuales (E.A.)<\/span><\/strong><span class=\"selected\"> indicadas para cada producto. <\/span><em><span class=\"selected\">Recuerda que la tasa E.A. representa el inter\u00e9s ganado en un a\u00f1o, considerando la reinversi\u00f3n de los intereses.<\/span><\/em><\/span><\/p><\/li><\/ul><p><span class=\"selected\" style=\"color: #000000;\">La herramienta realiza dos tipos de c\u00e1lculo:<\/span><\/p><ul><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Para Dep\u00f3sito\/Cuenta RappiPay:<\/span><\/strong><span class=\"selected\"> Simula el crecimiento mes a mes. Calcula el inter\u00e9s bruto mensual y estima la <\/span><strong><span class=\"selected\">Retenci\u00f3n en la Fuente (ReteFuente)<\/span><\/strong><span class=\"selected\"> del 7% que aplicar\u00eda si ese inter\u00e9s mensual supera el umbral DIAN (estimado en ~$82.170 mensuales). Te muestra el inter\u00e9s neto y el saldo acumulado cada mes.<\/span><\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Para B\u00f3vedas RappiPay:<\/span><\/strong><span class=\"selected\"> Calcula el <\/span><strong><span class=\"selected\">rendimiento total<\/span><\/strong><span class=\"selected\"> y el monto final que obtendr\u00edas al concluir el plazo seleccionado (90, 180 o 360 d\u00edas).<\/span><\/span><\/p><\/li><\/ul><h3><span class=\"selected\" style=\"color: #000000;\"><b>Pasos para Usar la Calculadora de Rendimientos<\/b><\/span><\/h3><p><span class=\"selected\" style=\"color: #000000;\">Sigue estos sencillos pasos:<\/span><\/p><ol><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Monto a Invertir (COP):<\/span><\/strong><span class=\"selected\"> Ingresa la cantidad en pesos colombianos que deseas simular.<\/span><\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Tipo de Producto RappiPay:<\/span><\/strong><span class=\"selected\"> Selecciona &#8220;Dep\u00f3sito de Bajo Monto \/ Cuenta&#8221; o &#8220;B\u00f3veda de Ahorro&#8221;.<\/span><\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Si elegiste &#8220;Dep\u00f3sito de Bajo Monto \/ Cuenta&#8221;:<\/span><\/strong><\/span><\/p><ul><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">N\u00famero de Meses:<\/span><\/strong><span class=\"selected\"> Define por cu\u00e1ntos meses quieres ver la proyecci\u00f3n (m\u00ednimo 1).<\/span><\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Transacciones:<\/span><\/strong><span class=\"selected\"> Indica si cumples la condici\u00f3n de &#8220;4 o m\u00e1s&#8221; transacciones (pago\/transferencia\/retiro) en los \u00faltimos 30 d\u00edas para acceder a la tasa de inter\u00e9s promocional (9% E.A.), o &#8220;Menos de 4&#8221; para la tasa base (1% E.A.).<\/span><\/span><\/p><\/li><\/ul><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Si elegiste &#8220;B\u00f3veda de Ahorro&#8221;:<\/span><\/strong><\/span><\/p><ul><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Plazo B\u00f3veda:<\/span><\/strong><span class=\"selected\"> Elige entre 90 d\u00edas (9.5% E.A.), 180 d\u00edas (10% E.A.) o 360 d\u00edas (10.6% E.A.).<\/span><\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Retiro Anticipado:<\/span><\/strong><span class=\"selected\"> Marca esta opci\u00f3n <\/span><em><span class=\"selected\">solo<\/span><\/em><span class=\"selected\"> si piensas retirar el dinero antes del plazo. Ten en cuenta que esto reduce significativamente la tasa de inter\u00e9s (a 0.1% E.A.).<\/span><\/span><\/p><\/li><\/ul><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Calcular:<\/span><\/strong><span class=\"selected\"> Presiona el bot\u00f3n &#8220;Calcular Rendimiento&#8221;.<\/span><\/span><\/p><\/li><\/ol><h3><span class=\"selected\" style=\"color: #000000;\"><b>Entendiendo los Resultados del C\u00e1lculo<\/b><\/span><\/h3><ul><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Resultados para Dep\u00f3sito\/Cuenta RappiPay:<\/span><\/strong><span class=\"selected\"> Se mostrar\u00e1 una tabla detallada mes a mes:<\/span><\/span><\/p><ul><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Mes:<\/span><\/strong><span class=\"selected\"> N\u00famero del mes simulado.<\/span><\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Inter\u00e9s Bruto (Mes):<\/span><\/strong><span class=\"selected\"> Ganancia mensual <\/span><em><span class=\"selected\">antes<\/span><\/em><span class=\"selected\"> de ReteFuente.<\/span><\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">ReteFuente (Mes):<\/span><\/strong><span class=\"selected\"> Retenci\u00f3n estimada (7%) si el inter\u00e9s bruto mensual supera ~$82.170. De lo contrario, ser\u00e1 $0.<\/span><\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Inter\u00e9s Neto (Mes):<\/span><\/strong><span class=\"selected\"> Inter\u00e9s real sumado a tu saldo ese mes (Inter\u00e9s Bruto &#8211; ReteFuente).<\/span><\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Monto Acumulado:<\/span><\/strong><span class=\"selected\"> Saldo total al final de cada mes.<\/span><\/span><\/p><\/li><\/ul><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Resultados para B\u00f3veda RappiPay:<\/span><\/strong><span class=\"selected\"> Ver\u00e1s un resumen claro:<\/span><\/span><\/p><ul><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Tasa efectiva anual aplicada:<\/span><\/strong><span class=\"selected\"> La tasa E.A. utilizada seg\u00fan el plazo y si marcaste retiro anticipado.<\/span><\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Rendimiento estimado (Periodo):<\/span><\/strong><span class=\"selected\"> Ganancia total estimada al finalizar el plazo completo.<\/span><\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Monto final estimado (Periodo):<\/span><\/strong><span class=\"selected\"> Saldo total proyectado al final del plazo.<\/span><\/span><\/p><\/li><\/ul><\/li><\/ul><h3><span class=\"selected\" style=\"color: #000000;\"><b>Ejemplos de C\u00e1lculo de Rendimiento<\/b><\/span><\/h3><ul><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Ejemplo 1 (Cuenta RappiPay con Intereses Altos):<\/span><\/strong><\/span><\/p><ul><li><p><span class=\"selected\" style=\"color: #000000;\">Monto: $2.000.000<\/span><\/p><\/li><li><p><span class=\"selected\" style=\"color: #000000;\">Producto: Dep\u00f3sito de Bajo Monto \/ Cuenta<\/span><\/p><\/li><li><p><span class=\"selected\" style=\"color: #000000;\">Meses: 6<\/span><\/p><\/li><li><p><span class=\"selected\" style=\"color: #000000;\">Transacciones: 4 o m\u00e1s (para obtener el 9% E.A.)<\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><em><span class=\"selected\">Resultado Esperado:<\/span><\/em><span class=\"selected\"> Una tabla con 6 filas. Observar\u00e1s el crecimiento mensual aplicando el 9% E.A. Podr\u00edas ver valores en &#8220;ReteFuente (Mes)&#8221; si el inter\u00e9s bruto mensual supera el umbral.<\/span><\/span><\/p><\/li><\/ul><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Ejemplo 2 (B\u00f3veda RappiPay a 180 d\u00edas):<\/span><\/strong><\/span><\/p><ul><li><p><span class=\"selected\" style=\"color: #000000;\">Monto: $500.000<\/span><\/p><\/li><li><p><span class=\"selected\" style=\"color: #000000;\">Producto: B\u00f3veda de Ahorro<\/span><\/p><\/li><li><p><span class=\"selected\" style=\"color: #000000;\">Plazo: 180 d\u00edas<\/span><\/p><\/li><li><p><span class=\"selected\" style=\"color: #000000;\">Retiro Anticipado: No marcado<\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><em><span class=\"selected\">Resultado Esperado:<\/span><\/em><span class=\"selected\"> Un resumen mostrando: Tasa aplicada: 10.0% E.A., Rendimiento estimado: ~$24.178, Monto final estimado: ~$524.178.<\/span><\/span><\/p><\/li><\/ul><\/li><\/ul><h3><span class=\"selected\" style=\"color: #000000;\"><b>\u00a1Importante! Consideraciones Clave<\/b><\/span><\/h3><ul><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Estimaciones:<\/span><\/strong><span class=\"selected\"> Los resultados son <\/span><strong><span class=\"selected\">c\u00e1lculos aproximados<\/span><\/strong><span class=\"selected\">. Las <\/span><strong><span class=\"selected\">tasas de inter\u00e9s RappiPay<\/span><\/strong><span class=\"selected\"> pueden cambiar sin previo aviso.<\/span><\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Retenci\u00f3n en la Fuente:<\/span><\/strong><span class=\"selected\"> El c\u00e1lculo de ReteFuente usa un umbral estimado. Consulta siempre la <\/span><strong><span class=\"selected\">normativa DIAN vigente<\/span><\/strong><span class=\"selected\"> para informaci\u00f3n fiscal precisa.<\/span><\/span><\/p><\/li><li><p><span style=\"color: #000000;\"><strong><span class=\"selected\">Informativo:<\/span><\/strong><span class=\"selected\"> Esta calculadora es una herramienta <\/span><strong><span class=\"selected\">solo para fines informativos<\/span><\/strong><span class=\"selected\"> y no representa una garant\u00eda de rendimiento.<\/span><\/span><\/p><\/li><\/ul><p><span style=\"color: #000000;\"><span class=\"selected\">\u00a1Esperamos que esta calculadora te ayude a planificar tus ahorros y entender mejor los <\/span><strong><span class=\"selected\">rendimientos potenciales en RappiPay<\/span><\/strong><span class=\"selected\">!<\/span><\/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>\u2197 Herramienta financiera Simulador de RappiCuenta, Bolsillos y B\u00f3vedas Compara saldo disponible, Bolsillos y B\u00f3vedas con una proyecci\u00f3n visual y descargable. Reporte PDF disponible al calcular RappiPay \u00b7 RappiCuenta Simula cu\u00e1nto puede crecer tu dinero seg\u00fan d\u00f3nde lo guardes. Elige entre saldo fuera de Bolsillos, saldo en Bolsillos o una B\u00f3veda con plazo. La herramienta&#8230;<\/p>\n","protected":false},"author":1,"featured_media":4017,"template":"","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-5905","herramientas","type-herramientas","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/herramientas\/5905","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":16,"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/herramientas\/5905\/revisions"}],"predecessor-version":[{"id":8628,"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/herramientas\/5905\/revisions\/8628"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/media\/4017"}],"wp:attachment":[{"href":"https:\/\/inversionesguru.com\/co\/wp-json\/wp\/v2\/media?parent=5905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}