{"id":7992,"date":"2026-06-02T08:42:54","date_gmt":"2026-06-02T13:42:54","guid":{"rendered":"https:\/\/observatorioarmenia.org\/site\/?p=7992"},"modified":"2026-06-02T08:42:55","modified_gmt":"2026-06-02T13:42:55","slug":"observatorio-economico-segunda-vuelta-21-junio-2026-transferencia-de-voto-alianzas-post-electorales-y-proyecciones","status":"publish","type":"post","link":"https:\/\/observatorioarmenia.org\/site\/observatorio-economico-segunda-vuelta-21-junio-2026-transferencia-de-voto-alianzas-post-electorales-y-proyecciones\/","title":{"rendered":"Observatorio Econ\u00f3mico: Segunda Vuelta\u00a021 junio 2026: Transferencia de Voto, Alianzas Post-Electorales y Proyecciones"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"es\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Segunda Vuelta Colombia 2026 \u00b7 Proyecciones y An\u00e1lisis Electoral<\/title>\n<!-- Chart.js 4 ONLY \u2014 no datalabels plugin (we draw labels manually) -->\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js@4.4.3\/dist\/chart.umd.min.js\"><\/script>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Playfair+Display:wght@700;900&#038;family=Inter:wght@400;500;600;700&#038;family=JetBrains+Mono:wght@400;600&#038;display=swap\" rel=\"stylesheet\">\n<style>\n:root{\n  --d:#1A4ED8;--dl:#5B8BFF;--dll:#C8D8FF;\n  --i:#B52C1E;--il:#E05040;--ill:#FDCAC5;\n  --g:#B8860B;--gl:#E0A820;--gll:#FDE68A;\n  --s:#5A6478;--sl:#8A96AA;\n  --bg:#0D1018;--card:#161B28;--card2:#1C2336;\n  --brd:rgba(255,255,255,.08);--brd2:rgba(255,255,255,.14);\n  --tx:#DDE1EC;--mu:#6E7A92;--dm:#3E4A60;--wh:#FFF;\n}\n*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}\nhtml{scroll-behavior:smooth;}\nbody{background:var(--bg);color:var(--tx);font-family:'Inter',system-ui,sans-serif;\n  font-size:15px;line-height:1.75;-webkit-font-smoothing:antialiased;}\nbody::before{content:'';position:fixed;inset:0;z-index:0;pointer-events:none;\n  background:radial-gradient(ellipse 55% 35% at 15% 8%,rgba(26,78,216,.08) 0%,transparent 70%),\n             radial-gradient(ellipse 45% 28% at 85% 82%,rgba(181,44,30,.06) 0%,transparent 70%);}\n.wrap{position:relative;z-index:1;max-width:920px;margin:0 auto;padding:0 28px 80px;}\nheader{padding:52px 0 44px;position:relative;}\nheader::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;\n  background:linear-gradient(90deg,transparent,var(--gl) 30%,var(--gl) 70%,transparent);}\n.kicker{display:flex;align-items:center;gap:12px;margin-bottom:14px;\n  font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:3px;text-transform:uppercase;color:var(--gl);}\n.kicker::before{content:'';width:22px;height:2px;background:var(--gl);flex-shrink:0;}\n.live{display:inline-flex;align-items:center;gap:5px;background:rgba(181,44,30,.18);\n  border:1px solid rgba(181,44,30,.38);border-radius:20px;padding:2px 10px;\n  font-size:9px;color:var(--il);letter-spacing:1.5px;}\n.live::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--il);\n  animation:blink 1.3s ease-in-out infinite;}\n@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}\nh1{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.6rem,3.5vw,2.45rem);\n  font-weight:900;line-height:1.17;color:var(--wh);max-width:740px;margin-bottom:24px;}\nh1 em{font-style:normal;background:linear-gradient(90deg,var(--gll),var(--gl));\n  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}\n.byline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;\n  padding:14px 18px;margin-bottom:20px;\n  background:linear-gradient(90deg,rgba(184,134,11,.10),rgba(184,134,11,.03));\n  border:1px solid rgba(184,134,11,.22);border-radius:10px;}\n.av{width:46px;height:46px;border-radius:50%;flex-shrink:0;\n  background:linear-gradient(135deg,var(--gl),#7A5000);\n  display:flex;align-items:center;justify-content:center;\n  font-family:'Playfair Display',serif;font-size:15px;font-weight:900;color:#0D1018;\n  box-shadow:0 0 0 3px rgba(184,134,11,.22);}\n.binfo{flex:1;min-width:160px;}\n.bname{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--wh);line-height:1.2;margin-bottom:2px;}\n.brole{font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:.3px;color:var(--gl);line-height:1.6;}\n.bhandle{font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:600;color:var(--gl);\n  background:rgba(184,134,11,.12);border:1px solid rgba(184,134,11,.25);border-radius:16px;padding:5px 14px;white-space:nowrap;}\n.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;}\n.chip{font-family:'JetBrains Mono',monospace;font-size:9.5px;padding:3px 11px;border-radius:20px;\n  border:1px solid var(--brd);color:var(--mu);background:rgba(255,255,255,.03);}\n.chip.g{border-color:rgba(184,134,11,.30);color:var(--gl);}\n.krow{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:32px;}\n.kpi{background:var(--card);border:1px solid var(--brd);border-radius:11px;\n  padding:18px 14px;position:relative;overflow:hidden;transition:transform .2s,border-color .2s;}\n.kpi:hover{transform:translateY(-3px);border-color:var(--brd2);}\n.kpi::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:11px 11px 0 0;}\n.kpi.d::before{background:linear-gradient(90deg,var(--d),var(--dl));}\n.kpi.i::before{background:linear-gradient(90deg,var(--i),var(--il));}\n.kpi.s::before{background:linear-gradient(90deg,var(--s),var(--sl));}\n.kpi.g::before{background:linear-gradient(90deg,var(--g),var(--gl));}\n.kn{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:900;line-height:1;margin-bottom:4px;}\n.kpi.d .kn{color:var(--dl);}.kpi.i .kn{color:var(--il);}.kpi.s .kn{color:var(--sl);}.kpi.g .kn{color:var(--gl);}\n.kl{font-size:10.5px;color:var(--mu);line-height:1.4;margin-top:5px;}\n.ks{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--dm);margin-top:4px;}\n.sdiv{display:flex;align-items:center;gap:12px;margin-top:46px;margin-bottom:16px;}\n.sdiv .ln{flex:1;height:1px;background:linear-gradient(90deg,var(--brd),transparent);}\n.sdiv span{font-family:'JetBrains Mono',monospace;font-size:9.5px;letter-spacing:2.5px;\n  text-transform:uppercase;color:var(--gl);white-space:nowrap;}\n.resumen{background:var(--card);border:1px solid var(--brd);border-left:3px solid var(--d);\n  border-radius:11px;padding:24px 28px;font-size:14.5px;line-height:1.95;color:rgba(221,225,236,.88);}\n.resumen p+p{margin-top:.9em;}.resumen strong{color:var(--wh);}\n.abox{margin-top:14px;padding:12px 16px;background:rgba(184,134,11,.08);\n  border:1px solid rgba(184,134,11,.20);border-radius:8px;font-size:13px;color:var(--gl);line-height:1.65;}\n.abox strong{color:var(--gll);}\n.cbox{margin-top:12px;padding:13px 17px;background:rgba(181,44,30,.08);\n  border:1px solid rgba(181,44,30,.22);border-radius:8px;font-size:13px;color:rgba(224,80,64,.9);line-height:1.65;}\n.cbox strong{color:var(--il);}\n.twrap{background:var(--card);border:1px solid var(--brd);border-radius:11px;overflow:hidden;}\n.tm{padding:16px 20px 0;}.tnum{font-family:'Playfair Display',serif;font-weight:700;font-size:12.5px;color:var(--mu);}\n.ttitle{font-style:italic;font-size:12.5px;color:var(--mu);display:block;margin-top:2px;line-height:1.4;}\ntable{width:100%;border-collapse:collapse;font-size:12.5px;}\nthead{border-top:2px solid var(--brd2);}thead tr{border-bottom:1px solid var(--brd);}\nthead th{padding:10px 12px;text-align:center;font-family:'JetBrains Mono',monospace;\n  font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--dm);font-weight:600;}\nthead th:first-child{text-align:left;}\ntbody td{padding:9px 12px;text-align:center;border-bottom:1px solid rgba(255,255,255,.03);\n  color:var(--mu);vertical-align:middle;}\ntbody td:first-child{text-align:left;color:var(--tx);font-weight:600;font-size:12.5px;}\ntbody tr:hover td{background:rgba(255,255,255,.025);}\ntbody tr:last-child td{border-bottom:2px solid var(--brd2);}\n.tag{display:inline-block;font-size:8.5px;padding:2px 6px;border-radius:8px;\n  font-family:'JetBrains Mono',monospace;letter-spacing:.3px;font-weight:600;}\n.tag.d{background:rgba(26,78,216,.22);color:var(--dl);}\n.tag.i{background:rgba(181,44,30,.22);color:var(--il);}\n.tag.c{background:rgba(90,100,120,.20);color:var(--sl);}\n.tag.ci{background:rgba(90,100,120,.14);color:#9AABBE;}\n.proy{color:var(--gl);font-style:italic;font-size:11.5px;}\n.tnota{padding:10px 20px 14px;font-size:11px;color:var(--dm);line-height:1.65;border-top:1px solid var(--brd);}\n.tnota em{font-style:italic;color:var(--mu);}\n.cc{background:var(--card);border:1px solid var(--brd);border-radius:11px;\n  padding:24px 24px 16px;margin-bottom:22px;}\n.fn{font-family:'Playfair Display',serif;font-weight:700;font-size:11.5px;color:var(--dm);}\n.ft{font-style:italic;font-size:12.5px;color:var(--mu);display:block;margin-top:2px;margin-bottom:18px;line-height:1.4;}\n.cb{position:relative;width:100%;}\n.nc{margin-top:10px;font-size:11px;color:var(--dm);line-height:1.6;border-top:1px solid var(--brd);padding-top:9px;}\n.nc em{font-style:italic;color:var(--mu);}\n.eg{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}\n.esc{background:var(--card);border:1px solid var(--brd);border-radius:11px;\n  padding:18px 15px;transition:transform .2s,border-color .2s;}\n.esc:hover{transform:translateY(-3px);border-color:var(--brd2);}\n.esc.A{border-top:3px solid var(--d);}.esc.B{border-top:3px solid var(--g);}.esc.C{border-top:3px solid var(--i);}\n.etag{font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:2px;\n  text-transform:uppercase;font-weight:700;margin-bottom:8px;display:block;}\n.esc.A .etag{color:var(--dl);}.esc.B .etag{color:var(--gl);}.esc.C .etag{color:var(--il);}\n.eh{font-family:'Playfair Display',serif;font-weight:700;font-size:13.5px;color:var(--wh);line-height:1.3;margin-bottom:7px;}\n.eb{font-size:11.5px;color:var(--mu);line-height:1.7;}\n.er{margin-top:10px;font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:600;padding:6px 10px;border-radius:6px;}\n.esc.A .er{background:rgba(26,78,216,.14);color:var(--dl);}\n.esc.B .er{background:rgba(184,134,11,.11);color:var(--gl);}\n.esc.C .er{background:rgba(181,44,30,.14);color:var(--il);}\nfooter{margin-top:50px;padding-top:18px;border-top:1px solid var(--brd);\n  display:flex;justify-content:space-between;align-items:flex-start;gap:18px;flex-wrap:wrap;}\n.fb{font-size:11.5px;color:var(--dm);line-height:1.8;}\n.fb strong{font-family:'Playfair Display',serif;font-size:14px;color:var(--gl);display:block;margin-bottom:1px;}\n.fh{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--g);display:block;margin-bottom:2px;}\n.fd{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--dm);text-align:right;line-height:1.85;}\n.fd span{color:var(--gl);font-weight:600;display:block;}\n@media(max-width:640px){\n  .wrap{padding:0 14px 60px;}.krow{grid-template-columns:repeat(2,1fr);}.eg{grid-template-columns:1fr;}\n  h1{font-size:1.5rem;}.resumen{padding:18px 16px;}.cc{padding:16px 12px 12px;}\n  .byline{flex-direction:column;align-items:flex-start;}}\n<\/style>\n<\/head>\n<body>\n<div class=\"wrap\">\n\n<header>\n  <div class=\"kicker\">An\u00e1lisis Electoral \u00b7 Colombia 2026 <span class=\"live\">100% MESAS \u00b7 OFICIAL<\/span><\/div>\n  <h1>Segunda Vuelta <em>21 junio 2026<\/em>: Transferencia de Voto, Alianzas Post-Electorales y Proyecciones<\/h1>\n  <div class=\"chips\">\n    <span class=\"chip g\">Registradur\u00eda Nacional \u00b7 100% mesas \u00b7 31 mayo 2026<\/span>\n    <span class=\"chip\">Participaci\u00f3n r\u00e9cord hist\u00f3rico: 57,88%<\/span>\n    <span class=\"chip\">Segunda vuelta: 21 junio 2026<\/span>\n  <\/div>\n<\/header>\n\n<div class=\"krow\">\n  <div class=\"kpi d\"><div class=\"kn\">43,74%<\/div><div class=\"kl\">De la Espriella \u00b7 1\u00aa vuelta<\/div><div class=\"ks\">10.361.499 votos \u00b7 Defensores de la Patria<\/div><\/div>\n  <div class=\"kpi i\"><div class=\"kn\">40,90%<\/div><div class=\"kl\">Iv\u00e1n Cepeda \u00b7 1\u00aa vuelta<\/div><div class=\"ks\">9.688.361 votos \u00b7 Pacto Hist\u00f3rico<\/div><\/div>\n  <div class=\"kpi s\"><div class=\"kn\">42,12%<\/div><div class=\"kl\">Abstenci\u00f3n \u00b7 1\u00aa vuelta<\/div><div class=\"ks\">Censo: 41.421.973 \u00b7 R\u00e9cord inverso hist\u00f3rico<\/div><\/div>\n  <div class=\"kpi g\"><div class=\"kn\">2,84 pp<\/div><div class=\"kl\">Margen 1er vs. 2do lugar<\/div><div class=\"ks\">673.138 votos de diferencia<\/div><\/div>\n<\/div>\n\n<div class=\"sdiv\"><span>Resumen Anal\u00edtico<\/span><div class=\"ln\"><\/div><\/div>\n<div class=\"resumen\">\n  <p>La primera vuelta del 31 de mayo de 2026 produjo la elecci\u00f3n presidencial m\u00e1s participativa de la historia colombiana: <strong>57,88% de participaci\u00f3n<\/strong>, nuevo r\u00e9cord absoluto. <strong>Abelardo de la Espriella<\/strong> (Defensores de la Patria) obtuvo 10.361.499 votos (43,74%), superando a <strong>Iv\u00e1n Cepeda<\/strong> \u20149.688.361 votos (40,90%)\u2014 por 673.138 sufragios (2,84 pp). El evento estad\u00edstico cr\u00edtico fue la implosi\u00f3n de <strong>Paloma Valencia<\/strong>: con 1.639.685 votos (6,92%), registr\u00f3 cerca del 49% menos de lo que capt\u00f3 en su consulta interna de marzo. <strong>Sergio Fajardo<\/strong> sorprendi\u00f3 con 1.009.073 votos (4,26%), superior a las proyecciones de las encuestas.<\/p>\n  <p>El pool redistribuible para segunda vuelta asciende a <strong>~3.117.000 sufragios<\/strong> (Valencia 1,64M + Fajardo 1,01M + L\u00f3pez 255k + Botero 206k + blanco y otros 407k). La din\u00e1mica de alianzas post-electorales es <strong>asim\u00e9trica<\/strong>: la derecha march\u00f3 unida desde el mismo 31 de mayo \u2014Valencia, Uribe y Cambio Radical respaldaron formalmente a De la Espriella esa misma noche\u2014, mientras el centro a\u00fan no define posici\u00f3n. Claudia L\u00f3pez descart\u00f3 a De la Espriella pero no anunci\u00f3 apoyo a Cepeda; Fajardo no se pronunci\u00f3. Roy Barreras anticip\u00f3 apoyo a Cepeda. Los votos de Botero (~206.000) fluir\u00e1n mayoritariamente hacia De la Espriella por afinidad ideol\u00f3gica.<\/p>\n  <div class=\"abox\"><strong>Transferencia de voto en balotajes:<\/strong> el electorado de candidatos eliminados no est\u00e1 obligado a seguir instrucciones de sus l\u00edderes. El hist\u00f3rico 2014\u20132022 indica que entre el 60%\u201380% del voto de derecha se consolida hacia el candidato af\u00edn en segunda vuelta, mientras el voto de centro se fragmenta con mayor propensi\u00f3n a la abstenci\u00f3n. Los votos de Fajardo constituyen la variable de mayor incertidumbre anal\u00edtica.<\/div>\n  <div class=\"cbox\"><strong>Alerta institucional (1 junio 2026):<\/strong> Petro declar\u00f3 &#8220;como presidente no acepto los resultados del preconteo&#8221;, alegando irregularidades en el software de la firma Bautista y 800.000 c\u00e9dulas no registradas en el censo oficial. La declaraci\u00f3n \u2014sin precedentes en la historia electoral colombiana\u2014 fue rechazada transversalmente por la MOE, organizaciones de derechos humanos e incluso por figuras del propio Pacto Hist\u00f3rico. El escrutinio vinculante queda en manos de las comisiones escrutadoras judiciales.<\/div>\n<\/div>\n\n<div class=\"sdiv\" style=\"margin-top:42px;\"><span>Tabla 1 \u00b7 Resultados 1\u00aa Vuelta y Modelo de Transferencia<\/span><div class=\"ln\"><\/div><\/div>\n<div class=\"twrap\">\n  <div class=\"tm\"><div class=\"tnum\">Tabla 1<\/div>\n    <span class=\"ttitle\">Resultados Completos de la Primera Vuelta Presidencial de Colombia, 31 de Mayo de 2026 (100% Mesas), con Proyecci\u00f3n de Transferencia de Voto para la Segunda Vuelta del 21 de Junio de 2026<\/span>\n  <\/div>\n  <table>\n    <thead><tr><th>Candidato \u00b7 Movimiento<\/th><th>Votos<\/th><th>% V\u00e1lidos<\/th><th>Bloque<\/th><th>Destino proyectado 2\u00aa V<\/th><\/tr><\/thead>\n    <tbody>\n      <tr><td>Abelardo de la Espriella \u00b7 Defensores de la Patria<\/td><td>10.361.499<\/td><td>43,74%<\/td><td><span class=\"tag d\">Derecha<\/span><\/td><td style=\"color:var(--dl);font-weight:600;\">Base propia<\/td><\/tr>\n      <tr><td>Iv\u00e1n Cepeda \u00b7 Pacto Hist\u00f3rico<\/td><td>9.688.361<\/td><td>40,90%<\/td><td><span class=\"tag i\">Izquierda<\/span><\/td><td style=\"color:var(--il);font-weight:600;\">Base propia<\/td><\/tr>\n      <tr><td>Paloma Valencia \u00b7 Colombia M\u00e1s Grande \/ CD<\/td><td>1.639.685<\/td><td>6,92%<\/td><td><span class=\"tag d\">Der.\/Uribismo<\/span><\/td><td class=\"proy\">~75% \u2192 Espriella \u00b7 ~10% \u2192 Cepeda \u00b7 ~15% abs.<\/td><\/tr>\n      <tr><td>Sergio Fajardo \u00b7 Dignidad &amp; Compromiso<\/td><td>1.009.073<\/td><td>4,26%<\/td><td><span class=\"tag c\">Centro<\/span><\/td><td class=\"proy\">~45% \u2192 Cepeda \u00b7 ~25% \u2192 Espriella \u00b7 ~30% abs.<\/td><\/tr>\n      <tr><td>Voto en blanco<\/td><td>406.970<\/td><td>1,71%<\/td><td><span class=\"tag c\">Protesta<\/span><\/td><td class=\"proy\">~65% abstenci\u00f3n \u00b7 ~35% redistribuido<\/td><\/tr>\n      <tr><td>Claudia L\u00f3pez \u00b7 Centro liberal<\/td><td>255.517<\/td><td>0,95%<\/td><td><span class=\"tag ci\">C-Izq.<\/span><\/td><td class=\"proy\">~50% \u2192 Cepeda \u00b7 ~15% \u2192 Espriella \u00b7 ~35% abs.<\/td><\/tr>\n      <tr><td>Santiago Botero<\/td><td>206.000<\/td><td>0,87%<\/td><td><span class=\"tag d\">Der. radical<\/span><\/td><td class=\"proy\">~70% \u2192 Espriella \u00b7 ~30% abstenci\u00f3n<\/td><\/tr>\n      <tr><td>Roy Barreras + candidatos menores<\/td><td>~148.000<\/td><td>~0,35%<\/td><td><span class=\"tag ci\">C-Izq.<\/span><\/td><td class=\"proy\">~60% \u2192 Cepeda \u00b7 ~40% abstenci\u00f3n<\/td><\/tr>\n      <tr><td><strong>Total votos emitidos<\/strong><\/td><td><strong>23.715.105<\/strong><\/td><td><strong>57,88%<\/strong><\/td><td>\u2014<\/td><td style=\"color:var(--dm);font-size:11.5px;\">Censo: 41.421.973<\/td><\/tr>\n    <\/tbody>\n  <\/table>\n  <div class=\"tnota\"><em>Nota.<\/em> Resultados al 100% de mesas, Registradur\u00eda Nacional del Estado Civil (31 mayo 2026). Destinos proyectados: elaboraci\u00f3n propia (elaboraci\u00f3n propia, 2026) con base en afinidad ideol\u00f3gica hist\u00f3rica 2018\u20132022, declaraciones formales de adhesi\u00f3n y comportamiento del voto remanente en balotajes colombianos. CD = Centro Democr\u00e1tico; C-Izq. = Centro-izquierda. Estimaciones sujetas a incertidumbre estructural.<\/div>\n<\/div>\n\n<!-- FIG 1 \u2014 Barras horizontales -->\n<div class=\"sdiv\"><span>Figura 1 \u00b7 Votaci\u00f3n Primera Vuelta \u00b7 100% Mesas<\/span><div class=\"ln\"><\/div><\/div>\n<div class=\"cc\">\n  <span class=\"fn\">Figura 1<\/span>\n  <span class=\"ft\">Distribuci\u00f3n de Votos por Candidato en la Primera Vuelta Presidencial de Colombia, 31 de Mayo de 2026 \u2014 Resultados al 100% de Mesas Escrutadas<\/span>\n  <div class=\"cb\" style=\"height:310px;\"><canvas id=\"f1\"><\/canvas><\/div>\n  <div class=\"nc\"><em>Nota.<\/em> Adaptado de resultados oficiales de la Registradur\u00eda Nacional del Estado Civil (100% mesas, 31 mayo 2026). Etiquetas permanentes muestran porcentaje y volumen en millones. Pase el cursor sobre cada barra para ver el detalle completo.<\/div>\n<\/div>\n\n<!-- FIG 2 \u2014 Transferencia de voto (barras apiladas) -->\n<div class=\"sdiv\"><span>Figura 2 \u00b7 Transferencia de Voto hacia Segunda Vuelta<\/span><div class=\"ln\"><\/div><\/div>\n<div class=\"cc\">\n  <span class=\"fn\">Figura 2<\/span>\n  <span class=\"ft\">Destino Proyectado de los ~3.117.000 Votos Redistribuibles de la Primera Vuelta hacia la Segunda Vuelta Presidencial del 21 de Junio de 2026<\/span>\n  <div class=\"cb\" style=\"height:300px;\"><canvas id=\"f2\"><\/canvas><\/div>\n  <div class=\"nc\"><em>Nota.<\/em> Elaboraci\u00f3n propia (elaboraci\u00f3n propia, 2026). Proporciones de transferencia basadas en afinidad ideol\u00f3gica hist\u00f3rica, declaraciones post-electorales y comportamiento promedio en balotajes colombianos 2014\u20132022. Etiquetas en cada segmento muestran porcentaje sobre el total del candidato eliminado.<\/div>\n<\/div>\n\n<!-- FIG 3 \u2014 Escenarios segunda vuelta -->\n<div class=\"sdiv\"><span>Figura 3 \u00b7 Proyecci\u00f3n Segunda Vuelta \u00b7 Tres Escenarios<\/span><div class=\"ln\"><\/div><\/div>\n<div class=\"cc\">\n  <span class=\"fn\">Figura 3<\/span>\n  <span class=\"ft\">Proyecci\u00f3n Cuantitativa de Votos para la Segunda Vuelta del 21 de Junio de 2026 en Tres Escenarios de Transferencia y Participaci\u00f3n Electoral (millones de votos)<\/span>\n  <div class=\"cb\" style=\"height:320px;\"><canvas id=\"f3\"><\/canvas><\/div>\n  <div class=\"nc\"><em>Nota.<\/em> Elaboraci\u00f3n propia. La l\u00ednea discontinua dorada marca el umbral orientativo de 12 M como referencia hist\u00f3rica de victoria holgada (2014\u20132022). Esc. A = favorable Espriella; B = base; C = favorable Cepeda. Las etiquetas sobre cada barra muestran el valor proyectado en millones.<\/div>\n<\/div>\n\n<!-- FIG 4 \u2014 Participaci\u00f3n hist\u00f3rica -->\n<div class=\"sdiv\"><span>Figura 4 \u00b7 Participaci\u00f3n Electoral Hist\u00f3rica 2014\u20132026<\/span><div class=\"ln\"><\/div><\/div>\n<div class=\"cc\">\n  <span class=\"fn\">Figura 4<\/span>\n  <span class=\"ft\">Evoluci\u00f3n Comparada de la Participaci\u00f3n Electoral en Primera y Segunda Vuelta Presidencial de Colombia, 2014\u20132026, con Proyecci\u00f3n para el 21 de Junio de 2026<\/span>\n  <div class=\"cb\" style=\"height:300px;\"><canvas id=\"f4\"><\/canvas><\/div>\n  <div class=\"nc\"><em>Nota.<\/em> Adaptado de datos hist\u00f3ricos de la Registradur\u00eda Nacional del Estado Civil. La proyecci\u00f3n de segunda vuelta 2026 (media 61,5%, rango 60,5%\u201362,5%) se construye a partir del incremento medio hist\u00f3rico entre rondas (+4,5 pp en 2014; \u22120,3 pp en 2018; +3,3 pp en 2022). Barra dorada punteada = proyecci\u00f3n.<\/div>\n<\/div>\n\n<!-- TABLA 2 -->\n<div class=\"sdiv\"><span>Tabla 2 \u00b7 Proyecci\u00f3n Cuantitativa Segunda Vuelta<\/span><div class=\"ln\"><\/div><\/div>\n<div class=\"twrap\">\n  <div class=\"tm\"><div class=\"tnum\">Tabla 2<\/div>\n    <span class=\"ttitle\">Proyecci\u00f3n Cuantitativa de Votos para la Segunda Vuelta Presidencial de Colombia en Tres Escenarios de Transferencia y Participaci\u00f3n Electoral, 21 de Junio de 2026<\/span>\n  <\/div>\n  <table>\n    <thead><tr><th>Variable \/ Escenario<\/th><th>A \u00b7 Favorable Espriella<\/th><th>B \u00b7 Base Equilibrado<\/th><th>C \u00b7 Favorable Cepeda<\/th><\/tr><\/thead>\n    <tbody>\n      <tr><td>Participaci\u00f3n estimada (%)<\/td><td>62,5%<\/td><td>61,0%<\/td><td>62,0%<\/td><\/tr>\n      <tr><td>Votantes proyectados (mill.)<\/td><td>25,89<\/td><td>25,27<\/td><td>25,68<\/td><\/tr>\n      <tr><td>Transferencia Valencia \u2192 Espriella<\/td><td>80%<\/td><td>73%<\/td><td>62%<\/td><\/tr>\n      <tr><td>Transferencia Fajardo \u2192 Cepeda<\/td><td>38%<\/td><td>47%<\/td><td>60%<\/td><\/tr>\n      <tr><td>Transferencia Botero \u2192 Espriella<\/td><td>75%<\/td><td>70%<\/td><td>60%<\/td><\/tr>\n      <tr><td>Transferencia L\u00f3pez \u2192 Cepeda<\/td><td>45%<\/td><td>52%<\/td><td>62%<\/td><\/tr>\n      <tr><td>Nueva movilizaci\u00f3n \u2192 Espriella (mill.)<\/td><td>1,05<\/td><td>0,75<\/td><td>0,50<\/td><\/tr>\n      <tr><td>Nueva movilizaci\u00f3n \u2192 Cepeda (mill.)<\/td><td>0,72<\/td><td>0,88<\/td><td>1,20<\/td><\/tr>\n      <tr><td><strong>Votos De la Espriella (mill.)<\/strong><\/td>\n        <td style=\"color:var(--dl);font-weight:700;\">13,10<\/td>\n        <td style=\"color:var(--dl);font-weight:700;\">12,30<\/td>\n        <td style=\"color:var(--dm);\">11,38<\/td><\/tr>\n      <tr><td><strong>Votos Cepeda (mill.)<\/strong><\/td>\n        <td style=\"color:var(--dm);\">11,22<\/td>\n        <td style=\"color:var(--dm);\">11,56<\/td>\n        <td style=\"color:var(--il);font-weight:700;\">12,85<\/td><\/tr>\n      <tr><td><strong>Diferencia proyectada (mill.)<\/strong><\/td>\n        <td style=\"color:var(--dl);font-weight:700;\">+1,88 Espriella<\/td>\n        <td style=\"color:var(--gl);font-weight:700;\">+0,74 Espriella<\/td>\n        <td style=\"color:var(--il);font-weight:700;\">+1,47 Cepeda<\/td><\/tr>\n      <tr><td><strong>% ganador sobre v\u00e1lidos<\/strong><\/td>\n        <td style=\"color:var(--dl);font-weight:700;\">53,9% Espriella<\/td>\n        <td style=\"color:var(--gl);font-weight:700;\">51,5% Espriella<\/td>\n        <td style=\"color:var(--il);font-weight:700;\">53,0% Cepeda<\/td><\/tr>\n    <\/tbody>\n  <\/table>\n  <div class=\"tnota\"><em>Nota.<\/em> Esc. A: alta adhesi\u00f3n de Valencia y Botero, baja permeabilidad de centroizquierda hacia Cepeda. Esc. B: tasas de transferencia promedio hist\u00f3ricas. Esc. C: fragmentaci\u00f3n del trasvase uribista, alta consolidaci\u00f3n progresista, movilizaci\u00f3n superior en Bogot\u00e1, Valle del Cauca y Costa Pac\u00edfica. Proyecciones probabil\u00edsticas, no predicciones definitivas.<\/div>\n<\/div>\n\n<!-- ESCENARIOS -->\n<div class=\"sdiv\"><span>Escenarios Narrativos \u00b7 21 Junio 2026<\/span><div class=\"ln\"><\/div><\/div>\n<div class=\"eg\">\n  <div class=\"esc A\">\n    <span class=\"etag\">Escenario A \u00b7 Favorable Espriella<\/span>\n    <div class=\"eh\">Victoria holgada de De la Espriella<\/div>\n    <div class=\"eb\">La derecha consolida su coalici\u00f3n. Valencia, Uribe, Botero y Cambio Radical movilizan eficientemente su base. La abstenci\u00f3n golpea m\u00e1s al Pacto Hist\u00f3rico en Bogot\u00e1 y ciudades intermedias. Fajardo no llama a votar por Cepeda. De la Espriella supera los 13 millones.<\/div>\n    <div class=\"er\">De la Espriella ~53,9% \u00b7 Cepeda ~46,1%<\/div>\n  <\/div>\n  <div class=\"esc B\">\n    <span class=\"etag\">Escenario B \u00b7 Base (mayor probabilidad)<\/span>\n    <div class=\"eh\">Victoria ajustada de De la Espriella<\/div>\n    <div class=\"eb\">Transferencias moderadas, patr\u00f3n similar a Duque 2018. El voto de Fajardo se divide. La participaci\u00f3n sube ~3 pp. Cepeda recupera algo del voto de centro pero no lo suficiente para revertir la diferencia de primera vuelta, dada la unidad formal de la derecha.<\/div>\n    <div class=\"er\">De la Espriella ~51,5% \u00b7 Cepeda ~48,5%<\/div>\n  <\/div>\n  <div class=\"esc C\">\n    <span class=\"etag\">Escenario C \u00b7 Favorable Cepeda<\/span>\n    <div class=\"eh\">Victoria ajustada de Cepeda<\/div>\n    <div class=\"eb\">Fractura interna en el electorado de Valencia. El voto de Fajardo y L\u00f3pez fluye mayoritariamente a Cepeda. Bogot\u00e1 y la Costa Pac\u00edfica se movilizan por encima del promedio. La posici\u00f3n de Petro cuestionando los resultados genera voto de desconfianza que parad\u00f3jicamente da\u00f1a al Pacto Hist\u00f3rico en el centro.<\/div>\n    <div class=\"er\">Cepeda ~53,0% \u00b7 De la Espriella ~47,0%<\/div>\n  <\/div>\n<\/div>\n\n<footer>\n  <div class=\"fb\">\n    <strong>An\u00e1lisis Electoral Colombia 2026<\/strong>\n    Observatorio de Coyuntura Pol\u00edtica<br>\n    Datos: Registradur\u00eda Nacional del Estado Civil\n  <\/div>\n  <div class=\"fd\">\n    Emisi\u00f3n: 1 de junio de 2026 \u00b7 Colombia<br>\n    Fuente: Registradur\u00eda Nacional del Estado Civil (100% mesas)<br>\n    <span>Segunda vuelta: 21 junio 2026<\/span>\n  <\/div>\n<\/footer>\n<\/div>\n\n<script>\n\/\/ \u2500\u2500 Paleta \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst D='#1A4ED8',DL='#5B8BFF';\nconst I='#B52C1E',IL='#E05040';\nconst G='#B8860B',GL='#E0A820',GLL='#FDE68A';\nconst S='#5A6478',SL='#8A96AA';\nconst C1='#4A88C0';\n\n\/\/ \u2500\u2500 Tooltip base \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nconst TT={\n  backgroundColor:'rgba(8,11,20,0.97)',\n  titleColor:GL, bodyColor:'#BCC2D0',\n  borderColor:'rgba(184,134,11,0.30)', borderWidth:1,\n  padding:13, cornerRadius:8,\n  titleFont:{size:11.5,weight:'700',family:\"'JetBrains Mono',monospace\"},\n  bodyFont:{size:11.5}, displayColors:true, boxPadding:4\n};\nfunction N(v){return v.toLocaleString('es-CO');}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ PLUGIN UNIVERSAL: dibuja etiquetas con afterDraw\n\/\/ Sin dependencia de chartjs-plugin-datalabels\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\n\/\/ F\u00e1brica de plugin afterDraw para barras simples (F1, F4)\nfunction barLabelPlugin(id, formatter, colorFn){\n  return {\n    id,\n    afterDatasetsDraw(chart){\n      const {ctx, data, scales:{x,y}} = chart;\n      ctx.save();\n      data.datasets[0].data.forEach((val, i)=>{\n        const meta = chart.getDatasetMeta(0);\n        const bar  = meta.data[i];\n        if(!bar || val === null) return;\n        const isHoriz = chart.config.options.indexAxis === 'y';\n        const label   = formatter(val, i);\n        const color   = colorFn ? colorFn(i) : '#CDD2E0';\n        ctx.fillStyle = color;\n        ctx.font = \"600 10.5px 'JetBrains Mono',monospace\";\n        ctx.textAlign = 'left';\n        ctx.textBaseline = 'middle';\n        if(isHoriz){\n          \/\/ right of bar\n          const xPos = bar.x + 8;\n          const yPos = bar.y;\n          ctx.fillText(label, xPos, yPos);\n        } else {\n          \/\/ top of bar\n          ctx.textAlign = 'center';\n          ctx.textBaseline = 'bottom';\n          ctx.fillText(label, bar.x, bar.y - 5);\n        }\n      });\n      ctx.restore();\n    }\n  };\n}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ FIG 1 \u2014 Barras horizontales candidatos (funciona OK)\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n(function(){\n  const votos=[10361499,9688361,1639685,1009073,406970,255517,206000,148000];\n  const pcts =[43.74,40.90,6.92,4.26,1.71,0.95,0.87,0.35];\n  const labs =['De la Espriella \u00b7 Def. Patria','Iv\u00e1n Cepeda \u00b7 Pacto Hist\u00f3rico',\n               'Paloma Valencia \u00b7 CD','Sergio Fajardo \u00b7 D&C',\n               'Voto en blanco','Claudia L\u00f3pez','Santiago Botero','Roy Barreras + otros'];\n  const cols =[D,I,'#8B2010',C1,S,'#4A9AB0','#6B5EA8','#707880'];\n\n  const lblPlugin = {\n    id:'f1labels',\n    afterDatasetsDraw(chart){\n      const {ctx} = chart;\n      const meta = chart.getDatasetMeta(0);\n      ctx.save();\n      ctx.font = \"600 10.5px 'JetBrains Mono',monospace\";\n      ctx.textAlign = 'left';\n      ctx.textBaseline = 'middle';\n      meta.data.forEach((bar, i)=>{\n        ctx.fillStyle = '#CDD2E0';\n        ctx.fillText(`${pcts[i].toFixed(2)}%   ${(votos[i]\/1e6).toFixed(2)} M`, bar.x + 8, bar.y);\n      });\n      ctx.restore();\n    }\n  };\n\n  new Chart(document.getElementById('f1'),{\n    type:'bar',\n    plugins:[lblPlugin],\n    data:{\n      labels:labs,\n      datasets:[{\n        data:votos,\n        backgroundColor:cols.map(c=>c+'B8'),\n        borderColor:cols, borderWidth:2,\n        borderRadius:5, borderSkipped:false\n      }]\n    },\n    options:{\n      indexAxis:'y',\n      animation:{duration:1400,easing:'easeOutQuart'},\n      responsive:true, maintainAspectRatio:false,\n      layout:{padding:{right:180}},\n      plugins:{\n        legend:{display:false},\n        tooltip:{...TT, callbacks:{\n          title:c=>c[0].label,\n          label:c=>[` Votos: ${N(c.parsed.x)}`,` Porcentaje: ${pcts[c.dataIndex].toFixed(2)}%`]\n        }}\n      },\n      scales:{\n        x:{grid:{color:'rgba(255,255,255,0.04)'},border:{display:false},\n          ticks:{font:{size:9.5,family:\"'JetBrains Mono',monospace\"},color:SL,\n            callback:v=>(v\/1e6).toFixed(1)+' M'}},\n        y:{grid:{display:false},border:{display:false},\n          ticks:{font:{size:11},color:'#9AA3B8'}}\n      }\n    }\n  });\n})();\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ FIG 2 \u2014 Barras apiladas (transferencia de voto)\n\/\/ SOLUCI\u00d3N: custom afterDraw plugin, SIN chartjs-plugin-datalabels\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n(function(){\n  const labs=['Valencia\\n(6,92%)','Fajardo\\n(4,26%)','Botero\\n(0,87%)','C. L\u00f3pez\\n(0,95%)','Blanco+otros\\n(2,06%)'];\n  const tots=[1639685,1009073,206000,255517,554970];\n  const hD  =[1229764,252268,144200,38328,111000];\n  const hI  =[163969, 454083,     0,127759, 97000];\n  const hA  =[245952, 302722, 61800, 89430,346970];\n\n  \/\/ Plugin que dibuja % dentro de cada segmento apilado\n  const stackLabels = {\n    id:'f2stack',\n    afterDatasetsDraw(chart){\n      const {ctx} = chart;\n      ctx.save();\n      ctx.font = \"700 9px 'JetBrains Mono',monospace\";\n      ctx.textAlign = 'center';\n      ctx.textBaseline = 'middle';\n      chart.data.datasets.forEach((ds, dsIdx)=>{\n        const meta = chart.getDatasetMeta(dsIdx);\n        meta.data.forEach((bar, i)=>{\n          const val = ds.data[i];\n          if(!val || val < 35000) return;\n          const pct = (val \/ tots[i] * 100).toFixed(0) + '%';\n          ctx.fillStyle = 'rgba(255,255,255,0.88)';\n          ctx.fillText(pct, bar.x, bar.y);\n        });\n      });\n      ctx.restore();\n    }\n  };\n\n  new Chart(document.getElementById('f2'),{\n    type:'bar',\n    plugins:[stackLabels],\n    data:{\n      labels:labs,\n      datasets:[\n        {label:'\u2192 De la Espriella',data:hD,backgroundColor:D+'B0',borderColor:D,borderWidth:1.5,borderRadius:3,stack:'s'},\n        {label:'\u2192 Iv\u00e1n Cepeda',    data:hI,backgroundColor:I+'B0',borderColor:I,borderWidth:1.5,borderRadius:3,stack:'s'},\n        {label:'\u2192 Abstenci\u00f3n',     data:hA,backgroundColor:S+'70',borderColor:S,borderWidth:1,  borderRadius:3,stack:'s'}\n      ]\n    },\n    options:{\n      animation:{duration:1500,easing:'easeInOutCubic'},\n      responsive:true, maintainAspectRatio:false,\n      layout:{padding:{top:10}},\n      plugins:{\n        legend:{position:'bottom',labels:{color:SL,\n          font:{size:10.5,family:\"'JetBrains Mono',monospace\"},\n          boxWidth:12,usePointStyle:true,padding:18}},\n        tooltip:{...TT, callbacks:{\n          title:c=>c[0].label.replace('\\n',' '),\n          label:c=>{\n            if(!c.parsed.y) return null;\n            const p=(c.parsed.y\/tots[c.dataIndex]*100).toFixed(1);\n            return ` ${c.dataset.label}: ${N(c.parsed.y)} (${p}%)`;\n          }\n        }}\n      },\n      scales:{\n        x:{stacked:true,grid:{display:false},border:{display:false},\n          ticks:{font:{size:10},color:SL}},\n        y:{stacked:true,\n          grid:{color:'rgba(255,255,255,0.04)'},border:{display:false},\n          ticks:{font:{size:9.5,family:\"'JetBrains Mono',monospace\"},color:SL,\n            callback:v=>(v\/1000).toFixed(0)+'k'},\n          title:{display:true,text:'Votos redistribuidos',color:SL,font:{size:9.5}}}\n      }\n    }\n  });\n})();\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ FIG 3 \u2014 Escenarios (barras agrupadas)\n\/\/ SOLUCI\u00d3N: afterDraw plugin manual, SIN chartjs-plugin-datalabels\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n(function(){\n  const labs=['Escenario A\\nFavorable Espriella','Escenario B\\nBase Equilibrado','Escenario C\\nFavorable Cepeda'];\n  const esp=[13.10,12.30,11.38];\n  const cep=[11.22,11.56,12.85];\n\n  const umbral={\n    id:'umbral',\n    afterDraw(chart){\n      const {ctx,scales:{x,y}}=chart;\n      const yv=y.getPixelForValue(12);\n      ctx.save();\n      ctx.setLineDash([8,5]);\n      ctx.strokeStyle=GL+'CC'; ctx.lineWidth=1.6;\n      ctx.beginPath(); ctx.moveTo(x.left,yv); ctx.lineTo(x.right,yv); ctx.stroke();\n      ctx.setLineDash([]);\n      ctx.fillStyle=GL;\n      ctx.font=\"600 9.5px 'JetBrains Mono',monospace\";\n      ctx.fillText('\u25b8 Umbral orientativo: 12 M votos',x.left+6,yv-7);\n      ctx.restore();\n    }\n  };\n\n  const barTopLabels={\n    id:'f3labels',\n    afterDatasetsDraw(chart){\n      const {ctx}=chart;\n      ctx.save();\n      ctx.font=\"700 10.5px 'JetBrains Mono',monospace\";\n      ctx.textAlign='center'; ctx.textBaseline='bottom';\n      chart.data.datasets.forEach((ds,di)=>{\n        const meta=chart.getDatasetMeta(di);\n        const color= di===0 ? DL : IL;\n        ctx.fillStyle=color;\n        meta.data.forEach((bar,i)=>{\n          const val=ds.data[i];\n          if(val===null||val===undefined) return;\n          ctx.fillText(val.toFixed(2)+' M', bar.x, bar.y-5);\n        });\n      });\n      ctx.restore();\n    }\n  };\n\n  new Chart(document.getElementById('f3'),{\n    type:'bar',\n    plugins:[umbral, barTopLabels],\n    data:{\n      labels:labs,\n      datasets:[\n        {label:'De la Espriella',data:esp,\n          backgroundColor:[D+'CC',D+'88',D+'40'],borderColor:[D,D,D],\n          borderWidth:2,borderRadius:6,categoryPercentage:0.72,barPercentage:0.46},\n        {label:'Iv\u00e1n Cepeda',data:cep,\n          backgroundColor:[I+'40',I+'88',I+'CC'],borderColor:[I,I,I],\n          borderWidth:2,borderRadius:6,categoryPercentage:0.72,barPercentage:0.46}\n      ]\n    },\n    options:{\n      animation:{duration:1600,easing:'easeOutQuart'},\n      responsive:true, maintainAspectRatio:false,\n      layout:{padding:{top:34}},\n      plugins:{\n        legend:{position:'bottom',labels:{color:SL,\n          font:{size:10.5,family:\"'JetBrains Mono',monospace\"},\n          boxWidth:12,usePointStyle:true,padding:18}},\n        tooltip:{...TT, callbacks:{\n          title:c=>c[0].label.replace('\\n',' \u00b7 '),\n          label:c=>` ${c.dataset.label}: ${c.parsed.y.toFixed(2)} millones de votos`\n        }}\n      },\n      scales:{\n        x:{grid:{display:false},border:{display:false},\n          ticks:{font:{size:10.5},color:SL}},\n        y:{min:10,max:15,\n          grid:{color:'rgba(255,255,255,0.05)'},border:{display:false},\n          ticks:{font:{size:9.5,family:\"'JetBrains Mono',monospace\"},color:SL,\n            callback:v=>v.toFixed(0)+' M'},\n          title:{display:true,text:'Votos proyectados (millones)',color:SL,font:{size:9.5}}}\n      }\n    }\n  });\n})();\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/ FIG 4 \u2014 Participaci\u00f3n hist\u00f3rica (barras simples)\n\/\/ SOLUCI\u00d3N: afterDraw plugin manual\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n(function(){\n  const labs=['2014\\n1\u00aa V','2014\\n2\u00aa V','2018\\n1\u00aa V','2018\\n2\u00aa V','2022\\n1\u00aa V','2022\\n2\u00aa V','2026\\n1\u00aa V','2026\\n2\u00aa V\\n(proy.)'];\n  const vals=[40.08,47.84,53.38,53.04,54.91,58.17,57.88,61.50];\n  const pr  =[false,false,false,false,false,false,false,true];\n  const bgC =vals.map((_,i)=>pr[i]?G+'90':i%2===0?D+'88':D+'BB');\n  const bdC =vals.map((_,i)=>pr[i]?G:D);\n\n  const topLabels={\n    id:'f4labels',\n    afterDatasetsDraw(chart){\n      const {ctx}=chart;\n      const meta=chart.getDatasetMeta(0);\n      ctx.save();\n      ctx.font=\"700 10.5px 'JetBrains Mono',monospace\";\n      ctx.textAlign='center'; ctx.textBaseline='bottom';\n      meta.data.forEach((bar,i)=>{\n        const v=vals[i];\n        ctx.fillStyle=pr[i]?GLL:'#CDD2E0';\n        const lbl=pr[i]?`~${v.toFixed(1)}%*`:`${v.toFixed(2)}%`;\n        ctx.fillText(lbl, bar.x, bar.y-5);\n      });\n      ctx.restore();\n    }\n  };\n\n  new Chart(document.getElementById('f4'),{\n    type:'bar',\n    plugins:[topLabels],\n    data:{\n      labels:labs,\n      datasets:[{\n        label:'Participaci\u00f3n (%)',\n        data:vals,\n        backgroundColor:bgC, borderColor:bdC,\n        borderWidth:2, borderRadius:6\n      }]\n    },\n    options:{\n      animation:{duration:1400,easing:'easeInOutQuart'},\n      responsive:true, maintainAspectRatio:false,\n      layout:{padding:{top:28}},\n      plugins:{\n        legend:{display:false},\n        tooltip:{...TT, callbacks:{\n          title:c=>c[0].label.replace(\/\\n\/g,' '),\n          label:c=>pr[c.dataIndex]\n            ?[` Proyecci\u00f3n: ~${c.parsed.y.toFixed(2)}%`,` Rango estimado: 60,5%\u201362,5%`]\n            :[` Participaci\u00f3n: ${c.parsed.y.toFixed(2)}%`]\n        }}\n      },\n      scales:{\n        x:{grid:{display:false},border:{display:false},\n          ticks:{font:{size:10},color:SL}},\n        y:{min:35,max:68,\n          grid:{color:'rgba(255,255,255,0.05)'},border:{display:false},\n          ticks:{font:{size:9.5,family:\"'JetBrains Mono',monospace\"},color:SL,callback:v=>v+'%'},\n          title:{display:true,text:'% sobre censo electoral',color:SL,font:{size:9.5}}}\n      }\n    }\n  });\n})();\n<\/script>\n<\/body>\n<\/html>\n\n","protected":false},"excerpt":{"rendered":"<p>Segunda Vuelta Colombia 2026 \u00b7 Proyecciones y An\u00e1lisis Electoral An\u00e1lisis Electoral \u00b7 Colombia 2026 100% MESAS \u00b7 OFICIAL Segunda Vuelta 21 junio 2026: Transferencia de Voto, Alianzas Post-Electorales y Proyecciones Registradur\u00eda Nacional \u00b7 100% mesas \u00b7 31 mayo 2026 Participaci\u00f3n r\u00e9cord hist\u00f3rico: 57,88% Segunda vuelta: 21 junio 2026 43,74% De<\/p>\n<div class=\"continue-reading-wrapper\"><a href=\"https:\/\/observatorioarmenia.org\/site\/observatorio-economico-segunda-vuelta-21-junio-2026-transferencia-de-voto-alianzas-post-electorales-y-proyecciones\/\" class=\"continue-reading\">Ampliar informaci\u00f3n<i class=\"ion-ios-arrow-right\"><\/i><\/a><\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-7992","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/observatorioarmenia.org\/site\/wp-json\/wp\/v2\/posts\/7992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/observatorioarmenia.org\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/observatorioarmenia.org\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/observatorioarmenia.org\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/observatorioarmenia.org\/site\/wp-json\/wp\/v2\/comments?post=7992"}],"version-history":[{"count":1,"href":"https:\/\/observatorioarmenia.org\/site\/wp-json\/wp\/v2\/posts\/7992\/revisions"}],"predecessor-version":[{"id":7993,"href":"https:\/\/observatorioarmenia.org\/site\/wp-json\/wp\/v2\/posts\/7992\/revisions\/7993"}],"wp:attachment":[{"href":"https:\/\/observatorioarmenia.org\/site\/wp-json\/wp\/v2\/media?parent=7992"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/observatorioarmenia.org\/site\/wp-json\/wp\/v2\/categories?post=7992"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/observatorioarmenia.org\/site\/wp-json\/wp\/v2\/tags?post=7992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}