{"id":13131,"date":"2026-06-08T14:52:41","date_gmt":"2026-06-08T14:52:41","guid":{"rendered":"https:\/\/tasando.com\/propiedades\/?page_id=13131"},"modified":"2026-09-09T12:42:51","modified_gmt":"2026-09-09T12:42:51","slug":"fondos-conservadores","status":"publish","type":"page","link":"https:\/\/tasando.com\/propiedades\/fondos-conservadores\/","title":{"rendered":"Fondos Conservadores"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"13131\" class=\"elementor elementor-13131\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-0008442 elementor-section-stretched elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"0008442\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;stretch_section&quot;:&quot;section-stretched&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-d20dc3e\" data-id=\"d20dc3e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d5f9b23 elementor-widget elementor-widget-html\" data-id=\"d5f9b23\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n<!--  -->\r\n<section id=\"tasando-fondos-conservadores-intro\">\r\n<style>\r\n\r\n    #tasando-fondos-conservadores-intro {\r\n\r\n      --tfc-blue: #23385f;\r\n\r\n      --tfc-blue-dark: #172a4a;\r\n\r\n      --tfc-green: #69be28;\r\n\r\n      --tfc-bg: #f5f7fa;\r\n\r\n      --tfc-card: #ffffff;\r\n\r\n      --tfc-text: #102033;\r\n\r\n      --tfc-muted: #617084;\r\n\r\n      --tfc-border: rgba(15, 23, 42, 0.10);\r\n\r\n      --tfc-shadow: 0 14px 32px rgba(15, 23, 42, 0.09);\r\n\r\n      --tfc-max: min(1240px, calc(100vw - 120px));\r\n\r\n\r\n\r\n      width: var(--tfc-max);\r\n\r\n      max-width: var(--tfc-max);\r\n\r\n      margin: 0 auto 88px auto;\r\n\r\n      font-family: Arial, Helvetica, sans-serif;\r\n\r\n      color: var(--tfc-text);\r\n\r\n      box-sizing: border-box;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro * {\r\n\r\n      box-sizing: border-box;\r\n\r\n    }\r\n\r\n\r\n\r\n    body .elementor-widget-html:has(#tasando-fondos-conservadores-intro),\r\n\r\n    body .elementor-widget-html:has(#tasando-fondos-conservadores-intro) > .elementor-widget-container,\r\n\r\n    body .elementor-column:has(#tasando-fondos-conservadores-intro),\r\n\r\n    body .elementor-container:has(#tasando-fondos-conservadores-intro),\r\n\r\n    body .e-con:has(#tasando-fondos-conservadores-intro),\r\n\r\n    body .e-con-inner:has(#tasando-fondos-conservadores-intro) {\r\n\r\n      width: 100% !important;\r\n\r\n      max-width: none !important;\r\n\r\n      overflow: visible !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-panel {\r\n\r\n      background:\r\n\r\n        radial-gradient(circle at 12% 18%, rgba(105, 190, 40, 0.13) 0%, rgba(105, 190, 40, 0.00) 28%),\r\n\r\n        linear-gradient(135deg, #ffffff 0%, #f8fafc 58%, #eef3f8 100%);\r\n\r\n      border: 1px solid var(--tfc-border);\r\n\r\n      border-radius: 20px;\r\n\r\n      box-shadow: var(--tfc-shadow);\r\n\r\n      padding: 22px;\r\n\r\n      overflow: hidden;\r\n\r\n      position: relative;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-panel:after {\r\n\r\n      content: \"\";\r\n\r\n      position: absolute;\r\n\r\n      right: -70px;\r\n\r\n      top: -70px;\r\n\r\n      width: 180px;\r\n\r\n      height: 180px;\r\n\r\n      border-radius: 50%;\r\n\r\n      background: rgba(105, 190, 40, 0.11);\r\n\r\n      pointer-events: none;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-grid {\r\n\r\n      position: relative;\r\n\r\n      z-index: 1;\r\n\r\n      display: grid;\r\n\r\n      grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);\r\n\r\n      gap: 18px;\r\n\r\n      align-items: center;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-kicker {\r\n\r\n      display: inline-flex;\r\n\r\n      align-items: center;\r\n\r\n      gap: 8px;\r\n\r\n      padding: 7px 11px;\r\n\r\n      border-radius: 999px;\r\n\r\n      background: #edf3f8;\r\n\r\n      color: var(--tfc-blue);\r\n\r\n      font-size: 12px;\r\n\r\n      font-weight: 900;\r\n\r\n      letter-spacing: .2px;\r\n\r\n      margin-bottom: 10px;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-kicker span {\r\n\r\n      width: 7px;\r\n\r\n      height: 7px;\r\n\r\n      border-radius: 50%;\r\n\r\n      background: var(--tfc-green);\r\n\r\n      box-shadow: 0 0 0 5px rgba(105, 190, 40, .16);\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro h2 {\r\n\r\n      margin: 0;\r\n\r\n      color: var(--tfc-blue-dark);\r\n\r\n      font-size: clamp(24px, 2.6vw, 36px);\r\n\r\n      line-height: 1.08;\r\n\r\n      font-weight: 950;\r\n\r\n      letter-spacing: -0.7px;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-lead {\r\n\r\n      margin: 12px 0 0 0;\r\n\r\n      color: var(--tfc-muted);\r\n\r\n      font-size: 14px;\r\n\r\n      line-height: 1.58;\r\n\r\n      max-width: 830px;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-cards {\r\n\r\n      display: grid;\r\n\r\n      gap: 9px;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-card {\r\n\r\n      display: grid;\r\n\r\n      grid-template-columns: 34px 1fr;\r\n\r\n      gap: 10px;\r\n\r\n      align-items: flex-start;\r\n\r\n      background: rgba(255,255,255,0.84);\r\n\r\n      border: 1px solid rgba(15, 23, 42, 0.08);\r\n\r\n      border-radius: 15px;\r\n\r\n      padding: 11px;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-icon {\r\n\r\n      width: 34px;\r\n\r\n      height: 34px;\r\n\r\n      border-radius: 12px;\r\n\r\n      display: flex;\r\n\r\n      align-items: center;\r\n\r\n      justify-content: center;\r\n\r\n      background: var(--tfc-blue);\r\n\r\n      color: #ffffff;\r\n\r\n      font-size: 15px;\r\n\r\n      font-weight: 900;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-card b {\r\n\r\n      display: block;\r\n\r\n      color: #13233a;\r\n\r\n      font-size: 13px;\r\n\r\n      margin-bottom: 3px;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-card span {\r\n\r\n      display: block;\r\n\r\n      color: #5f6e80;\r\n\r\n      font-size: 12.2px;\r\n\r\n      line-height: 1.42;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-legend {\r\n\r\n      margin-top: 14px;\r\n\r\n      display: flex;\r\n\r\n      flex-wrap: wrap;\r\n\r\n      gap: 8px;\r\n\r\n      align-items: center;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-chip {\r\n\r\n      display: inline-flex;\r\n\r\n      align-items: center;\r\n\r\n      gap: 7px;\r\n\r\n      padding: 7px 10px;\r\n\r\n      border-radius: 999px;\r\n\r\n      background: #ffffff;\r\n\r\n      border: 1px solid rgba(15, 23, 42, 0.09);\r\n\r\n      color: #4f5f72;\r\n\r\n      font-size: 11.5px;\r\n\r\n      font-weight: 800;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-dot {\r\n\r\n      width: 10px;\r\n\r\n      height: 10px;\r\n\r\n      border-radius: 50%;\r\n\r\n      display: inline-block;\r\n\r\n      border: 1px solid rgba(15,23,42,.10);\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-red { background: #f7c7c3; }\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-white { background: #ffffff; }\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-green { background: #b9ead2; }\r\n\r\n\r\n\r\n    #tasando-fondos-conservadores-intro .tfc-note {\r\n\r\n      margin-top: 12px;\r\n\r\n      padding: 11px 12px;\r\n\r\n      border-radius: 14px;\r\n\r\n      background: #eef5fb;\r\n\r\n      border: 1px solid rgba(35, 56, 95, 0.10);\r\n\r\n      color: #4c6073;\r\n\r\n      font-size: 12.2px;\r\n\r\n      line-height: 1.45;\r\n\r\n    }\r\n\r\n\r\n\r\n    @media (max-width: 1200px) and (min-width: 701px) {\r\n\r\n      #tasando-fondos-conservadores-intro {\r\n\r\n        width: calc(100vw - 48px);\r\n\r\n        max-width: calc(100vw - 48px);\r\n\r\n      }\r\n\r\n    }\r\n\r\n\r\n\r\n    @media (max-width: 800px) {\r\n\r\n      #tasando-fondos-conservadores-intro .tfc-grid {\r\n\r\n        grid-template-columns: 1fr;\r\n\r\n      }\r\n\r\n    }\r\n\r\n\r\n\r\n    @media (max-width: 700px) {\r\n\r\n      #tasando-fondos-conservadores-intro {\r\n\r\n        width: calc(100vw - 24px);\r\n\r\n        max-width: calc(100vw - 24px);\r\n\r\n        margin-bottom: 42px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-fondos-conservadores-intro .tfc-panel {\r\n\r\n        padding: 16px;\r\n\r\n        border-radius: 18px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-fondos-conservadores-intro h2 {\r\n\r\n        font-size: 23px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-fondos-conservadores-intro .tfc-lead {\r\n\r\n        font-size: 13px;\r\n\r\n      }\r\n\r\n    }\r\n\r\n    \r\n\r\n    \/* =========================================================\r\n\r\n   AJUSTE FINAL - REDUCE ESPACIO ENTRE MEN\u00da Y PRIMER RECUADRO\r\n\r\n   P\u00c1GINA FONDOS CONSERVADORES\r\n\r\n   ========================================================= *\/\r\n\r\n\r\n\r\nbody .entry-content:has(#tasando-fondos-conservadores-intro),\r\n\r\nbody .page-content:has(#tasando-fondos-conservadores-intro),\r\n\r\nbody .site-content:has(#tasando-fondos-conservadores-intro),\r\n\r\nbody .content-area:has(#tasando-fondos-conservadores-intro),\r\n\r\nbody .elementor:has(#tasando-fondos-conservadores-intro),\r\n\r\nbody .elementor-section:has(#tasando-fondos-conservadores-intro),\r\n\r\nbody .elementor-top-section:has(#tasando-fondos-conservadores-intro),\r\n\r\nbody .elementor-container:has(#tasando-fondos-conservadores-intro),\r\n\r\nbody .elementor-column:has(#tasando-fondos-conservadores-intro),\r\n\r\nbody .elementor-widget-wrap:has(#tasando-fondos-conservadores-intro),\r\n\r\nbody .elementor-widget-html:has(#tasando-fondos-conservadores-intro),\r\n\r\nbody .elementor-widget-html:has(#tasando-fondos-conservadores-intro) > .elementor-widget-container,\r\n\r\nbody .e-con:has(#tasando-fondos-conservadores-intro),\r\n\r\nbody .e-con-inner:has(#tasando-fondos-conservadores-intro) {\r\n\r\n  margin-top: 0 !important;\r\n\r\n  padding-top: 0 !important;\r\n\r\n}\r\n\r\n\r\n\r\n#tasando-fondos-conservadores-intro {\r\n\r\n  margin-top: -72px !important;\r\n\r\n  margin-bottom: 88px !important;\r\n\r\n}\r\n\r\n\r\n\r\n#tasando-fondos-conservadores-intro .tfc-panel {\r\n\r\n  margin-top: 0 !important;\r\n\r\n}\r\n\r\n\r\n\r\n\/* Pantallas medianas *\/\r\n\r\n@media (max-width: 1200px) {\r\n\r\n  #tasando-fondos-conservadores-intro {\r\n\r\n    margin-top: -56px !important;\r\n\r\n    margin-bottom: 84px !important;\r\n\r\n  }\r\n\r\n}\r\n\r\n\r\n\r\n\/* Celular *\/\r\n\r\n@media (max-width: 700px) {\r\n\r\n  #tasando-fondos-conservadores-intro {\r\n\r\n    margin-top: -30px !important;\r\n\r\n    margin-bottom: 24px !important;\r\n\r\n  }\r\n\r\n}\r\n\r\n    \r\n\r\n  <\/style>\r\n<div class=\"tfc-panel\">\r\n<div class=\"tfc-grid\">\r\n<div>\r\n<div class=\"tfc-kicker\"><span><\/span>Portafolios de fondos mutuos \u00b7 comparaci\u00f3n de rentabilidades<\/div>\r\n<h2>Rentabilidades y se\u00f1ales para comparar portafolios<\/h2>\r\n<p class=\"tfc-lead\">Esta vista compara rentabilidades y se\u00f1ales de portafolios de fondos mutuos con distintos perfiles de riesgo. Incluye alternativas conservadoras, moderadas y agresivas; no todos los portafolios son conservadores.<\/p>\r\n<div class=\"tfc-legend\">\r\n<div class=\"tfc-chip\"><span class=\"tfc-dot tfc-green\"><\/span>Verde: aceleraci\u00f3n positiva<\/div>\r\n<div class=\"tfc-chip\"><span class=\"tfc-dot tfc-white\"><\/span>Blanco: aceleraci\u00f3n neutral<\/div>\r\n<div class=\"tfc-chip\"><span class=\"tfc-dot tfc-red\"><\/span>Rojo: aceleraci\u00f3n negativa<\/div>\r\n<\/div>\r\n<div class=\"tfc-note\">Compare los retornos en el mismo per\u00edodo y moneda. La aceleraci\u00f3n describe cambios de ritmo del retorno: un valor positivo no garantiza rentabilidad positiva. Considere tambi\u00e9n la volatilidad y la peor ca\u00edda diaria.<\/div>\r\n<\/div>\r\n<div class=\"tfc-cards\">\r\n<div class=\"tfc-card\">\r\n<div class=\"tfc-icon\">1<\/div>\r\n<div>\r\n<b>Compare rentabilidades<\/b>\r\n<span>Revise el retorno acumulado en per\u00edodos equivalentes, junto con su evoluci\u00f3n reciente.<\/span>\r\n<\/div>\r\n<\/div>\r\n<div class=\"tfc-card\">\r\n<div class=\"tfc-icon\">2<\/div>\r\n<div>\r\n<b>Observe deterioros tempranos<\/b>\r\n<span>Secuencias rojas pueden anticipar p\u00e9rdida de impulso, mayor sensibilidad o aumento del riesgo relativo.<\/span>\r\n<\/div>\r\n<\/div>\r\n<div class=\"tfc-card\">\r\n<div class=\"tfc-icon\">3<\/div>\r\n<div>\r\n<b>Considere el riesgo<\/b>\r\n<span>Interprete la rentabilidad junto con la volatilidad y la peor ca\u00edda diaria del per\u00edodo observado.<\/span>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/div>\r\n<\/section> \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-75589d7 elementor-widget elementor-widget-html\" data-id=\"75589d7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n  \r\n<section id=\"tasando-matriz-fm-cons-acc\">\r\n<style>\r\n\r\n    #tasando-matriz-fm-cons-acc {\r\n\r\n      --tm-desktop-shift-y: -75px;\r\n\r\n      --tm-mobile-shift-y: -28px;\r\n\r\n      --tm-desktop-width: min(1320px, calc(100vw - 90px));\r\n\r\n      --tm-notebook-width: calc(100vw - 48px);\r\n\r\n      --tm-panel-bg-1: #eef2f5;\r\n\r\n      --tm-panel-bg-2: #e3e8ef;\r\n\r\n      --tm-border: #cbd5e1;\r\n\r\n      --tm-dark: #111827;\r\n\r\n      --tm-text: #0f172a;\r\n\r\n      --tm-muted: #475569;\r\n\r\n\r\n\r\n      --tm-col-sector-w: 20%;\r\n\r\n      --tm-col-ret-w: 4%;\r\n\r\n      --tm-col-acc-w: 3.8%;\r\n\r\n\r\n\r\n      --tm-font-header: 8.4px;\r\n\r\n      --tm-font-numeros: 8.2px;\r\n\r\n      --tm-font-sector: 9.2px;\r\n\r\n      --tm-font-ret20: 8.2px;\r\n\r\n\r\n\r\n      font-family: Arial, Helvetica, sans-serif;\r\n\r\n      width: var(--tm-desktop-width) !important;\r\n\r\n      max-width: var(--tm-desktop-width) !important;\r\n\r\n      margin-top: 0 !important;\r\n\r\n      margin-bottom: 55px !important;\r\n\r\n      margin-left: 50% !important;\r\n\r\n      margin-right: 0 !important;\r\n\r\n      transform: translateX(-50%) translateY(var(--tm-desktop-shift-y)) !important;\r\n\r\n      padding: 0 !important;\r\n\r\n      color: var(--tm-text);\r\n\r\n      background: transparent;\r\n\r\n      box-sizing: border-box;\r\n\r\n      position: relative;\r\n\r\n      overflow: visible;\r\n\r\n      z-index: 1;\r\n\r\n      clear: both;\r\n\r\n    }\r\n\r\n\r\n\r\n    body .elementor-widget-html:has(#tasando-matriz-fm-cons-acc),\r\n\r\n    body .elementor-widget-html:has(#tasando-matriz-fm-cons-acc) > .elementor-widget-container,\r\n\r\n    body .elementor-column:has(#tasando-matriz-fm-cons-acc),\r\n\r\n    body .elementor-container:has(#tasando-matriz-fm-cons-acc),\r\n\r\n    body .e-con:has(#tasando-matriz-fm-cons-acc),\r\n\r\n    body .e-con-inner:has(#tasando-matriz-fm-cons-acc) {\r\n\r\n      width: 100% !important;\r\n\r\n      max-width: none !important;\r\n\r\n      overflow: visible !important;\r\n\r\n      margin-top: 0 !important;\r\n\r\n      padding-top: 0 !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc * {\r\n\r\n      box-sizing: border-box;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc .tm-panel {\r\n\r\n      width: 100% !important;\r\n\r\n      max-width: 100% !important;\r\n\r\n      margin: 0 auto;\r\n\r\n      background: linear-gradient(180deg, var(--tm-panel-bg-1) 0%, var(--tm-panel-bg-2) 100%);\r\n\r\n      border: 1px solid var(--tm-border);\r\n\r\n      border-radius: 18px;\r\n\r\n      padding: 18px;\r\n\r\n      box-shadow: 0 14px 34px rgba(15, 23, 42, 0.12);\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc .tm-head {\r\n\r\n      display: flex;\r\n\r\n      justify-content: space-between;\r\n\r\n      align-items: flex-start;\r\n\r\n      gap: 16px;\r\n\r\n      margin-bottom: 12px;\r\n\r\n      flex-wrap: wrap;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc h3 {\r\n\r\n      margin: 0 0 5px 0;\r\n\r\n      font-size: 21px;\r\n\r\n      line-height: 1.15;\r\n\r\n      color: var(--tm-text);\r\n\r\n      font-weight: 800;\r\n\r\n      letter-spacing: -0.3px;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc .tm-subtitle {\r\n\r\n      margin: 0;\r\n\r\n      color: var(--tm-muted);\r\n\r\n      font-size: 12px;\r\n\r\n      line-height: 1.35;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc .tm-badge {\r\n\r\n      background: #ffffff;\r\n\r\n      border: 1px solid #d7dde6;\r\n\r\n      border-radius: 999px;\r\n\r\n      padding: 7px 11px;\r\n\r\n      font-size: 11px;\r\n\r\n      color: var(--tm-muted);\r\n\r\n      white-space: nowrap;\r\n\r\n      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc .tm-mobile-controls {\r\n\r\n      display: none;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc .tm-wrap {\r\n\r\n      width: 100% !important;\r\n\r\n      max-width: 100% !important;\r\n\r\n      overflow-x: hidden;\r\n\r\n      overflow-y: visible;\r\n\r\n      border-radius: 12px;\r\n\r\n      border: 1px solid var(--tm-border);\r\n\r\n      background: #ffffff;\r\n\r\n      margin: 0 auto;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc table {\r\n\r\n      width: 100% !important;\r\n\r\n      min-width: 100% !important;\r\n\r\n      table-layout: fixed !important;\r\n\r\n      border-collapse: collapse;\r\n\r\n      margin: 0 auto;\r\n\r\n      background: #ffffff;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc col.tm-col-sector {\r\n\r\n      width: var(--tm-col-sector-w) !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc col.tm-col-ret {\r\n\r\n      width: var(--tm-col-ret-w) !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc col.tm-col-acc {\r\n\r\n      width: var(--tm-col-acc-w) !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc th,\r\n\r\n    #tasando-matriz-fm-cons-acc td {\r\n\r\n      border-bottom: 1px solid #e2e8f0;\r\n\r\n      border-right: 1px solid #edf2f7;\r\n\r\n      overflow: hidden;\r\n\r\n      text-overflow: clip;\r\n\r\n      vertical-align: middle;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc th {\r\n\r\n      height: 31px !important;\r\n\r\n      padding: 4px 1px !important;\r\n\r\n      background: var(--tm-dark);\r\n\r\n      color: #ffffff;\r\n\r\n      font-size: var(--tm-font-header) !important;\r\n\r\n      line-height: 1.05 !important;\r\n\r\n      font-weight: 800 !important;\r\n\r\n      text-align: center !important;\r\n\r\n      white-space: normal !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc td {\r\n\r\n      padding: 5px 1px !important;\r\n\r\n      font-size: var(--tm-font-numeros) !important;\r\n\r\n      line-height: 1.08 !important;\r\n\r\n      font-weight: 650 !important;\r\n\r\n      text-align: center !important;\r\n\r\n      white-space: nowrap !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc th.tm-fixed-1 {\r\n\r\n      text-align: center !important;\r\n\r\n      padding-left: 3px !important;\r\n\r\n      padding-right: 3px !important;\r\n\r\n      background: var(--tm-dark) !important;\r\n\r\n      color: #ffffff !important;\r\n\r\n      font-size: var(--tm-font-header) !important;\r\n\r\n      font-weight: 850 !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc td.tm-fixed-1 {\r\n\r\n      text-align: left !important;\r\n\r\n      padding-left: 7px !important;\r\n\r\n      padding-right: 5px !important;\r\n\r\n      white-space: normal !important;\r\n\r\n      overflow: hidden !important;\r\n\r\n      text-overflow: ellipsis !important;\r\n\r\n      background: #f8fafc !important;\r\n\r\n      color: var(--tm-text) !important;\r\n\r\n      font-size: var(--tm-font-sector) !important;\r\n\r\n      line-height: 1.08 !important;\r\n\r\n      font-weight: 850 !important;\r\n\r\n      letter-spacing: 0.05px;\r\n\r\n      text-transform: uppercase;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc tbody tr:nth-child(even) td {\r\n\r\n      background-color: #f8fafc;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc tbody tr:nth-child(even) td.tm-fixed-1 {\r\n\r\n      background: #f1f5f9 !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc tbody tr:hover td {\r\n\r\n      filter: brightness(0.97);\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc .tm-head-ret20 {\r\n\r\n      background: #00f000 !important;\r\n\r\n      color: #002b00 !important;\r\n\r\n      font-size: var(--tm-font-header) !important;\r\n\r\n      font-weight: 900 !important;\r\n\r\n      padding-left: 1px !important;\r\n\r\n      padding-right: 1px !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc .tm-ret20 {\r\n\r\n      font-size: var(--tm-font-ret20) !important;\r\n\r\n      font-weight: 800 !important;\r\n\r\n      padding-left: 1px !important;\r\n\r\n      padding-right: 1px !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc .tm-pos {\r\n\r\n      color: #064e3b;\r\n\r\n      font-weight: 650 !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc .tm-neg {\r\n\r\n      color: #7f1d1d;\r\n\r\n      font-weight: 650 !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc .tm-zero {\r\n\r\n      color: #475569;\r\n\r\n      font-weight: 600 !important;\r\n\r\n      background: #f8fafc;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc .tm-empty {\r\n\r\n      color: #94a3b8;\r\n\r\n      background: #ffffff;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc .tm-note {\r\n\r\n      margin: 9px 0 0 0;\r\n\r\n      color: #64748b;\r\n\r\n      font-size: 10.8px;\r\n\r\n      line-height: 1.35;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-matriz-fm-cons-acc .tm-error {\r\n\r\n      background: #fff7ed;\r\n\r\n      color: #9a3412;\r\n\r\n      border: 1px solid #fed7aa;\r\n\r\n      padding: 12px;\r\n\r\n      border-radius: 12px;\r\n\r\n      font-size: 13px;\r\n\r\n      line-height: 1.45;\r\n\r\n    }\r\n\r\n\r\n\r\n    @media (max-width: 1200px) and (min-width: 701px) {\r\n\r\n      #tasando-matriz-fm-cons-acc {\r\n\r\n        width: var(--tm-notebook-width) !important;\r\n\r\n        max-width: var(--tm-notebook-width) !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc .tm-panel {\r\n\r\n        padding: 16px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc th,\r\n\r\n      #tasando-matriz-fm-cons-acc td {\r\n\r\n        font-size: 7.85px !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc td.tm-fixed-1 {\r\n\r\n        font-size: 9px !important;\r\n\r\n        text-align: left !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc .tm-ret20 {\r\n\r\n        font-size: 7.9px !important;\r\n\r\n      }\r\n\r\n    }\r\n\r\n\r\n\r\n    @media (max-width: 700px) {\r\n\r\n      #tasando-matriz-fm-cons-acc {\r\n\r\n        width: 100% !important;\r\n\r\n        max-width: 100% !important;\r\n\r\n        margin-left: 0 !important;\r\n\r\n        margin-right: 0 !important;\r\n\r\n        margin-top: 0 !important;\r\n\r\n        margin-bottom: 10px !important;\r\n\r\n        transform: translateY(var(--tm-mobile-shift-y)) !important;\r\n\r\n        padding: 0 12px !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc .tm-panel {\r\n\r\n        width: 100% !important;\r\n\r\n        max-width: 100% !important;\r\n\r\n        padding: 14px;\r\n\r\n        border-radius: 16px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc .tm-head {\r\n\r\n        display: block;\r\n\r\n        margin-bottom: 10px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc h3 {\r\n\r\n        font-size: 18px;\r\n\r\n        line-height: 1.2;\r\n\r\n        margin-bottom: 6px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc .tm-subtitle {\r\n\r\n        font-size: 12px;\r\n\r\n        margin-bottom: 10px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc .tm-badge {\r\n\r\n        display: inline-block;\r\n\r\n        font-size: 11px;\r\n\r\n        padding: 7px 10px;\r\n\r\n        margin-top: 4px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc .tm-mobile-controls {\r\n\r\n        display: flex;\r\n\r\n        align-items: center;\r\n\r\n        justify-content: space-between;\r\n\r\n        gap: 8px;\r\n\r\n        margin: 10px 0 12px 0;\r\n\r\n        padding: 8px;\r\n\r\n        background: #e9eef4;\r\n\r\n        border: 1px solid var(--tm-border);\r\n\r\n        border-radius: 12px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc .tm-mobile-controls button {\r\n\r\n        border: 1px solid var(--tm-border);\r\n\r\n        background: #ffffff;\r\n\r\n        color: var(--tm-text);\r\n\r\n        border-radius: 999px;\r\n\r\n        padding: 7px 10px;\r\n\r\n        font-size: 11px;\r\n\r\n        font-weight: 800;\r\n\r\n        cursor: pointer;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc .tm-mobile-controls button:disabled {\r\n\r\n        opacity: 0.35;\r\n\r\n        cursor: not-allowed;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc .tm-mobile-date {\r\n\r\n        font-size: 12px;\r\n\r\n        font-weight: 800;\r\n\r\n        color: var(--tm-text);\r\n\r\n        text-align: center;\r\n\r\n        flex: 1;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc .tm-wrap {\r\n\r\n        overflow-x: hidden;\r\n\r\n        border-radius: 12px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc table {\r\n\r\n        width: 100% !important;\r\n\r\n        min-width: 100% !important;\r\n\r\n        table-layout: fixed !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc col.tm-col-sector {\r\n\r\n        width: 46% !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc col.tm-col-ret {\r\n\r\n        width: 22% !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc col.tm-col-acc {\r\n\r\n        width: 32% !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc th,\r\n\r\n      #tasando-matriz-fm-cons-acc td {\r\n\r\n        padding: 8px 4px !important;\r\n\r\n        font-size: 10px !important;\r\n\r\n        line-height: 1.2 !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc td.tm-fixed-1 {\r\n\r\n        font-size: 10.3px !important;\r\n\r\n        font-weight: 900 !important;\r\n\r\n        text-align: left !important;\r\n\r\n        padding-left: 7px !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-matriz-fm-cons-acc .tm-note {\r\n\r\n        font-size: 10.5px;\r\n\r\n      }\r\n\r\n    }\r\n\r\n    \r\n\r\n    \r\n\r\n    \/* =========================================================\r\n\r\n   AJUSTE DE PADDING \/ GAP\r\n\r\n   BLOQUE SUPERIOR - FONDOS CONSERVADORES\r\n\r\n   Evita superposici\u00f3n de recuadros\r\n\r\n   ========================================================= *\/\r\n\r\n\r\n\r\n#tasando-matriz-fm-cons-acc {\r\n\r\n  padding: 0 8px 0 8px !important;\r\n\r\n}\r\n\r\n\r\n\r\n\/* panel principal del bloque superior *\/\r\n\r\n#tasando-matriz-fm-cons-acc .tfi-panel,\r\n\r\n#tasando-matriz-fm-cons-acc .tmc-panel,\r\n\r\n#tasando-matriz-fm-cons-acc .cons-panel,\r\n\r\n#tasando-matriz-fm-cons-acc .panel-principal {\r\n\r\n  padding: 26px 26px 24px 26px !important;\r\n\r\n  overflow: hidden !important;\r\n\r\n}\r\n\r\n\r\n\r\n\/* grilla principal izquierda \/ derecha *\/\r\n\r\n#tasando-matriz-fm-cons-acc .tfi-grid,\r\n\r\n#tasando-matriz-fm-cons-acc .tmc-grid,\r\n\r\n#tasando-matriz-fm-cons-acc .cons-grid,\r\n\r\n#tasando-matriz-fm-cons-acc .grid-principal {\r\n\r\n  display: grid !important;\r\n\r\n  gap: 24px !important;\r\n\r\n  align-items: start !important;\r\n\r\n}\r\n\r\n\r\n\r\n\/* columna de recuadros de la derecha *\/\r\n\r\n#tasando-matriz-fm-cons-acc .tfi-cards,\r\n\r\n#tasando-matriz-fm-cons-acc .tmc-cards,\r\n\r\n#tasando-matriz-fm-cons-acc .cons-cards,\r\n\r\n#tasando-matriz-fm-cons-acc .cards-laterales {\r\n\r\n  display: grid !important;\r\n\r\n  gap: 14px !important;\r\n\r\n  align-content: start !important;\r\n\r\n}\r\n\r\n\r\n\r\n\/* cada recuadro lateral *\/\r\n\r\n#tasando-matriz-fm-cons-acc .tfi-card,\r\n\r\n#tasando-matriz-fm-cons-acc .tmc-card,\r\n\r\n#tasando-matriz-fm-cons-acc .cons-card,\r\n\r\n#tasando-matriz-fm-cons-acc .card-lateral {\r\n\r\n  margin: 0 !important;\r\n\r\n  padding: 16px 16px 15px 16px !important;\r\n\r\n  min-height: unset !important;\r\n\r\n  height: auto !important;\r\n\r\n}\r\n\r\n\r\n\r\n\/* leyenda de chips *\/\r\n\r\n#tasando-matriz-fm-cons-acc .tfi-legend,\r\n\r\n#tasando-matriz-fm-cons-acc .tmc-legend,\r\n\r\n#tasando-matriz-fm-cons-acc .cons-legend,\r\n\r\n#tasando-matriz-fm-cons-acc .legend {\r\n\r\n  display: flex !important;\r\n\r\n  flex-wrap: wrap !important;\r\n\r\n  gap: 10px !important;\r\n\r\n  margin-top: 18px !important;\r\n\r\n  margin-bottom: 14px !important;\r\n\r\n}\r\n\r\n\r\n\r\n\/* chips de color *\/\r\n\r\n#tasando-matriz-fm-cons-acc .tfi-chip,\r\n\r\n#tasando-matriz-fm-cons-acc .tmc-chip,\r\n\r\n#tasando-matriz-fm-cons-acc .cons-chip,\r\n\r\n#tasando-matriz-fm-cons-acc .legend .chip {\r\n\r\n  padding: 10px 14px !important;\r\n\r\n  line-height: 1.25 !important;\r\n\r\n}\r\n\r\n\r\n\r\n\/* texto descriptivo inferior *\/\r\n\r\n#tasando-matriz-fm-cons-acc .tfi-note,\r\n\r\n#tasando-matriz-fm-cons-acc .tmc-note,\r\n\r\n#tasando-matriz-fm-cons-acc .cons-note,\r\n\r\n#tasando-matriz-fm-cons-acc .nota-final {\r\n\r\n  margin-top: 16px !important;\r\n\r\n  padding: 14px 16px !important;\r\n\r\n  line-height: 1.45 !important;\r\n\r\n}\r\n\r\n\r\n\r\n\/* textos de la columna izquierda *\/\r\n\r\n#tasando-matriz-fm-cons-acc h2,\r\n\r\n#tasando-matriz-fm-cons-acc .tfi-title,\r\n\r\n#tasando-matriz-fm-cons-acc .tmc-title,\r\n\r\n#tasando-matriz-fm-cons-acc .cons-title {\r\n\r\n  margin-bottom: 12px !important;\r\n\r\n}\r\n\r\n\r\n\r\n#tasando-matriz-fm-cons-acc .tfi-lead,\r\n\r\n#tasando-matriz-fm-cons-acc .tmc-lead,\r\n\r\n#tasando-matriz-fm-cons-acc .cons-lead,\r\n\r\n#tasando-matriz-fm-cons-acc .texto-principal {\r\n\r\n  margin: 0 0 14px 0 !important;\r\n\r\n  line-height: 1.55 !important;\r\n\r\n}\r\n\r\n\r\n\r\n\/* responsive *\/\r\n\r\n@media (max-width: 860px) {\r\n\r\n  #tasando-matriz-fm-cons-acc .tfi-panel,\r\n\r\n  #tasando-matriz-fm-cons-acc .tmc-panel,\r\n\r\n  #tasando-matriz-fm-cons-acc .cons-panel,\r\n\r\n  #tasando-matriz-fm-cons-acc .panel-principal {\r\n\r\n    padding: 20px 18px 18px 18px !important;\r\n\r\n  }\r\n\r\n\r\n\r\n  #tasando-matriz-fm-cons-acc .tfi-grid,\r\n\r\n  #tasando-matriz-fm-cons-acc .tmc-grid,\r\n\r\n  #tasando-matriz-fm-cons-acc .cons-grid,\r\n\r\n  #tasando-matriz-fm-cons-acc .grid-principal {\r\n\r\n    gap: 18px !important;\r\n\r\n  }\r\n\r\n\r\n\r\n  #tasando-matriz-fm-cons-acc .tfi-cards,\r\n\r\n  #tasando-matriz-fm-cons-acc .tmc-cards,\r\n\r\n  #tasando-matriz-fm-cons-acc .cons-cards,\r\n\r\n  #tasando-matriz-fm-cons-acc .cards-laterales {\r\n\r\n    gap: 12px !important;\r\n\r\n  }\r\n\r\n\r\n\r\n  #tasando-matriz-fm-cons-acc .tfi-card,\r\n\r\n  #tasando-matriz-fm-cons-acc .tmc-card,\r\n\r\n  #tasando-matriz-fm-cons-acc .cons-card,\r\n\r\n  #tasando-matriz-fm-cons-acc .card-lateral {\r\n\r\n    padding: 14px !important;\r\n\r\n  }\r\n\r\n}\r\n\r\n    \r\n\r\n    \r\n\r\n  <\/style>\r\n<div class=\"tm-panel\">\r\n<div class=\"tm-head\">\r\n<div>\r\n<h3>Matriz de Aceleraciones Portafolios de Fondos Mutuos<\/h3>\r\n<p class=\"tm-subtitle\" id=\"tmConsSubtitulo\">\r\n\r\n          Vista resumida: segmento codificado, \u00faltimas 20 aceleraciones h\u00e1biles y retorno 20 d\u00edas al final de la tabla. Orden descendente por RET 20.\r\n\r\n        <\/p>\r\n<\/div>\r\n<div class=\"tm-badge\" id=\"tmConsEstado\">Cargando datos...<\/div>\r\n<\/div>\r\n<div class=\"tm-mobile-controls\" id=\"tmConsMobileControls\">\r\n<button id=\"tmConsBtnPrev\" type=\"button\">\u2190 Anterior<\/button>\r\n<div class=\"tm-mobile-date\" id=\"tmConsMobileDate\">\u00daltima aceleraci\u00f3n<\/div>\r\n<button id=\"tmConsBtnNext\" type=\"button\">Siguiente \u2192<\/button>\r\n<\/div>\r\n<div class=\"tm-wrap\" id=\"tmConsTabla\">\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td>Cargando informaci\u00f3n desde Google Sheets...<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/div>\r\n<p class=\"tm-note\">\r\n\r\n      Fuente: base de datos interna Tasando.com. Esta matriz muestra aceleraciones h\u00e1biles, deja la rentabilidad 20 d\u00edas como \u00faltima columna visible y ordena los fondos de mayor a menor RET 20.\r\n\r\n    <\/p>\r\n<\/div>\r\n<script>\r\n\r\n    (function () {\r\n\r\n      const PROXY_URL_REL = \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/fm-conservadores\";\r\n\r\n      const PROXY_URL_ABS = \"https:\/\/tasando.com\/propiedades\/wp-json\/tasando\/v1\/sheet\/fm-conservadores\";\r\n\r\n      const PROXY_URL = window.location.hostname.includes(\"tasando.com\") ? PROXY_URL_REL : PROXY_URL_ABS;\r\n\r\n      const NUM_COLUMNAS_ACC = 20;\r\n\r\n      const ANIO_FERIADOS = 2026;\r\n\r\n\r\n\r\n      const FERIADOS_MM_DD = new Set([\r\n\r\n        \"01-01\", \"03-04\", \"04-04\", \"01-05\", \"21-05\", \"21-06\",\r\n\r\n        \"29-06\", \"16-07\", \"15-08\", \"18-09\", \"19-09\", \"12-10\",\r\n\r\n        \"31-10\", \"01-11\", \"08-12\", \"25-12\"\r\n\r\n      ]);\r\n\r\n\r\n\r\n      let ultimaRespuesta = null;\r\n\r\n      let columnasMoviles = [];\r\n\r\n      let indiceMovil = null;\r\n\r\n      let eventosConectados = false;\r\n\r\n\r\n\r\n      function esMovil() {\r\n\r\n        return window.matchMedia(\"(max-width: 700px)\").matches;\r\n\r\n      }\r\n\r\n\r\n\r\n      function limpiarTexto(v) {\r\n\r\n        if (v === null || v === undefined) return \"\";\r\n\r\n        return String(v).trim();\r\n\r\n      }\r\n\r\n\r\n\r\n      function normalizarHeader(v) {\r\n\r\n        return limpiarTexto(v)\r\n\r\n          .toUpperCase()\r\n\r\n          .normalize(\"NFD\")\r\n\r\n          .replace(\/[\\u0300-\\u036f]\/g, \"\")\r\n\r\n          .replace(\/\\s+\/g, \"\")\r\n\r\n          .replace(\/\\.\/g, \"\")\r\n\r\n          .replace(\/_\/g, \"\")\r\n\r\n          .replace(\/[()]\/g, \"\");\r\n\r\n      }\r\n\r\n\r\n\r\n      function valorCelda(cell) {\r\n\r\n        if (cell === null || cell === undefined) return \"\";\r\n\r\n        if (typeof cell === \"string\" || typeof cell === \"number\") return limpiarTexto(cell);\r\n\r\n        if (cell.f !== undefined && cell.f !== null) return limpiarTexto(cell.f);\r\n\r\n        if (cell.v !== undefined && cell.v !== null) return limpiarTexto(cell.v);\r\n\r\n        return \"\";\r\n\r\n      }\r\n\r\n\r\n\r\n      function normalizarNumero(valor) {\r\n\r\n        let s = limpiarTexto(valor)\r\n\r\n          .replace(\"%\", \"\")\r\n\r\n          .replace(\/\\s\/g, \"\")\r\n\r\n          .replace(\/[^\\d,.\\-]\/g, \"\");\r\n\r\n\r\n\r\n        if (!s) return null;\r\n\r\n\r\n\r\n        if (s.includes(\",\") && s.includes(\".\")) {\r\n\r\n          if (s.lastIndexOf(\",\") > s.lastIndexOf(\".\")) {\r\n\r\n            s = s.replace(\/\\.\/g, \"\").replace(\",\", \".\");\r\n\r\n          } else {\r\n\r\n            s = s.replace(\/,\/g, \"\");\r\n\r\n          }\r\n\r\n        } else if (s.includes(\",\")) {\r\n\r\n          s = s.replace(\",\", \".\");\r\n\r\n        }\r\n\r\n\r\n\r\n        const n = Number(s);\r\n\r\n        return isNaN(n) ? null : n;\r\n\r\n      }\r\n\r\n\r\n\r\n      function numeroPorcentaje(valor) {\r\n\r\n        const raw = limpiarTexto(valor);\r\n\r\n        const n = normalizarNumero(raw);\r\n\r\n\r\n\r\n        if (n === null) return null;\r\n\r\n\r\n\r\n        \/*\r\n\r\n         * Compatibilidad:\r\n\r\n         * - Si la hoja entrega \"1,20%\" o \"1.20%\", se interpreta como 1,20%.\r\n\r\n         * - Si la hoja entrega 0.012 sin s\u00edmbolo %, se interpreta como 1,20%.\r\n\r\n         *\/\r\n\r\n        if (!raw.includes(\"%\") && Math.abs(n) > 0 && Math.abs(n) <= 1) {\r\n\r\n          return n * 100;\r\n\r\n        }\r\n\r\n\r\n\r\n        return n;\r\n\r\n      }\r\n\r\n\r\n\r\n      function formatearPorcentaje(valor) {\r\n\r\n        const n = numeroPorcentaje(valor);\r\n\r\n        if (n === null) return limpiarTexto(valor) || \"-\";\r\n\r\n        return n.toFixed(1).replace(\".\", \",\") + \"%\";\r\n\r\n      }\r\n\r\n\r\n\r\n      function colorVariacion(valor) {\r\n\r\n        const n = numeroPorcentaje(valor);\r\n\r\n\r\n\r\n        if (n === null) return { clase: \"tm-empty\", style: \"\" };\r\n\r\n        if (n === 0) return { clase: \"tm-zero\", style: \"\" };\r\n\r\n\r\n\r\n        const intensidad = Math.min(Math.abs(n) \/ 8, 1);\r\n\r\n        const alpha = 0.10 + intensidad * 0.38;\r\n\r\n\r\n\r\n        if (n > 0) {\r\n\r\n          return {\r\n\r\n            clase: \"tm-pos\",\r\n\r\n            style: \"background: rgba(16, 185, 129, \" + alpha.toFixed(2) + \");\"\r\n\r\n          };\r\n\r\n        }\r\n\r\n\r\n\r\n        return {\r\n\r\n          clase: \"tm-neg\",\r\n\r\n          style: \"background: rgba(239, 68, 68, \" + alpha.toFixed(2) + \");\"\r\n\r\n        };\r\n\r\n      }\r\n\r\n\r\n\r\n      function escaparHTML(texto) {\r\n\r\n        return limpiarTexto(texto)\r\n\r\n          .replace(\/&\/g, \"&amp;\")\r\n\r\n          .replace(\/<\/g, \"&lt;\")\r\n\r\n          .replace(\/>\/g, \"&gt;\")\r\n\r\n          .replace(\/\"\/g, \"&quot;\")\r\n\r\n          .replace(\/'\/g, \"&#039;\");\r\n\r\n      }\r\n\r\n\r\n\r\n      function mostrarError(mensaje) {\r\n\r\n        const estado = document.getElementById(\"tmConsEstado\");\r\n\r\n        const cont = document.getElementById(\"tmConsTabla\");\r\n\r\n\r\n\r\n        if (estado) estado.textContent = \"Error de carga\";\r\n\r\n\r\n\r\n        if (cont) {\r\n\r\n          cont.innerHTML =\r\n\r\n            '<div class=\"tm-error\">' +\r\n\r\n            \"<strong>No fue posible leer la informaci\u00f3n.<\/strong><br>\" +\r\n\r\n            escaparHTML(mensaje) +\r\n\r\n            \"<br><br>Revise el endpoint del proxy y que la hoja est\u00e9 compartida\/publicada con acceso de lectura.\" +\r\n\r\n            \"<\/div>\";\r\n\r\n        }\r\n\r\n      }\r\n\r\n\r\n\r\n      function buscarIndice(headers, claves, fallback) {\r\n\r\n        const clavesNorm = claves.map(normalizarHeader);\r\n\r\n\r\n\r\n        for (let i = 0; i < headers.length; i++) {\r\n\r\n          if (clavesNorm.includes(normalizarHeader(headers[i].label))) {\r\n\r\n            return headers[i].index;\r\n\r\n          }\r\n\r\n        }\r\n\r\n\r\n\r\n        return fallback;\r\n\r\n      }\r\n\r\n\r\n\r\n      function esFechaCorta(label) {\r\n\r\n        return \/^\\d{1,2}[-\\\/]\\d{1,2}$\/.test(limpiarTexto(label));\r\n\r\n      }\r\n\r\n\r\n\r\n      function normalizarDiaMes(label) {\r\n\r\n        const s = limpiarTexto(label).replace(\"\/\", \"-\");\r\n\r\n        const partes = s.split(\"-\");\r\n\r\n        if (partes.length !== 2) return \"\";\r\n\r\n        const dN = Number(partes[0]);\r\n\r\n        const mN = Number(partes[1]);\r\n\r\n        if (!Number.isFinite(dN) || !Number.isFinite(mN)) return \"\";\r\n\r\n        const d = String(dN).padStart(2, \"0\");\r\n\r\n        const m = String(mN).padStart(2, \"0\");\r\n\r\n        return d + \"-\" + m;\r\n\r\n      }\r\n\r\n\r\n\r\n      function esDiaHabilEtiqueta(label) {\r\n\r\n        if (!esFechaCorta(label)) return false;\r\n\r\n\r\n\r\n        const dm = normalizarDiaMes(label);\r\n\r\n        if (!dm) return false;\r\n\r\n\r\n\r\n        if (FERIADOS_MM_DD.has(dm)) return false;\r\n\r\n\r\n\r\n        const partes = dm.split(\"-\");\r\n\r\n        const dia = Number(partes[0]);\r\n\r\n        const mes = Number(partes[1]);\r\n\r\n        const fecha = new Date(ANIO_FERIADOS, mes - 1, dia);\r\n\r\n\r\n\r\n        if (\r\n\r\n          fecha.getFullYear() !== ANIO_FERIADOS ||\r\n\r\n          fecha.getMonth() !== mes - 1 ||\r\n\r\n          fecha.getDate() !== dia\r\n\r\n        ) {\r\n\r\n          return false;\r\n\r\n        }\r\n\r\n\r\n\r\n        const dow = fecha.getDay();\r\n\r\n        return dow !== 0 && dow !== 6;\r\n\r\n      }\r\n\r\n\r\n\r\n      function convertirProxyAGviz(payload) {\r\n\r\n        if (!payload || payload.ok !== true || !Array.isArray(payload.headers) || !Array.isArray(payload.rows)) {\r\n\r\n          throw new Error(\"El proxy no devolvi\u00f3 estructura v\u00e1lida: se esperaban headers y rows.\");\r\n\r\n        }\r\n\r\n\r\n\r\n        const cols = payload.headers.map(function (h, index) {\r\n\r\n          return {\r\n\r\n            id: \"C\" + index,\r\n\r\n            label: limpiarTexto(h),\r\n\r\n            type: \"string\"\r\n\r\n          };\r\n\r\n        });\r\n\r\n\r\n\r\n        const rows = payload.rows.map(function (row) {\r\n\r\n          const c = cols.map(function (_, index) {\r\n\r\n            const value = row && row[index] !== undefined && row[index] !== null ? limpiarTexto(row[index]) : \"\";\r\n\r\n            return { v: value, f: value };\r\n\r\n          });\r\n\r\n          return { c: c };\r\n\r\n        });\r\n\r\n\r\n\r\n        return {\r\n\r\n          table: {\r\n\r\n            cols: cols,\r\n\r\n            rows: rows\r\n\r\n          },\r\n\r\n          _proxy: payload\r\n\r\n        };\r\n\r\n      }\r\n\r\n\r\n\r\n      function actualizarBotonesMoviles() {\r\n\r\n        const btnPrev = document.getElementById(\"tmConsBtnPrev\");\r\n\r\n        const btnNext = document.getElementById(\"tmConsBtnNext\");\r\n\r\n        const fecha = document.getElementById(\"tmConsMobileDate\");\r\n\r\n\r\n\r\n        if (!btnPrev || !btnNext || !fecha || !columnasMoviles.length) return;\r\n\r\n\r\n\r\n        btnPrev.disabled = indiceMovil <= 0;\r\n\r\n        btnNext.disabled = indiceMovil >= columnasMoviles.length - 1;\r\n\r\n        fecha.textContent = columnasMoviles[indiceMovil].label;\r\n\r\n      }\r\n\r\n\r\n\r\n      function construirDatos(response) {\r\n\r\n        const cols = response.table.cols || [];\r\n\r\n        const rows = response.table.rows || [];\r\n\r\n\r\n\r\n        const headers = cols.map(function (col, index) {\r\n\r\n          return {\r\n\r\n            index: index,\r\n\r\n            label: limpiarTexto(col.label || col.id || \"\")\r\n\r\n          };\r\n\r\n        });\r\n\r\n\r\n\r\n        const indiceSector = buscarIndice(headers, [\r\n\r\n          \"SEGMENTO \/ CODIGO\",\r\n\r\n          \"SEGMENTO \/ C\u00d3DIGO\",\r\n\r\n          \"SEGMENTO CODIGO\",\r\n\r\n          \"SEGMENTO C\u00d3DIGO\",\r\n\r\n          \"SEGMENTO_CODIGO\",\r\n\r\n          \"SEGMENTO_C\u00d3DIGO\",\r\n\r\n          \"CODIGO PUBLICO FM\",\r\n\r\n          \"C\u00d3DIGO P\u00daBLICO FM\",\r\n\r\n          \"CODIGO_PUBLICO_FM\",\r\n\r\n          \"C\u00d3DIGO_PUBLICO_FM\",\r\n\r\n          \"EXPOSICI\u00d3N CODIFICADA\",\r\n\r\n          \"EXPOSICION CODIFICADA\"\r\n\r\n        ], null);\r\n\r\n\r\n\r\n        if (indiceSector === null || indiceSector === undefined || indiceSector < 0) {\r\n\r\n          const muestraHeaders = headers\r\n\r\n            .map(function (h) { return limpiarTexto(h.label || \"\"); })\r\n\r\n            .filter(Boolean)\r\n\r\n            .slice(0, 50)\r\n\r\n            .join(\" | \");\r\n\r\n\r\n\r\n          throw new Error(\r\n\r\n            \"No se detect\u00f3 la columna SEGMENTO \/ CODIGO. \" +\r\n\r\n            \"Para proteger el nombre real del fondo, esta vista no usa fallback a la primera columna. \" +\r\n\r\n            \"Encabezados recibidos: \" + muestraHeaders\r\n\r\n          );\r\n\r\n        }\r\n\r\n\r\n\r\n        const indiceRet20 = buscarIndice(\r\n\r\n          headers,\r\n\r\n          [\r\n\r\n            \"RET20\", \"RET 20\", \"RENT20\", \"RENT 20\", \"RENT(20)\", \"RENT (20)\",\r\n\r\n            \"RENTABILIDAD 20\", \"RENTABILIDAD 20 DIAS\", \"RENTABILIDAD 20 D\u00cdAS\",\r\n\r\n            \"RENT ULT 20 DIAS\", \"RENT ULT 20 D\u00cdAS\"\r\n\r\n          ],\r\n\r\n          null\r\n\r\n        );\r\n\r\n\r\n\r\n        const indicesExcluidos = new Set([indiceSector]);\r\n\r\n\r\n\r\n        if (indiceRet20 !== null && indiceRet20 !== undefined) {\r\n\r\n          indicesExcluidos.add(indiceRet20);\r\n\r\n        }\r\n\r\n\r\n\r\n        const columnasAcc = headers\r\n\r\n          .filter(function (h) {\r\n\r\n            if (indicesExcluidos.has(h.index)) return false;\r\n\r\n            if (!h.label) return false;\r\n\r\n            return esFechaCorta(h.label) && esDiaHabilEtiqueta(h.label);\r\n\r\n          })\r\n\r\n          .slice(-NUM_COLUMNAS_ACC);\r\n\r\n\r\n\r\n        const filasValidas = rows\r\n\r\n          .map(function (row) {\r\n\r\n            const sector = row.c && row.c[indiceSector] ? valorCelda(row.c[indiceSector]) : \"\";\r\n\r\n            const ret20 = indiceRet20 !== null && indiceRet20 !== undefined && row.c && row.c[indiceRet20]\r\n\r\n              ? valorCelda(row.c[indiceRet20])\r\n\r\n              : \"\";\r\n\r\n\r\n\r\n            return {\r\n\r\n              sector: sector,\r\n\r\n              ret20: ret20,\r\n\r\n              row: row,\r\n\r\n              ret20Num: numeroPorcentaje(ret20)\r\n\r\n            };\r\n\r\n          })\r\n\r\n          .filter(function (r) {\r\n\r\n            return limpiarTexto(r.sector) !== \"\";\r\n\r\n          })\r\n\r\n          .sort(function (a, b) {\r\n\r\n            const av = a.ret20Num;\r\n\r\n            const bv = b.ret20Num;\r\n\r\n\r\n\r\n            if (av === null && bv === null) return 0;\r\n\r\n            if (av === null) return 1;\r\n\r\n            if (bv === null) return -1;\r\n\r\n            return bv - av;\r\n\r\n          });\r\n\r\n\r\n\r\n        return {\r\n\r\n          indiceSector: indiceSector,\r\n\r\n          indiceRet20: indiceRet20,\r\n\r\n          columnasAcc: columnasAcc,\r\n\r\n          filas: filasValidas,\r\n\r\n          headers: headers\r\n\r\n        };\r\n\r\n      }\r\n\r\n\r\n\r\n      function renderTabla(response) {\r\n\r\n        try {\r\n\r\n          if (!response || !response.table || !response.table.cols || !response.table.rows) {\r\n\r\n            mostrarError(\"La respuesta no tiene estructura v\u00e1lida.\");\r\n\r\n            return;\r\n\r\n          }\r\n\r\n\r\n\r\n          ultimaRespuesta = response;\r\n\r\n          const datos = construirDatos(response);\r\n\r\n\r\n\r\n          if (!datos.columnasAcc.length) {\r\n\r\n            const muestraHeaders = (response.table.cols || [])\r\n\r\n              .map(function (c) { return limpiarTexto(c.label || c.id || \"\"); })\r\n\r\n              .filter(Boolean)\r\n\r\n              .slice(0, 40)\r\n\r\n              .join(\" | \");\r\n\r\n\r\n\r\n            mostrarError(\r\n\r\n              \"No se detectaron columnas de aceleraci\u00f3n h\u00e1biles con formato fecha, por ejemplo 15-05. \" +\r\n\r\n              \"Se excluyen s\u00e1bados, domingos y feriados configurados. \" +\r\n\r\n              \"Encabezados recibidos: \" + muestraHeaders\r\n\r\n            );\r\n\r\n            return;\r\n\r\n          }\r\n\r\n\r\n\r\n          if (!datos.filas.length) {\r\n\r\n            mostrarError(\"No se detectaron filas con datos.\");\r\n\r\n            return;\r\n\r\n          }\r\n\r\n\r\n\r\n          let columnasRender;\r\n\r\n\r\n\r\n          if (esMovil()) {\r\n\r\n            columnasMoviles = datos.columnasAcc;\r\n\r\n\r\n\r\n            if (indiceMovil === null || indiceMovil >= columnasMoviles.length) {\r\n\r\n              indiceMovil = columnasMoviles.length - 1;\r\n\r\n            }\r\n\r\n\r\n\r\n            columnasRender = [columnasMoviles[indiceMovil]];\r\n\r\n          } else {\r\n\r\n            columnasRender = datos.columnasAcc;\r\n\r\n          }\r\n\r\n\r\n\r\n          let html = \"\";\r\n\r\n\r\n\r\n          html += \"<table>\";\r\n\r\n          html += \"<colgroup>\";\r\n\r\n          html += '<col class=\"tm-col-sector\">';\r\n\r\n\r\n\r\n          columnasRender.forEach(function () {\r\n\r\n            html += '<col class=\"tm-col-acc\">';\r\n\r\n          });\r\n\r\n\r\n\r\n          if (datos.indiceRet20 !== null && datos.indiceRet20 !== undefined) {\r\n\r\n            html += '<col class=\"tm-col-ret\">';\r\n\r\n          }\r\n\r\n\r\n\r\n          html += \"<\/colgroup>\";\r\n\r\n\r\n\r\n          html += \"<thead><tr>\";\r\n\r\n          html += '<th class=\"tm-fixed-1\">SEGMENTO<br>C\u00d3DIGO<\/th>';\r\n\r\n\r\n\r\n          columnasRender.forEach(function (col) {\r\n\r\n            html += \"<th>\" + escaparHTML(col.label) + \"<\/th>\";\r\n\r\n          });\r\n\r\n\r\n\r\n          if (datos.indiceRet20 !== null && datos.indiceRet20 !== undefined) {\r\n\r\n            html += '<th class=\"tm-head-ret20\">RENT ULT<br>20 D\u00cdAS<\/th>';\r\n\r\n          }\r\n\r\n\r\n\r\n          html += \"<\/tr><\/thead>\";\r\n\r\n          html += \"<tbody>\";\r\n\r\n\r\n\r\n          datos.filas.forEach(function (fila) {\r\n\r\n            html += \"<tr>\";\r\n\r\n\r\n\r\n            html +=\r\n\r\n              '<td class=\"tm-fixed-1\" title=\"' +\r\n\r\n              escaparHTML(fila.sector) +\r\n\r\n              '\">' +\r\n\r\n              escaparHTML(fila.sector) +\r\n\r\n              \"<\/td>\";\r\n\r\n\r\n\r\n            columnasRender.forEach(function (col) {\r\n\r\n              const valor = valorCelda(fila.row.c[col.index]);\r\n\r\n              const color = colorVariacion(valor);\r\n\r\n\r\n\r\n              html +=\r\n\r\n                '<td class=\"' +\r\n\r\n                color.clase +\r\n\r\n                '\" style=\"' +\r\n\r\n                color.style +\r\n\r\n                '\">' +\r\n\r\n                escaparHTML(formatearPorcentaje(valor)) +\r\n\r\n                \"<\/td>\";\r\n\r\n            });\r\n\r\n\r\n\r\n            if (datos.indiceRet20 !== null && datos.indiceRet20 !== undefined) {\r\n\r\n              const retValor = valorCelda(fila.row.c[datos.indiceRet20]);\r\n\r\n              const retColor = colorVariacion(retValor);\r\n\r\n\r\n\r\n              html +=\r\n\r\n                '<td class=\"tm-ret20 ' +\r\n\r\n                retColor.clase +\r\n\r\n                '\" style=\"' +\r\n\r\n                retColor.style +\r\n\r\n                '\">' +\r\n\r\n                escaparHTML(formatearPorcentaje(retValor)) +\r\n\r\n                \"<\/td>\";\r\n\r\n            }\r\n\r\n\r\n\r\n            html += \"<\/tr>\";\r\n\r\n          });\r\n\r\n\r\n\r\n          html += \"<\/tbody><\/table>\";\r\n\r\n\r\n\r\n          document.getElementById(\"tmConsTabla\").innerHTML = html;\r\n\r\n\r\n\r\n          const estado = document.getElementById(\"tmConsEstado\");\r\n\r\n          if (estado) {\r\n\r\n            const desde = columnasRender[0].label;\r\n\r\n            const hasta = columnasRender[columnasRender.length - 1].label;\r\n\r\n\r\n\r\n            estado.textContent = esMovil()\r\n\r\n              ? \"Mostrando aceleraci\u00f3n: \" + hasta + \" | Orden: RET 20 descendente\"\r\n\r\n              : \"20 aceleraciones h\u00e1biles: \" + desde + \" a \" + hasta + \" | Orden: RET 20 descendente\";\r\n\r\n          }\r\n\r\n\r\n\r\n          const subtitulo = document.getElementById(\"tmConsSubtitulo\");\r\n\r\n          if (subtitulo) {\r\n\r\n            subtitulo.textContent = esMovil()\r\n\r\n              ? \"Vista m\u00f3vil: segmento codificado, aceleraci\u00f3n seleccionada y retorno 20 d\u00edas al final.\"\r\n\r\n              : \"Vista resumida: segmento codificado, \u00faltimas 20 aceleraciones h\u00e1biles y retorno 20 d\u00edas al final.\";\r\n\r\n          }\r\n\r\n\r\n\r\n          actualizarBotonesMoviles();\r\n\r\n        } catch (error) {\r\n\r\n          mostrarError(\"Detalle t\u00e9cnico: \" + error.message);\r\n\r\n        }\r\n\r\n      }\r\n\r\n\r\n\r\n      function conectarEventos() {\r\n\r\n        if (eventosConectados) return;\r\n\r\n        eventosConectados = true;\r\n\r\n\r\n\r\n        const btnPrev = document.getElementById(\"tmConsBtnPrev\");\r\n\r\n        const btnNext = document.getElementById(\"tmConsBtnNext\");\r\n\r\n\r\n\r\n        if (btnPrev) {\r\n\r\n          btnPrev.addEventListener(\"click\", function () {\r\n\r\n            if (!columnasMoviles.length || indiceMovil <= 0) return;\r\n\r\n            indiceMovil--;\r\n\r\n            renderTabla(ultimaRespuesta);\r\n\r\n          });\r\n\r\n        }\r\n\r\n\r\n\r\n        if (btnNext) {\r\n\r\n          btnNext.addEventListener(\"click\", function () {\r\n\r\n            if (!columnasMoviles.length || indiceMovil >= columnasMoviles.length - 1) return;\r\n\r\n            indiceMovil++;\r\n\r\n            renderTabla(ultimaRespuesta);\r\n\r\n          });\r\n\r\n        }\r\n\r\n\r\n\r\n        let timer = null;\r\n\r\n\r\n\r\n        window.addEventListener(\"resize\", function () {\r\n\r\n          clearTimeout(timer);\r\n\r\n          timer = setTimeout(function () {\r\n\r\n            if (ultimaRespuesta) renderTabla(ultimaRespuesta);\r\n\r\n          }, 250);\r\n\r\n        });\r\n\r\n      }\r\n\r\n\r\n\r\n      function cargarDatos() {\r\n\r\n        const separador = PROXY_URL.includes(\"?\") ? \"&\" : \"?\";\r\n\r\n        const url = PROXY_URL + separador + \"cache=\" + Date.now();\r\n\r\n\r\n\r\n        fetch(url, { cache: \"no-store\" })\r\n\r\n          .then(function (res) {\r\n\r\n            if (!res.ok) throw new Error(\"HTTP \" + res.status);\r\n\r\n            return res.json();\r\n\r\n          })\r\n\r\n          .then(function (payload) {\r\n\r\n            const response = convertirProxyAGviz(payload);\r\n\r\n            renderTabla(response);\r\n\r\n          })\r\n\r\n          .catch(function (error) {\r\n\r\n            mostrarError(\"No fue posible cargar la hoja desde el proxy WordPress. \" + error.message);\r\n\r\n          });\r\n\r\n      }\r\n\r\n\r\n\r\n      conectarEventos();\r\n\r\n      cargarDatos();\r\n\r\n    })();\r\n\r\n  <\/script>\r\n<\/section> \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-03b5cba elementor-widget elementor-widget-html\" data-id=\"03b5cba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\r\n  \r\n<section id=\"tasando-ranking-fm-cons-ret20-v4\">\r\n<style>\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 {\r\n\r\n      --tr-desktop-shift-y: -75px;\r\n\r\n      --tr-mobile-shift-y: -28px;\r\n\r\n      --tr-width: min(1320px, calc(100vw - 90px));\r\n\r\n      --tr-width-notebook: calc(100vw - 48px);\r\n\r\n\r\n\r\n      --tr-panel-bg-1: #eef2f5;\r\n\r\n      --tr-panel-bg-2: #e3e8ef;\r\n\r\n      --tr-border: #cbd5e1;\r\n\r\n      --tr-dark: #111827;\r\n\r\n      --tr-text: #0f172a;\r\n\r\n      --tr-muted: #475569;\r\n\r\n      --tr-green: #69be28;\r\n\r\n\r\n\r\n      font-family: Arial, Helvetica, sans-serif;\r\n\r\n      width: var(--tr-width) !important;\r\n\r\n      max-width: var(--tr-width) !important;\r\n\r\n      margin-top: 0 !important;\r\n\r\n      margin-bottom: -35px !important;\r\n\r\n      margin-left: 50% !important;\r\n\r\n      margin-right: 0 !important;\r\n\r\n      transform: translateX(-50%) translateY(var(--tr-desktop-shift-y)) !important;\r\n\r\n      padding: 0 !important;\r\n\r\n      color: var(--tr-text);\r\n\r\n      background: transparent;\r\n\r\n      box-sizing: border-box;\r\n\r\n      position: relative;\r\n\r\n      overflow: visible;\r\n\r\n      z-index: 1;\r\n\r\n    }\r\n\r\n\r\n\r\n    body .elementor-widget-html:has(#tasando-ranking-fm-cons-ret20-v4),\r\n\r\n    body .elementor-widget-html:has(#tasando-ranking-fm-cons-ret20-v4) > .elementor-widget-container,\r\n\r\n    body .elementor-column:has(#tasando-ranking-fm-cons-ret20-v4),\r\n\r\n    body .elementor-container:has(#tasando-ranking-fm-cons-ret20-v4),\r\n\r\n    body .e-con:has(#tasando-ranking-fm-cons-ret20-v4),\r\n\r\n    body .e-con-inner:has(#tasando-ranking-fm-cons-ret20-v4) {\r\n\r\n      width: 100% !important;\r\n\r\n      max-width: none !important;\r\n\r\n      overflow: visible !important;\r\n\r\n      margin-top: 0 !important;\r\n\r\n      padding-top: 0 !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 * {\r\n\r\n      box-sizing: border-box;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-panel {\r\n\r\n      width: 100% !important;\r\n\r\n      max-width: 100% !important;\r\n\r\n      margin: 0 auto;\r\n\r\n      background: linear-gradient(180deg, var(--tr-panel-bg-1) 0%, var(--tr-panel-bg-2) 100%);\r\n\r\n      border: 1px solid var(--tr-border);\r\n\r\n      border-radius: 18px;\r\n\r\n      padding: 18px;\r\n\r\n      box-shadow: 0 14px 34px rgba(15, 23, 42, 0.12);\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-head {\r\n\r\n      display: flex;\r\n\r\n      justify-content: space-between;\r\n\r\n      align-items: flex-start;\r\n\r\n      gap: 16px;\r\n\r\n      margin-bottom: 12px;\r\n\r\n      flex-wrap: wrap;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 h3 {\r\n\r\n      margin: 0 0 5px 0;\r\n\r\n      font-size: 21px;\r\n\r\n      line-height: 1.15;\r\n\r\n      color: var(--tr-text);\r\n\r\n      font-weight: 800;\r\n\r\n      letter-spacing: -0.3px;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-subtitle {\r\n\r\n      margin: 0;\r\n\r\n      color: var(--tr-muted);\r\n\r\n      font-size: 12px;\r\n\r\n      line-height: 1.35;\r\n\r\n      max-width: 780px;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-badge {\r\n\r\n      background: #ffffff;\r\n\r\n      border: 1px solid #d7dde6;\r\n\r\n      border-radius: 999px;\r\n\r\n      padding: 7px 11px;\r\n\r\n      font-size: 11px;\r\n\r\n      color: var(--tr-muted);\r\n\r\n      white-space: nowrap;\r\n\r\n      box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-generated {\r\n\r\n      display: flex;\r\n\r\n      align-items: center;\r\n\r\n      gap: 8px;\r\n\r\n      width: 100%;\r\n\r\n      margin: 0 0 12px 0;\r\n\r\n      padding: 10px 12px;\r\n\r\n      border-radius: 14px;\r\n\r\n      border: 1px solid rgba(105, 190, 40, 0.34);\r\n\r\n      background: rgba(237, 246, 232, 0.82);\r\n\r\n      color: var(--tr-text);\r\n\r\n      font-size: 12px;\r\n\r\n      line-height: 1.35;\r\n\r\n      font-weight: 750;\r\n\r\n      box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-generated strong {\r\n\r\n      color: var(--tr-dark);\r\n\r\n      font-weight: 950;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-generated-dot {\r\n\r\n      width: 9px;\r\n\r\n      height: 9px;\r\n\r\n      min-width: 9px;\r\n\r\n      border-radius: 999px;\r\n\r\n      background: var(--tr-green);\r\n\r\n      box-shadow: 0 0 0 4px rgba(105, 190, 40, 0.16);\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-wrap {\r\n\r\n      width: 100% !important;\r\n\r\n      max-width: 100% !important;\r\n\r\n      overflow-x: hidden;\r\n\r\n      overflow-y: hidden;\r\n\r\n      border-radius: 12px;\r\n\r\n      border: 1px solid var(--tr-border);\r\n\r\n      background: #ffffff;\r\n\r\n      margin: 0 auto;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 table {\r\n\r\n      width: 100% !important;\r\n\r\n      min-width: 100% !important;\r\n\r\n      table-layout: fixed !important;\r\n\r\n      border-collapse: collapse;\r\n\r\n      margin: 0 auto;\r\n\r\n      background: #ffffff;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 col.tr-col-rank { width: 3.2% !important; }\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 col.tr-col-sector { width: 20% !important; }\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 col.tr-col-ret20 { width: 6% !important; }\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 col.tr-col-pos { width: 6% !important; }\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 col.tr-col-ret3 { width: 6% !important; }\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 col.tr-col-acc3 { width: 6% !important; }\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 col.tr-col-vol3 { width: 6% !important; }\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 col.tr-col-caida { width: 7% !important; }\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 col.tr-col-indice { width: 6% !important; }\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 col.tr-col-interp { width: 23.8% !important; }\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 col.tr-col-reco { width: 10% !important; }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 th,\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 td {\r\n\r\n      border-bottom: 1px solid #e2e8f0;\r\n\r\n      border-right: 1px solid #edf2f7;\r\n\r\n      overflow: hidden;\r\n\r\n      vertical-align: middle;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 th {\r\n\r\n      height: 32px !important;\r\n\r\n      padding: 4px 2px !important;\r\n\r\n      background: var(--tr-dark);\r\n\r\n      color: #ffffff;\r\n\r\n      font-size: 7.55px !important;\r\n\r\n      line-height: 1.08 !important;\r\n\r\n      font-weight: 800 !important;\r\n\r\n      text-align: center !important;\r\n\r\n      white-space: normal !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 td {\r\n\r\n      padding: 5px 2px !important;\r\n\r\n      font-size: 7.75px !important;\r\n\r\n      line-height: 1.12 !important;\r\n\r\n      font-weight: 650 !important;\r\n\r\n      text-align: center !important;\r\n\r\n      white-space: nowrap !important;\r\n\r\n      text-overflow: clip;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 td.tr-sector {\r\n\r\n      background: #f8fafc !important;\r\n\r\n      color: var(--tr-text) !important;\r\n\r\n      font-size: 8.4px !important;\r\n\r\n      line-height: 1.14 !important;\r\n\r\n      font-weight: 850 !important;\r\n\r\n      text-align: left !important;\r\n\r\n      white-space: normal !important;\r\n\r\n      padding-left: 7px !important;\r\n\r\n      padding-right: 5px !important;\r\n\r\n      text-transform: uppercase;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 td.tr-rank {\r\n\r\n      background: #f8fafc !important;\r\n\r\n      color: #334155;\r\n\r\n      font-size: 7.4px !important;\r\n\r\n      font-weight: 850 !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 tbody tr:nth-child(even) td {\r\n\r\n      background-color: #f8fafc;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 tbody tr:nth-child(even) td.tr-sector,\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 tbody tr:nth-child(even) td.tr-rank {\r\n\r\n      background: #f1f5f9 !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 tbody tr:hover td {\r\n\r\n      filter: brightness(0.97);\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-head-ret20 {\r\n\r\n      background: #00f000 !important;\r\n\r\n      color: #002b00 !important;\r\n\r\n      font-weight: 950 !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-head-final {\r\n\r\n      background: #1f2937 !important;\r\n\r\n      color: #ffffff !important;\r\n\r\n      font-weight: 950 !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-ret20,\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-metrica,\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-indice {\r\n\r\n      font-weight: 850 !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-pos {\r\n\r\n      color: #064e3b;\r\n\r\n      font-weight: 800 !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-neg {\r\n\r\n      color: #7f1d1d;\r\n\r\n      font-weight: 800 !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-zero {\r\n\r\n      color: #475569;\r\n\r\n      font-weight: 750 !important;\r\n\r\n      background: #f8fafc;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-empty {\r\n\r\n      color: #94a3b8;\r\n\r\n      background: #ffffff;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-interp {\r\n\r\n      text-align: left !important;\r\n\r\n      white-space: normal !important;\r\n\r\n      font-size: 7.45px !important;\r\n\r\n      line-height: 1.16 !important;\r\n\r\n      font-weight: 700 !important;\r\n\r\n      color: #1f2937;\r\n\r\n      padding: 6px 7px !important;\r\n\r\n      background: #ffffff;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-reco {\r\n\r\n      font-size: 7.1px !important;\r\n\r\n      line-height: 1.08 !important;\r\n\r\n      font-weight: 950 !important;\r\n\r\n      text-align: center !important;\r\n\r\n      white-space: normal !important;\r\n\r\n      padding: 5px 3px !important;\r\n\r\n      text-transform: uppercase;\r\n\r\n      color: #111827 !important;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-note {\r\n\r\n      margin: 9px 0 0 0;\r\n\r\n      color: #64748b;\r\n\r\n      font-size: 10.8px;\r\n\r\n      line-height: 1.35;\r\n\r\n    }\r\n\r\n\r\n\r\n    #tasando-ranking-fm-cons-ret20-v4 .tr-error {\r\n\r\n      background: #fff7ed;\r\n\r\n      color: #9a3412;\r\n\r\n      border: 1px solid #fed7aa;\r\n\r\n      padding: 12px;\r\n\r\n      border-radius: 12px;\r\n\r\n      font-size: 13px;\r\n\r\n      line-height: 1.45;\r\n\r\n    }\r\n\r\n\r\n\r\n    @media(max-width:1200px) and (min-width:701px) {\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 {\r\n\r\n        width: var(--tr-width-notebook) !important;\r\n\r\n        max-width: var(--tr-width-notebook) !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 .tr-panel {\r\n\r\n        padding: 16px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 th {\r\n\r\n        font-size: 6.7px !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 td {\r\n\r\n        font-size: 6.95px !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 .tr-interp {\r\n\r\n        font-size: 6.95px !important;\r\n\r\n        line-height: 1.15 !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 .tr-reco {\r\n\r\n        font-size: 6.8px !important;\r\n\r\n      }\r\n\r\n    }\r\n\r\n\r\n\r\n    @media(max-width:700px) {\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 {\r\n\r\n        width: 100% !important;\r\n\r\n        max-width: 100% !important;\r\n\r\n        margin-left: 0 !important;\r\n\r\n        margin-right: 0 !important;\r\n\r\n        margin-top: 0 !important;\r\n\r\n        margin-bottom: 10px !important;\r\n\r\n        transform: translateY(var(--tr-mobile-shift-y)) !important;\r\n\r\n        padding: 0 12px !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 .tr-panel {\r\n\r\n        padding: 14px;\r\n\r\n        border-radius: 16px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 .tr-head {\r\n\r\n        display: block;\r\n\r\n        margin-bottom: 10px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 h3 {\r\n\r\n        font-size: 18px;\r\n\r\n        line-height: 1.2;\r\n\r\n        margin-bottom: 6px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 .tr-subtitle {\r\n\r\n        font-size: 12px;\r\n\r\n        margin-bottom: 10px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 .tr-badge {\r\n\r\n        display: inline-block;\r\n\r\n        font-size: 11px;\r\n\r\n        padding: 7px 10px;\r\n\r\n        margin-top: 4px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 .tr-wrap {\r\n\r\n        overflow-x: auto;\r\n\r\n        border-radius: 12px;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 table {\r\n\r\n        min-width: 980px !important;\r\n\r\n        width: 980px !important;\r\n\r\n        table-layout: fixed !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 th,\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 td {\r\n\r\n        padding: 7px 3px !important;\r\n\r\n        font-size: 8.6px !important;\r\n\r\n        line-height: 1.14 !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 td.tr-sector {\r\n\r\n        font-size: 8.8px !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 .tr-reco {\r\n\r\n        font-size: 8px !important;\r\n\r\n        padding: 7px 3px !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 .tr-interp {\r\n\r\n        font-size: 8.2px !important;\r\n\r\n        line-height: 1.16 !important;\r\n\r\n      }\r\n\r\n\r\n\r\n      #tasando-ranking-fm-cons-ret20-v4 .tr-note {\r\n\r\n        font-size: 10.5px;\r\n\r\n      }\r\n\r\n    }\r\n\r\n  <\/style>\r\n<div class=\"tr-panel\">\r\n<div class=\"tr-head\">\r\n<div>\r\n<h3>Ranking Portafolios de Fondos Mutuos por \u00cdndice Final<\/h3>\r\n<p class=\"tr-subtitle\" id=\"trConsSubtituloV4\">\r\n\r\n          Vista comparativa de portafolios codificados de distintos perfiles de riesgo, ordenados por \u00edndice final y con recomendaci\u00f3n final coloreada seg\u00fan su posici\u00f3n relativa en el \u00edndice.\r\n\r\n        <\/p>\r\n<\/div>\r\n<div class=\"tr-badge\" id=\"trConsEstadoV4\">Cargando datos...<\/div>\r\n<\/div>\r\n<div class=\"tr-generated\" id=\"trConsFechaCorridaV4\" style=\"display:none;\"><\/div>\r\n<div class=\"tr-wrap\" id=\"trConsTablaV4\">\r\n<table>\r\n<tbody>\r\n<tr>\r\n<td>Cargando informaci\u00f3n desde Tasando.com...<\/td>\r\n<\/tr>\r\n<\/tbody>\r\n<\/table>\r\n<\/div>\r\n<p class=\"tr-note\">\r\n\r\n      Fuente: base de datos interna Tasando.com. Tabla ordenada por \u00cdNDICE FINAL descendente. El \u00cdNDICE FINAL se muestra sin decimales. La columna RECOMENDACI\u00d3N FINAL se colorea por escala relativa del \u00cdNDICE FINAL: alto en verde, intermedio en amarillo y bajo en rojo.\r\n\r\n    <\/p>\r\n<\/div>\r\n<script>    (function () {\r\n      const PROXY_URL = \"\/propiedades\/wp-json\/tasando\/v1\/sheet\/fm-conservadores\";\r\n      const ALIASES = {\r\n        segmento: [\r\n          \"SEGMENTO \/ CODIGO\",\r\n          \"SEGMENTO \/ C\u00d3DIGO\",\r\n          \"SEGMENTO CODIGO\",\r\n          \"SEGMENTO C\u00d3DIGO\",\r\n          \"SEGMENTO_CODIGO\",\r\n          \"SEGMENTO_C\u00d3DIGO\",\r\n          \"CODIGO PUBLICO FM\",\r\n          \"C\u00d3DIGO P\u00daBLICO FM\",\r\n          \"CODIGO_PUBLICO_FM\",\r\n          \"C\u00d3DIGO_PUBLICO_FM\",\r\n          \"EXPOSICI\u00d3N CODIFICADA\",\r\n          \"EXPOSICION CODIFICADA\",\r\n          \"EXPOSICI\u00d3N DEL FM\",\r\n          \"EXPOSICION DEL FM\",\r\n          \"EXPOSICION_FM\"\r\n        ],\r\n        fecha: [\r\n          \"FECHA_HORA_CORRIDA\",\r\n          \"FECHA HORA CORRIDA\",\r\n          \"FECHAHORACORRIDA\",\r\n          \r\n          \"FECHA_HORA_CORRIDA\"\r\n        ],\r\n        ret20: [\r\n          \"RET20\",\r\n          \"RET 20\",\r\n          \"RENT20\",\r\n          \"RENT 20\",\r\n          \"RENT(20)\",\r\n          \"RET(20)\",\r\n          \"RENTABILIDAD 20\",\r\n          \"RENT ULT 20 DIAS\",\r\n          \"RENT ULT 20 D\u00cdAS\",\r\n          \"RET ULT 20 DIAS\",\r\n          \"RET ULT 20 D\u00cdAS\"\r\n        ],\r\n        pos3: [\r\n          \"% POS 3\",\r\n          \"%POS3\",\r\n          \"PCT POS 3\",\r\n          \"PCT_POS_3\",\r\n          \"PCTPOS3\",\r\n          \"POS 3\",\r\n          \"POS3\",\r\n          \"% POS 5\",\r\n          \"%POS5\",\r\n          \"PCT POS 5\",\r\n          \"PCT_POS_5\",\r\n          \"PCTPOS5\",\r\n          \"POS 5\",\r\n          \"POS5\"\r\n        ],\r\n        ret3: [\r\n          \"RET 3\",\r\n          \"RET3\",\r\n          \"RENT 3\",\r\n          \"RENT3\",\r\n          \"RENT(3)\",\r\n          \"RET(3)\",\r\n          \"RET 5\",\r\n          \"RET5\",\r\n          \"RENT 5\",\r\n          \"RENT5\",\r\n          \"RENT(5)\",\r\n          \"RET(5)\"\r\n        ],\r\n        acc3: [\r\n          \"ACC 3\",\r\n          \"ACC3\",\r\n          \"ACC_3\",\r\n          \"ACELERACION 3\",\r\n          \"ACELERACI\u00d3N 3\",\r\n          \"ACC 5\",\r\n          \"ACC5\",\r\n          \"ACC_5\",\r\n          \"ACELERACION 5\",\r\n          \"ACELERACI\u00d3N 5\"\r\n        ],\r\n        vol3: [\r\n          \"VOL 3\",\r\n          \"VOL3\",\r\n          \"VOL_3\",\r\n          \"VOLATILIDAD 3\",\r\n          \"VOL 5\",\r\n          \"VOL5\",\r\n          \"VOL_5\",\r\n          \"VOLATILIDAD 5\"\r\n        ],\r\n        peorCaida10: [\r\n          \"PEOR CAIDA 10\",\r\n          \"PEOR CA\u00cdDA 10\",\r\n          \"PEOR_CAIDA_10\",\r\n          \"PEORCAIDA10\",\r\n          \"MIN 10\",\r\n          \"MIN10\",\r\n          \"DD 10\",\r\n          \"DD10\",\r\n          \"PEOR CAIDA 20\",\r\n          \"PEOR CA\u00cdDA 20\",\r\n          \"PEOR_CAIDA_20\",\r\n          \"PEORCAIDA20\",\r\n          \"DD 20\",\r\n          \"DD20\"\r\n        ],\r\n        indiceFinal: [\r\n          \"INDICE FINAL\",\r\n          \"\u00cdNDICE FINAL\",\r\n          \"INDICE_FINAL\",\r\n          \"\u00cdNDICE_FINAL\",\r\n          \"INDICEFINAL\",\r\n          \"\u00cdNDICEFINAL\"\r\n        ],\r\n        interpretacionFinal: [\"INTERPRETACION FINAL\",\"INTERPRETACI\u00d3N FINAL\",\"INTERPRETACION_FINAL\",\"INTERPRETACI\u00d3N_FINAL\"],\r\n        recomendacionFinal: [\"RECOMENDACION FINAL\",\"RECOMENDACI\u00d3N FINAL\",\"RECOMENDACION_FINAL\",\"RECOMENDACI\u00d3N_FINAL\"]\r\n      };\r\n      const COLUMNAS = [\r\n        { key: \"ret20\", label: \"RET<br>(20)\", colClass: \"tr-col-ret20\", thClass: \"tr-head-ret20\", tdClass: \"tr-ret20\", tipo: \"porcentaje\", required: false },\r\n        { key: \"pos3\", label: \"% POS<br>3\", colClass: \"tr-col-pos\", tdClass: \"tr-metrica\", tipo: \"porcentaje_pos\", required: false },\r\n        { key: \"ret3\", label: \"RET<br>(3)\", colClass: \"tr-col-ret3\", tdClass: \"tr-metrica\", tipo: \"porcentaje\", required: false },\r\n        { key: \"acc3\", label: \"ACC<br>3\", colClass: \"tr-col-acc3\", tdClass: \"tr-metrica\", tipo: \"porcentaje\", required: false },\r\n        { key: \"vol3\", label: \"VOL<br>3\", colClass: \"tr-col-vol3\", tdClass: \"tr-metrica\", tipo: \"porcentaje\", required: false },\r\n        { key: \"peorCaida10\", label: \"PEOR<br>CA\u00cdDA 10\", colClass: \"tr-col-caida\", tdClass: \"tr-metrica\", tipo: \"porcentaje\", required: false },\r\n        { key: \"indiceFinal\", label: \"\u00cdNDICE<br>FINAL\", colClass: \"tr-col-indice\", thClass: \"tr-head-final\", tdClass: \"tr-indice\", tipo: \"indice_final\", required: true },\r\n        { key: \"interpretacionFinal\", label: \"INTERPRETACI\u00d3N<br>FINAL\", colClass: \"tr-col-interp\", thClass: \"tr-head-final\", tdClass: \"tr-interp\", tipo: \"texto\", required: false },\r\n        { key: \"recomendacionFinal\", label: \"RECOMENDACI\u00d3N<br>FINAL\", colClass: \"tr-col-reco\", thClass: \"tr-head-final\", tdClass: \"tr-reco\", tipo: \"recomendacion\", required: false }\r\n      ];\r\n      function limpiarTexto(v) {\r\n        if (v === null || v === undefined) return \"\";\r\n        return String(v).trim();\r\n      }\r\n      function normalizarHeader(v) {\r\n        return limpiarTexto(v)\r\n          .toUpperCase()\r\n          .normalize(\"NFD\")\r\n          .replace(\/[\\u0300-\\u036f]\/g, \"\")\r\n          .replace(\/\\s+\/g, \"\")\r\n          .replace(\/\\.\/g, \"\")\r\n          .replace(\/_\/g, \"\")\r\n          .replace(\/[()]\/g, \"\")\r\n          .replace(\/\\\/\/g, \"\")\r\n          .replace(\/%\/g, \"PORC\");\r\n      }\r\n      function escaparHTML(texto) {\r\n        return limpiarTexto(texto)\r\n          .replace(\/&\/g, \"&amp;\")\r\n          .replace(\/<\/g, \"&lt;\")\r\n          .replace(\/>\/g, \"&gt;\")\r\n          .replace(\/\"\/g, \"&quot;\")\r\n          .replace(\/'\/g, \"&#039;\");\r\n      }\r\n      function valorCelda(cell) {\r\n        if (cell === null || cell === undefined) return \"\";\r\n        if (typeof cell === \"string\" || typeof cell === \"number\") return limpiarTexto(cell);\r\n        if (cell.f !== undefined && cell.f !== null) return limpiarTexto(cell.f);\r\n        if (cell.v !== undefined && cell.v !== null) return limpiarTexto(cell.v);\r\n        return \"\";\r\n      }\r\n      function normalizarNumero(valor) {\r\n        let s = limpiarTexto(valor)\r\n          .replace(\"%\", \"\")\r\n          .replace(\/\\s\/g, \"\")\r\n          .replace(\/[^\\d,.\\-]\/g, \"\");\r\n        if (!s) return null;\r\n        if (s.includes(\",\") && s.includes(\".\")) {\r\n          if (s.lastIndexOf(\",\") > s.lastIndexOf(\".\")) {\r\n            s = s.replace(\/\\.\/g, \"\").replace(\",\", \".\");\r\n          } else {\r\n            s = s.replace(\/,\/g, \"\");\r\n          }\r\n        } else if (s.includes(\",\")) {\r\n          s = s.replace(\",\", \".\");\r\n        }\r\n        const n = Number(s);\r\n        return isNaN(n) ? null : n;\r\n      }\r\n      function numeroPorcentaje(valor) {\r\n        const raw = limpiarTexto(valor);\r\n        const n = normalizarNumero(raw);\r\n        if (n === null) return null;\r\n        if (!raw.includes(\"%\") && Math.abs(n) > 0 && Math.abs(n) <= 1) return n * 100;\r\n        return n;\r\n      }\r\n      function formatearPorcentaje(valor, decimales) {\r\n        const n = numeroPorcentaje(valor);\r\n        if (n === null) return limpiarTexto(valor) || \"-\";\r\n        return n.toFixed(decimales).replace(\".\", \",\") + \"%\";\r\n      }\r\n      function formatearNumero(valor, decimales) {\r\n        const n = normalizarNumero(valor);\r\n        if (n === null) return limpiarTexto(valor) || \"-\";\r\n        return n.toFixed(decimales).replace(\".\", \",\");\r\n      }\r\n      function colorVariacion(valor) {\r\n        const n = numeroPorcentaje(valor);\r\n        if (n === null) return { clase: \"tr-empty\", style: \"\" };\r\n        if (Math.abs(n) < 0.0001) return { clase: \"tr-zero\", style: \"\" };\r\n        const intensidad = Math.min(Math.abs(n) \/ 8, 1);\r\n        const alpha = 0.10 + intensidad * 0.38;\r\n        if (n > 0) {\r\n          return { clase: \"tr-pos\", style: \"background: rgba(16, 185, 129, \" + alpha.toFixed(2) + \");\" };\r\n        }\r\n        return { clase: \"tr-neg\", style: \"background: rgba(239, 68, 68, \" + alpha.toFixed(2) + \");\" };\r\n      }\r\n      function colorPos(valor) {\r\n        const nRaw = numeroPorcentaje(valor);\r\n        if (nRaw === null) return { clase: \"tr-empty\", style: \"\" };\r\n        const n = Math.max(0, Math.min(100, nRaw));\r\n        if (Math.abs(n - 50) < 0.0001) {\r\n          return { clase: \"tr-zero\", style: \"background: rgba(250, 204, 21, 0.34); color: #3a2500;\" };\r\n        }\r\n        if (n > 50) {\r\n          const intensidad = (n - 50) \/ 50;\r\n          const alpha = 0.14 + intensidad * 0.48;\r\n          return { clase: \"tr-pos\", style: \"background: rgba(16, 185, 129, \" + alpha.toFixed(2) + \"); color: #064e3b;\" };\r\n        }\r\n        const intensidad = (50 - n) \/ 50;\r\n        const alpha = 0.14 + intensidad * 0.48;\r\n        return { clase: \"tr-neg\", style: \"background: rgba(239, 68, 68, \" + alpha.toFixed(2) + \"); color: #7f1d1d;\" };\r\n      }\r\n      function mezclarColor(a, b, t) {\r\n        const x = Math.max(0, Math.min(1, t));\r\n        return [\r\n          Math.round(a[0] + (b[0] - a[0]) * x),\r\n          Math.round(a[1] + (b[1] - a[1]) * x),\r\n          Math.round(a[2] + (b[2] - a[2]) * x)\r\n        ];\r\n      }\r\n      function colorEscalaIndice(valor, min, max) {\r\n        const n = normalizarNumero(valor);\r\n        if (n === null) {\r\n          return {\r\n            clase: \"tr-empty\",\r\n            style: \"background:#e5e7eb!important;color:#111827!important;\"\r\n          };\r\n        }\r\n        if (max === null || min === null || Math.abs(max - min) < 0.0001) {\r\n          return {\r\n            clase: \"tr-zero\",\r\n            style: \"background:#facc15!important;color:#3a2500!important;\"\r\n          };\r\n        }\r\n        const t = Math.max(0, Math.min(1, (n - min) \/ (max - min)));\r\n        const rojo = [239, 68, 68];\r\n        const amarillo = [250, 204, 21];\r\n        const verde = [34, 197, 94];\r\n        let rgb;\r\n        if (t < 0.5) {\r\n          rgb = mezclarColor(rojo, amarillo, t \/ 0.5);\r\n        } else {\r\n          rgb = mezclarColor(amarillo, verde, (t - 0.5) \/ 0.5);\r\n        }\r\n        return {\r\n          clase: \"\",\r\n          style: \"background:rgb(\" + rgb[0] + \",\" + rgb[1] + \",\" + rgb[2] + \")!important;color:#111827!important;\"\r\n        };\r\n      }\r\n      function buscarIndice(headers, claves, fallback) {\r\n        for (const clave of (claves || [])) {\r\n          const h = headers.find(h => normalizarHeader(h.label) === normalizarHeader(clave));\r\n          if (h) return h.index;\r\n        }\r\n        return fallback;\r\n      }\r\n      function convertirProxyAGviz(payload) {\r\n        if (!payload || payload.ok !== true || !Array.isArray(payload.headers) || !Array.isArray(payload.rows)) {\r\n          throw new Error(\"El proxy no devolvi\u00f3 estructura v\u00e1lida: se esperaban headers y rows.\");\r\n        }\r\n        const cols = payload.headers.map(function (h, index) {\r\n          return { id: \"C\" + index, label: limpiarTexto(h), type: \"string\" };\r\n        });\r\n        const rows = payload.rows.map(function (row) {\r\n          const c = cols.map(function (_, index) {\r\n            const value = row && row[index] !== undefined && row[index] !== null ? limpiarTexto(row[index]) : \"\";\r\n            return { v: value, f: value };\r\n          });\r\n          return { c: c };\r\n        });\r\n        return { table: { cols: cols, rows: rows }, _proxy: payload };\r\n      }\r\n      function obtenerFechaHoraCorrida(payload) {\r\n        if (payload && Array.isArray(payload.headers) && Array.isArray(payload.rows)) {\r\n          const headers = payload.headers.map(function (h, index) {\r\n            return { index: index, label: limpiarTexto(h) };\r\n          });\r\n          const idx = buscarIndice(headers, ALIASES.fecha, null);\r\n          if (idx !== null && idx !== undefined) {\r\n            for (let i = 0; i < payload.rows.length; i++) {\r\n              const row = payload.rows[i] || [];\r\n              const valor = row[idx] !== undefined && row[idx] !== null ? limpiarTexto(row[idx]) : \"\";\r\n              if (valor) return valor;\r\n            }\r\n          }\r\n        }\r\n        if (payload && payload.fecha_hora_corrida) return limpiarTexto(payload.fecha_hora_corrida);\r\n        if (payload && payload.updated_at) return limpiarTexto(payload.updated_at);\r\n        return \"\";\r\n      }\r\n      function formatearFechaHoraCorrida(valor) {\r\n        const raw = limpiarTexto(valor);\r\n        if (!raw) return \"\";\r\n        let m = raw.match(\/^(\\d{4})-(\\d{2})-(\\d{2})[ T](\\d{2}):(\\d{2})(?::\\d{2})?\/);\r\n        if (m) return m[3] + \"-\" + m[2] + \"-\" + m[1] + \" a las \" + m[4] + \":\" + m[5];\r\n        m = raw.match(\/^(\\d{2})[-\\\/](\\d{2})[-\\\/](\\d{4})\\s+(\\d{2}):(\\d{2})(?::\\d{2})?\/);\r\n        if (m) return m[1] + \"-\" + m[2] + \"-\" + m[3] + \" a las \" + m[4] + \":\" + m[5];\r\n        return raw;\r\n      }\r\n      function actualizarFechaHoraCorrida(payload) {\r\n        const box = document.getElementById(\"trConsFechaCorridaV4\");\r\n        if (!box) return;\r\n        const fecha = formatearFechaHoraCorrida(obtenerFechaHoraCorrida(payload));\r\n        if (!fecha) {\r\n          box.style.display = \"none\";\r\n          box.innerHTML = \"\";\r\n          return;\r\n        }\r\n        box.style.display = \"flex\";\r\n        box.innerHTML =\r\n          '<span class=\"tr-generated-dot\" aria-hidden=\"true\"><\/span>' +\r\n          '<span><strong>Recomendaci\u00f3n generada<\/strong> el d\u00eda ' + escaparHTML(fecha) + \"<\/span>\";\r\n      }\r\n      function mostrarError(mensaje) {\r\n        const estado = document.getElementById(\"trConsEstadoV4\");\r\n        const cont = document.getElementById(\"trConsTablaV4\");\r\n        if (estado) estado.textContent = \"Error de carga\";\r\n        if (cont) {\r\n          cont.innerHTML =\r\n            '<div class=\"tr-error\"><strong>No fue posible leer la informaci\u00f3n.<\/strong><br>' +\r\n            escaparHTML(mensaje) +\r\n            \"<br><br>Revise que el endpoint fm-conservadores tenga SEGMENTO \/ C\u00d3DIGO e \u00cdNDICE FINAL.<\/div>\";\r\n        }\r\n      }\r\n      function construirDatos(response) {\r\n        const cols = response.table.cols || [];\r\n        const rows = response.table.rows || [];\r\n        const headers = cols.map(function (col, index) {\r\n          return { index: index, label: limpiarTexto(col.label || col.id || \"\") };\r\n        });\r\n        const indiceSegmento = buscarIndice(headers, ALIASES.segmento, null);\r\n        if (indiceSegmento === null || indiceSegmento === undefined) {\r\n          const muestraHeaders = headers.map(function (h) { return h.label; }).filter(Boolean).slice(0, 80).join(\" | \");\r\n          throw new Error(\r\n            \"No se detect\u00f3 la columna p\u00fablica SEGMENTO \/ C\u00d3DIGO. \" +\r\n            \"Por seguridad no se usar\u00e1 la primera columna f\u00edsica, porque puede contener NOMBRE FONDO. \" +\r\n            \"Encabezados recibidos: \" + muestraHeaders\r\n          );\r\n        }\r\n        const columnas = COLUMNAS.map(function (cfg) {\r\n          const index = buscarIndice(headers, ALIASES[cfg.key] || [], null);\r\n          const actual = headers.find(h => h.index === index);\r\n          const metrica = [\"ret20\", \"pos3\", \"ret3\", \"acc3\", \"vol3\", \"peorCaida10\"].includes(cfg.key);\r\n          return Object.assign({}, cfg, {index: index,\r\n            label: metrica ? (actual ? escaparHTML(actual.label) : \"Sin datos\") : cfg.label\r\n          });\r\n        });\r\n        const faltantesObligatorios = columnas\r\n          .filter(function (c) { return c.required && (c.index === null || c.index === undefined); })\r\n          .map(function (c) { return c.label.replace(\/<br>\/g, \" \"); });\r\n        if (faltantesObligatorios.length) {\r\n          const muestraHeaders = headers.map(function (h) { return h.label; }).filter(Boolean).slice(0, 80).join(\" | \");\r\n          throw new Error(\r\n            \"Faltan columnas obligatorias para construir la vista: \" +\r\n            faltantesObligatorios.join(\", \") +\r\n            \". Encabezados recibidos: \" +\r\n            muestraHeaders\r\n          );\r\n        }\r\n        const campoIndice = columnas.find(function (c) { return c.key === \"indiceFinal\"; });\r\n        const filas = rows.map(function (row) {\r\n          const segmento = row.c && row.c[indiceSegmento] ? valorCelda(row.c[indiceSegmento]) : \"\";\r\n          const valorIndice = campoIndice && row.c && row.c[campoIndice.index] ? valorCelda(row.c[campoIndice.index]) : \"\";\r\n          return {\r\n            segmento: segmento,\r\n            row: row,\r\n            indice: normalizarNumero(valorIndice)\r\n          };\r\n        })\r\n          .filter(function (r) { return limpiarTexto(r.segmento) !== \"\"; })\r\n          .sort(function (a, b) {\r\n            const av = a.indice;\r\n            const bv = b.indice;\r\n            if (av === null && bv === null) return 0;\r\n            if (av === null) return 1;\r\n            if (bv === null) return -1;\r\n            return bv - av;\r\n          });\r\n        const indicesValidos = filas\r\n          .map(function (f) { return f.indice; })\r\n          .filter(function (v) { return v !== null && !isNaN(v); });\r\n        const minIndice = indicesValidos.length ? Math.min.apply(null, indicesValidos) : null;\r\n        const maxIndice = indicesValidos.length ? Math.max.apply(null, indicesValidos) : null;\r\n        return {\r\n          headers: headers,\r\n          indiceSegmento: indiceSegmento,\r\n          columnas: columnas,\r\n          filas: filas,\r\n          minIndice: minIndice,\r\n          maxIndice: maxIndice\r\n        };\r\n      }\r\n      function renderValor(campo, valor, fila, datos) {\r\n        if (campo.index === null || campo.index === undefined) {\r\n          return {\r\n            clase: campo.tdClass + \" tr-empty\",\r\n            style: \"\",\r\n            texto: \"-\"\r\n          };\r\n        }\r\n        if (campo.tipo === \"porcentaje\") {\r\n          const color = colorVariacion(valor);\r\n          return {\r\n            clase: campo.tdClass + \" \" + color.clase,\r\n            style: color.style,\r\n            texto: formatearPorcentaje(valor, 2)\r\n          };\r\n        }\r\n        if (campo.tipo === \"porcentaje_pos\") {\r\n          const color = colorPos(valor);\r\n          return {\r\n            clase: campo.tdClass + \" \" + color.clase,\r\n            style: color.style,\r\n            texto: formatearPorcentaje(valor, 0)\r\n          };\r\n        }\r\n        if (campo.tipo === \"indice_final\") {\r\n          return {\r\n            clase: campo.tdClass,\r\n            style: \"\",\r\n            texto: formatearNumero(valor, 0)\r\n          };\r\n        }\r\n        if (campo.tipo === \"recomendacion\") {\r\n          const color = colorEscalaIndice(fila.indice, datos.minIndice, datos.maxIndice);\r\n          return {\r\n            clase: campo.tdClass + \" \" + color.clase,\r\n            style: color.style,\r\n            texto: limpiarTexto(valor) || \"-\"\r\n          };\r\n        }\r\n        return {\r\n          clase: campo.tdClass,\r\n          style: \"\",\r\n          texto: limpiarTexto(valor) || \"-\"\r\n        };\r\n      }\r\n      function renderTabla(response) {\r\n        try {\r\n          if (!response || !response.table || !response.table.cols || !response.table.rows) {\r\n            mostrarError(\"La respuesta no tiene estructura v\u00e1lida.\");\r\n            return;\r\n          }\r\n          const datos = construirDatos(response);\r\n          if (!datos.filas.length) {\r\n            mostrarError(\"No se detectaron filas con datos.\");\r\n            return;\r\n          }\r\n          let html = \"\";\r\n          html += \"<table><colgroup>\";\r\n          html += '<col class=\"tr-col-rank\">';\r\n          html += '<col class=\"tr-col-sector\">';\r\n          datos.columnas.forEach(function (campo) {\r\n            html += '<col class=\"' + escaparHTML(campo.colClass) + '\">';\r\n          });\r\n          html += \"<\/colgroup><thead><tr>\";\r\n          html += \"<th>#<\/th>\";\r\n          html += \"<th>SEGMENTO<br>C\u00d3DIGO<\/th>\";\r\n          datos.columnas.forEach(function (campo) {\r\n            const thClass = campo.thClass ? ' class=\"' + escaparHTML(campo.thClass) + '\"' : \"\";\r\n            html += \"<th\" + thClass + \">\" + campo.label + \"<\/th>\";\r\n          });\r\n          html += \"<\/tr><\/thead><tbody>\";\r\n          datos.filas.forEach(function (fila, index) {\r\n            html += \"<tr>\";\r\n            html += '<td class=\"tr-rank\">' + (index + 1) + \"<\/td>\";\r\n            html += '<td class=\"tr-sector\" title=\"' + escaparHTML(fila.segmento) + '\">' + escaparHTML(fila.segmento) + \"<\/td>\";\r\n            datos.columnas.forEach(function (campo) {\r\n              const valor = campo.index !== null && campo.index !== undefined && fila.row.c && fila.row.c[campo.index]\r\n                ? valorCelda(fila.row.c[campo.index])\r\n                : \"\";\r\n              const celda = renderValor(campo, valor, fila, datos);\r\n              html += '<td class=\"' + escaparHTML(celda.clase) + '\" style=\"' + escaparHTML(celda.style) + '\" title=\"' + escaparHTML(celda.texto) + '\">' +\r\n                escaparHTML(celda.texto) +\r\n                \"<\/td>\";\r\n            });\r\n            html += \"<\/tr>\";\r\n          });\r\n          html += \"<\/tbody><\/table>\";\r\n          const tabla = document.getElementById(\"trConsTablaV4\");\r\n          if (tabla) tabla.innerHTML = html;\r\n          const estado = document.getElementById(\"trConsEstadoV4\");\r\n          if (estado) {\r\n            estado.textContent =\r\n              datos.filas.length +\r\n              \" fondos | Orden: \u00cdNDICE FINAL descendente | Recomendaci\u00f3n coloreada por \u00edndice\";\r\n          }\r\n        } catch (error) {\r\n          mostrarError(\"Detalle t\u00e9cnico: \" + error.message);\r\n        }\r\n      }\r\n      function cargarDatos() {\r\n        const separador = PROXY_URL.includes(\"?\") ? \"&\" : \"?\";\r\n        const url = PROXY_URL + separador + \"cache=\" + Date.now();\r\n        fetch(url, { cache: \"no-store\" })\r\n          .then(function (res) {\r\n            if (!res.ok) throw new Error(\"HTTP \" + res.status);\r\n            return res.json();\r\n          })\r\n          .then(function (payload) {\r\n            actualizarFechaHoraCorrida(payload);\r\n            const response = convertirProxyAGviz(payload);\r\n            renderTabla(response);\r\n          })\r\n          .catch(function (error) {\r\n            mostrarError(\"No fue posible cargar la hoja desde el proxy WordPress. \" + error.message);\r\n          });\r\n      }\r\n      cargarDatos();\r\n    })();<\/script>\r\n<\/section> \t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ee98d9a elementor-widget elementor-widget-html\" data-id=\"ee98d9a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<!-- =========================================================\r\n     FOOTER TASANDO CUSTOM - GRILLA 6 CELDAS\r\n     - Im\u00e1genes sin enlaces\r\n     - Iconos sociales con enlaces reales\r\n     - Dise\u00f1ado para pegar en Elementor como widget HTML\r\n     - Grilla institucional de 6 celdas\r\n     - 5 logos cargados + 1 celda pendiente para nuevo logo\r\n     ========================================================= -->\r\n<section id=\"tasando-footer-custom\" aria-label=\"Footer Tasando\">\r\n  <style>\r\n    \/* =========================================================\r\n       CORRECCI\u00d3N PARA ELEMENTOR\r\n       Fuerza que el widget HTML que contiene este footer no quede\r\n       con ancho personalizado ni desplazado.\r\n       ========================================================= *\/\r\n    body .elementor-widget-html:has(#tasando-footer-custom),\r\n    body .elementor-widget-html:has(#tasando-footer-custom) > .elementor-widget-container {\r\n      width: 100% !important;\r\n      max-width: 100% !important;\r\n      min-width: 0 !important;\r\n      margin-left: auto !important;\r\n      margin-right: auto !important;\r\n      padding-left: 0 !important;\r\n      padding-right: 0 !important;\r\n      left: auto !important;\r\n      right: auto !important;\r\n      transform: none !important;\r\n      align-self: stretch !important;\r\n      overflow: visible !important;\r\n    }\r\n\r\n    #tasando-footer-custom {\r\n      --tf-blue: #102a54;\r\n      --tf-blue-2: #1f3763;\r\n      --tf-green: #69be28;\r\n      --tf-text: #ffffff;\r\n      --tf-muted: rgba(255, 255, 255, 0.86);\r\n      --tf-line: rgba(255, 255, 255, 0.16);\r\n      --tf-card: rgba(255, 255, 255, 0.97);\r\n      --tf-shadow: 0 18px 42px rgba(0, 0, 0, 0.18);\r\n\r\n      display: block;\r\n      width: min(1180px, calc(100vw - 48px)) !important;\r\n      max-width: none !important;\r\n      margin: 48px auto 0 auto !important;\r\n      padding: 0;\r\n      font-family: Arial, Helvetica, sans-serif;\r\n      color: var(--tf-text);\r\n      box-sizing: border-box;\r\n      clear: both;\r\n      overflow: visible;\r\n      position: relative;\r\n      left: auto;\r\n      right: auto;\r\n      transform: none;\r\n    }\r\n\r\n    #tasando-footer-custom * {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-wrap {\r\n      width: 100%;\r\n      margin: 0 auto;\r\n      padding: 46px 28px 26px 28px;\r\n      border-radius: 0;\r\n      background:\r\n        radial-gradient(circle at 12% 18%, rgba(105, 190, 40, 0.14), transparent 26%),\r\n        radial-gradient(circle at 82% 22%, rgba(255, 255, 255, 0.08), transparent 24%),\r\n        linear-gradient(135deg, rgba(16, 42, 84, 0.98), rgba(31, 55, 99, 0.96));\r\n      overflow: hidden;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-container {\r\n      width: 100%;\r\n      max-width: 1120px;\r\n      margin: 0 auto;\r\n      padding: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-main {\r\n      display: grid;\r\n      grid-template-columns: minmax(260px, 0.78fr) minmax(0, 2.22fr);\r\n      gap: 30px;\r\n      align-items: stretch;\r\n      width: 100%;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-info {\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-info h3 {\r\n      margin: 0 0 12px 0;\r\n      color: #ffffff;\r\n      font-size: clamp(22px, 2vw, 30px);\r\n      line-height: 1.12;\r\n      letter-spacing: -0.3px;\r\n      font-weight: 950;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-info p {\r\n      margin: 0 0 20px 0;\r\n      color: var(--tf-muted);\r\n      font-size: 15px;\r\n      line-height: 1.65;\r\n      max-width: 410px;\r\n      font-weight: 600;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-phone {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      width: max-content;\r\n      color: #ffffff;\r\n      font-size: 17px;\r\n      line-height: 1.1;\r\n      font-weight: 950;\r\n      text-decoration: none;\r\n      transition: color 0.18s ease;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-phone:hover {\r\n      color: var(--tf-green);\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logos {\r\n      display: grid;\r\n      grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      gap: 16px;\r\n      align-items: stretch;\r\n      width: 100%;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card {\r\n      width: 100%;\r\n      min-width: 0;\r\n      min-height: 138px;\r\n      padding: 16px;\r\n      border-radius: 18px;\r\n      background: var(--tf-card);\r\n      border: 1px solid rgba(255, 255, 255, 0.75);\r\n      box-shadow: var(--tf-shadow);\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      overflow: hidden;\r\n      cursor: default;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card img {\r\n      display: block;\r\n      width: auto;\r\n      max-width: 100%;\r\n      height: auto;\r\n      object-fit: contain;\r\n      border-radius: 10px;\r\n      pointer-events: none;\r\n      user-select: none;\r\n      -webkit-user-drag: none;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-usm img {\r\n      max-height: 94px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-ifrs img {\r\n      max-height: 78px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-inn img {\r\n      max-height: 88px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-uc img {\r\n      max-height: 92px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-pucv img {\r\n      max-height: 96px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-card-pending {\r\n      background:\r\n        linear-gradient(135deg, rgba(255,255,255,0.92), rgba(237,246,232,0.96));\r\n      border: 1px dashed rgba(16, 42, 84, 0.28);\r\n      color: var(--tf-blue);\r\n      text-align: center;\r\n      padding: 18px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-pending-text {\r\n      display: block;\r\n      font-size: 13px;\r\n      line-height: 1.25;\r\n      font-weight: 950;\r\n      letter-spacing: -0.1px;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-logo-pending-sub {\r\n      display: block;\r\n      margin-top: 5px;\r\n      font-size: 11px;\r\n      line-height: 1.25;\r\n      font-weight: 800;\r\n      color: rgba(16, 42, 84, 0.68);\r\n    }\r\n\r\n    #tasando-footer-custom .tf-bottom {\r\n      margin-top: 34px;\r\n      padding-top: 22px;\r\n      border-top: 1px solid var(--tf-line);\r\n      display: grid;\r\n      grid-template-columns: 1fr auto;\r\n      gap: 22px;\r\n      align-items: center;\r\n      width: 100%;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-copy {\r\n      color: rgba(255, 255, 255, 0.92);\r\n      font-size: 14px;\r\n      line-height: 1.45;\r\n      font-weight: 600;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-copy a {\r\n      color: var(--tf-green);\r\n      font-weight: 950;\r\n      text-decoration: none;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-copy a:hover {\r\n      text-decoration: underline;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-social {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: flex-end;\r\n      gap: 14px;\r\n      flex-wrap: wrap;\r\n      min-width: 0;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-social a {\r\n      width: 30px;\r\n      height: 30px;\r\n      display: inline-flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      border-radius: 999px;\r\n      text-decoration: none;\r\n      transition: transform 0.18s ease, background 0.18s ease;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-social a:hover {\r\n      transform: translateY(-2px);\r\n      background: rgba(255, 255, 255, 0.12);\r\n    }\r\n\r\n    #tasando-footer-custom .tf-social svg {\r\n      width: 18px;\r\n      height: 18px;\r\n      display: block;\r\n      fill: currentColor;\r\n    }\r\n\r\n    #tasando-footer-custom .tf-facebook { color: #1877f2; }\r\n    #tasando-footer-custom .tf-whatsapp { color: #25d366; }\r\n    #tasando-footer-custom .tf-linkedin { color: #0a66c2; }\r\n    #tasando-footer-custom .tf-instagram { color: #e4405f; }\r\n    #tasando-footer-custom .tf-youtube { color: #ff0000; }\r\n\r\n    @media (max-width: 980px) {\r\n      #tasando-footer-custom {\r\n        width: calc(100vw - 32px) !important;\r\n        margin-top: 38px !important;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-wrap {\r\n        padding: 38px 22px 26px 22px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-main {\r\n        grid-template-columns: 1fr;\r\n        gap: 28px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-info p {\r\n        max-width: 100%;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logos {\r\n        grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logo-card {\r\n        min-height: 132px;\r\n        padding: 15px;\r\n      }\r\n    }\r\n\r\n    @media (max-width: 720px) {\r\n      #tasando-footer-custom {\r\n        width: calc(100vw - 24px) !important;\r\n        margin-top: 34px !important;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-wrap {\r\n        padding: 34px 18px 24px 18px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logos {\r\n        grid-template-columns: 1fr;\r\n        gap: 14px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logo-card {\r\n        min-height: 138px;\r\n        padding: 18px;\r\n        border-radius: 18px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-logo-card-usm img,\r\n      #tasando-footer-custom .tf-logo-card-ifrs img,\r\n      #tasando-footer-custom .tf-logo-card-inn img,\r\n      #tasando-footer-custom .tf-logo-card-uc img,\r\n      #tasando-footer-custom .tf-logo-card-pucv img {\r\n        max-height: 92px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-bottom {\r\n        grid-template-columns: 1fr;\r\n        gap: 16px;\r\n      }\r\n\r\n      #tasando-footer-custom .tf-social {\r\n        justify-content: flex-start;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"tf-wrap\">\r\n    <div class=\"tf-container\">\r\n\r\n      <div class=\"tf-main\">\r\n        <div class=\"tf-info\">\r\n          <h3>Est\u00e1ndares Nacionales e Internacionales<\/h3>\r\n          <p>\r\n            Tasaciones y an\u00e1lisis t\u00e9cnicos con enfoque profesional, respaldo metodol\u00f3gico\r\n            y criterios consistentes para distintos tipos de activos y encargos.\r\n          <\/p>\r\n          <a class=\"tf-phone\" href=\"tel:+56997878034\">+56 99 7878 034<\/a>\r\n        <\/div>\r\n\r\n        <div class=\"tf-logos\" aria-label=\"Referencias t\u00e9cnicas y est\u00e1ndares profesionales\">\r\n          <div class=\"tf-logo-card tf-logo-card-usm\">\r\n            <img\r\n              src=\"https:\/\/portalusm.helen.cl\/img\/logo_usm.png\"\r\n              alt=\"Universidad T\u00e9cnica Federico Santa Mar\u00eda\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"tf-logo-card tf-logo-card-uc\">\r\n            <img\r\n              src=\"https:\/\/co-lab-research.net\/wp-content\/uploads\/2018\/03\/logo-puc-chile.jpg?w=620\"\r\n              alt=\"Pontificia Universidad Cat\u00f3lica de Chile\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"tf-logo-card tf-logo-card-pucv\">\r\n            <img\r\n              src=\"https:\/\/www.pucv.cl\/uuaa\/site\/artic\/20160808\/imag\/foto_0000000120160808123016.png\"\r\n              alt=\"Pontificia Universidad Cat\u00f3lica de Valpara\u00edso\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"tf-logo-card tf-logo-card-ifrs\">\r\n            <img\r\n              src=\"https:\/\/pmpartners.es\/wp-content\/uploads\/2024\/04\/international-financial-reporting-standards-ifrs-foundation-vector-logo-removebg-preview.png\"\r\n              alt=\"IFRS - International Financial Reporting Standards\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n          <div class=\"tf-logo-card tf-logo-card-inn\">\r\n            <img\r\n              src=\"https:\/\/managementsystems.world\/media\/images\/logos\/instituto_nacional_de_normalizacion_inn\"\r\n              alt=\"Instituto Nacional de Normalizaci\u00f3n\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n\r\n           <div class=\"tf-logo-card tf-logo-card-inn\">\r\n            <img\r\n              src=\"https:\/\/q-bo.org\/wp-content\/uploads\/logo-normas-iso-1000x828.png\"\r\n              alt=\"Logo ISO\"\r\n              loading=\"lazy\"\r\n              decoding=\"async\">\r\n          <\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"tf-bottom\">\r\n        <div class=\"tf-copy\">\r\n          Copyright \u00a9 2026 Tasando.com - Powered by\r\n          <a href=\"https:\/\/www.superchat.cl\" target=\"_blank\" rel=\"noopener\">www.superchat.cl<\/a>\r\n        <\/div>\r\n\r\n        <nav class=\"tf-social\" aria-label=\"Redes sociales Tasando\">\r\n          <a class=\"tf-facebook\" href=\"https:\/\/www.facebook.com\/profile.php?id=100084838899398\" target=\"_blank\" rel=\"noopener\" aria-label=\"Facebook Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M14 8.5V6.9c0-.8.2-1.3 1.3-1.3H17V2.2c-.8-.1-1.7-.2-2.6-.2-2.7 0-4.6 1.7-4.6 4.7v1.8H6.8V12h3v10H14V12h2.9l.5-3.5H14z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"tf-whatsapp\" href=\"https:\/\/api.whatsapp.com\/send?phone=56997878034\" target=\"_blank\" rel=\"noopener\" aria-label=\"WhatsApp Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M20.5 3.5A11.8 11.8 0 0 0 12.1 0C5.6 0 .3 5.3.3 11.8c0 2.1.5 4.1 1.6 5.9L0 24l6.5-1.7a11.8 11.8 0 0 0 5.6 1.4h.1c6.5 0 11.8-5.3 11.8-11.8 0-3.2-1.2-6.1-3.5-8.4zm-8.4 18.2c-1.8 0-3.5-.5-5-1.4l-.4-.2-3.9 1 1-3.8-.2-.4a9.8 9.8 0 0 1-1.5-5.2c0-5.4 4.4-9.8 9.9-9.8 2.6 0 5.1 1 7 2.9a9.8 9.8 0 0 1 2.9 7c.1 5.5-4.3 9.9-9.8 9.9zm5.4-7.4c-.3-.1-1.8-.9-2.1-1-.3-.1-.5-.1-.7.1-.2.3-.8 1-.9 1.2-.2.2-.3.2-.6.1-.3-.1-1.2-.4-2.3-1.4-.9-.8-1.4-1.7-1.6-2-.2-.3 0-.5.1-.6l.5-.6c.2-.2.2-.3.3-.5.1-.2.1-.4 0-.6-.1-.1-.7-1.7-1-2.3-.3-.6-.5-.5-.7-.5h-.6c-.2 0-.6.1-.9.4-.3.3-1.2 1.2-1.2 2.9s1.3 3.4 1.5 3.6c.2.2 2.5 3.8 6 5.3.8.4 1.5.6 2 .7.8.3 1.6.2 2.2.1.7-.1 1.8-.7 2.1-1.4.3-.7.3-1.3.2-1.4-.1-.2-.3-.3-.6-.4z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"tf-linkedin\" href=\"https:\/\/www.linkedin.com\/company\/101137461\" target=\"_blank\" rel=\"noopener\" aria-label=\"LinkedIn Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M4.98 3.5C4.98 4.88 3.86 6 2.5 6S0 4.88 0 3.5 1.12 1 2.5 1s2.48 1.12 2.48 2.5zM.3 8h4.4v15H.3V8zm7.1 0h4.2v2.1h.1c.6-1.1 2.1-2.4 4.3-2.4 4.6 0 5.4 3 5.4 6.9V23H17v-7.4c0-1.8 0-4-2.5-4s-2.9 1.9-2.9 3.9V23H7.4V8z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"tf-instagram\" href=\"https:\/\/www.instagram.com\/tasando_com\/\" target=\"_blank\" rel=\"noopener\" aria-label=\"Instagram Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M7.5 2h9A5.5 5.5 0 0 1 22 7.5v9a5.5 5.5 0 0 1-5.5 5.5h-9A5.5 5.5 0 0 1 2 16.5v-9A5.5 5.5 0 0 1 7.5 2zm0 2A3.5 3.5 0 0 0 4 7.5v9A3.5 3.5 0 0 0 7.5 20h9a3.5 3.5 0 0 0 3.5-3.5v-9A3.5 3.5 0 0 0 16.5 4h-9zM12 7a5 5 0 1 1 0 10 5 5 0 0 1 0-10zm0 2a3 3 0 1 0 0 6 3 3 0 0 0 0-6zm5.3-2.2a1.2 1.2 0 1 1 0 2.4 1.2 1.2 0 0 1 0-2.4z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n\r\n          <a class=\"tf-youtube\" href=\"https:\/\/www.youtube.com\/@TASANDO_COM\" target=\"_blank\" rel=\"noopener\" aria-label=\"YouTube Tasando\">\r\n            <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\">\r\n              <path d=\"M23.5 6.2s-.2-1.7-.9-2.4c-.9-.9-1.9-.9-2.4-1C16.8 2.5 12 2.5 12 2.5h0s-4.8 0-8.2.3c-.5.1-1.5.1-2.4 1C.7 4.5.5 6.2.5 6.2S.2 8.2.2 10.2v1.9c0 2 .3 4 .3 4s.2 1.7.9 2.4c.9.9 2.1.9 2.6 1 1.9.2 8 .3 8 .3s4.8 0 8.2-.3c.5-.1 1.5-.1 2.4-1 .7-.7.9-2.4.9-2.4s.3-2 .3-4v-1.9c0-2-.3-4-.3-4zM9.7 14.5v-7l6.3 3.5-6.3 3.5z\"\/>\r\n            <\/svg>\r\n          <\/a>\r\n        <\/nav>\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Portafolios de fondos mutuos \u00b7 comparaci\u00f3n de rentabilidades Rentabilidades y se\u00f1ales para comparar portafolios Esta vista compara rentabilidades y se\u00f1ales de portafolios de fondos mutuos con distintos perfiles de riesgo. Incluye alternativas conservadoras, moderadas y agresivas; no todos los portafolios son conservadores. Verde: aceleraci\u00f3n positiva Blanco: aceleraci\u00f3n neutral Rojo: aceleraci\u00f3n negativa Compare los retornos en [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-13131","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Fondos Conservadores - Tasando.com<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/tasando.com\/propiedades\/fondos-conservadores\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fondos Conservadores - Tasando.com\" \/>\n<meta property=\"og:description\" content=\"Portafolios de fondos mutuos \u00b7 comparaci\u00f3n de rentabilidades Rentabilidades y se\u00f1ales para comparar portafolios Esta vista compara rentabilidades y se\u00f1ales de portafolios de fondos mutuos con distintos perfiles de riesgo. Incluye alternativas conservadoras, moderadas y agresivas; no todos los portafolios son conservadores. Verde: aceleraci\u00f3n positiva Blanco: aceleraci\u00f3n neutral Rojo: aceleraci\u00f3n negativa Compare los retornos en [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/tasando.com\/propiedades\/fondos-conservadores\/\" \/>\n<meta property=\"og:site_name\" content=\"Tasaciones\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-09T12:42:51+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tiempo estimado de lectura\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/fondos-conservadores\\\/\",\"url\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/fondos-conservadores\\\/\",\"name\":\"Fondos Conservadores - Tasando.com\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#website\"},\"datePublished\":\"2026-06-08T14:52:41+00:00\",\"dateModified\":\"2026-09-09T12:42:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/fondos-conservadores\\\/#breadcrumb\"},\"inLanguage\":\"es-CL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/tasando.com\\\/propiedades\\\/fondos-conservadores\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/fondos-conservadores\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fondos Conservadores\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#website\",\"url\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/\",\"name\":\"Tasando.com\",\"description\":\"Bienes Ra\u00edces y Activos\",\"publisher\":{\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#organization\"},\"alternateName\":\"Tasando\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es-CL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#organization\",\"name\":\"Tasando.com\",\"alternateName\":\"Tasando\",\"url\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es-CL\",\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/logo_tasando.jpeg\",\"contentUrl\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/wp-content\\\/uploads\\\/2024\\\/05\\\/logo_tasando.jpeg\",\"width\":248,\"height\":133,\"caption\":\"Tasando.com\"},\"image\":{\"@id\":\"https:\\\/\\\/tasando.com\\\/propiedades\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Fondos Conservadores - Tasando.com","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/tasando.com\/propiedades\/fondos-conservadores\/","og_locale":"es_ES","og_type":"article","og_title":"Fondos Conservadores - Tasando.com","og_description":"Portafolios de fondos mutuos \u00b7 comparaci\u00f3n de rentabilidades Rentabilidades y se\u00f1ales para comparar portafolios Esta vista compara rentabilidades y se\u00f1ales de portafolios de fondos mutuos con distintos perfiles de riesgo. Incluye alternativas conservadoras, moderadas y agresivas; no todos los portafolios son conservadores. Verde: aceleraci\u00f3n positiva Blanco: aceleraci\u00f3n neutral Rojo: aceleraci\u00f3n negativa Compare los retornos en [&hellip;]","og_url":"https:\/\/tasando.com\/propiedades\/fondos-conservadores\/","og_site_name":"Tasaciones","article_modified_time":"2026-09-09T12:42:51+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tiempo estimado de lectura":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/tasando.com\/propiedades\/fondos-conservadores\/","url":"https:\/\/tasando.com\/propiedades\/fondos-conservadores\/","name":"Fondos Conservadores - Tasando.com","isPartOf":{"@id":"https:\/\/tasando.com\/propiedades\/#website"},"datePublished":"2026-06-08T14:52:41+00:00","dateModified":"2026-09-09T12:42:51+00:00","breadcrumb":{"@id":"https:\/\/tasando.com\/propiedades\/fondos-conservadores\/#breadcrumb"},"inLanguage":"es-CL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/tasando.com\/propiedades\/fondos-conservadores\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/tasando.com\/propiedades\/fondos-conservadores\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/tasando.com\/propiedades\/"},{"@type":"ListItem","position":2,"name":"Fondos Conservadores"}]},{"@type":"WebSite","@id":"https:\/\/tasando.com\/propiedades\/#website","url":"https:\/\/tasando.com\/propiedades\/","name":"Tasando.com","description":"Bienes Ra\u00edces y Activos","publisher":{"@id":"https:\/\/tasando.com\/propiedades\/#organization"},"alternateName":"Tasando","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/tasando.com\/propiedades\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es-CL"},{"@type":"Organization","@id":"https:\/\/tasando.com\/propiedades\/#organization","name":"Tasando.com","alternateName":"Tasando","url":"https:\/\/tasando.com\/propiedades\/","logo":{"@type":"ImageObject","inLanguage":"es-CL","@id":"https:\/\/tasando.com\/propiedades\/#\/schema\/logo\/image\/","url":"https:\/\/tasando.com\/propiedades\/wp-content\/uploads\/2024\/05\/logo_tasando.jpeg","contentUrl":"https:\/\/tasando.com\/propiedades\/wp-content\/uploads\/2024\/05\/logo_tasando.jpeg","width":248,"height":133,"caption":"Tasando.com"},"image":{"@id":"https:\/\/tasando.com\/propiedades\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/pages\/13131","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/comments?post=13131"}],"version-history":[{"count":82,"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/pages\/13131\/revisions"}],"predecessor-version":[{"id":16012,"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/pages\/13131\/revisions\/16012"}],"wp:attachment":[{"href":"https:\/\/tasando.com\/propiedades\/wp-json\/wp\/v2\/media?parent=13131"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}