{"id":768,"date":"2026-07-22T19:13:03","date_gmt":"2026-07-23T00:13:03","guid":{"rendered":"https:\/\/bullmarket.com.co\/?page_id=768"},"modified":"2026-10-04T00:39:12","modified_gmt":"2026-10-04T05:39:12","slug":"ia-bi-automatizacion","status":"publish","type":"page","link":"https:\/\/bullmarket.com.co\/en\/ia-bi-automatizacion\/","title":{"rendered":"IA\/BI &#038; Automatizaci\u00f3n"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"768\" class=\"elementor elementor-768\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-125de63 e-flex e-con-boxed e-con e-parent\" data-id=\"125de63\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-b0f2bfb e-con-full e-grid e-con e-child\" data-id=\"b0f2bfb\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-43815eb e-con-full elementor-hidden-mobile e-flex e-con e-child\" data-id=\"43815eb\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-adb1edd e-con-full e-flex e-con e-child\" data-id=\"adb1edd\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-101853b elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"101853b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p style=\"margin: 0;\"><span style=\"color: #19d3a2; font-weight: bold;\">Convierta la operaci\u00f3n en datos accionables, libere a su equipo de tareas repetitivas y decida en tiempo real:<\/span><span style=\"color: #8c93a3;\"><br \/>En la mayor\u00eda de pymes, empresas en expansi\u00f3n y algunas multinacionales, el equipo financiero y operativo dedica entre el <\/span><span style=\"color: #7b3ff2; font-weight: bold;\">60% y un 70% de su tiempo en tareas repetitivas:<\/span><span style=\"color: #8c93a3;\"><br \/>consolidar archivos, cuadrar reportes, descargar extractos, actualizar tableros manuales y responder solicitudes puntuales. El resultado es un costo oculto significativo: horas que no se traducen en an\u00e1lisis, decisiones demoradas y una organizaci\u00f3n que <span style=\"color: #7b3ff2; font-weight: bold;\"><strong>reacciona en lugar de anticipar<\/strong>.<\/span><br \/><br \/><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-e737b04 e-flex e-con-boxed e-con e-parent\" data-id=\"e737b04\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-36c1baa e-con-full e-flex e-con e-child\" data-id=\"36c1baa\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9b86793 elementor-widget elementor-widget-heading\" data-id=\"9b86793\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bfPor qu\u00e9 necesita incorporar<span class=\"grad-h2\">Inteligencia Artificial \/ Tableros de Control &amp; Automatizaciones?<\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b74df84 elementor-widget elementor-widget-text-editor\" data-id=\"b74df84\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p style=\"margin: 0;\"><span style=\"color: #8c93a3;\">Optimizar el tiempo de su equipo automatizando tareas repetitivas para tener informaci\u00f3n oportuna y tener el control de su compa\u00f1\u00eda <\/span><strong style=\"color: #ffffff;\">a un click.<br \/><\/strong><span style=\"color: #8c93a3;\">No espere al siguiente mes para <\/span><strong style=\"color: #ffffff;\">enter que sucedi\u00f3 en el anterior<\/strong><span style=\"color: #8c93a3;\">, construimos dise\u00f1amos e implementamos tableros profesionales conectados directamente a sus fuentes de datos, con <strong style=\"color: #ffffff;\">KPIs accionables, trazabilidad completa y actualizaci\u00f3n autom\u00e1tica.<\/strong>\u00a0Visualizaci\u00f3n clara para gerencia, finanzas, operaciones y comercial, con niveles de permiso y gobierno de datos.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-22f3d18 e-flex e-con-boxed e-con e-parent\" data-id=\"22f3d18\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-5eb7ad0 e-con-full e-flex e-con e-child\" data-id=\"5eb7ad0\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-850f5bf elementor-widget elementor-widget-heading\" data-id=\"850f5bf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">As\u00ed se ven los datos que generan Decisiones Oportunas<\/h2>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ab3774f e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"ab3774f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeInLeft&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-2638495 e-con-full e-flex e-con e-child\" data-id=\"2638495\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fc7e4e3 elementor-widget elementor-widget-heading\" data-id=\"fc7e4e3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">01<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-2cc6267 e-con-full e-flex e-con e-child\" data-id=\"2cc6267\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-33dac8f elementor-widget elementor-widget-icon-box\" data-id=\"33dac8f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tN8N &amp; Power Automate - Power BI - SQL - Python\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tAutomatiza flujos de trabajo de punta a punta, plasma tus datos en un tablero de control o financiero.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-58c6d95 elementor-widget elementor-widget-html\" data-id=\"58c6d95\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>Dashboard 4 \u00b7 Flujo n8n \u00b7 Reporte Clientes<\/title>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n  html,body{ margin:0; padding:0; }\r\n  body{ background:#EDEDF2; padding:32px 16px; font-family:'IBM Plex Sans',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div id=\"bma-n8-root\">\r\n  <div class=\"bma-frame\">\r\n    <div class=\"bma-dots\"><span><\/span><span><\/span><span><\/span><\/div>\r\n    <div class=\"bma-screen\">\r\n      <div class=\"bma-head\">\r\n        <div>\r\n          <div class=\"bma-title\">Flujo n8n \u00b7 Reporte Diario de Clientes<\/div>\r\n          <div class=\"bma-sub\" id=\"bma-n8-sub\">WORKFLOW \u00b7 CRON 07:00 L-V<\/div>\r\n        <\/div>\r\n        <span class=\"bma-live\"><i><\/i>EN VIVO<\/span>\r\n      <\/div>\r\n      <div class=\"bma-tabs\">\r\n        <button class=\"bma-tab active\" data-tab=\"wf\">WORKFLOW<\/button>\r\n        <button class=\"bma-tab\" data-tab=\"log\">EJECUCI\u00d3N<\/button>\r\n        <button class=\"bma-tab\" data-tab=\"st\">ESTAD\u00cdSTICAS<\/button>\r\n      <\/div>\r\n      <div class=\"bma-body\" id=\"bma-n8-body\"><\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n#bma-n8-root{ --p:#7C3AED; --p2:#9A4DE8; --c:#06B6D4; --ok:#16A34A; --warn:#EF9F27; --crit:#E05555;\r\n  --ink:#14162A; --mut:#9AA0B4; --line:#ECEDF4; --panel:#F7F7FB;\r\n  font-family:'IBM Plex Sans',system-ui,sans-serif; max-width:760px; margin:0 auto; }\r\n#bma-n8-root *{ box-sizing:border-box; }\r\n#bma-n8-root .bma-frame{ padding:10px; border-radius:20px; background:linear-gradient(165deg,#171923,#0C0D16);\r\n  border:1px solid rgba(255,255,255,.1); box-shadow:0 30px 70px rgba(10,12,26,.45); }\r\n#bma-n8-root .bma-dots{ display:flex; gap:6px; padding:6px 8px 10px; }\r\n#bma-n8-root .bma-dots span{ width:9px; height:9px; border-radius:50%; background:#5B6270; }\r\n#bma-n8-root .bma-screen{ background:#fff; border-radius:12px; padding:16px; display:flex; flex-direction:column; gap:12px; min-height:340px; }\r\n#bma-n8-root .bma-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }\r\n#bma-n8-root .bma-title{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:15px; color:var(--ink); }\r\n#bma-n8-root .bma-sub{ font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.1em; color:var(--mut); margin-top:2px; }\r\n#bma-n8-root .bma-live{ display:inline-flex; align-items:center; gap:6px; font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--c); }\r\n#bma-n8-root .bma-live i{ width:6px; height:6px; border-radius:50%; background:var(--c); animation:bmaPulse 1.6s ease-in-out infinite; }\r\n#bma-n8-root .bma-tabs{ display:flex; gap:7px; flex-wrap:wrap; }\r\n#bma-n8-root .bma-tab{ cursor:pointer; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.06em; font-weight:600;\r\n  padding:6px 12px; border-radius:999px; border:1px solid #E4E1F0; background:#fff; color:#6B7180; transition:all .2s ease; }\r\n#bma-n8-root .bma-tab:hover{ border-color:#C9B4F0; color:#4A2E7A; }\r\n#bma-n8-root .bma-tab.active{ background:var(--p); border-color:var(--p); color:#fff; box-shadow:0 6px 16px rgba(124,58,237,.28); }\r\n#bma-n8-root .bma-body{ display:flex; flex-direction:column; gap:12px; }\r\n#bma-n8-root .bma-panel{ padding:11px 12px; border-radius:10px; background:var(--panel); border:1px solid var(--line); }\r\n#bma-n8-root .bma-cap{ font-family:'IBM Plex Mono',monospace; font-size:8.5px; color:var(--mut); letter-spacing:.06em; }\r\n#bma-n8-root .bma-kpi{ text-align:left; padding:9px 10px; border-radius:9px; background:var(--panel); border:1px solid var(--line); transition:all .18s ease; }\r\n#bma-n8-root .bma-kpi:hover{ transform:translateY(-2px); border-color:#C9B4F0; }\r\n#bma-n8-root .bma-klabel{ font-family:'IBM Plex Mono',monospace; font-size:8.5px; color:var(--mut); letter-spacing:.06em; }\r\n#bma-n8-root .bma-kval{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:15px; color:var(--ink); margin-top:2px; }\r\n#bma-n8-root .bma-kdelta{ font-family:'IBM Plex Mono',monospace; font-size:9px; margin-top:1px; }\r\n#bma-n8-root .bma-sv text{ font-family:'IBM Plex Mono',monospace; }\r\n#bma-n8-root .bma-flow{ stroke-dasharray:6 7; animation:bmaFlow 1.05s linear infinite; }\r\n#bma-n8-root .bma-pulse-node{ transform-box:fill-box; transform-origin:center; }\r\n#bma-n8-root .bma-pulse-node.active{ animation:bmaNodePing 1.4s ease-out infinite; }\r\n#bma-n8-root .bma-bars{ display:flex; align-items:flex-end; gap:5px; }\r\n#bma-n8-root .bma-bar{ flex:1; border-radius:3px 3px 0 0; transition:height .6s cubic-bezier(.2,.8,.2,1), background .3s; }\r\n#bma-n8-root .bma-track{ height:7px; background:#ECE8F7; border-radius:5px; overflow:hidden; }\r\n#bma-n8-root .bma-fill{ height:100%; border-radius:5px; width:0; transform-origin:left; }\r\n#bma-n8-root .bma-logbox{ background:#171923; border-radius:9px; padding:12px 14px; font-family:'IBM Plex Mono',monospace; font-size:10px; color:#A0A6B8; line-height:1.75; max-height:200px; overflow:hidden; }\r\n#bma-n8-root .bma-logbox .ln{ opacity:0; animation:bmaFadeIn .3s forwards; }\r\n#bma-n8-root .bma-logbox .t{ color:#5B6270; margin-right:10px; }\r\n#bma-n8-root .bma-logbox .ok{ color:#5EEAD4; }\r\n#bma-n8-root .bma-logbox .info{ color:#06B6D4; }\r\n#bma-n8-root .bma-logbox .warn{ color:#EF9F27; }\r\n@keyframes bmaPulse{ 0%,100%{ opacity:1; transform:scale(1);} 50%{ opacity:.35; transform:scale(.7);} }\r\n@keyframes bmaFlow{ to{ stroke-dashoffset:-13; } }\r\n@keyframes bmaNodePing{ 0%{ opacity:1;} 50%{ opacity:.75;} 100%{ opacity:1;} }\r\n@keyframes bmaGrowX{ from{ transform:scaleX(0);} to{ transform:scaleX(1);} }\r\n@keyframes bmaFadeIn{ to{ opacity:1; } }\r\n@media (max-width:520px){ #bma-n8-root .bma-tab{ font-size:9px; padding:5px 9px; } }\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  var root = document.getElementById('bma-n8-root');\r\n  if(!root || root.dataset.init) return; root.dataset.init='1';\r\n  var body = root.querySelector('#bma-n8-body');\r\n  var subEl = root.querySelector('#bma-n8-sub');\r\n  var timers = [];\r\n  function clearTimers(){\r\n    timers.forEach(function(t){\r\n      if(typeof t==='number'){ clearInterval(t); clearTimeout(t); }\r\n      else if(t&&t.clear) t.clear();\r\n    });\r\n    timers=[];\r\n  }\r\n\r\n  function kpiHTML(list){\r\n    return list.map(function(k){\r\n      return '<div class=\"bma-kpi\"><div class=\"bma-klabel\">'+k[0]+'<\/div><div class=\"bma-kval\">'+k[1]+'<\/div><div class=\"bma-kdelta\" style=\"color:'+k[3]+'\">'+k[2]+'<\/div><\/div>';\r\n    }).join('');\r\n  }\r\n  function barsHTML(arr, hiThr){\r\n    return arr.map(function(h){\r\n      var bg = h>=hiThr ? 'linear-gradient(180deg,#5EEAD4,#7C3AED)' : 'linear-gradient(180deg,#9A4DE8,#6D28D9)';\r\n      return '<div class=\"bma-bar\" style=\"height:'+h+'%;background:'+bg+'\"><\/div>';\r\n    }).join('');\r\n  }\r\n  function startLiveBars(sel, lo, hi, interval){\r\n    var wrap = root.querySelector(sel); if(!wrap) return;\r\n    var t = setInterval(function(){\r\n      wrap.querySelectorAll('.bma-bar').forEach(function(b){\r\n        var h = lo + Math.round(Math.random()*(hi-lo));\r\n        b.style.height = h+'%';\r\n        b.style.background = h>=hi*0.85 ? 'linear-gradient(180deg,#5EEAD4,#7C3AED)' : 'linear-gradient(180deg,#9A4DE8,#6D28D9)';\r\n      });\r\n    }, interval||2100);\r\n    timers.push(t);\r\n  }\r\n\r\n  \/\/ icons\r\n  function iconPaths(k){\r\n    switch(k){\r\n      case 'snow': return '<path d=\"M12 2v20M4 7l16 10M4 17l16-10M2 12h20\"\/>';\r\n      case 'gear': return '<circle cx=\"12\" cy=\"12\" r=\"3\"\/><path d=\"M12 1v4M12 19v4M4.2 4.2l2.8 2.8M17 17l2.8 2.8M1 12h4M19 12h4M4.2 19.8l2.8-2.8M17 7l2.8-2.8\"\/>';\r\n      case 'check': return '<path d=\"M3 12l5 5L21 4\"\/>';\r\n      case 'merge': return '<path d=\"M5 3v6l7 6 7-6V3M12 15v6\"\/>';\r\n      case 'split': return '<path d=\"M12 3v8M12 11l-6 7M12 11l6 7\"\/>';\r\n      case 'file': return '<path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"\/><path d=\"M14 2v6h6M8 13h8M8 17h8\"\/>';\r\n      case 'mail': return '<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"\/><path d=\"M3 7l9 6 9-6\"\/>';\r\n      case 'slack': return '<rect x=\"3\" y=\"10\" width=\"4\" height=\"4\" rx=\"2\"\/><rect x=\"10\" y=\"3\" width=\"4\" height=\"4\" rx=\"2\"\/><rect x=\"10\" y=\"17\" width=\"4\" height=\"4\" rx=\"2\"\/><rect x=\"17\" y=\"10\" width=\"4\" height=\"4\" rx=\"2\"\/><path d=\"M7 12h3M14 7v3M14 17v-3M17 12h-3\"\/>';\r\n    }\r\n    return '';\r\n  }\r\n  function nodeIcon(k,color,cx,cy){\r\n    var s=0.55, tx=(cx-12*s).toFixed(1), ty=(cy-12*s).toFixed(1);\r\n    return '<g transform=\"translate('+tx+','+ty+') scale('+s+')\" fill=\"none\" stroke=\"'+color+'\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">'+iconPaths(k)+'<\/g>';\r\n  }\r\n  function node(x,y,c,ikey,n,id){\r\n    var cy=y+21;\r\n    return '<g class=\"bma-pulse-node\" id=\"'+id+'\">'+\r\n      '<rect x=\"'+x+'\" y=\"'+y+'\" width=\"110\" height=\"42\" rx=\"9\" fill=\"#fff\" stroke=\"'+c+'\" stroke-width=\"1.4\"\/>'+\r\n      '<rect x=\"'+x+'\" y=\"'+y+'\" width=\"4\" height=\"42\" rx=\"2\" fill=\"'+c+'\"\/>'+\r\n      nodeIcon(ikey,c,x+20,cy)+\r\n      '<text x=\"'+(x+36)+'\" y=\"'+(cy+4)+'\" font-size=\"9\" font-weight=\"600\" fill=\"#2A2E42\">'+n+'<\/text>'+\r\n    '<\/g>';\r\n  }\r\n  function conn(d){ return '<path class=\"bma-flow\" d=\"'+d+'\" fill=\"none\" stroke=\"#7C3AED\" stroke-width=\"2\" marker-end=\"url(#bmaN8Arrow)\" stroke-linecap=\"round\"\/>'; }\r\n\r\n  \/\/ ====== WORKFLOW ======\r\n  function renderWorkflow(){\r\n    clearTimers();\r\n    var kpis = kpiHTML([\r\n      ['EJECUCIONES','1,842','\u25b2 18%','#16A34A'],\r\n      ['\u00c9XITO','98.6%','\u25b2 1.2%','#16A34A'],\r\n      ['TIEMPO MEDIO','12.4s','\u25bc 1.8s','#16A34A'],\r\n      ['NODOS','8','conectados','#06B6D4']\r\n    ]);\r\n\r\n    \/\/ Nodos (viewBox 600x200, nodos de 108x42)\r\n    var nodes =\r\n      node(12, 24,'#29B5E8','snow', 'Snowflake','n1')+\r\n      node(160,24,'#7C3AED','gear', 'Transform','n2')+\r\n      node(308,24,'#EF9F27','check','Validar','n3')+\r\n      node(456,24,'#06B6D4','merge','Cruce CRM','n4')+\r\n      node(12, 134,'#9AA0B4','split','Split','n5')+\r\n      node(160,114,'#16A34A','file','Reporte','n6a')+\r\n      node(308,114,'#D85A30','mail','Email','n7a')+\r\n      node(160,156,'#DC2626','mail','Email alerta','n6b')+\r\n      node(308,156,'#5059C9','slack','Slack','n7b');\r\n\r\n    \/\/ Conexiones (y=45 centro de nodos fila 1; y=135, y=175 centros fila 2)\r\n    var conns =\r\n      conn('M120,45 L160,45')+                   \/\/ n1\u2192n2\r\n      conn('M268,45 L308,45')+                   \/\/ n2\u2192n3\r\n      conn('M416,45 L456,45')+                   \/\/ n3\u2192n4\r\n      \/\/ n4 \u2192 n5: baja desde n4 por la derecha, va a izq, baja a n5\r\n      conn('M510,66 L510,100 L66,100 L66,134')+\r\n      \/\/ n5 \u2192 n6a (reporte, fila sup de rama)\r\n      conn('M120,145 L160,135')+\r\n      \/\/ n5 \u2192 n6b (alerta, fila inf de rama)\r\n      conn('M120,160 L160,177')+\r\n      \/\/ n6a \u2192 n7a\r\n      conn('M268,135 L308,135')+\r\n      \/\/ n6b \u2192 n7b\r\n      conn('M268,177 L308,177');\r\n\r\n    body.innerHTML =\r\n      '<div style=\"display:grid;grid-template-columns:repeat(4,1fr);gap:8px\">'+kpis+'<\/div>'+\r\n      '<div class=\"bma-panel\">'+\r\n        '<div class=\"bma-cap\" style=\"margin-bottom:6px\">WORKFLOW \u00b7 Snowflake \u2192 Transform \u2192 Validate \u2192 CRM \u2192 Reporte + Alerta<\/div>'+\r\n        '<svg class=\"bma-sv\" viewBox=\"0 0 580 215\" width=\"100%\" style=\"display:block;height:auto\">'+\r\n          '<defs><marker id=\"bmaN8Arrow\" markerWidth=\"7\" markerHeight=\"7\" refX=\"5\" refY=\"3.5\" orient=\"auto\"><path d=\"M0,0 L6,3.5 L0,7 Z\" fill=\"#7C3AED\"\/><\/marker><\/defs>'+\r\n          '<text x=\"12\" y=\"14\" font-size=\"7\" font-weight=\"600\" fill=\"#7C3AED\" letter-spacing=\"0.08em\">TRIGGER \u00b7 CRON 07:00<\/text>'+\r\n          conns+nodes+\r\n        '<\/svg>'+\r\n      '<\/div>'+\r\n      '<div style=\"display:grid;grid-template-columns:1.1fr 1fr;gap:8px\">'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:8px\">PASOS DEL WORKFLOW<\/div>'+\r\n          [['01','Snowflake','SELECT * FROM customers.activity','#29B5E8'],\r\n           ['02','Transform','GROUP BY cliente \u00b7 KPIs','#7C3AED'],\r\n           ['03','Validate','Regex RFC 5322','#EF9F27'],\r\n           ['04','Merge CRM','JOIN HubSpot por ID','#06B6D4'],\r\n           ['05','Split','Enrutar a 2 ramas','#9AA0B4'],\r\n           ['06','Reporte \/ Alerta','PDF + resumen','#16A34A'],\r\n           ['07','Email + Slack','Direcci\u00f3n + #reportes-finanzas','#D85A30']].map(function(x){\r\n            return '<div style=\"display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;padding:6px 0;border-bottom:1px solid #ECEDF4\"><span style=\"font-family:Space Grotesk;font-weight:700;font-size:11px;color:'+x[3]+'\">'+x[0]+'<\/span><div><div style=\"font-family:IBM Plex Sans;font-size:10.5px;color:#14162A;font-weight:500\">'+x[1]+'<\/div><div style=\"font-family:IBM Plex Mono,monospace;font-size:8.5px;color:#9AA0B4;margin-top:1px\">'+x[2]+'<\/div><\/div><span style=\"width:7px;height:7px;border-radius:50%;background:'+x[3]+'\"><\/span><\/div>';\r\n          }).join('')+\r\n        '<\/div>'+\r\n        '<div class=\"bma-panel\" style=\"display:flex;flex-direction:column\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:8px\">EJECUCIONES \/ D\u00cdA<\/div>'+\r\n          '<div class=\"bma-bars\" id=\"bma-n8-exec\" style=\"height:120px\">'+barsHTML([55,72,48,84,66,92,78],85)+'<\/div>'+\r\n          '<div style=\"display:flex;justify-content:space-between;margin-top:5px;font-family:IBM Plex Mono,monospace;font-size:7.5px;color:#9AA0B4\"><span>L<\/span><span>M<\/span><span>M<\/span><span>J<\/span><span>V<\/span><span>S<\/span><span>D<\/span><\/div>'+\r\n        '<\/div>'+\r\n      '<\/div>';\r\n    startLiveBars('#bma-n8-exec', 50, 95, 2300);\r\n\r\n    \/\/ Simular nodo \"activo\" rotando por los nodos\r\n    var sequence = ['n1','n2','n3','n4','n5','n6a','n7a','n6b','n7b'];\r\n    var idx = 0;\r\n    var t = setInterval(function(){\r\n      sequence.forEach(function(id){ var el=root.querySelector('#'+id); if(el) el.classList.remove('active'); });\r\n      var cur = root.querySelector('#'+sequence[idx]);\r\n      if(cur) cur.classList.add('active');\r\n      idx = (idx+1) % sequence.length;\r\n    }, 900);\r\n    timers.push(t);\r\n  }\r\n\r\n  \/\/ ====== EJECUCI\u00d3N (log en vivo) ======\r\n  function renderLog(){\r\n    clearTimers();\r\n    var kpis = kpiHTML([\r\n      ['REGISTROS','4,287','\u25b2 142','#16A34A'],\r\n      ['TIEMPO','12.4s','\u00faltimo run','#06B6D4'],\r\n      ['STATUS','\u00c9XITO','\u00faltimo run','#16A34A'],\r\n      ['CRON','07:00','lun-vie','#06B6D4']\r\n    ]);\r\n\r\n    var allLogs = [\r\n      ['07:00:00','info','Workflow iniciado \u00b7 trigger cron'],\r\n      ['07:00:01','ok','Snowflake \u00b7 conexi\u00f3n establecida'],\r\n      ['07:00:03','ok','Query ejecutado \u00b7 4,287 registros extra\u00eddos'],\r\n      ['07:00:05','ok','Transform aplicado \u00b7 142 agregaciones calculadas'],\r\n      ['07:00:07','warn','Validaci\u00f3n emails \u00b7 4,281 v\u00e1lidos (6 rechazados)'],\r\n      ['07:00:09','ok','Cruce CRM \u00b7 4,281 registros enriquecidos (JOIN HubSpot)'],\r\n      ['07:00:10','ok','Split \u00b7 2 ramas iniciadas en paralelo'],\r\n      ['07:00:11','ok','Reporte generado \u00b7 reporte_clientes_20261003.xlsx (124KB)'],\r\n      ['07:00:12','ok','Email enviado a 7 destinatarios \u00b7 SMTP OK'],\r\n      ['07:00:12','ok','Slack \u00b7 mensaje publicado en #reportes-finanzas'],\r\n      ['07:00:12','info','Workflow completado \u00b7 12.4s \u00b7 0 errores']\r\n    ];\r\n\r\n    body.innerHTML =\r\n      '<div style=\"display:grid;grid-template-columns:repeat(4,1fr);gap:8px\">'+kpis+'<\/div>'+\r\n      '<div class=\"bma-panel\">'+\r\n        '<div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:9px\">'+\r\n          '<div class=\"bma-cap\">LOG DE EJECUCI\u00d3N \u00b7 \u00daLTIMA CORRIDA<\/div>'+\r\n          '<span style=\"display:inline-flex;align-items:center;gap:5px;font-family:IBM Plex Mono,monospace;font-size:9px;color:#16A34A\"><span style=\"width:6px;height:6px;border-radius:50%;background:#16A34A;animation:bmaPulse 1.6s ease-in-out infinite\"><\/span>STREAMING<\/span>'+\r\n        '<\/div>'+\r\n        '<div class=\"bma-logbox\" id=\"bma-n8-log\"><\/div>'+\r\n      '<\/div>'+\r\n      '<div style=\"display:grid;grid-template-columns:1fr 1fr;gap:8px\">'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:9px\">\u00daLTIMAS 10 EJECUCIONES<\/div>'+\r\n          [['Hoy 07:00','\u2713','12.4s','#16A34A'],\r\n           ['Ayer 07:00','\u2713','11.8s','#16A34A'],\r\n           ['Mi\u00e9 02\/10 07:00','\u2713','13.1s','#16A34A'],\r\n           ['Mar 01\/10 07:00','!','14.2s','#EF9F27'],\r\n           ['Lun 30\/09 07:00','\u2713','12.0s','#16A34A'],\r\n           ['Vie 27\/09 07:00','\u2713','12.7s','#16A34A']].map(function(x){\r\n            return '<div style=\"display:grid;grid-template-columns:1fr 20px 50px;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid #ECEDF4;font-family:IBM Plex Mono,monospace;font-size:9px\"><span style=\"color:#4A4F63\">'+x[0]+'<\/span><span style=\"color:'+x[3]+';font-weight:700;text-align:center\">'+x[1]+'<\/span><span style=\"color:#14162A;font-weight:500;text-align:right\">'+x[2]+'<\/span><\/div>';\r\n          }).join('')+\r\n        '<\/div>'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:9px\">CONEXIONES EXTERNAS<\/div>'+\r\n          [['Snowflake \u00b7 prod','OK','45ms','#16A34A'],\r\n           ['HubSpot CRM API','OK','127ms','#16A34A'],\r\n           ['SMTP SendGrid','OK','89ms','#16A34A'],\r\n           ['Slack Webhook','OK','62ms','#16A34A']].map(function(x){\r\n            return '<div style=\"display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid #ECEDF4;font-family:IBM Plex Mono,monospace;font-size:9px\"><span style=\"color:#4A4F63;display:flex;align-items:center;gap:7px\"><span style=\"width:7px;height:7px;border-radius:50%;background:'+x[3]+';animation:bmaPulse 1.6s ease-in-out infinite\"><\/span>'+x[0]+'<\/span><span style=\"color:'+x[3]+';font-weight:600\">'+x[1]+'<\/span><span style=\"color:#14162A;font-weight:500\">'+x[2]+'<\/span><\/div>';\r\n          }).join('')+\r\n        '<\/div>'+\r\n      '<\/div>';\r\n\r\n    \/\/ Mostrar el log l\u00ednea por l\u00ednea con delay\r\n    var logEl = root.querySelector('#bma-n8-log');\r\n    var displayed = [];\r\n    allLogs.forEach(function(l, i){\r\n      var t = setTimeout(function(){\r\n        if(displayed.length >= 7) displayed.shift();\r\n        displayed.push(l);\r\n        logEl.innerHTML = displayed.map(function(x){\r\n          return '<div class=\"ln\"><span class=\"t\">'+x[0]+'<\/span><span class=\"'+x[1]+'\">\u25b8<\/span> '+x[2]+'<\/div>';\r\n        }).join('');\r\n      }, i*450);\r\n      timers.push(t);\r\n    });\r\n\r\n    \/\/ Loop\r\n    var loopT = setTimeout(function(){\r\n      renderLog();\r\n    }, allLogs.length*450 + 3500);\r\n    timers.push(loopT);\r\n  }\r\n\r\n  \/\/ ====== ESTAD\u00cdSTICAS ======\r\n  function renderStats(){\r\n    clearTimers();\r\n    var kpis = kpiHTML([\r\n      ['AHORRO MES','42 HRS','0.26 FTE','#06B6D4'],\r\n      ['TASA \u00c9XITO','98.6%','\u25b2 1.2%','#16A34A'],\r\n      ['WORKFLOWS','12','activos','#06B6D4'],\r\n      ['APPS CONECTADAS','7','integradas','#06B6D4']\r\n    ]);\r\n    body.innerHTML =\r\n      '<div style=\"display:grid;grid-template-columns:repeat(4,1fr);gap:8px\">'+kpis+'<\/div>'+\r\n      '<div style=\"display:grid;grid-template-columns:1fr 1fr;gap:8px\">'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:8px\">EJECUCIONES \u00b7 \u00daLTIMOS 30 D\u00cdAS<\/div>'+\r\n          '<div class=\"bma-bars\" id=\"bma-n8-month\" style=\"height:140px\">'+barsHTML([\r\n            60,72,68,80,74,88,82,\r\n            75,70,85,78,92,86,70,\r\n            74,82,88,76,94,86,72,\r\n            80,88,74,90,84,78,86,\r\n            82,76\r\n          ],85)+'<\/div>'+\r\n          '<div style=\"display:flex;justify-content:space-between;margin-top:5px;font-family:IBM Plex Mono,monospace;font-size:7.5px;color:#9AA0B4\"><span>D-30<\/span><span>D-20<\/span><span>D-10<\/span><span>HOY<\/span><\/div>'+\r\n        '<\/div>'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:9px\">TIEMPO AHORRADO \u00b7 POR WORKFLOW<\/div>'+\r\n          [['Reporte clientes diario','12 hrs',85,'linear-gradient(90deg,#7C3AED,#06B6D4)'],\r\n           ['Conciliaci\u00f3n bancaria','9 hrs',65,'linear-gradient(90deg,#06B6D4,#5EEAD4)'],\r\n           ['Alertas de cartera','7 hrs',52,'linear-gradient(90deg,#5EEAD4,#06B6D4)'],\r\n           ['Facturaci\u00f3n recurrente','6 hrs',44,'linear-gradient(90deg,#9A4DE8,#7C3AED)'],\r\n           ['Reportes semanales','5 hrs',37,'linear-gradient(90deg,#EF9F27,#F97316)'],\r\n           ['Backup contactos','3 hrs',22,'linear-gradient(90deg,#9AA0B4,#6B7180)']].map(function(x,i){\r\n            return '<div style=\"margin-bottom:8px\">'+\r\n              '<div style=\"display:flex;justify-content:space-between;margin-bottom:3px;font-family:IBM Plex Mono,monospace;font-size:9px\"><span style=\"color:#4A4F63\">'+x[0]+'<\/span><span style=\"color:#14162A;font-weight:600\">'+x[1]+'\/mes<\/span><\/div>'+\r\n              '<div class=\"bma-track\"><div class=\"bma-fill\" style=\"width:'+x[2]+'%;background:'+x[3]+';animation:bmaGrowX 1s cubic-bezier(.2,.8,.2,1) '+(i*0.1)+'s both\"><\/div><\/div>'+\r\n            '<\/div>';\r\n          }).join('')+\r\n        '<\/div>'+\r\n      '<\/div>'+\r\n      '<div class=\"bma-panel\">'+\r\n        '<div class=\"bma-cap\" style=\"margin-bottom:9px\">APPS Y CONECTORES INTEGRADOS<\/div>'+\r\n        '<div style=\"display:flex;flex-wrap:wrap;gap:6px\">'+\r\n          [['Snowflake','#29B5E8','snow'],['HubSpot CRM','#06B6D4','merge'],['Google Sheets','#0F9D58','file'],['Gmail','#D85A30','mail'],['Slack','#5059C9','slack'],['Postgres','#378ADD','file'],['Webhook','#9AA0B4','gear']].map(function(a){\r\n            return '<div style=\"display:inline-flex;align-items:center;gap:7px;padding:7px 11px;background:#fff;border:1px solid #ECEDF4;border-radius:8px;font-family:IBM Plex Mono,monospace;font-size:9px;color:#4A4F63;transition:all .18s\"><svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"'+a[1]+'\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"flex-shrink:0\">'+iconPaths(a[2])+'<\/svg>'+a[0]+'<\/div>';\r\n          }).join('')+\r\n        '<\/div>'+\r\n      '<\/div>';\r\n    startLiveBars('#bma-n8-month', 55, 95, 2500);\r\n  }\r\n\r\n  var VIEWS = {\r\n    wf:{ sub:'WORKFLOW \u00b7 CRON 07:00 L-V', render:renderWorkflow },\r\n    log:{ sub:'EJECUCI\u00d3N \u00b7 LOG EN TIEMPO REAL', render:renderLog },\r\n    st:{ sub:'ESTAD\u00cdSTICAS \u00b7 \u00daLTIMOS 30 D\u00cdAS', render:renderStats }\r\n  };\r\n  root.querySelectorAll('.bma-tab').forEach(function(t){\r\n    t.onclick = function(){\r\n      root.querySelectorAll('.bma-tab').forEach(function(x){ x.classList.remove('active'); });\r\n      t.classList.add('active');\r\n      var v = t.getAttribute('data-tab');\r\n      subEl.textContent = VIEWS[v].sub;\r\n      VIEWS[v].render();\r\n    };\r\n  });\r\n  renderWorkflow();\r\n})();\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-df50921 e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"df50921\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeInRight&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-725c168 e-con-full e-flex e-con e-child\" data-id=\"725c168\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9f2a6e0 elementor-widget elementor-widget-heading\" data-id=\"9f2a6e0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">02<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ea23d23 e-con-full e-flex e-con e-child\" data-id=\"ea23d23\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4d41986 elementor-widget elementor-widget-icon-box\" data-id=\"4d41986\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tSigma - Looker Studio\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tRevisa tus m\u00e9tricas en tiempo real, con filtros din\u00e1micos para tener el 360\u00ba de tu negocio.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6b550b8 elementor-widget elementor-widget-html\" data-id=\"6b550b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>Dashboard 2 \u00b7 Operativo & Ventas<\/title>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n  html,body{ margin:0; padding:0; }\r\n  body{ background:#EDEDF2; padding:32px 16px; font-family:'IBM Plex Sans',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div id=\"bma-vt-root\">\r\n  <div class=\"bma-frame\">\r\n    <div class=\"bma-dots\"><span><\/span><span><\/span><span><\/span><\/div>\r\n    <div class=\"bma-screen\">\r\n      <div class=\"bma-head\">\r\n        <div>\r\n          <div class=\"bma-title\">Operativo & Ventas<\/div>\r\n          <div class=\"bma-sub\" id=\"bma-vt-sub\">RESUMEN \u00b7 SEMANA 40 \u00b7 2026<\/div>\r\n        <\/div>\r\n        <span class=\"bma-live\"><i><\/i>EN VIVO<\/span>\r\n      <\/div>\r\n      <div class=\"bma-tabs\">\r\n        <button class=\"bma-tab active\" data-tab=\"res\">RESUMEN<\/button>\r\n        <button class=\"bma-tab\" data-tab=\"reg\">REGIONES<\/button>\r\n        <button class=\"bma-tab\" data-tab=\"pipe\">PIPELINE<\/button>\r\n      <\/div>\r\n      <div class=\"bma-body\" id=\"bma-vt-body\"><\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n#bma-vt-root{ --p:#7C3AED; --p2:#9A4DE8; --c:#06B6D4; --ok:#16A34A; --warn:#EF9F27; --crit:#E05555;\r\n  --ink:#14162A; --mut:#9AA0B4; --line:#ECEDF4; --panel:#F7F7FB;\r\n  font-family:'IBM Plex Sans',system-ui,sans-serif; max-width:760px; margin:0 auto; }\r\n#bma-vt-root *{ box-sizing:border-box; }\r\n#bma-vt-root .bma-frame{ padding:10px; border-radius:20px; background:linear-gradient(165deg,#171923,#0C0D16);\r\n  border:1px solid rgba(255,255,255,.1); box-shadow:0 30px 70px rgba(10,12,26,.45); }\r\n#bma-vt-root .bma-dots{ display:flex; gap:6px; padding:6px 8px 10px; }\r\n#bma-vt-root .bma-dots span{ width:9px; height:9px; border-radius:50%; background:#5B6270; }\r\n#bma-vt-root .bma-screen{ background:#fff; border-radius:12px; padding:16px; display:flex; flex-direction:column; gap:12px; min-height:340px; }\r\n#bma-vt-root .bma-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }\r\n#bma-vt-root .bma-title{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:15px; color:var(--ink); }\r\n#bma-vt-root .bma-sub{ font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.1em; color:var(--mut); margin-top:2px; }\r\n#bma-vt-root .bma-live{ display:inline-flex; align-items:center; gap:6px; font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--c); }\r\n#bma-vt-root .bma-live i{ width:6px; height:6px; border-radius:50%; background:var(--c); animation:bmaPulse 1.6s ease-in-out infinite; }\r\n#bma-vt-root .bma-tabs{ display:flex; gap:7px; flex-wrap:wrap; }\r\n#bma-vt-root .bma-tab{ cursor:pointer; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.06em; font-weight:600;\r\n  padding:6px 12px; border-radius:999px; border:1px solid #E4E1F0; background:#fff; color:#6B7180; transition:all .2s ease; }\r\n#bma-vt-root .bma-tab:hover{ border-color:#C9B4F0; color:#4A2E7A; }\r\n#bma-vt-root .bma-tab.active{ background:var(--p); border-color:var(--p); color:#fff; box-shadow:0 6px 16px rgba(124,58,237,.28); }\r\n#bma-vt-root .bma-body{ display:flex; flex-direction:column; gap:12px; }\r\n#bma-vt-root .bma-panel{ padding:11px 12px; border-radius:10px; background:var(--panel); border:1px solid var(--line); }\r\n#bma-vt-root .bma-cap{ font-family:'IBM Plex Mono',monospace; font-size:8.5px; color:var(--mut); letter-spacing:.06em; }\r\n#bma-vt-root .bma-kpi{ text-align:left; padding:9px 10px; border-radius:9px; background:var(--panel); border:1px solid var(--line); transition:all .18s ease; }\r\n#bma-vt-root .bma-kpi:hover{ transform:translateY(-2px); border-color:#C9B4F0; }\r\n#bma-vt-root .bma-klabel{ font-family:'IBM Plex Mono',monospace; font-size:8.5px; color:var(--mut); letter-spacing:.06em; }\r\n#bma-vt-root .bma-kval{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:15px; color:var(--ink); margin-top:2px; }\r\n#bma-vt-root .bma-kdelta{ font-family:'IBM Plex Mono',monospace; font-size:9px; margin-top:1px; }\r\n#bma-vt-root .bma-bars{ display:flex; align-items:flex-end; gap:5px; }\r\n#bma-vt-root .bma-bar{ flex:1; border-radius:3px 3px 0 0; transition:height .6s cubic-bezier(.2,.8,.2,1), background .3s; }\r\n#bma-vt-root .bma-track{ height:16px; background:#ECE8F7; border-radius:5px; overflow:hidden; position:relative; }\r\n#bma-vt-root .bma-fill{ height:100%; border-radius:5px; width:0; transform-origin:left; position:relative; overflow:hidden; }\r\n#bma-vt-root .bma-fill::after{ content:\"\"; position:absolute; inset:0; background:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent); animation:bmaShine 2.4s infinite; }\r\n#bma-vt-root .bma-sv text{ font-family:'IBM Plex Mono',monospace; }\r\n#bma-vt-root .bma-stage{ display:grid; grid-template-columns:1fr auto; align-items:center; gap:10px; padding:9px 12px; background:#fff; border-radius:8px; margin-bottom:6px; border-left:3px solid var(--p); position:relative; overflow:hidden; }\r\n#bma-vt-root .bma-stage::before{ content:\"\"; position:absolute; left:0; top:0; bottom:0; width:0; background:rgba(124,58,237,.07); animation:bmaFillStage 1.4s cubic-bezier(.2,.8,.2,1) forwards; }\r\n@keyframes bmaPulse{ 0%,100%{ opacity:1; transform:scale(1);} 50%{ opacity:.35; transform:scale(.7);} }\r\n@keyframes bmaGrowX{ from{ transform:scaleX(0);} to{ transform:scaleX(1);} }\r\n@keyframes bmaFillStage{ to{ width:100%; } }\r\n@keyframes bmaShine{ 0%{ transform:translateX(-100%);} 100%{ transform:translateX(100%);} }\r\n@keyframes bmaFadeHeat{ to{ opacity:1; } }\r\n@media (max-width:520px){ #bma-vt-root .bma-tab{ font-size:9px; padding:5px 9px; } }\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  var root = document.getElementById('bma-vt-root');\r\n  if(!root || root.dataset.init) return; root.dataset.init='1';\r\n  var body = root.querySelector('#bma-vt-body');\r\n  var subEl = root.querySelector('#bma-vt-sub');\r\n  var timers = [];\r\n  function clearTimers(){ timers.forEach(clearInterval); timers=[]; }\r\n\r\n  function kpiHTML(list){\r\n    return list.map(function(k){\r\n      return '<div class=\"bma-kpi\"><div class=\"bma-klabel\">'+k[0]+'<\/div><div class=\"bma-kval\">'+k[1]+'<\/div><div class=\"bma-kdelta\" style=\"color:'+k[3]+'\">'+k[2]+'<\/div><\/div>';\r\n    }).join('');\r\n  }\r\n  function barsHTML(arr, hiThr){\r\n    return arr.map(function(h){\r\n      var bg = h>=hiThr ? 'linear-gradient(180deg,#5EEAD4,#7C3AED)' : 'linear-gradient(180deg,#9A4DE8,#6D28D9)';\r\n      return '<div class=\"bma-bar\" style=\"height:'+h+'%;background:'+bg+'\"><\/div>';\r\n    }).join('');\r\n  }\r\n  function startLiveBars(sel, lo, hi, interval){\r\n    var wrap = root.querySelector(sel); if(!wrap) return;\r\n    var t = setInterval(function(){\r\n      wrap.querySelectorAll('.bma-bar').forEach(function(b){\r\n        var h = lo + Math.round(Math.random()*(hi-lo));\r\n        b.style.height = h+'%';\r\n        b.style.background = h>=hi*0.85 ? 'linear-gradient(180deg,#5EEAD4,#7C3AED)' : 'linear-gradient(180deg,#9A4DE8,#6D28D9)';\r\n      });\r\n    }, interval||2100);\r\n    timers.push(t);\r\n  }\r\n\r\n  \/\/ ====== RESUMEN ======\r\n  function renderResumen(){\r\n    clearTimers();\r\n    var kpis = kpiHTML([\r\n      ['VENTAS SEM.','$384.6M','\u25b2 14.2%','#16A34A'],\r\n      ['PEDIDOS','167','\u25b2 23','#16A34A'],\r\n      ['TICKET PROM.','$2.3M','\u25b2 4.8%','#16A34A'],\r\n      ['CONVERSI\u00d3N','31.4%','meta 35%','#EF9F27']\r\n    ]);\r\n    \/\/ Heatmap de margen\r\n    var heat = '';\r\n    var rows = [['L\u00cdNEA A',[34,35,38,39,41,44,46]],['L\u00cdNEA B',[28,27,31,33,29,32,34]],['L\u00cdNEA C',[18,22,24,19,23,26,30]],['L\u00cdNEA D',[12,15,17,16,21,24,25]]];\r\n    var header = '<div style=\"font-family:IBM Plex Mono,monospace;font-size:7.5px;color:#9AA0B4;letter-spacing:0.1em\"><\/div>';\r\n    for(var i=0;i<7;i++){ header += '<div style=\"text-align:center;font-family:IBM Plex Mono,monospace;font-size:7.5px;color:#9AA0B4;letter-spacing:0.1em\">S'+(34+i)+'<\/div>'; }\r\n    heat += header;\r\n    rows.forEach(function(r,ri){\r\n      heat += '<div style=\"font-family:IBM Plex Mono,monospace;font-size:8.5px;color:#4A4F63;display:flex;align-items:center\">'+r[0]+'<\/div>';\r\n      r[1].forEach(function(v,ci){\r\n        var level = v<20?0 : v<25?1 : v<30?2 : v<35?3 : v<40?4 : 5;\r\n        var bg = ['#F0EDF9','#D8CFF0','#B19EE2','#9A4DE8','#7C3AED','#5B21B6'][level];\r\n        var color = level>=3 ? '#fff' : '#4A2E7A';\r\n        heat += '<div style=\"aspect-ratio:1;background:'+bg+';color:'+color+';border-radius:3px;display:flex;align-items:center;justify-content:center;font-family:Space Grotesk;font-weight:600;font-size:9px;opacity:0;animation:bmaFadeHeat .4s '+(ri*0.1+ci*0.04)+'s forwards\">'+v+'<\/div>';\r\n      });\r\n    });\r\n\r\n    body.innerHTML =\r\n      '<div style=\"display:grid;grid-template-columns:repeat(4,1fr);gap:8px\">'+kpis+'<\/div>'+\r\n      '<div style=\"display:grid;grid-template-columns:1.3fr 1fr;gap:8px\">'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:8px\">VENTAS POR D\u00cdA \u00b7 \u00daLTIMA SEMANA<\/div>'+\r\n          '<div class=\"bma-bars\" id=\"bma-vt-week\" style=\"height:150px\">'+barsHTML([58,72,65,80,74,88,66],80)+'<\/div>'+\r\n          '<div style=\"display:flex;justify-content:space-between;margin-top:5px;font-family:IBM Plex Mono,monospace;font-size:7.5px;color:#9AA0B4\"><span>LUN<\/span><span>MAR<\/span><span>MI\u00c9<\/span><span>JUE<\/span><span>VIE<\/span><span>S\u00c1B<\/span><span>DOM<\/span><\/div>'+\r\n        '<\/div>'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:8px\">CUMPLIMIENTO \u00b7 METAS<\/div>'+\r\n          [['Ventas totales','94%','linear-gradient(90deg,#7C3AED,#06B6D4)'],\r\n           ['Nuevos clientes','93%','linear-gradient(90deg,#06B6D4,#5EEAD4)'],\r\n           ['Margen bruto','95%','linear-gradient(90deg,#5EEAD4,#06B6D4)'],\r\n           ['Reactivaci\u00f3n','60%','linear-gradient(90deg,#EF9F27,#F97316)'],\r\n           ['NPS','100%','linear-gradient(90deg,#16A34A,#5EEAD4)']].map(function(x,i){\r\n            return '<div style=\"margin-bottom:7px\">'+\r\n              '<div style=\"display:flex;justify-content:space-between;margin-bottom:3px;font-family:IBM Plex Mono,monospace;font-size:9px\"><span style=\"color:#4A4F63\">'+x[0]+'<\/span><span style=\"color:#14162A;font-weight:600\">'+x[1]+'<\/span><\/div>'+\r\n              '<div class=\"bma-track\" style=\"height:8px\"><div class=\"bma-fill\" style=\"width:'+x[1]+';background:'+x[2]+';animation:bmaGrowX 1s cubic-bezier(.2,.8,.2,1) '+(i*0.1)+'s both\"><\/div><\/div>'+\r\n            '<\/div>';\r\n          }).join('')+\r\n        '<\/div>'+\r\n      '<\/div>'+\r\n      '<div class=\"bma-panel\">'+\r\n        '<div class=\"bma-cap\" style=\"margin-bottom:9px\">MARGEN POR L\u00cdNEA \u00b7 % \u00b7 \u00daLTIMAS 7 SEMANAS<\/div>'+\r\n        '<div style=\"display:grid;grid-template-columns:80px repeat(7,1fr);gap:4px\">'+heat+'<\/div>'+\r\n      '<\/div>';\r\n    startLiveBars('#bma-vt-week', 45, 95, 2300);\r\n  }\r\n\r\n  \/\/ ====== REGIONES ======\r\n  function renderRegiones(){\r\n    clearTimers();\r\n    var kpis = kpiHTML([\r\n      ['VENTAS YTD','$5,898M','\u25b2 18.7%','#16A34A'],\r\n      ['REGI\u00d3N TOP','BOGOT\u00c1','$1,842M','#06B6D4'],\r\n      ['CRECE M\u00c1S','ANTIOQUIA','\u25b2 24%','#16A34A'],\r\n      ['ATENCI\u00d3N','E. CAFETERO','\u25bc 8%','#E05555']\r\n    ]);\r\n    var regiones = [\r\n      ['Bogot\u00e1','$1,842M',92,'linear-gradient(90deg,#7C3AED,#06B6D4)'],\r\n      ['Antioquia','$1,485M',74,'linear-gradient(90deg,#06B6D4,#5EEAD4)'],\r\n      ['Valle','$1,167M',58,'linear-gradient(90deg,#5EEAD4,#06B6D4)'],\r\n      ['Costa','$843M',42,'linear-gradient(90deg,#EF9F27,#F97316)'],\r\n      ['Eje Cafetero','$561M',28,'linear-gradient(90deg,#9AA0B4,#6B7180)']\r\n    ];\r\n    \/\/ SVG mapa simplificado de Colombia\r\n    body.innerHTML =\r\n      '<div style=\"display:grid;grid-template-columns:repeat(4,1fr);gap:8px\">'+kpis+'<\/div>'+\r\n      '<div class=\"bma-panel\">'+\r\n        '<div class=\"bma-cap\" style=\"margin-bottom:9px\">VENTAS POR REGI\u00d3N \u00b7 COP MILLONES \u00b7 YTD<\/div>'+\r\n        regiones.map(function(r,i){\r\n          return '<div style=\"display:grid;grid-template-columns:110px 1fr 90px;gap:12px;align-items:center;margin-bottom:9px\">'+\r\n            '<span style=\"font-family:IBM Plex Mono,monospace;font-size:9.5px;color:#4A4F63\">'+r[0]+'<\/span>'+\r\n            '<div class=\"bma-track\"><div class=\"bma-fill\" style=\"width:'+r[2]+'%;background:'+r[3]+';animation:bmaGrowX 1.1s cubic-bezier(.2,.8,.2,1) '+(i*0.12)+'s both\"><\/div><\/div>'+\r\n            '<span style=\"font-family:Space Grotesk;font-weight:600;font-size:11px;color:#14162A;text-align:right\">'+r[1]+'<\/span>'+\r\n          '<\/div>';\r\n        }).join('')+\r\n      '<\/div>'+\r\n      '<div style=\"display:grid;grid-template-columns:1fr 1fr;gap:8px\">'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:8px\">TOP VENDEDORES \u00b7 SEMANA<\/div>'+\r\n          [['Camila Herrera','$84.2M',94,'#16A34A'],\r\n           ['Andr\u00e9s Molina','$71.6M',82,'#16A34A'],\r\n           ['Laura V\u00e1squez','$62.9M',71,'#06B6D4'],\r\n           ['Daniel R\u00edos','$48.3M',55,'#06B6D4'],\r\n           ['Sof\u00eda Pardo','$36.1M',42,'#EF9F27']].map(function(v,i){\r\n            return '<div style=\"display:grid;grid-template-columns:1fr 70px auto;gap:8px;align-items:center;margin-bottom:7px;font-family:IBM Plex Mono,monospace;font-size:9px\">'+\r\n              '<span style=\"color:#4A4F63\">'+v[0]+'<\/span>'+\r\n              '<div class=\"bma-track\" style=\"height:6px\"><div class=\"bma-fill\" style=\"width:'+v[2]+'%;background:'+v[3]+';animation:bmaGrowX 1s cubic-bezier(.2,.8,.2,1) '+(i*0.1)+'s both\"><\/div><\/div>'+\r\n              '<span style=\"color:#14162A;font-weight:600;font-family:Space Grotesk;font-size:10px\">'+v[1]+'<\/span>'+\r\n            '<\/div>';\r\n          }).join('')+\r\n        '<\/div>'+\r\n        '<div class=\"bma-panel\" style=\"display:flex;flex-direction:column\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:8px\">EVOLUCI\u00d3N \u00b7 \u00daLTIMOS 6 MESES<\/div>'+\r\n          '<div class=\"bma-bars\" id=\"bma-vt-ev\" style=\"height:120px\">'+barsHTML([48,55,62,70,78,88],75)+'<\/div>'+\r\n          '<div style=\"display:flex;justify-content:space-between;margin-top:5px;font-family:IBM Plex Mono,monospace;font-size:7.5px;color:#9AA0B4\"><span>M<\/span><span>J<\/span><span>J<\/span><span>A<\/span><span>S<\/span><span>O<\/span><\/div>'+\r\n        '<\/div>'+\r\n      '<\/div>';\r\n    startLiveBars('#bma-vt-ev', 40, 95, 2500);\r\n  }\r\n\r\n  \/\/ ====== PIPELINE ======\r\n  function renderPipe(){\r\n    clearTimers();\r\n    var kpis = kpiHTML([\r\n      ['OPORTUNIDADES','42','$6.2k M','#06B6D4'],\r\n      ['WIN RATE','31.4%','\u25b2 2.8pp','#16A34A'],\r\n      ['CICLO PROM.','48 D\u00cdAS','\u25bc 5 d\u00edas','#16A34A'],\r\n      ['GANADAS MES','11','$220M','#16A34A']\r\n    ]);\r\n    var stages = [\r\n      ['Prospecci\u00f3n','18 oportunidades','$2.4k M','#9AA0B4'],\r\n      ['Calificaci\u00f3n','12 oportunidades','$1.8k M','#06B6D4'],\r\n      ['Propuesta','7 oportunidades','$1.1k M','#5EEAD4'],\r\n      ['Negociaci\u00f3n','4 oportunidades','$680 M','#EF9F27'],\r\n      ['Ganadas','1 oportunidad','$220 M','#16A34A']\r\n    ];\r\n    body.innerHTML =\r\n      '<div style=\"display:grid;grid-template-columns:repeat(4,1fr);gap:8px\">'+kpis+'<\/div>'+\r\n      '<div style=\"display:grid;grid-template-columns:1.2fr 1fr;gap:8px\">'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:9px\">EMBUDO \u00b7 PIPELINE COMERCIAL<\/div>'+\r\n          stages.map(function(s,i){\r\n            return '<div class=\"bma-stage\" style=\"border-left-color:'+s[3]+'\">'+\r\n              '<div style=\"position:relative;z-index:1\"><div style=\"font-family:Space Grotesk;font-weight:600;font-size:11px;color:#14162A\">'+s[0]+'<\/div><div style=\"font-family:IBM Plex Mono,monospace;font-size:8.5px;color:#9AA0B4;margin-top:2px\">'+s[1]+'<\/div><\/div>'+\r\n              '<div style=\"font-family:Space Grotesk;font-weight:700;font-size:12px;color:#14162A;position:relative;z-index:1\">'+s[2]+'<\/div>'+\r\n            '<\/div>';\r\n          }).join('')+\r\n        '<\/div>'+\r\n        '<div style=\"display:flex;flex-direction:column;gap:8px\">'+\r\n          '<div class=\"bma-panel\">'+\r\n            '<div class=\"bma-cap\" style=\"margin-bottom:9px\">DEALS TOP \u00b7 ESTA SEMANA<\/div>'+\r\n            [['Grupo Energ\u00e9tico Norte','$84M','Negociaci\u00f3n','#EF9F27'],\r\n             ['Constructora Pac\u00edfico','$67M','Propuesta','#5EEAD4'],\r\n             ['Agro Industrial SAS','$52M','Calificaci\u00f3n','#06B6D4'],\r\n             ['Textiles Colombia','$38M','Prospecci\u00f3n','#9AA0B4']].map(function(d){\r\n              return '<div style=\"display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid #ECEDF4\"><div><div style=\"font-family:IBM Plex Sans;font-size:10.5px;color:#14162A;font-weight:500\">'+d[0]+'<\/div><div style=\"font-family:IBM Plex Mono,monospace;font-size:8px;color:'+d[3]+';margin-top:1px\">'+d[2]+'<\/div><\/div><div style=\"font-family:Space Grotesk;font-weight:700;font-size:11px;color:#14162A\">'+d[1]+'<\/div><\/div>';\r\n            }).join('')+\r\n          '<\/div>'+\r\n          '<div class=\"bma-panel\" style=\"padding:11px 12px\">'+\r\n            '<div class=\"bma-cap\" style=\"margin-bottom:6px\">CONVERSI\u00d3N \u00b7 POR ETAPA<\/div>'+\r\n            [['Prospecci\u00f3n \u2192 Calif.','67%','#06B6D4'],\r\n             ['Calif. \u2192 Propuesta','58%','#5EEAD4'],\r\n             ['Propuesta \u2192 Negoc.','57%','#EF9F27'],\r\n             ['Negoc. \u2192 Ganada','25%','#16A34A']].map(function(c,i){\r\n              return '<div style=\"display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;margin-bottom:5px\"><span style=\"font-family:IBM Plex Mono,monospace;font-size:8.5px;color:#4A4F63\">'+c[0]+'<\/span><div style=\"display:flex;align-items:center;gap:6px\"><div style=\"width:60px;height:6px;background:#ECE8F7;border-radius:5px;overflow:hidden\"><div class=\"bma-fill\" style=\"width:'+c[1]+';background:'+c[2]+';animation:bmaGrowX .9s cubic-bezier(.2,.8,.2,1) '+(i*0.1)+'s both\"><\/div><\/div><span style=\"font-family:Space Grotesk;font-weight:600;font-size:10px;color:#14162A;min-width:30px;text-align:right\">'+c[1]+'<\/span><\/div><\/div>';\r\n            }).join('')+\r\n          '<\/div>'+\r\n        '<\/div>'+\r\n      '<\/div>';\r\n  }\r\n\r\n  var VIEWS = {\r\n    res:{ sub:'RESUMEN \u00b7 SEMANA 40 \u00b7 2026', render:renderResumen },\r\n    reg:{ sub:'VENTAS POR REGI\u00d3N \u00b7 YTD', render:renderRegiones },\r\n    pipe:{ sub:'PIPELINE COMERCIAL \u00b7 OPORTUNIDADES', render:renderPipe }\r\n  };\r\n  root.querySelectorAll('.bma-tab').forEach(function(t){\r\n    t.onclick = function(){\r\n      root.querySelectorAll('.bma-tab').forEach(function(x){ x.classList.remove('active'); });\r\n      t.classList.add('active');\r\n      var v = t.getAttribute('data-tab');\r\n      subEl.textContent = VIEWS[v].sub;\r\n      VIEWS[v].render();\r\n    };\r\n  });\r\n  renderResumen();\r\n})();\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-bc2d95f e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"bc2d95f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeInLeft&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-b0837a9 e-con-full e-flex e-con e-child\" data-id=\"b0837a9\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0eae897 elementor-widget elementor-widget-heading\" data-id=\"0eae897\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">03<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1046a80 e-con-full e-flex e-con e-child\" data-id=\"1046a80\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-628364e elementor-widget elementor-widget-icon-box\" data-id=\"628364e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tGerencia como un verdadero L\u00edder\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tToma el control de la estrategia financiera de tu compa\u00f1\u00eda.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ef8cd36 elementor-widget elementor-widget-html\" data-id=\"ef8cd36\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>Dashboard 1 \u00b7 Financiero Ejecutivo<\/title>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n  html,body{ margin:0; padding:0; }\r\n  body{ background:#EDEDF2; padding:32px 16px; font-family:'IBM Plex Sans',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div id=\"bma-fin-root\">\r\n  <div class=\"bma-frame\">\r\n    <div class=\"bma-dots\"><span><\/span><span><\/span><span><\/span><\/div>\r\n    <div class=\"bma-screen\">\r\n      <div class=\"bma-head\">\r\n        <div>\r\n          <div class=\"bma-title\">Dashboard Financiero<\/div>\r\n          <div class=\"bma-sub\" id=\"bma-fin-sub\">VISTA EJECUTIVA \u00b7 OCTUBRE 2026<\/div>\r\n        <\/div>\r\n        <span class=\"bma-live\"><i><\/i>EN VIVO<\/span>\r\n      <\/div>\r\n      <div class=\"bma-tabs\">\r\n        <button class=\"bma-tab active\" data-tab=\"exec\">EJECUTIVO<\/button>\r\n        <button class=\"bma-tab\" data-tab=\"caja\">FLUJO DE CAJA<\/button>\r\n        <button class=\"bma-tab\" data-tab=\"cartera\">CARTERA<\/button>\r\n      <\/div>\r\n      <div class=\"bma-body\" id=\"bma-fin-body\"><\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n#bma-fin-root{ --p:#7C3AED; --p2:#9A4DE8; --c:#06B6D4; --ok:#16A34A; --warn:#EF9F27; --crit:#E05555;\r\n  --ink:#14162A; --mut:#9AA0B4; --line:#ECEDF4; --panel:#F7F7FB;\r\n  font-family:'IBM Plex Sans',system-ui,sans-serif; max-width:760px; margin:0 auto; }\r\n#bma-fin-root *{ box-sizing:border-box; }\r\n#bma-fin-root .bma-frame{ padding:10px; border-radius:20px; background:linear-gradient(165deg,#171923,#0C0D16);\r\n  border:1px solid rgba(255,255,255,.1); box-shadow:0 30px 70px rgba(10,12,26,.45); }\r\n#bma-fin-root .bma-dots{ display:flex; gap:6px; padding:6px 8px 10px; }\r\n#bma-fin-root .bma-dots span{ width:9px; height:9px; border-radius:50%; background:#5B6270; }\r\n#bma-fin-root .bma-screen{ background:#fff; border-radius:12px; padding:16px; display:flex; flex-direction:column; gap:12px; min-height:340px; }\r\n#bma-fin-root .bma-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }\r\n#bma-fin-root .bma-title{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:15px; color:var(--ink); }\r\n#bma-fin-root .bma-sub{ font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.1em; color:var(--mut); margin-top:2px; }\r\n#bma-fin-root .bma-live{ display:inline-flex; align-items:center; gap:6px; font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--c); }\r\n#bma-fin-root .bma-live i{ width:6px; height:6px; border-radius:50%; background:var(--c); animation:bmaPulse 1.6s ease-in-out infinite; }\r\n#bma-fin-root .bma-tabs{ display:flex; gap:7px; flex-wrap:wrap; }\r\n#bma-fin-root .bma-tab{ cursor:pointer; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.06em; font-weight:600;\r\n  padding:6px 12px; border-radius:999px; border:1px solid #E4E1F0; background:#fff; color:#6B7180; transition:all .2s ease; }\r\n#bma-fin-root .bma-tab:hover{ border-color:#C9B4F0; color:#4A2E7A; }\r\n#bma-fin-root .bma-tab.active{ background:var(--p); border-color:var(--p); color:#fff; box-shadow:0 6px 16px rgba(124,58,237,.28); }\r\n#bma-fin-root .bma-body{ display:flex; flex-direction:column; gap:12px; }\r\n#bma-fin-root .bma-panel{ padding:11px 12px; border-radius:10px; background:var(--panel); border:1px solid var(--line); }\r\n#bma-fin-root .bma-cap{ font-family:'IBM Plex Mono',monospace; font-size:8.5px; color:var(--mut); letter-spacing:.06em; }\r\n#bma-fin-root .bma-kpi{ text-align:left; font-family:inherit; padding:9px 10px; border-radius:9px; background:var(--panel); border:1px solid var(--line); transition:all .18s ease; }\r\n#bma-fin-root .bma-kpi:hover{ transform:translateY(-2px); border-color:#C9B4F0; }\r\n#bma-fin-root .bma-klabel{ font-family:'IBM Plex Mono',monospace; font-size:8.5px; color:var(--mut); letter-spacing:.06em; }\r\n#bma-fin-root .bma-kval{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:15px; color:var(--ink); margin-top:2px; }\r\n#bma-fin-root .bma-kdelta{ font-family:'IBM Plex Mono',monospace; font-size:9px; margin-top:1px; }\r\n#bma-fin-root .bma-sv text{ font-family:'IBM Plex Mono',monospace; }\r\n#bma-fin-root .bma-bars{ display:flex; align-items:flex-end; gap:5px; }\r\n#bma-fin-root .bma-bar{ flex:1; border-radius:3px 3px 0 0; transition:height .6s cubic-bezier(.2,.8,.2,1), background .3s; }\r\n#bma-fin-root .bma-row{ display:flex; align-items:center; justify-content:space-between; padding:7px 0; border-bottom:1px solid var(--line); }\r\n#bma-fin-root .bma-row:last-child{ border-bottom:none; }\r\n#bma-fin-root .bma-rowlbl{ display:flex; align-items:center; gap:8px; font-family:'IBM Plex Mono',monospace; font-size:9.5px; color:#4A4F63; }\r\n#bma-fin-root .bma-rowval{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:11px; color:var(--ink); }\r\n#bma-fin-root .bma-badge{ font-family:'IBM Plex Mono',monospace; font-size:7.5px; padding:2px 7px; border-radius:999px; }\r\n#bma-fin-root .bma-badge.ok{ background:#E7F6EB; color:#15803D; }\r\n#bma-fin-root .bma-badge.warn{ background:#FEF2DC; color:#9A6400; }\r\n#bma-fin-root .bma-badge.crit{ background:#FBE2E2; color:#A62828; }\r\n#bma-fin-root .bma-track{ height:7px; background:#ECE8F7; border-radius:5px; overflow:hidden; }\r\n#bma-fin-root .bma-fill{ height:100%; border-radius:5px; width:0; transform-origin:left; }\r\n@keyframes bmaPulse{ 0%,100%{ opacity:1; transform:scale(1);} 50%{ opacity:.35; transform:scale(.7);} }\r\n@keyframes bmaGrowX{ from{ transform:scaleX(0);} to{ transform:scaleX(1);} }\r\n@keyframes bmaDraw{ to{ stroke-dashoffset:0; } }\r\n@keyframes bmaFadeIn{ to{ opacity:1; } }\r\n@media (max-width:520px){ #bma-fin-root .bma-tab{ font-size:9px; padding:5px 9px; } }\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  var root = document.getElementById('bma-fin-root');\r\n  if(!root || root.dataset.init) return; root.dataset.init='1';\r\n  var body = root.querySelector('#bma-fin-body');\r\n  var subEl = root.querySelector('#bma-fin-sub');\r\n  var timers = [];\r\n  function clearTimers(){ timers.forEach(clearInterval); timers=[]; }\r\n\r\n  function kpiHTML(list){\r\n    return list.map(function(k){\r\n      return '<div class=\"bma-kpi\"><div class=\"bma-klabel\">'+k[0]+'<\/div><div class=\"bma-kval\">'+k[1]+'<\/div><div class=\"bma-kdelta\" style=\"color:'+k[3]+'\">'+k[2]+'<\/div><\/div>';\r\n    }).join('');\r\n  }\r\n  function barsHTML(arr, hiThr){\r\n    return arr.map(function(h){\r\n      var bg = h>=hiThr ? 'linear-gradient(180deg,#5EEAD4,#7C3AED)' : 'linear-gradient(180deg,#9A4DE8,#6D28D9)';\r\n      return '<div class=\"bma-bar\" style=\"height:'+h+'%;background:'+bg+'\"><\/div>';\r\n    }).join('');\r\n  }\r\n  function startLiveBars(sel, lo, hi, interval){\r\n    var wrap = root.querySelector(sel); if(!wrap) return;\r\n    var t = setInterval(function(){\r\n      wrap.querySelectorAll('.bma-bar').forEach(function(b){\r\n        var h = lo + Math.round(Math.random()*(hi-lo));\r\n        b.style.height = h+'%';\r\n        b.style.background = h>=hi*0.85 ? 'linear-gradient(180deg,#5EEAD4,#7C3AED)' : 'linear-gradient(180deg,#9A4DE8,#6D28D9)';\r\n      });\r\n    }, interval||2100);\r\n    timers.push(t);\r\n  }\r\n\r\n  \/\/ ====== EJECUTIVO ======\r\n  function renderExec(){\r\n    clearTimers();\r\n    var kpis = kpiHTML([\r\n      ['CAJA DISPONIBLE','$2,847M','\u25b2 12.4%','#16A34A'],\r\n      ['INGRESOS MES','$1,420M','\u25b2 8.1%','#16A34A'],\r\n      ['EBITDA','23.6%','\u25b2 1.8pp','#16A34A'],\r\n      ['DSO \u00b7 D\u00cdAS','42','\u25bc 6 d\u00edas','#16A34A']\r\n    ]);\r\n    var meses = ['N','D','E','F','M','A','M','J','J','A','S','O'];\r\n    var mesesLbl = meses.map(function(m,i){\r\n      return '<text x=\"'+(26+i*50)+'\" y=\"158\" font-size=\"7\" fill=\"#9AA0B4\" text-anchor=\"middle\" letter-spacing=\"0.08em\">'+m+'<\/text>';\r\n    }).join('');\r\n\r\n    body.innerHTML =\r\n      '<div style=\"display:grid;grid-template-columns:repeat(4,1fr);gap:8px\">'+kpis+'<\/div>'+\r\n      '<div class=\"bma-panel\">'+\r\n        '<div style=\"display:flex;align-items:center;justify-content:space-between;margin-bottom:6px\">'+\r\n          '<div class=\"bma-cap\">INGRESOS vs. COSTOS \u00b7 COP MILLONES<\/div>'+\r\n          '<div style=\"display:flex;gap:10px\">'+\r\n            '<span style=\"display:inline-flex;align-items:center;gap:5px;font-family:IBM Plex Mono,monospace;font-size:8.5px;color:#4A4F63\"><span style=\"width:10px;height:2px;background:#7C3AED\"><\/span>INGRESOS<\/span>'+\r\n            '<span style=\"display:inline-flex;align-items:center;gap:5px;font-family:IBM Plex Mono,monospace;font-size:8.5px;color:#4A4F63\"><span style=\"width:10px;height:2px;background:#06B6D4\"><\/span>COSTOS<\/span>'+\r\n          '<\/div>'+\r\n        '<\/div>'+\r\n        '<svg class=\"bma-sv\" viewBox=\"0 0 620 170\" width=\"100%\" style=\"display:block;height:auto\">'+\r\n          '<defs>'+\r\n            '<linearGradient id=\"bmaFinArea\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">'+\r\n              '<stop offset=\"0%\" stop-color=\"#7C3AED\" stop-opacity=\".35\"\/>'+\r\n              '<stop offset=\"100%\" stop-color=\"#7C3AED\" stop-opacity=\"0\"\/>'+\r\n            '<\/linearGradient>'+\r\n          '<\/defs>'+\r\n          '<line x1=\"20\" y1=\"30\" x2=\"610\" y2=\"30\" stroke=\"#ECEDF4\"\/>'+\r\n          '<line x1=\"20\" y1=\"70\" x2=\"610\" y2=\"70\" stroke=\"#ECEDF4\"\/>'+\r\n          '<line x1=\"20\" y1=\"110\" x2=\"610\" y2=\"110\" stroke=\"#ECEDF4\"\/>'+\r\n          '<path d=\"M26,110 L76,100 L126,95 L176,88 L226,82 L276,70 L326,62 L376,55 L426,45 L476,38 L526,32 L576,26 L576,140 L26,140 Z\" fill=\"url(#bmaFinArea)\" style=\"opacity:0;animation:bmaFadeIn 1s 1.6s ease forwards\"\/>'+\r\n          '<path d=\"M26,110 L76,100 L126,95 L176,88 L226,82 L276,70 L326,62 L376,55 L426,45 L476,38 L526,32 L576,26\" stroke=\"#7C3AED\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\" style=\"stroke-dasharray:800;stroke-dashoffset:800;animation:bmaDraw 1.8s ease forwards\"\/>'+\r\n          '<path d=\"M26,125 L76,120 L126,118 L176,110 L226,105 L276,95 L326,92 L376,85 L426,80 L476,75 L526,70 L576,68\" stroke=\"#06B6D4\" stroke-width=\"2\" fill=\"none\" stroke-linecap=\"round\" style=\"stroke-dasharray:800;stroke-dashoffset:800;animation:bmaDraw 1.8s .3s ease forwards\"\/>'+\r\n          [[576,26],[526,32],[476,38],[426,45],[376,55],[326,62],[276,70],[226,82],[176,88],[126,95],[76,100],[26,110]].map(function(p,i){\r\n            return '<circle cx=\"'+p[0]+'\" cy=\"'+p[1]+'\" r=\"2.5\" fill=\"#fff\" stroke=\"#7C3AED\" stroke-width=\"1.8\" style=\"opacity:0;animation:bmaFadeIn .3s '+(2.1+i*0.05)+'s forwards\"\/>';\r\n          }).join('')+\r\n          mesesLbl+\r\n        '<\/svg>'+\r\n      '<\/div>'+\r\n      '<div style=\"display:grid;grid-template-columns:1fr 1fr;gap:8px\">'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:8px\">MIX DE INGRESOS \u00b7 POR L\u00cdNEA<\/div>'+\r\n          '<div style=\"display:flex;align-items:center;gap:12px\">'+\r\n            '<svg viewBox=\"0 0 42 42\" width=\"100\" height=\"100\" style=\"flex-shrink:0\">'+\r\n              '<circle cx=\"21\" cy=\"21\" r=\"15.915\" fill=\"#fff\" stroke=\"#F0EDF9\" stroke-width=\"4\"\/>'+\r\n              '<circle class=\"bma-dn s1\" cx=\"21\" cy=\"21\" r=\"15.915\" fill=\"none\" stroke=\"#7C3AED\" stroke-width=\"4\" stroke-dasharray=\"0 100\" transform=\"rotate(-90 21 21)\"\/>'+\r\n              '<circle class=\"bma-dn s2\" cx=\"21\" cy=\"21\" r=\"15.915\" fill=\"none\" stroke=\"#06B6D4\" stroke-width=\"4\" stroke-dasharray=\"0 100\" transform=\"rotate(-90 21 21)\"\/>'+\r\n              '<circle class=\"bma-dn s3\" cx=\"21\" cy=\"21\" r=\"15.915\" fill=\"none\" stroke=\"#5EEAD4\" stroke-width=\"4\" stroke-dasharray=\"0 100\" transform=\"rotate(-90 21 21)\"\/>'+\r\n              '<circle class=\"bma-dn s4\" cx=\"21\" cy=\"21\" r=\"15.915\" fill=\"none\" stroke=\"#EF9F27\" stroke-width=\"4\" stroke-dasharray=\"0 100\" transform=\"rotate(-90 21 21)\"\/>'+\r\n              '<text x=\"21\" y=\"22\" text-anchor=\"middle\" font-family=\"Space Grotesk\" font-size=\"4.5\" font-weight=\"700\" fill=\"#14162A\">$1.42k<\/text>'+\r\n              '<text x=\"21\" y=\"26\" text-anchor=\"middle\" font-family=\"IBM Plex Mono\" font-size=\"2.2\" fill=\"#9AA0B4\" letter-spacing=\"0.1em\">TOTAL MES<\/text>'+\r\n            '<\/svg>'+\r\n            '<div style=\"flex:1;display:flex;flex-direction:column;gap:5px\">'+\r\n              '<div class=\"bma-row\" style=\"padding:3px 0;border:none\"><span class=\"bma-rowlbl\"><span style=\"width:8px;height:8px;border-radius:2px;background:#7C3AED\"><\/span>SERVICIOS<\/span><span class=\"bma-rowval\">42%<\/span><\/div>'+\r\n              '<div class=\"bma-row\" style=\"padding:3px 0;border:none\"><span class=\"bma-rowlbl\"><span style=\"width:8px;height:8px;border-radius:2px;background:#06B6D4\"><\/span>PRODUCTO A<\/span><span class=\"bma-rowval\">28%<\/span><\/div>'+\r\n              '<div class=\"bma-row\" style=\"padding:3px 0;border:none\"><span class=\"bma-rowlbl\"><span style=\"width:8px;height:8px;border-radius:2px;background:#5EEAD4\"><\/span>PRODUCTO B<\/span><span class=\"bma-rowval\">18%<\/span><\/div>'+\r\n              '<div class=\"bma-row\" style=\"padding:3px 0;border:none\"><span class=\"bma-rowlbl\"><span style=\"width:8px;height:8px;border-radius:2px;background:#EF9F27\"><\/span>OTROS<\/span><span class=\"bma-rowval\">12%<\/span><\/div>'+\r\n            '<\/div>'+\r\n          '<\/div>'+\r\n        '<\/div>'+\r\n        '<div class=\"bma-panel\" style=\"display:flex;flex-direction:column\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:8px\">ACTIVIDAD \u00b7 \u00daLTIMOS 7 D\u00cdAS<\/div>'+\r\n          '<div class=\"bma-bars\" id=\"bma-fin-exec\" style=\"height:118px\">'+barsHTML([62,78,55,88,70,92,74],85)+'<\/div>'+\r\n          '<div style=\"display:flex;justify-content:space-between;margin-top:5px;font-family:IBM Plex Mono,monospace;font-size:7.5px;color:#9AA0B4\"><span>L<\/span><span>M<\/span><span>M<\/span><span>J<\/span><span>V<\/span><span>S<\/span><span>D<\/span><\/div>'+\r\n        '<\/div>'+\r\n      '<\/div>';\r\n\r\n    setTimeout(function(){\r\n      var slices=[[42,0],[28,42],[18,70],[12,88]], names=['s1','s2','s3','s4'];\r\n      slices.forEach(function(s,i){\r\n        setTimeout(function(){\r\n          var el = root.querySelector('.bma-dn.'+names[i]);\r\n          if(!el) return;\r\n          el.style.transition='stroke-dasharray 1s cubic-bezier(.2,.8,.2,1)';\r\n          el.setAttribute('stroke-dasharray', s[0]+' '+(100-s[0]));\r\n          el.setAttribute('stroke-dashoffset', 25-s[1]);\r\n        }, i*180);\r\n      });\r\n    },300);\r\n    startLiveBars('#bma-fin-exec', 50, 95, 2300);\r\n  }\r\n\r\n  \/\/ ====== FLUJO DE CAJA ======\r\n  function renderCaja(){\r\n    clearTimers();\r\n    var kpis = kpiHTML([\r\n      ['CAJA HOY','$2,847M','\u25b2 $184M','#16A34A'],\r\n      ['INGRESOS SEM.','$384M','\u25b2 14%','#16A34A'],\r\n      ['EGRESOS SEM.','$201M','\u25b2 3%','#EF9F27'],\r\n      ['PROY. 30D','$3,048M','\u25b2 $201M','#16A34A']\r\n    ]);\r\n    var historico = [2680,2704,2728,2756,2781,2812,2847];\r\n    var proyeccion = [2878,2911,2943,2976,3001,3025,3048];\r\n    function toSVG(arr, xStart){\r\n      var min=2600, max=3100, w=42;\r\n      return arr.map(function(v,i){\r\n        return {x:xStart + i*w, y:130 - ((v-min)\/(max-min))*100};\r\n      });\r\n    }\r\n    var h = toSVG(historico, 30);\r\n    var p = toSVG(proyeccion, 30+7*42);\r\n    var pathH = 'M'+h.map(function(pt){return pt.x+','+pt.y;}).join(' L');\r\n    var pathP = 'M'+h[6].x+','+h[6].y+' L'+p.map(function(pt){return pt.x+','+pt.y;}).join(' L');\r\n    var areaH = pathH + ' L'+h[6].x+',140 L'+h[0].x+',140 Z';\r\n\r\n    body.innerHTML =\r\n      '<div style=\"display:grid;grid-template-columns:repeat(4,1fr);gap:8px\">'+kpis+'<\/div>'+\r\n      '<div class=\"bma-panel\">'+\r\n        '<div style=\"display:flex;align-items:center;justify-content:space-between;margin-bottom:6px\">'+\r\n          '<div class=\"bma-cap\">EVOLUCI\u00d3N CAJA \u00b7 14 D\u00cdAS (7 REALES + 7 PROYECCI\u00d3N)<\/div>'+\r\n          '<div style=\"display:flex;gap:10px\">'+\r\n            '<span style=\"display:inline-flex;align-items:center;gap:5px;font-family:IBM Plex Mono,monospace;font-size:8.5px;color:#4A4F63\"><span style=\"width:10px;height:2px;background:#7C3AED\"><\/span>REAL<\/span>'+\r\n            '<span style=\"display:inline-flex;align-items:center;gap:5px;font-family:IBM Plex Mono,monospace;font-size:8.5px;color:#4A4F63\"><span style=\"width:14px;border-top:2px dashed #06B6D4\"><\/span>PROYECCI\u00d3N<\/span>'+\r\n          '<\/div>'+\r\n        '<\/div>'+\r\n        '<svg class=\"bma-sv\" viewBox=\"0 0 620 160\" width=\"100%\" style=\"display:block;height:auto\">'+\r\n          '<defs>'+\r\n            '<linearGradient id=\"bmaFinArea2\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">'+\r\n              '<stop offset=\"0%\" stop-color=\"#7C3AED\" stop-opacity=\".3\"\/>'+\r\n              '<stop offset=\"100%\" stop-color=\"#7C3AED\" stop-opacity=\"0\"\/>'+\r\n            '<\/linearGradient>'+\r\n          '<\/defs>'+\r\n          '<line x1=\"20\" y1=\"30\" x2=\"610\" y2=\"30\" stroke=\"#ECEDF4\"\/>'+\r\n          '<line x1=\"20\" y1=\"80\" x2=\"610\" y2=\"80\" stroke=\"#ECEDF4\"\/>'+\r\n          '<line x1=\"20\" y1=\"130\" x2=\"610\" y2=\"130\" stroke=\"#ECEDF4\"\/>'+\r\n          '<line x1=\"'+h[6].x+'\" y1=\"20\" x2=\"'+h[6].x+'\" y2=\"140\" stroke=\"#9AA0B4\" stroke-dasharray=\"2 3\"\/>'+\r\n          '<text x=\"'+(h[6].x+4)+'\" y=\"27\" font-size=\"7\" fill=\"#9AA0B4\" letter-spacing=\"0.1em\">HOY<\/text>'+\r\n          '<path d=\"'+areaH+'\" fill=\"url(#bmaFinArea2)\" style=\"opacity:0;animation:bmaFadeIn 1s 1.4s ease forwards\"\/>'+\r\n          '<path d=\"'+pathH+'\" stroke=\"#7C3AED\" stroke-width=\"2.2\" fill=\"none\" stroke-linecap=\"round\" style=\"stroke-dasharray:600;stroke-dashoffset:600;animation:bmaDraw 1.6s ease forwards\"\/>'+\r\n          '<path d=\"'+pathP+'\" stroke=\"#06B6D4\" stroke-width=\"2.2\" fill=\"none\" stroke-linecap=\"round\" stroke-dasharray=\"5 4\" style=\"opacity:0;animation:bmaFadeIn .6s 1.6s ease forwards\"\/>'+\r\n          h.map(function(pt,i){ return '<circle cx=\"'+pt.x+'\" cy=\"'+pt.y+'\" r=\"2.5\" fill=\"#fff\" stroke=\"#7C3AED\" stroke-width=\"1.8\" style=\"opacity:0;animation:bmaFadeIn .3s '+(1.9+i*0.06)+'s forwards\"\/>'; }).join('')+\r\n          p.map(function(pt,i){ return '<circle cx=\"'+pt.x+'\" cy=\"'+pt.y+'\" r=\"2.2\" fill=\"#fff\" stroke=\"#06B6D4\" stroke-width=\"1.5\" style=\"opacity:0;animation:bmaFadeIn .3s '+(2.3+i*0.06)+'s forwards\"\/>'; }).join('')+\r\n        '<\/svg>'+\r\n      '<\/div>'+\r\n      '<div style=\"display:grid;grid-template-columns:1fr 1fr;gap:8px\">'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:9px\">COMPOSICI\u00d3N \u00b7 POR CUENTA<\/div>'+\r\n          [['Operativa COP','$1,420M','72%','#7C3AED'],\r\n           ['Inversi\u00f3n AAA','$920M','55%','#06B6D4'],\r\n           ['USD \u00b7 hedging','$340M','32%','#5EEAD4'],\r\n           ['Caja chica','$167M','18%','#EF9F27']].map(function(x,i){\r\n            return '<div style=\"margin-bottom:7px\">'+\r\n              '<div style=\"display:flex;justify-content:space-between;margin-bottom:3px;font-family:IBM Plex Mono,monospace;font-size:9px\"><span style=\"color:#4A4F63\">'+x[0]+'<\/span><span style=\"color:#14162A;font-weight:600\">'+x[1]+'<\/span><\/div>'+\r\n              '<div class=\"bma-track\"><div class=\"bma-fill\" style=\"width:'+x[2]+';background:'+x[3]+';animation:bmaGrowX .9s cubic-bezier(.2,.8,.2,1) '+(i*0.1)+'s both\"><\/div><\/div>'+\r\n            '<\/div>';\r\n          }).join('')+\r\n        '<\/div>'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:4px\">MOVIMIENTOS \u00b7 HOY<\/div>'+\r\n          [['09:14','Cobro Grupo Andes','+$184M','#16A34A'],\r\n           ['10:42','Pago n\u00f3mina quincena','-$96M','#E05555'],\r\n           ['11:28','Cobro factura #4821','+$42M','#16A34A'],\r\n           ['14:05','Impuesto ReteFuente','-$18M','#E05555'],\r\n           ['15:33','Cobro Tequendama','+$67M','#16A34A']].map(function(m){\r\n            return '<div class=\"bma-row\"><span class=\"bma-rowlbl\"><span style=\"color:#9AA0B4;font-size:8px\">'+m[0]+'<\/span>'+m[1]+'<\/span><span class=\"bma-rowval\" style=\"color:'+m[3]+'\">'+m[2]+'<\/span><\/div>';\r\n          }).join('')+\r\n        '<\/div>'+\r\n      '<\/div>';\r\n  }\r\n\r\n  \/\/ ====== CARTERA ======\r\n  function renderCartera(){\r\n    clearTimers();\r\n    var kpis = kpiHTML([\r\n      ['CARTERA TOTAL','$701M','\u25b2 $42M','#EF9F27'],\r\n      ['AL D\u00cdA','58%','$407M','#16A34A'],\r\n      ['>60 D\u00cdAS','21%','$147M','#E05555'],\r\n      ['DSO','42 D\u00cdAS','meta \u226445','#16A34A']\r\n    ]);\r\n    var clientes = [\r\n      ['Comercializadora Andes','$218.4M','12 d',18,'ok','AL D\u00cdA'],\r\n      ['Grupo Industrial Tequendama','$184.9M','28 d',42,'ok','AL D\u00cdA'],\r\n      ['Inversiones Monserrate','$147.2M','47 d',58,'warn','30+ D\u00cdAS'],\r\n      ['Distribuidora Cafetera Sur','$96.1M','72 d',76,'crit','60+ D\u00cdAS'],\r\n      ['Log\u00edstica Pac\u00edfico','$54.8M','95 d',92,'crit','90+ D\u00cdAS']\r\n    ];\r\n    body.innerHTML =\r\n      '<div style=\"display:grid;grid-template-columns:repeat(4,1fr);gap:8px\">'+kpis+'<\/div>'+\r\n      '<div class=\"bma-panel\">'+\r\n        '<div class=\"bma-cap\" style=\"margin-bottom:9px\">ANTIG\u00dcEDAD \u00b7 TOP 5 CLIENTES<\/div>'+\r\n        clientes.map(function(c,i){\r\n          var color = c[4]==='ok' ? 'linear-gradient(90deg,#5EEAD4,#06B6D4)' : c[4]==='warn' ? 'linear-gradient(90deg,#EF9F27,#D97706)' : 'linear-gradient(90deg,#E05555,#991B1B)';\r\n          return '<div style=\"display:grid;grid-template-columns:1.6fr 1fr 60px 1.6fr 80px;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #ECEDF4;font-family:IBM Plex Mono,monospace;font-size:9.5px\">'+\r\n            '<span style=\"color:#14162A;font-weight:500\">'+c[0]+'<\/span>'+\r\n            '<span style=\"color:#14162A;font-weight:600;font-family:Space Grotesk\">'+c[1]+'<\/span>'+\r\n            '<span style=\"color:#4A4F63\">'+c[2]+'<\/span>'+\r\n            '<div class=\"bma-track\"><div class=\"bma-fill\" style=\"width:'+c[3]+'%;background:'+color+';animation:bmaGrowX 1s cubic-bezier(.2,.8,.2,1) '+(i*0.1)+'s both\"><\/div><\/div>'+\r\n            '<span class=\"bma-badge '+c[4]+'\">'+c[5]+'<\/span>'+\r\n          '<\/div>';\r\n        }).join('')+\r\n      '<\/div>'+\r\n      '<div style=\"display:grid;grid-template-columns:1fr 1fr;gap:8px\">'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:9px\">DISTRIBUCI\u00d3N POR TRAMO<\/div>'+\r\n          [['0-30 d\u00edas','$407M','58%','linear-gradient(90deg,#5EEAD4,#06B6D4)'],\r\n           ['31-60 d\u00edas','$147M','21%','linear-gradient(90deg,#EF9F27,#D97706)'],\r\n           ['61-90 d\u00edas','$96M','14%','linear-gradient(90deg,#F97316,#E05555)'],\r\n           ['90+ d\u00edas','$54M','7%','linear-gradient(90deg,#E05555,#991B1B)']].map(function(x,i){\r\n            return '<div style=\"margin-bottom:9px\">'+\r\n              '<div style=\"display:flex;justify-content:space-between;margin-bottom:3px;font-family:IBM Plex Mono,monospace;font-size:9px\"><span style=\"color:#4A4F63\">'+x[0]+'<\/span><span style=\"color:#14162A;font-weight:600\">'+x[1]+' \u00b7 '+x[2]+'<\/span><\/div>'+\r\n              '<div class=\"bma-track\"><div class=\"bma-fill\" style=\"width:'+x[2]+';background:'+x[3]+';animation:bmaGrowX 1s cubic-bezier(.2,.8,.2,1) '+(i*0.1)+'s both\"><\/div><\/div>'+\r\n            '<\/div>';\r\n          }).join('')+\r\n        '<\/div>'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:9px\">EVOLUCI\u00d3N DSO \u00b7 6 MESES<\/div>'+\r\n          '<div class=\"bma-bars\" id=\"bma-fin-dso\" style=\"height:118px\">'+barsHTML([68,62,55,52,48,42],60)+'<\/div>'+\r\n          '<div style=\"display:flex;justify-content:space-between;margin-top:5px;font-family:IBM Plex Mono,monospace;font-size:7.5px;color:#9AA0B4\"><span>M<\/span><span>J<\/span><span>J<\/span><span>A<\/span><span>S<\/span><span>O<\/span><\/div>'+\r\n        '<\/div>'+\r\n      '<\/div>';\r\n    startLiveBars('#bma-fin-dso', 35, 70, 2800);\r\n  }\r\n\r\n  var VIEWS = {\r\n    exec:{ sub:'VISTA EJECUTIVA \u00b7 OCTUBRE 2026', render:renderExec },\r\n    caja:{ sub:'FLUJO DE CAJA \u00b7 14 D\u00cdAS', render:renderCaja },\r\n    cartera:{ sub:'CARTERA \u00b7 ANTIG\u00dcEDAD Y DSO', render:renderCartera }\r\n  };\r\n  root.querySelectorAll('.bma-tab').forEach(function(t){\r\n    t.onclick = function(){\r\n      root.querySelectorAll('.bma-tab').forEach(function(x){ x.classList.remove('active'); });\r\n      t.classList.add('active');\r\n      var v = t.getAttribute('data-tab');\r\n      subEl.textContent = VIEWS[v].sub;\r\n      VIEWS[v].render();\r\n    };\r\n  });\r\n  renderExec();\r\n})();\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5c7335f e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"5c7335f\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;fadeInRight&quot;}\">\n\t\t<div class=\"elementor-element elementor-element-d594118 e-con-full e-flex e-con e-child\" data-id=\"d594118\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-790bc41 elementor-widget elementor-widget-heading\" data-id=\"790bc41\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">04<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7014e58 e-con-full e-flex e-con e-child\" data-id=\"7014e58\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0745ae4 elementor-widget elementor-widget-icon-box\" data-id=\"0745ae4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon-box.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-box-wrapper\">\n\n\t\t\t\n\t\t\t\t\t\t<div class=\"elementor-icon-box-content\">\n\n\t\t\t\t\t\t\t\t\t<h3 class=\"elementor-icon-box-title\">\n\t\t\t\t\t\t<span  >\n\t\t\t\t\t\t\tInteligencia Artificial y Alertas\t\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/h3>\n\t\t\t\t\n\t\t\t\t\t\t\t\t\t<p class=\"elementor-icon-box-description\">\n\t\t\t\t\t\tUsa herramientas que potencian tu operaci\u00f3n y tus finanzas.\t\t\t\t\t<\/p>\n\t\t\t\t\n\t\t\t<\/div>\n\t\t\t\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d3adc3d elementor-widget elementor-widget-html\" data-id=\"d3adc3d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>Dashboard 3 \u00b7 IA & Anal\u00edtica Predictiva<\/title>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Space+Grotesk:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=IBM+Plex+Sans:wght@400;500;600&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n  html,body{ margin:0; padding:0; }\r\n  body{ background:#EDEDF2; padding:32px 16px; font-family:'IBM Plex Sans',system-ui,sans-serif; -webkit-font-smoothing:antialiased; }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n\r\n<div id=\"bma-ia-root\">\r\n  <div class=\"bma-frame\">\r\n    <div class=\"bma-dots\"><span><\/span><span><\/span><span><\/span><\/div>\r\n    <div class=\"bma-screen\">\r\n      <div class=\"bma-head\">\r\n        <div>\r\n          <div class=\"bma-title\">IA & Anal\u00edtica Predictiva<\/div>\r\n          <div class=\"bma-sub\" id=\"bma-ia-sub\">FORECAST \u00b7 8 SEMANAS \u00b7 MODELO ARIMA + REG<\/div>\r\n        <\/div>\r\n        <span class=\"bma-live\"><i><\/i>EN VIVO<\/span>\r\n      <\/div>\r\n      <div class=\"bma-tabs\">\r\n        <button class=\"bma-tab active\" data-tab=\"fc\">FORECAST<\/button>\r\n        <button class=\"bma-tab\" data-tab=\"al\">ALERTAS IA<\/button>\r\n        <button class=\"bma-tab\" data-tab=\"md\">MODELOS<\/button>\r\n      <\/div>\r\n      <div class=\"bma-body\" id=\"bma-ia-body\"><\/div>\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<style>\r\n#bma-ia-root{ --p:#7C3AED; --p2:#9A4DE8; --c:#06B6D4; --ok:#16A34A; --warn:#EF9F27; --crit:#E05555;\r\n  --ink:#14162A; --mut:#9AA0B4; --line:#ECEDF4; --panel:#F7F7FB;\r\n  font-family:'IBM Plex Sans',system-ui,sans-serif; max-width:760px; margin:0 auto; }\r\n#bma-ia-root *{ box-sizing:border-box; }\r\n#bma-ia-root .bma-frame{ padding:10px; border-radius:20px; background:linear-gradient(165deg,#171923,#0C0D16);\r\n  border:1px solid rgba(255,255,255,.1); box-shadow:0 30px 70px rgba(10,12,26,.45); }\r\n#bma-ia-root .bma-dots{ display:flex; gap:6px; padding:6px 8px 10px; }\r\n#bma-ia-root .bma-dots span{ width:9px; height:9px; border-radius:50%; background:#5B6270; }\r\n#bma-ia-root .bma-screen{ background:#fff; border-radius:12px; padding:16px; display:flex; flex-direction:column; gap:12px; min-height:340px; }\r\n#bma-ia-root .bma-head{ display:flex; align-items:center; justify-content:space-between; gap:10px; }\r\n#bma-ia-root .bma-title{ font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:15px; color:var(--ink); }\r\n#bma-ia-root .bma-sub{ font-family:'IBM Plex Mono',monospace; font-size:9px; letter-spacing:.1em; color:var(--mut); margin-top:2px; }\r\n#bma-ia-root .bma-live{ display:inline-flex; align-items:center; gap:6px; font-family:'IBM Plex Mono',monospace; font-size:10px; color:var(--c); }\r\n#bma-ia-root .bma-live i{ width:6px; height:6px; border-radius:50%; background:var(--c); animation:bmaPulse 1.6s ease-in-out infinite; }\r\n#bma-ia-root .bma-tabs{ display:flex; gap:7px; flex-wrap:wrap; }\r\n#bma-ia-root .bma-tab{ cursor:pointer; font-family:'IBM Plex Mono',monospace; font-size:10px; letter-spacing:.06em; font-weight:600;\r\n  padding:6px 12px; border-radius:999px; border:1px solid #E4E1F0; background:#fff; color:#6B7180; transition:all .2s ease; }\r\n#bma-ia-root .bma-tab:hover{ border-color:#C9B4F0; color:#4A2E7A; }\r\n#bma-ia-root .bma-tab.active{ background:var(--p); border-color:var(--p); color:#fff; box-shadow:0 6px 16px rgba(124,58,237,.28); }\r\n#bma-ia-root .bma-body{ display:flex; flex-direction:column; gap:12px; }\r\n#bma-ia-root .bma-panel{ padding:11px 12px; border-radius:10px; background:var(--panel); border:1px solid var(--line); }\r\n#bma-ia-root .bma-cap{ font-family:'IBM Plex Mono',monospace; font-size:8.5px; color:var(--mut); letter-spacing:.06em; }\r\n#bma-ia-root .bma-kpi{ text-align:left; padding:9px 10px; border-radius:9px; background:var(--panel); border:1px solid var(--line); transition:all .18s ease; position:relative; }\r\n#bma-ia-root .bma-kpi:hover{ transform:translateY(-2px); border-color:#C9B4F0; }\r\n#bma-ia-root .bma-klabel{ font-family:'IBM Plex Mono',monospace; font-size:8.5px; color:var(--mut); letter-spacing:.06em; }\r\n#bma-ia-root .bma-kval{ font-family:'Space Grotesk',sans-serif; font-weight:700; font-size:15px; color:var(--ink); margin-top:2px; }\r\n#bma-ia-root .bma-kdelta{ font-family:'IBM Plex Mono',monospace; font-size:9px; margin-top:1px; }\r\n#bma-ia-root .bma-conf{ position:absolute; top:9px; right:10px; font-family:'IBM Plex Mono',monospace; font-size:7.5px; color:var(--p); background:#F3ECFE; padding:2px 6px; border-radius:999px; }\r\n#bma-ia-root .bma-sv text{ font-family:'IBM Plex Mono',monospace; }\r\n#bma-ia-root .bma-ai-insight{ padding:12px 14px; border-radius:10px; background:linear-gradient(135deg,rgba(124,58,237,.04),rgba(6,182,212,.04)); border:1px solid rgba(124,58,237,.18); position:relative; overflow:hidden; }\r\n#bma-ia-root .bma-ai-insight::before{ content:\"\"; position:absolute; left:0; top:0; bottom:0; width:3px; background:linear-gradient(180deg,var(--p),var(--c)); }\r\n#bma-ia-root .bma-ai-h{ display:flex; align-items:center; gap:8px; margin-bottom:6px; font-family:'IBM Plex Mono',monospace; font-size:9px; color:var(--p); letter-spacing:.08em; }\r\n#bma-ia-root .bma-ai-h svg{ animation:bmaSpin 8s linear infinite; }\r\n#bma-ia-root .bma-ai-text{ font-family:'IBM Plex Sans',sans-serif; font-size:11px; color:var(--ink); line-height:1.6; min-height:38px; }\r\n#bma-ia-root .bma-ai-text .cur{ display:inline-block; width:5px; height:11px; background:var(--p); vertical-align:middle; margin-left:2px; animation:bmaBlink 1s infinite; }\r\n#bma-ia-root .bma-alert{ display:grid; grid-template-columns:34px 1fr; gap:10px; padding:10px 12px; border-radius:9px; background:#fff; border:1px solid var(--line); margin-bottom:7px; transition:all .18s ease; }\r\n#bma-ia-root .bma-alert:hover{ border-color:#C9B4F0; transform:translateX(2px); }\r\n#bma-ia-root .bma-alert.crit{ background:#FDF4F4; border-color:rgba(224,85,85,.25); }\r\n#bma-ia-root .bma-alert.warn{ background:#FEF9EC; border-color:rgba(239,159,39,.25); }\r\n#bma-ia-root .bma-alert.info{ background:#EFFBFE; border-color:rgba(6,182,212,.25); }\r\n#bma-ia-root .bma-aico{ width:34px; height:34px; border-radius:8px; display:flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:14px; }\r\n#bma-ia-root .bma-ico-crit{ background:linear-gradient(135deg,var(--crit),#991B1B); }\r\n#bma-ia-root .bma-ico-warn{ background:linear-gradient(135deg,var(--warn),#D97706); }\r\n#bma-ia-root .bma-ico-info{ background:linear-gradient(135deg,var(--c),#0891B2); }\r\n#bma-ia-root .bma-model{ padding:11px 12px; background:#fff; border:1px solid var(--line); border-radius:9px; transition:all .18s; }\r\n#bma-ia-root .bma-model:hover{ border-color:#C9B4F0; transform:translateY(-2px); }\r\n#bma-ia-root .bma-track{ height:6px; background:#ECE8F7; border-radius:4px; overflow:hidden; }\r\n#bma-ia-root .bma-fill{ height:100%; border-radius:4px; width:0; transform-origin:left; }\r\n#bma-ia-root .bma-chip{ font-family:'IBM Plex Mono',monospace; font-size:7.5px; padding:2px 7px; border-radius:999px; }\r\n#bma-ia-root .bma-chip.on{ background:#E7F6EB; color:#15803D; }\r\n#bma-ia-root .bma-chip.train{ background:#E3F0FF; color:#1D4ED8; }\r\n@keyframes bmaPulse{ 0%,100%{ opacity:1; transform:scale(1);} 50%{ opacity:.35; transform:scale(.7);} }\r\n@keyframes bmaSpin{ to{ transform:rotate(360deg);} }\r\n@keyframes bmaBlink{ 50%{ opacity:0;} }\r\n@keyframes bmaGrowX{ from{ transform:scaleX(0);} to{ transform:scaleX(1);} }\r\n@keyframes bmaDraw{ to{ stroke-dashoffset:0; } }\r\n@keyframes bmaFadeIn{ to{ opacity:1; } }\r\n@media (max-width:520px){ #bma-ia-root .bma-tab{ font-size:9px; padding:5px 9px; } }\r\n<\/style>\r\n\r\n<script>\r\n(function(){\r\n  var root = document.getElementById('bma-ia-root');\r\n  if(!root || root.dataset.init) return; root.dataset.init='1';\r\n  var body = root.querySelector('#bma-ia-body');\r\n  var subEl = root.querySelector('#bma-ia-sub');\r\n  var timers = [];\r\n  function clearTimers(){ timers.forEach(clearInterval); timers=[]; }\r\n\r\n  function kpiHTML(list){\r\n    return list.map(function(k){\r\n      var conf = k[4] ? '<span class=\"bma-conf\">'+k[4]+'<\/span>' : '';\r\n      return '<div class=\"bma-kpi\">'+conf+'<div class=\"bma-klabel\">'+k[0]+'<\/div><div class=\"bma-kval\">'+k[1]+'<\/div><div class=\"bma-kdelta\" style=\"color:'+k[3]+'\">'+k[2]+'<\/div><\/div>';\r\n    }).join('');\r\n  }\r\n\r\n  function typeText(target, msg, speed){\r\n    var i=0;\r\n    target.innerHTML='<span class=\"cur\"><\/span>';\r\n    function step(){\r\n      if(i<msg.length){\r\n        target.innerHTML = msg.substring(0,i+1)+'<span class=\"cur\"><\/span>';\r\n        i++;\r\n        var t = setTimeout(step, speed||18);\r\n        timers.push({clear:function(){ clearTimeout(t); }});\r\n      } else { target.innerHTML = msg; }\r\n    }\r\n    var t0 = setTimeout(step, 400);\r\n    timers.push({clear:function(){ clearTimeout(t0); }});\r\n  }\r\n  var _clearTimers = clearTimers;\r\n  clearTimers = function(){ timers.forEach(function(t){ if(typeof t==='number') clearInterval(t); else if(t&&t.clear) t.clear(); }); timers=[]; };\r\n\r\n  \/\/ ====== FORECAST ======\r\n  function renderForecast(){\r\n    clearTimers();\r\n    var kpis = kpiHTML([\r\n      ['CAJA \u00b7 S+8','$3,120M','base','#16A34A','94% CONF'],\r\n      ['DEFAULT CARTERA','4.8%','3 clientes','#EF9F27','87% CONF'],\r\n      ['AHORRO MES','142 HRS','0.9 FTE','#06B6D4','AUTO'],\r\n      ['PRECISI\u00d3N MODELO','96.2%','MAPE 4.2%','#16A34A','MAESTRO']\r\n    ]);\r\n\r\n    \/\/ Series hist\u00f3rico + proyecci\u00f3n\r\n    var hist = [2500,2520,2545,2572,2588,2615,2648,2672,2704,2726,2758,2810,2847];\r\n    var pred = [2878,2911,2943,2976,3001,3025,3048,3080,3120];\r\n    function toSVG(arr, xStart, min, max, w, height){\r\n      return arr.map(function(v,i){\r\n        return {x:xStart + i*w, y:height - ((v-min)\/(max-min))*(height-30) - 10};\r\n      });\r\n    }\r\n    var min=2400, max=3200;\r\n    var h = toSVG(hist, 20, min, max, 22, 150);\r\n    var p = toSVG(pred, 20+13*22, min, max, 22, 150);\r\n    var pathH = 'M'+h.map(function(pt){return pt.x+','+pt.y;}).join(' L');\r\n    var pathP = 'M'+h[h.length-1].x+','+h[h.length-1].y+' L'+p.map(function(pt){return pt.x+','+pt.y;}).join(' L');\r\n    \/\/ Banda de confianza\r\n    var confTop = p.map(function(pt){ return {x:pt.x, y:pt.y-18}; });\r\n    var confBot = p.map(function(pt){ return {x:pt.x, y:pt.y+18}; });\r\n    var confPath = 'M'+h[h.length-1].x+','+h[h.length-1].y+' L'+confTop.map(function(pt){return pt.x+','+pt.y;}).join(' L')+' L'+confBot.reverse().map(function(pt){return pt.x+','+pt.y;}).join(' L')+' Z';\r\n    var areaH = pathH + ' L'+h[h.length-1].x+',150 L'+h[0].x+',150 Z';\r\n\r\n    body.innerHTML =\r\n      '<div style=\"display:grid;grid-template-columns:repeat(4,1fr);gap:8px\">'+kpis+'<\/div>'+\r\n      '<div class=\"bma-ai-insight\">'+\r\n        '<div class=\"bma-ai-h\">'+\r\n          '<svg width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#7C3AED\" stroke-width=\"2.2\" stroke-linecap=\"round\"><path d=\"M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83\"\/><\/svg>'+\r\n          'INSIGHT GENERADO POR IA \u00b7 HACE 3 MIN'+\r\n        '<\/div>'+\r\n        '<div class=\"bma-ai-text\" id=\"bma-ia-insight\"><\/div>'+\r\n      '<\/div>'+\r\n      '<div class=\"bma-panel\">'+\r\n        '<div style=\"display:flex;align-items:center;justify-content:space-between;margin-bottom:6px\">'+\r\n          '<div class=\"bma-cap\">FLUJO DE CAJA \u00b7 HIST\u00d3RICO + PROYECCI\u00d3N IA<\/div>'+\r\n          '<div style=\"display:flex;gap:10px\">'+\r\n            '<span style=\"display:inline-flex;align-items:center;gap:5px;font-family:IBM Plex Mono,monospace;font-size:8.5px;color:#4A4F63\"><span style=\"width:10px;height:2px;background:#7C3AED\"><\/span>REAL<\/span>'+\r\n            '<span style=\"display:inline-flex;align-items:center;gap:5px;font-family:IBM Plex Mono,monospace;font-size:8.5px;color:#4A4F63\"><span style=\"width:14px;border-top:2px dashed #06B6D4\"><\/span>PREDICCI\u00d3N<\/span>'+\r\n            '<span style=\"display:inline-flex;align-items:center;gap:5px;font-family:IBM Plex Mono,monospace;font-size:8.5px;color:#4A4F63\"><span style=\"width:10px;height:8px;background:#7C3AED;opacity:.2\"><\/span>CONF 90%<\/span>'+\r\n          '<\/div>'+\r\n        '<\/div>'+\r\n        '<svg class=\"bma-sv\" viewBox=\"0 0 620 170\" width=\"100%\" style=\"display:block;height:auto\">'+\r\n          '<defs>'+\r\n            '<linearGradient id=\"bmaIaArea\" x1=\"0\" x2=\"0\" y1=\"0\" y2=\"1\">'+\r\n              '<stop offset=\"0%\" stop-color=\"#7C3AED\" stop-opacity=\".3\"\/>'+\r\n              '<stop offset=\"100%\" stop-color=\"#7C3AED\" stop-opacity=\"0\"\/>'+\r\n            '<\/linearGradient>'+\r\n          '<\/defs>'+\r\n          '<line x1=\"10\" y1=\"30\" x2=\"610\" y2=\"30\" stroke=\"#ECEDF4\"\/>'+\r\n          '<line x1=\"10\" y1=\"80\" x2=\"610\" y2=\"80\" stroke=\"#ECEDF4\"\/>'+\r\n          '<line x1=\"10\" y1=\"130\" x2=\"610\" y2=\"130\" stroke=\"#ECEDF4\"\/>'+\r\n          '<line x1=\"'+h[h.length-1].x+'\" y1=\"20\" x2=\"'+h[h.length-1].x+'\" y2=\"150\" stroke=\"#9AA0B4\" stroke-dasharray=\"2 3\"\/>'+\r\n          '<text x=\"'+(h[h.length-1].x+4)+'\" y=\"27\" font-size=\"7\" fill=\"#9AA0B4\" letter-spacing=\"0.1em\">HOY<\/text>'+\r\n          '<path d=\"'+confPath+'\" fill=\"#7C3AED\" style=\"opacity:0;animation:bmaFadeIn 1s 2s ease forwards\" opacity=\".15\"\/>'+\r\n          '<path d=\"'+areaH+'\" fill=\"url(#bmaIaArea)\" style=\"opacity:0;animation:bmaFadeIn 1s 1.4s ease forwards\"\/>'+\r\n          '<path d=\"'+pathH+'\" stroke=\"#7C3AED\" stroke-width=\"2.2\" fill=\"none\" stroke-linecap=\"round\" style=\"stroke-dasharray:600;stroke-dashoffset:600;animation:bmaDraw 1.8s ease forwards\"\/>'+\r\n          '<path d=\"'+pathP+'\" stroke=\"#06B6D4\" stroke-width=\"2.2\" fill=\"none\" stroke-linecap=\"round\" stroke-dasharray=\"5 4\" style=\"opacity:0;animation:bmaFadeIn .6s 1.8s ease forwards\"\/>'+\r\n          h.map(function(pt,i){ return '<circle cx=\"'+pt.x+'\" cy=\"'+pt.y+'\" r=\"2.2\" fill=\"#fff\" stroke=\"#7C3AED\" stroke-width=\"1.6\" style=\"opacity:0;animation:bmaFadeIn .3s '+(2+i*0.04)+'s forwards\"\/>'; }).join('')+\r\n          p.map(function(pt,i){ return '<circle cx=\"'+pt.x+'\" cy=\"'+pt.y+'\" r=\"2\" fill=\"#fff\" stroke=\"#06B6D4\" stroke-width=\"1.5\" style=\"opacity:0;animation:bmaFadeIn .3s '+(2.4+i*0.05)+'s forwards\"\/>'; }).join('')+\r\n        '<\/svg>'+\r\n      '<\/div>';\r\n\r\n    var insightEl = root.querySelector('#bma-ia-insight');\r\n    typeText(insightEl, 'Se proyecta un excedente de caja de $420M entre la semana 44 y 47. Se recomienda anticipar el pago a 2 proveedores con descuento por pronto pago (ahorro estimado: $8.4M) y asignar $380M a un fondo de liquidez AAA.');\r\n  }\r\n\r\n  \/\/ ====== ALERTAS ======\r\n  function renderAlertas(){\r\n    clearTimers();\r\n    var kpis = kpiHTML([\r\n      ['ALERTAS ACTIVAS','7','3 cr\u00edticas','#E05555'],\r\n      ['PRECISI\u00d3N DETECCI\u00d3N','89.4%','\u00falt. 30 d\u00edas','#16A34A'],\r\n      ['AHORRO EVITADO','$42M','mes actual','#06B6D4'],\r\n      ['TIEMPO RESP.','< 2 min','SLA cumplido','#16A34A']\r\n    ]);\r\n    var alerts = [\r\n      ['crit','!','Riesgo de default \u00b7 Log\u00edstica Pac\u00edfico S.A.','El modelo detecta patr\u00f3n de pago irregular. Probabilidad de incumplimiento pr\u00f3ximo pago: 68%.','HACE 12 MIN','CONF 91%'],\r\n      ['warn','\u25b3','Desviaci\u00f3n de margen \u00b7 L\u00ednea C','Margen bruto cay\u00f3 4.2pp vs. tendencia esperada. Posible causa: incremento costos materia prima.','HACE 1 HORA','CONF 83%'],\r\n      ['info','\u25c6','Oportunidad de inversi\u00f3n \u00b7 Caja excedente','Proyecci\u00f3n indica excedente de $420M durante 23 d\u00edas. Sugerencia: fondo liquidez AAA.','HACE 2 HORAS','CONF 89%'],\r\n      ['warn','\u25b3','Rotaci\u00f3n inventario an\u00f3mala \u00b7 Bodega B','Producto A duplic\u00f3 d\u00edas en inventario vs. mes anterior. Revisar demanda y pedidos.','HACE 4 HORAS','CONF 78%'],\r\n      ['info','\u25c6','Patr\u00f3n estacional detectado \u00b7 Costa','Modelo identifica incremento del 18% en regi\u00f3n Costa para pr\u00f3ximas 4 semanas.','HACE 6 HORAS','CONF 85%']\r\n    ];\r\n    body.innerHTML =\r\n      '<div style=\"display:grid;grid-template-columns:repeat(4,1fr);gap:8px\">'+kpis+'<\/div>'+\r\n      '<div class=\"bma-panel\">'+\r\n        '<div class=\"bma-cap\" style=\"margin-bottom:9px\">ALERTAS AUTOM\u00c1TICAS \u00b7 \u00daLTIMAS 24 HORAS<\/div>'+\r\n        alerts.map(function(a){\r\n          return '<div class=\"bma-alert '+a[0]+'\">'+\r\n            '<div class=\"bma-aico bma-ico-'+a[0]+'\">'+a[1]+'<\/div>'+\r\n            '<div>'+\r\n              '<div style=\"font-family:Space Grotesk;font-weight:600;font-size:11.5px;color:#14162A;margin-bottom:2px\">'+a[2]+'<\/div>'+\r\n              '<div style=\"font-family:IBM Plex Sans;font-size:10.5px;color:#4A4F63;line-height:1.45\">'+a[3]+'<\/div>'+\r\n              '<div style=\"margin-top:5px;display:flex;gap:12px;font-family:IBM Plex Mono,monospace;font-size:8px;color:#9AA0B4;letter-spacing:0.06em\"><span>\u23f1 '+a[4]+'<\/span><span>'+a[5]+'<\/span><\/div>'+\r\n            '<\/div>'+\r\n          '<\/div>';\r\n        }).join('')+\r\n      '<\/div>';\r\n  }\r\n\r\n  \/\/ ====== MODELOS ======\r\n  function renderModelos(){\r\n    clearTimers();\r\n    var kpis = kpiHTML([\r\n      ['MODELOS ACTIVOS','4','3 producci\u00f3n','#16A34A'],\r\n      ['REENTRENAMIENTO','SEMANAL','auto','#06B6D4'],\r\n      ['PRECISI\u00d3N PROM.','94.1%','\u25b2 1.3pp','#16A34A'],\r\n      ['DATA MESES','24','hist\u00f3rico','#06B6D4']\r\n    ]);\r\n    var modelos = [\r\n      ['Forecast de caja','ARIMA + Regresi\u00f3n','on','96.2%','MAPE 4.2%',96],\r\n      ['Riesgo de cartera','Random Forest','on','91.0%','AUC-ROC 0.91',91],\r\n      ['Categorizaci\u00f3n gasto','XGBoost','on','96.8%','Precisi\u00f3n',97],\r\n      ['Demanda mensual','LSTM Neural','train','72%','Entrenando...',72]\r\n    ];\r\n    body.innerHTML =\r\n      '<div style=\"display:grid;grid-template-columns:repeat(4,1fr);gap:8px\">'+kpis+'<\/div>'+\r\n      '<div class=\"bma-panel\">'+\r\n        '<div class=\"bma-cap\" style=\"margin-bottom:9px\">MODELOS EN PRODUCCI\u00d3N<\/div>'+\r\n        '<div style=\"display:grid;grid-template-columns:1fr 1fr;gap:8px\">'+\r\n          modelos.map(function(m,i){\r\n            var chipCls = m[2]==='on' ? 'on' : 'train';\r\n            var chipTxt = m[2]==='on' ? 'ACTIVO' : 'ENTRENANDO';\r\n            var fillColor = m[2]==='on' ? 'linear-gradient(90deg,#7C3AED,#06B6D4)' : 'linear-gradient(90deg,#06B6D4,#5EEAD4)';\r\n            return '<div class=\"bma-model\">'+\r\n              '<div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:4px\"><span style=\"font-family:Space Grotesk;font-weight:600;font-size:11.5px;color:#14162A\">'+m[0]+'<\/span><span class=\"bma-chip '+chipCls+'\">'+chipTxt+'<\/span><\/div>'+\r\n              '<div style=\"font-family:IBM Plex Mono,monospace;font-size:8.5px;color:#9AA0B4;margin-bottom:8px\">'+m[1]+'<\/div>'+\r\n              '<div style=\"display:flex;justify-content:space-between;margin-bottom:4px\"><span style=\"font-family:IBM Plex Mono,monospace;font-size:8.5px;color:#4A4F63\">'+m[4]+'<\/span><span style=\"font-family:Space Grotesk;font-weight:700;font-size:12px;color:#14162A\">'+m[3]+'<\/span><\/div>'+\r\n              '<div class=\"bma-track\"><div class=\"bma-fill\" style=\"width:'+m[5]+'%;background:'+fillColor+';animation:bmaGrowX 1.1s cubic-bezier(.2,.8,.2,1) '+(i*0.12)+'s both\"><\/div><\/div>'+\r\n            '<\/div>';\r\n          }).join('')+\r\n        '<\/div>'+\r\n      '<\/div>'+\r\n      '<div style=\"display:grid;grid-template-columns:1fr 1fr;gap:8px\">'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:8px\">PRECISI\u00d3N HIST\u00d3RICA \u00b7 6 MESES<\/div>'+\r\n          '<svg class=\"bma-sv\" viewBox=\"0 0 300 120\" width=\"100%\" style=\"display:block;height:auto\">'+\r\n            '<line x1=\"10\" y1=\"20\" x2=\"290\" y2=\"20\" stroke=\"#ECEDF4\"\/>'+\r\n            '<line x1=\"10\" y1=\"60\" x2=\"290\" y2=\"60\" stroke=\"#ECEDF4\"\/>'+\r\n            '<line x1=\"10\" y1=\"100\" x2=\"290\" y2=\"100\" stroke=\"#ECEDF4\"\/>'+\r\n            '<path d=\"M20,55 L60,48 L100,42 L140,38 L180,30 L220,26 L260,22\" stroke=\"#7C3AED\" stroke-width=\"2.2\" fill=\"none\" stroke-linecap=\"round\" style=\"stroke-dasharray:400;stroke-dashoffset:400;animation:bmaDraw 1.6s ease forwards\"\/>'+\r\n            [[20,55],[60,48],[100,42],[140,38],[180,30],[220,26],[260,22]].map(function(p,i){\r\n              return '<circle cx=\"'+p[0]+'\" cy=\"'+p[1]+'\" r=\"3\" fill=\"#fff\" stroke=\"#7C3AED\" stroke-width=\"2\" style=\"opacity:0;animation:bmaFadeIn .3s '+(1.8+i*0.1)+'s forwards\"\/>';\r\n            }).join('')+\r\n            ['M','J','J','A','S','O'].map(function(m,i){ return '<text x=\"'+(60+i*40)+'\" y=\"115\" text-anchor=\"middle\" font-size=\"7\" fill=\"#9AA0B4\" letter-spacing=\"0.1em\">'+m+'<\/text>'; }).join('')+\r\n          '<\/svg>'+\r\n        '<\/div>'+\r\n        '<div class=\"bma-panel\">'+\r\n          '<div class=\"bma-cap\" style=\"margin-bottom:8px\">PR\u00d3XIMAS EJECUCIONES<\/div>'+\r\n          [['Forecast de caja','en 12 min','#7C3AED'],\r\n           ['Riesgo cartera','en 48 min','#06B6D4'],\r\n           ['Categorizaci\u00f3n','en 2 horas','#5EEAD4'],\r\n           ['Demanda \u00b7 reentreno','ma\u00f1ana 06:00','#EF9F27']].map(function(x){\r\n            return '<div style=\"display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid #ECEDF4;font-family:IBM Plex Mono,monospace;font-size:9px\"><span style=\"color:#4A4F63;display:flex;align-items:center;gap:7px\"><span style=\"width:7px;height:7px;border-radius:50%;background:'+x[2]+'\"><\/span>'+x[0]+'<\/span><span style=\"color:#14162A;font-weight:500\">'+x[1]+'<\/span><\/div>';\r\n          }).join('')+\r\n        '<\/div>'+\r\n      '<\/div>';\r\n  }\r\n\r\n  var VIEWS = {\r\n    fc:{ sub:'FORECAST \u00b7 8 SEMANAS \u00b7 MODELO ARIMA + REG', render:renderForecast },\r\n    al:{ sub:'ALERTAS AUTOM\u00c1TICAS \u00b7 DETECCI\u00d3N IA', render:renderAlertas },\r\n    md:{ sub:'MODELOS EN PRODUCCI\u00d3N \u00b7 MLOPS', render:renderModelos }\r\n  };\r\n  root.querySelectorAll('.bma-tab').forEach(function(t){\r\n    t.onclick = function(){\r\n      root.querySelectorAll('.bma-tab').forEach(function(x){ x.classList.remove('active'); });\r\n      t.classList.add('active');\r\n      var v = t.getAttribute('data-tab');\r\n      subEl.textContent = VIEWS[v].sub;\r\n      VIEWS[v].render();\r\n    };\r\n  });\r\n  renderForecast();\r\n})();\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-55768b6 elementor-widget elementor-widget-button\" data-id=\"55768b6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t\t\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/wa.me\/573046250591?text=Hola%2C%20estoy%20interesado%20en%20una%20sesi%C3%B3n%20de%20diagn%C3%B3stico%20con%20Bull%20Market%20Advisors.%C2%BFPodemos%20agendar%20una%20llamada%20de%2015%20minutos%3F\" target=\"_blank\" rel=\"noopener\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Agendar sesi\u00f3n de diagn\u00f3stico<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-28b2a72 e-flex e-con-boxed e-con e-parent\" data-id=\"28b2a72\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div class=\"elementor-element elementor-element-3a1ff8c e-con-full e-flex e-con e-child\" data-id=\"3a1ff8c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a167818 elementor-widget elementor-widget-heading\" data-id=\"a167818\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">\u00bfC\u00f3mo lo desarrollamos?<\/h2>\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-c23e7c5 e-con-full e-grid e-con e-child\" data-id=\"c23e7c5\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t<div class=\"elementor-element elementor-element-d7c3776 e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"d7c3776\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;zoomIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-489167b elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"489167b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-signal\" viewBox=\"0 0 640 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M216 288h-48c-8.84 0-16 7.16-16 16v192c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V304c0-8.84-7.16-16-16-16zM88 384H40c-8.84 0-16 7.16-16 16v96c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16v-96c0-8.84-7.16-16-16-16zm256-192h-48c-8.84 0-16 7.16-16 16v288c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V208c0-8.84-7.16-16-16-16zm128-96h-48c-8.84 0-16 7.16-16 16v384c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V112c0-8.84-7.16-16-16-16zM600 0h-48c-8.84 0-16 7.16-16 16v480c0 8.84 7.16 16 16 16h48c8.84 0 16-7.16 16-16V16c0-8.84-7.16-16-16-16z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3da4830 elementor-widget elementor-widget-heading\" data-id=\"3da4830\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Alcance y viabilidad t\u00e9cnica<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1a156bc elementor-widget elementor-widget-text-editor\" data-id=\"1a156bc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Fase explorator\u00eda de la necesidad para entender el producto final; evaluar requerimientos de software e integraciones API, consumo de datos y repositorios para almacenamiento.<br \/>Entendimiento de procesos a automatizar.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-5ed7953 e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"5ed7953\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;zoomIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1dc176f elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"1dc176f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-project-diagram\" viewBox=\"0 0 640 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M384 320H256c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V352c0-17.67-14.33-32-32-32zM192 32c0-17.67-14.33-32-32-32H32C14.33 0 0 14.33 0 32v128c0 17.67 14.33 32 32 32h95.72l73.16 128.04C211.98 300.98 232.4 288 256 288h.28L192 175.51V128h224V64H192V32zM608 0H480c-17.67 0-32 14.33-32 32v128c0 17.67 14.33 32 32 32h128c17.67 0 32-14.33 32-32V32c0-17.67-14.33-32-32-32z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6184351 elementor-widget elementor-widget-heading\" data-id=\"6184351\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Transformaci\u00f3n de datos<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bfbfcf1 elementor-widget elementor-widget-text-editor\" data-id=\"bfbfcf1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Normalmente los datos requieren ser transformados si vienen desde un ERP u otra fuente para que sean \u00f3ptimos para implementar un tablero inteligente; pueden requerir, descifrados, equivalencias, cruces de varias fuentes, entre otros.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-50437ce e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"50437ce\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;zoomIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-635bb06 elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"635bb06\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-far-clipboard\" viewBox=\"0 0 384 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm144 418c0 3.3-2.7 6-6 6H54c-3.3 0-6-2.7-6-6V118c0-3.3 2.7-6 6-6h42v36c0 6.6 5.4 12 12 12h168c6.6 0 12-5.4 12-12v-36h42c3.3 0 6 2.7 6 6z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a911782 elementor-widget elementor-widget-heading\" data-id=\"a911782\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Almacenamiento y disponibilidad<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1106898 elementor-widget elementor-widget-text-editor\" data-id=\"1106898\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>En esta fase dejamos los datos disponibles para el consumo en repositorios seguros con la latencia requerida, cada mes, semana, d\u00eda o tiempo real.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-32427e1 e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"32427e1\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;zoomIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-e8a485f elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"e8a485f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chart-bar\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M332.8 320h38.4c6.4 0 12.8-6.4 12.8-12.8V172.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V76.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-288 0h38.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h38.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-38.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zM496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b838c5e elementor-widget elementor-widget-heading\" data-id=\"b838c5e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Construcci\u00f3n de tableros y\/o automatizaci\u00f3n de procesos<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c202fe9 elementor-widget elementor-widget-text-editor\" data-id=\"c202fe9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Fase de desarrollo y creaci\u00f3n de tableros o flujos de trabajos autom\u00e1ticos.<\/p><p>Configuraci\u00f3n de accesos y roles.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-017caec e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"017caec\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;zoomIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f3a2648 elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"f3a2648\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-chart-line\" viewBox=\"0 0 512 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M496 384H64V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-32c0-8.84-7.16-16-16-16zM464 96H345.94c-21.38 0-32.09 25.85-16.97 40.97l32.4 32.4L288 242.75l-73.37-73.37c-12.5-12.5-32.76-12.5-45.25 0l-68.69 68.69c-6.25 6.25-6.25 16.38 0 22.63l22.62 22.62c6.25 6.25 16.38 6.25 22.63 0L192 237.25l73.37 73.37c12.5 12.5 32.76 12.5 45.25 0l96-96 32.4 32.4c15.12 15.12 40.97 4.41 40.97-16.97V112c.01-8.84-7.15-16-15.99-16z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-88842bf elementor-widget elementor-widget-heading\" data-id=\"88842bf\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Entrega y capacitaci\u00f3n<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dd4beb1 elementor-widget elementor-widget-text-editor\" data-id=\"dd4beb1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Una vez el producto final implementado est\u00e1 a satisfacci\u00f3n, realizamos sesiones de capacitaci\u00f3n para su uso.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-1c7d393 e-con-full e-flex elementor-invisible e-con e-child\" data-id=\"1c7d393\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;animation&quot;:&quot;zoomIn&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b79e739 elementor-view-default elementor-widget elementor-widget-icon\" data-id=\"b79e739\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"icon.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-icon-wrapper\">\n\t\t\t<div class=\"elementor-icon\">\n\t\t\t<svg aria-hidden=\"true\" class=\"e-font-icon-svg e-fas-robot\" viewBox=\"0 0 640 512\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M32,224H64V416H32A31.96166,31.96166,0,0,1,0,384V256A31.96166,31.96166,0,0,1,32,224Zm512-48V448a64.06328,64.06328,0,0,1-64,64H160a64.06328,64.06328,0,0,1-64-64V176a79.974,79.974,0,0,1,80-80H288V32a32,32,0,0,1,64,0V96H464A79.974,79.974,0,0,1,544,176ZM264,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,264,256Zm-8,128H192v32h64Zm96,0H288v32h64ZM456,256a40,40,0,1,0-40,40A39.997,39.997,0,0,0,456,256Zm-8,128H384v32h64ZM640,256V384a31.96166,31.96166,0,0,1-32,32H576V224h32A31.96166,31.96166,0,0,1,640,256Z\"><\/path><\/svg>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f459e14 elementor-widget elementor-widget-heading\" data-id=\"f459e14\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Soporte extendido<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6c3515d elementor-widget elementor-widget-text-editor\" data-id=\"6c3515d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t\t\t\t\t\t<p>Definimos en conjunto un plan de soporte sin costo adicional, en caso de ser requerido posterior a la entrega final.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Convierta la operaci\u00f3n en datos accionables, libere a su equipo de tareas repetitivas y decida en tiempo real: En la mayor\u00eda de pymes, empresas en expansi\u00f3n y algunas multinacionales, el equipo financiero y operativo dedica entre el 60% y un 70% de su tiempo en tareas repetitivas: consolidar archivos, cuadrar reportes, descargar extractos, actualizar tableros [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_joinchat":[],"footnotes":""},"class_list":["post-768","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/bullmarket.com.co\/en\/wp-json\/wp\/v2\/pages\/768","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bullmarket.com.co\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/bullmarket.com.co\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/bullmarket.com.co\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/bullmarket.com.co\/en\/wp-json\/wp\/v2\/comments?post=768"}],"version-history":[{"count":29,"href":"https:\/\/bullmarket.com.co\/en\/wp-json\/wp\/v2\/pages\/768\/revisions"}],"predecessor-version":[{"id":823,"href":"https:\/\/bullmarket.com.co\/en\/wp-json\/wp\/v2\/pages\/768\/revisions\/823"}],"wp:attachment":[{"href":"https:\/\/bullmarket.com.co\/en\/wp-json\/wp\/v2\/media?parent=768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}