{"id":191,"date":"2025-11-26T18:18:04","date_gmt":"2025-11-26T18:18:04","guid":{"rendered":"https:\/\/5.olasdevida.es\/?page_id=191"},"modified":"2025-12-02T17:25:39","modified_gmt":"2025-12-02T17:25:39","slug":"pac1","status":"publish","type":"page","link":"https:\/\/5.olasdevida.es\/index.php\/pac1\/","title":{"rendered":"pac1"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"191\" class=\"elementor elementor-191\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1bc374e e-con-full e-flex e-con e-parent\" data-id=\"1bc374e\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-0aee18c elementor-widget elementor-widget-html\" data-id=\"0aee18c\" data-element_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<title>Panel M\u00e9dico \u00b7 Bandeja de Pacientes \u00b7 Olas de Vida<\/title>\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n\r\n<style>\r\nbody{\r\n  margin:0;\r\n  font-family: Arial, sans-serif;\r\n  background:#e5e7eb;\r\n}\r\n.header{\r\n  background:#1e3a5f;\r\n  color:#fff;\r\n  padding:18px;\r\n  text-align:center;\r\n  font-size:22px;\r\n  font-weight:bold;\r\n}\r\n.subheader{\r\n  text-align:center;\r\n  padding:6px 10px 14px;\r\n  font-size:14px;\r\n  color:#e5e7eb;\r\n  background:#1e3a5f;\r\n}\r\n.container{\r\n  max-width:1100px;\r\n  margin:20px auto;\r\n  background:#fff;\r\n  border-radius:10px;\r\n  box-shadow:0 10px 25px rgba(0,0,0,0.15);\r\n  padding:20px;\r\n}\r\ntable{\r\n  width:100%;\r\n  border-collapse:collapse;\r\n  font-size:14px;\r\n}\r\nth,td{\r\n  padding:10px;\r\n  border-bottom:1px solid #e5e7eb;\r\n}\r\nth{\r\n  background:#f3f4f6;\r\n  text-align:left;\r\n}\r\ntr:hover td{\r\n  background:#f9fafb;\r\n}\r\n.badge{\r\n  padding:4px 10px;\r\n  border-radius:999px;\r\n  font-size:11px;\r\n  font-weight:bold;\r\n  color:#fff;\r\n}\r\n.critica{background:#dc2626;}\r\n.alta{background:#f97316;}\r\n.moderada{background:#2563eb;}\r\n.estable{background:#16a34a;}\r\n.btn{\r\n  padding:6px 10px;\r\n  border-radius:6px;\r\n  border:none;\r\n  cursor:pointer;\r\n  font-size:12px;\r\n  font-weight:bold;\r\n  background:#1e3a5f;\r\n  color:#fff;\r\n}\r\n.btn:hover{background:#0f2640;}\r\n.small{\r\n  font-size:12px;\r\n  color:#6b7280;\r\n}\r\n<\/style>\r\n\r\n<script>\r\n\/\/ ==========================\r\n\/\/ BASE DE 10 PACIENTES\r\n\/\/ ==========================\r\nconst pacientes = {\r\n\r\n\"ODV-000101\":{ nombre:\"Mar\u00eda Garc\u00eda L\u00f3pez\",  diagnostico:\"C\u00e1ncer de Mama\",   ciclo:\"4\/6\",\r\n    historial:[\r\n        {f:\"2025-01-14\",d:9,a:8},\r\n        {f:\"2025-01-10\",d:7,a:7},\r\n        {f:\"2025-01-03\",d:6,a:6}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-13\",ne:1300},\r\n        {f:\"2025-01-06\",ne:1800}\r\n    ]\r\n},\r\n\r\n\"ODV-000102\":{ nombre:\"Roberto Silva Jim\u00e9nez\", diagnostico:\"Linfoma B\", ciclo:\"2\/8\",\r\n    historial:[\r\n        {f:\"2025-01-12\",d:6,a:5},\r\n        {f:\"2025-01-05\",d:4,a:6},\r\n        {f:\"2024-12-29\",d:3,a:6}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-11\",ne:1500},\r\n        {f:\"2025-01-03\",ne:1900}\r\n    ]\r\n},\r\n\r\n\"ODV-000103\":{ nombre:\"Ana Ruiz Mercado\", diagnostico:\"Melanoma\", ciclo:\"1\/4\",\r\n    historial:[\r\n        {f:\"2025-01-15\",d:3,a:7},\r\n        {f:\"2025-01-09\",d:4,a:6}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-12\",ne:2100}\r\n    ]\r\n},\r\n\r\n\"ODV-000104\":{ nombre:\"Carlos Pe\u00f1a Arroyo\", diagnostico:\"C\u00e1ncer Pulm\u00f3n\", ciclo:\"3\/8\",\r\n    historial:[\r\n        {f:\"2025-01-11\",d:7,a:6},\r\n        {f:\"2025-01-04\",d:5,a:6}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-07\",ne:1600}\r\n    ]\r\n},\r\n\r\n\"ODV-000105\":{ nombre:\"Luc\u00eda S\u00e1nchez Bravo\", diagnostico:\"Sarcoma\", ciclo:\"5\/6\",\r\n    historial:[\r\n        {f:\"2025-01-14\",d:8,a:5},\r\n        {f:\"2025-01-08\",d:6,a:6}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-12\",ne:1700}\r\n    ]\r\n},\r\n\r\n\"ODV-000106\":{ nombre:\"Javier Moreno Lora\", diagnostico:\"C\u00e1ncer Colon\", ciclo:\"2\/6\",\r\n    historial:[\r\n        {f:\"2025-01-09\",d:5,a:7},\r\n        {f:\"2025-01-02\",d:4,a:7}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-05\",ne:2200}\r\n    ]\r\n},\r\n\r\n\"ODV-000107\":{ nombre:\"Elena Torres Vivas\", diagnostico:\"C\u00e1ncer Tiroides\", ciclo:\"3\/6\",\r\n    historial:[\r\n        {f:\"2025-01-13\",d:2,a:8},\r\n        {f:\"2025-01-07\",d:3,a:7}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-10\",ne:2400}\r\n    ]\r\n},\r\n\r\n\"ODV-000108\":{ nombre:\"Miguel Ortiz Alba\", diagnostico:\"C\u00e1ncer P\u00e1ncreas\", ciclo:\"4\/8\",\r\n    historial:[\r\n        {f:\"2025-01-14\",d:8,a:4},\r\n        {f:\"2025-01-06\",d:7,a:5}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-11\",ne:1400}\r\n    ]\r\n},\r\n\r\n\"ODV-000109\":{ nombre:\"Rosa Medina P\u00e9rez\", diagnostico:\"Leucemia\", ciclo:\"6\/8\",\r\n    historial:[\r\n        {f:\"2025-01-13\",d:4,a:7},\r\n        {f:\"2025-01-05\",d:5,a:6}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-10\",ne:2000}\r\n    ]\r\n},\r\n\r\n\"ODV-000110\":{ nombre:\"Daniel Vega Rom\u00e1n\", diagnostico:\"C\u00e1ncer Ri\u00f1\u00f3n\", ciclo:\"1\/4\",\r\n    historial:[\r\n        {f:\"2025-01-16\",d:1,a:8},\r\n        {f:\"2025-01-09\",d:2,a:8}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-14\",ne:2600}\r\n    ]\r\n}\r\n};\r\n\r\n\/\/ Clasificaci\u00f3n autom\u00e1tica del estado\r\nfunction calcularEstado(p){\r\n  const h = p.historial[0];\r\n  const a = p.analiticas[0];\r\n  const dolor = h ? h.d : 0;\r\n  const ne = a ? a.ne : 9999;\r\n\r\n  if (dolor >= 8 || ne < 1500) return {txt:\"Cr\u00edtica\",cls:\"critica\"};\r\n  if (dolor >= 6 || ne < 1800) return {txt:\"Alta\",cls:\"alta\"};\r\n  if (dolor >= 3)              return {txt:\"Moderada\",cls:\"moderada\"};\r\n  return {txt:\"Estable\",cls:\"estable\"};\r\n}\r\n\r\nfunction abrirFicha(id){\r\n  window.location.href = \"ficha_paciente_olasdevida.html?id=\" + id;\r\n}\r\n\r\nwindow.onload = ()=>{\r\n  const tbody = document.getElementById(\"tbodyPac\");\r\n  Object.keys(pacientes).forEach(id=>{\r\n    const p = pacientes[id];\r\n    const est = calcularEstado(p);\r\n    const h = p.historial[0] || {f:\"-\",d:\"-\",a:\"-\"};\r\n\r\n    const tr = document.createElement(\"tr\");\r\n    tr.innerHTML = `\r\n      <td>\r\n        <strong>${p.nombre}<\/strong><br>\r\n        <span class=\"small\">${p.diagnostico} \u00b7 Ciclo ${p.ciclo}<\/span>\r\n      <\/td>\r\n      <td>${id}<\/td>\r\n      <td>\r\n        <span class=\"badge ${est.cls}\">${est.txt}<\/span>\r\n      <\/td>\r\n      <td>\r\n        <div>${h.f}<\/div>\r\n        <div class=\"small\">Dolor: ${h.d}\/10 \u00b7 \u00c1nimo: ${h.a}\/10<\/div>\r\n      <\/td>\r\n      <td>\r\n        <button class=\"btn\" onclick=\"abrirFicha('${id}')\">Abrir ficha<\/button>\r\n      <\/td>\r\n    `;\r\n    tbody.appendChild(tr);\r\n  });\r\n};\r\n<\/script>\r\n<\/head>\r\n\r\n<body>\r\n  <div class=\"header\">Panel M\u00e9dico \u00b7 Olas de Vida<\/div>\r\n  <div class=\"subheader\">Bandeja de pacientes con conexi\u00f3n directa a su ficha individual<\/div>\r\n\r\n  <div class=\"container\">\r\n    <table>\r\n      <thead>\r\n        <tr>\r\n          <th>Paciente<\/th>\r\n          <th>ID<\/th>\r\n          <th>Estado<\/th>\r\n          <th>\u00daltimo formulario<\/th>\r\n          <th>Acciones<\/th>\r\n        <\/tr>\r\n      <\/thead>\r\n      <tbody id=\"tbodyPac\"><\/tbody>\r\n    <\/table>\r\n  <\/div>\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-603c6e8 e-con-full e-flex e-con e-parent\" data-id=\"603c6e8\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d3e2d1c elementor-widget elementor-widget-html\" data-id=\"d3e2d1c\" data-element_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<title>Ficha Paciente \u00b7 Olas de Vida<\/title>\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n\r\n<style>\r\nbody{\r\n  margin:0;\r\n  font-family:Arial, sans-serif;\r\n  background:#e5e7eb;\r\n}\r\n.header{\r\n  background:#1e3a5f;\r\n  color:#fff;\r\n  padding:18px;\r\n  text-align:center;\r\n  font-size:22px;\r\n  font-weight:bold;\r\n}\r\n.subheader{\r\n  background:#1e3a5f;\r\n  color:#e5e7eb;\r\n  text-align:center;\r\n  padding:0 10px 12px;\r\n  font-size:13px;\r\n}\r\n.container{\r\n  max-width:950px;\r\n  margin:20px auto;\r\n  background:#fff;\r\n  border-radius:10px;\r\n  padding:20px;\r\n  box-shadow:0 10px 25px rgba(0,0,0,0.15);\r\n}\r\n.nombre{font-size:22px;margin-bottom:4px;}\r\n.idref{font-size:13px;color:#6b7280;}\r\n.estado{\r\n  margin-top:10px;\r\n  display:inline-block;\r\n  padding:8px 14px;\r\n  border-radius:999px;\r\n  font-weight:bold;\r\n  background:#dbeafe;\r\n  color:#1e40af;\r\n}\r\n.alertas{\r\n  margin-top:14px;\r\n  border-radius:8px;\r\n  padding:10px 12px;\r\n  font-size:13px;\r\n}\r\n.alert-critica{background:#fee2e2;color:#b91c1c;border-left:4px solid #b91c1c;}\r\n.alert-alta{background:#ffedd5;color:#c2410c;border-left:4px solid #c2410c;}\r\n.alert-ok{background:#ecfdf5;color:#15803d;border-left:4px solid #15803d;}\r\n\r\nh2{\r\n  margin-top:28px;\r\n  color:#1e3a5f;\r\n  font-size:18px;\r\n}\r\ntable{\r\n  width:100%;\r\n  border-collapse:collapse;\r\n  margin-top:10px;\r\n  font-size:14px;\r\n}\r\nth,td{\r\n  border:1px solid #e5e7eb;\r\n  padding:8px;\r\n}\r\nth{\r\n  background:#f3f4f6;\r\n  text-align:left;\r\n}\r\n.botones{\r\n  margin-top:18px;\r\n  display:flex;\r\n  gap:10px;\r\n  flex-wrap:wrap;\r\n}\r\n.btn{\r\n  border:none;\r\n  border-radius:6px;\r\n  padding:8px 14px;\r\n  font-size:13px;\r\n  font-weight:bold;\r\n  cursor:pointer;\r\n}\r\n.btn-primario{\r\n  background:#1e3a5f;\r\n  color:#fff;\r\n}\r\n.btn-primario:hover{background:#0f2640;}\r\n.btn-secundario{\r\n  background:#e5e7eb;\r\n  color:#111827;\r\n}\r\ncanvas{\r\n  margin-top:12px;\r\n  background:#f9fafb;\r\n  border-radius:8px;\r\n  padding:6px;\r\n}\r\n\r\n\/* Estilos de impresi\u00f3n (para PDF) *\/\r\n@media print {\r\n  .header, .subheader, .botones { display:none; }\r\n  body{background:#fff;}\r\n  .container{box-shadow:none;margin:0;border-radius:0;}\r\n}\r\n<\/style>\r\n\r\n<!-- Gr\u00e1ficas -->\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\r\n\r\n<script>\r\n\/\/ ==========================\r\n\/\/ MISMA BASE DE 10 PACIENTES\r\n\/\/ ==========================\r\nconst pacientes = {\r\n\r\n\"ODV-000101\":{ nombre:\"Mar\u00eda Garc\u00eda L\u00f3pez\",  diagnostico:\"C\u00e1ncer de Mama\",   ciclo:\"4\/6\",\r\n    historial:[\r\n        {f:\"2025-01-14\",d:9,a:8,p:\"62kg\",n:\"Dolor severo \u00b7 mal descanso\"},\r\n        {f:\"2025-01-10\",d:7,a:7,p:\"63kg\",n:\"Fatiga \u00b7 ansiedad estable\"},\r\n        {f:\"2025-01-03\",d:6,a:6,p:\"64kg\",n:\"Buen apetito\"}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-13\",hb:\"11.1\",ne:1300,pl:\"200k\",o:\"Vigilar neutr\u00f3filos\"},\r\n        {f:\"2025-01-06\",hb:\"12.0\",ne:1800,pl:\"210k\",o:\"Valores normales\"}\r\n    ]\r\n},\r\n\r\n\"ODV-000102\":{ nombre:\"Roberto Silva Jim\u00e9nez\", diagnostico:\"Linfoma B\", ciclo:\"2\/8\",\r\n    historial:[\r\n        {f:\"2025-01-12\",d:6,a:5,p:\"78kg\",n:\"N\u00e1useas moderadas\"},\r\n        {f:\"2025-01-05\",d:4,a:6,p:\"80kg\",n:\"P\u00e9rdida apetito\"},\r\n        {f:\"2024-12-29\",d:3,a:6,p:\"82kg\",n:\"Inicio tratamiento\"}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-11\",hb:\"10.8\",ne:1500,pl:\"190k\",o:\"Control necesario\"},\r\n        {f:\"2025-01-03\",hb:\"11.4\",ne:1900,pl:\"210k\",o:\"Correcto\"}\r\n    ]\r\n},\r\n\r\n\"ODV-000103\":{ nombre:\"Ana Ruiz Mercado\", diagnostico:\"Melanoma\", ciclo:\"1\/4\",\r\n    historial:[\r\n        {f:\"2025-01-15\",d:3,a:7,p:\"59kg\",n:\"Tolera bien inmunoterapia\"},\r\n        {f:\"2025-01-09\",d:4,a:6,p:\"60kg\",n:\"Fiebre leve 24h\"}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-12\",hb:\"12.6\",ne:2100,pl:\"245k\",o:\"Excelente tolerancia\"}\r\n    ]\r\n},\r\n\r\n\"ODV-000104\":{ nombre:\"Carlos Pe\u00f1a Arroyo\", diagnostico:\"C\u00e1ncer Pulm\u00f3n\", ciclo:\"3\/8\",\r\n    historial:[\r\n        {f:\"2025-01-11\",d:7,a:6,p:\"72kg\",n:\"Tos persistente\"},\r\n        {f:\"2025-01-04\",d:5,a:6,p:\"73kg\",n:\"Mejor\u00eda respiratoria\"}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-07\",hb:\"10.4\",ne:1600,pl:\"175k\",o:\"Riesgo leve anemia\"}\r\n    ]\r\n},\r\n\r\n\"ODV-000105\":{ nombre:\"Luc\u00eda S\u00e1nchez Bravo\", diagnostico:\"Sarcoma\", ciclo:\"5\/6\",\r\n    historial:[\r\n        {f:\"2025-01-14\",d:8,a:5,p:\"68kg\",n:\"Ansiol\u00edtico a\u00f1adido\"},\r\n        {f:\"2025-01-08\",d:6,a:6,p:\"69kg\",n:\"Dolor controlado\"}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-12\",hb:\"11.0\",ne:1700,pl:\"190k\",o:\"Seguimiento estrecho\"}\r\n    ]\r\n},\r\n\r\n\"ODV-000106\":{ nombre:\"Javier Moreno Lora\", diagnostico:\"C\u00e1ncer Colon\", ciclo:\"2\/6\",\r\n    historial:[\r\n        {f:\"2025-01-09\",d:5,a:7,p:\"85kg\",n:\"Deposiciones variables\"},\r\n        {f:\"2025-01-02\",d:4,a:7,p:\"86kg\",n:\"Bien tolerado\"}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-05\",hb:\"12.8\",ne:2200,pl:\"260k\",o:\"Sin alarma\"}\r\n    ]\r\n},\r\n\r\n\"ODV-000107\":{ nombre:\"Elena Torres Vivas\", diagnostico:\"C\u00e1ncer Tiroides\", ciclo:\"3\/6\",\r\n    historial:[\r\n        {f:\"2025-01-13\",d:2,a:8,p:\"55kg\",n:\"Cansancio leve\"},\r\n        {f:\"2025-01-07\",d:3,a:7,p:\"56kg\",n:\"Hormonal ajustado\"}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-10\",hb:\"13.0\",ne:2400,pl:\"270k\",o:\"Par\u00e1metros excelentes\"}\r\n    ]\r\n},\r\n\r\n\"ODV-000108\":{ nombre:\"Miguel Ortiz Alba\", diagnostico:\"C\u00e1ncer P\u00e1ncreas\", ciclo:\"4\/8\",\r\n    historial:[\r\n        {f:\"2025-01-14\",d:8,a:4,p:\"74kg\",n:\"Dolor abdominal alto\"},\r\n        {f:\"2025-01-06\",d:7,a:5,p:\"75kg\",n:\"Ciclo duro\"}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-11\",hb:\"10.5\",ne:1400,pl:\"185k\",o:\"Control estrecho requerido\"}\r\n    ]\r\n},\r\n\r\n\"ODV-000109\":{ nombre:\"Rosa Medina P\u00e9rez\", diagnostico:\"Leucemia\", ciclo:\"6\/8\",\r\n    historial:[\r\n        {f:\"2025-01-13\",d:4,a:7,p:\"63kg\",n:\"Optimismo cl\u00ednico\"},\r\n        {f:\"2025-01-05\",d:5,a:6,p:\"64kg\",n:\"Decaimiento leve\"}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-10\",hb:\"11.9\",ne:2000,pl:\"205k\",o:\"Evoluci\u00f3n estable\"}\r\n    ]\r\n},\r\n\r\n\"ODV-000110\":{ nombre:\"Daniel Vega Rom\u00e1n\", diagnostico:\"C\u00e1ncer Ri\u00f1\u00f3n\", ciclo:\"1\/4\",\r\n    historial:[\r\n        {f:\"2025-01-16\",d:1,a:8,p:\"81kg\",n:\"Casi asintom\u00e1tico\"},\r\n        {f:\"2025-01-09\",d:2,a:8,p:\"82kg\",n:\"Ajuste analg\u00e9sico ligero\"}\r\n    ],\r\n    analiticas:[\r\n        {f:\"2025-01-14\",hb:\"13.4\",ne:2600,pl:\"275k\",o:\"Muy buen estado general\"}\r\n    ]\r\n}\r\n};\r\n\r\n\/\/ Determinar estado y texto de alerta\r\nfunction calcularEstadoYAlerta(p){\r\n  const h = p.historial[0];\r\n  const a = p.analiticas[0];\r\n  const dolor = h ? h.d : 0;\r\n  const ne = a ? a.ne : 9999;\r\n\r\n  let nivel = \"ok\";\r\n  let msg = \"Sin alertas relevantes seg\u00fan los \u00faltimos datos.\";\r\n\r\n  if (dolor >= 8 || ne < 1500){\r\n    nivel = \"critica\";\r\n    msg = \"Dolor intenso o neutr\u00f3filos muy bajos. Requiere valoraci\u00f3n r\u00e1pida.\";\r\n  } else if (dolor >= 6 || ne < 1800){\r\n    nivel = \"alta\";\r\n    msg = \"Situaci\u00f3n de riesgo moderado. Se recomienda seguimiento cercano.\";\r\n  } else if (dolor >= 3){\r\n    nivel = \"ok\";\r\n    msg = \"S\u00edntomas presentes pero en rango controlable.\";\r\n  } else {\r\n    nivel = \"ok\";\r\n    msg = \"Paciente estable, s\u00edntomas leves.\";\r\n  }\r\n\r\n  return {nivel, msg, dolor, ne};\r\n}\r\n\r\nfunction exportarPDF(){\r\n  window.print();\r\n}\r\n\r\nfunction volverPanel(){\r\n  window.location.href = \"bandeja_medicos.html\";\r\n}\r\n\r\nwindow.onload = ()=>{\r\n  const params = new URLSearchParams(location.search);\r\n  const id = params.get(\"id\") || \"ODV-000101\";\r\n  const p = pacientes[id] || pacientes[\"ODV-000101\"];\r\n\r\n  document.querySelector(\".nombre\").innerText = p.nombre;\r\n  document.querySelector(\".idref\").innerText =\r\n    `${id} \u00b7 ${p.diagnostico} \u00b7 Ciclo ${p.ciclo}`;\r\n\r\n  const estado = calcularEstadoYAlerta(p);\r\n  document.querySelector(\".estado\").innerText =\r\n    `Dolor ${estado.dolor}\/10 \u00b7 Neutr\u00f3filos ${estado.ne}`;\r\n\r\n  const alertDiv = document.getElementById(\"alertas\");\r\n  alertDiv.innerText = estado.msg;\r\n  alertDiv.classList.add(\r\n    estado.nivel === \"critica\" ? \"alert-critica\" :\r\n    estado.nivel === \"alta\"    ? \"alert-alta\" :\r\n                                  \"alert-ok\"\r\n  );\r\n\r\n  \/\/ Historial tabla\r\n  const histBody = document.getElementById(\"hist\");\r\n  histBody.innerHTML = p.historial.map(x=>`\r\n    <tr>\r\n      <td>${x.f}<\/td>\r\n      <td>${x.d}\/10<\/td>\r\n      <td>${x.a}\/10<\/td>\r\n      <td>${x.p}<\/td>\r\n      <td>${x.n}<\/td>\r\n    <\/tr>\r\n  `).join(\"\");\r\n\r\n  \/\/ Anal\u00edticas tabla\r\n  const labBody = document.getElementById(\"lab\");\r\n  labBody.innerHTML = p.analiticas.map(x=>`\r\n    <tr>\r\n      <td>${x.f}<\/td>\r\n      <td>${x.hb}<\/td>\r\n      <td>${x.ne}<\/td>\r\n      <td>${x.pl}<\/td>\r\n      <td>${x.o}<\/td>\r\n    <\/tr>\r\n  `).join(\"\");\r\n\r\n  \/\/ Gr\u00e1fico de evoluci\u00f3n (dolor y \u00e1nimo)\r\n  const labels = p.historial.map(x=>x.f).reverse();\r\n  const dolorData = p.historial.map(x=>x.d).reverse();\r\n  const animoData = p.historial.map(x=>x.a).reverse();\r\n\r\n  const ctx = document.getElementById(\"graficoEvolucion\");\r\n  if (ctx){\r\n    new Chart(ctx, {\r\n      type: 'line',\r\n      data: {\r\n        labels: labels,\r\n        datasets: [\r\n          {\r\n            label: 'Dolor',\r\n            data: dolorData,\r\n            tension: 0.3\r\n          },\r\n          {\r\n            label: '\u00c1nimo',\r\n            data: animoData,\r\n            tension: 0.3\r\n          }\r\n        ]\r\n      },\r\n      options: {\r\n        responsive:true,\r\n        scales:{\r\n          y:{beginAtZero:true,max:10}\r\n        }\r\n      }\r\n    });\r\n  }\r\n};\r\n<\/script>\r\n<\/head>\r\n\r\n<body>\r\n  <div class=\"header\">Ficha de Paciente \u00b7 Olas de Vida<\/div>\r\n  <div class=\"subheader\">Evoluci\u00f3n, anal\u00edticas, alertas y exportaci\u00f3n a PDF<\/div>\r\n\r\n  <div class=\"container\">\r\n    <div class=\"nombre\"><\/div>\r\n    <div class=\"idref\"><\/div>\r\n    <div class=\"estado\"><\/div>\r\n\r\n    <div id=\"alertas\" class=\"alertas\"><\/div>\r\n\r\n    <div class=\"botones\">\r\n      <button class=\"btn btn-primario\" onclick=\"volverPanel()\">\u2190 Volver al Panel M\u00e9dico<\/button>\r\n      <button class=\"btn btn-secundario\" onclick=\"exportarPDF()\">Exportar ficha a PDF<\/button>\r\n    <\/div>\r\n\r\n    <h2>\ud83d\udcca Evoluci\u00f3n cl\u00ednica (Dolor \/ \u00c1nimo)<\/h2>\r\n    <canvas id=\"graficoEvolucion\" height=\"200\"><\/canvas>\r\n\r\n    <h2>\ud83d\udcdd Historial de formularios<\/h2>\r\n    <table>\r\n      <tr>\r\n        <th>Fecha<\/th>\r\n        <th>Dolor<\/th>\r\n        <th>\u00c1nimo<\/th>\r\n        <th>Peso<\/th>\r\n        <th>Notas<\/th>\r\n      <\/tr>\r\n      <tbody id=\"hist\"><\/tbody>\r\n    <\/table>\r\n\r\n    <h2>\ud83e\uddea Anal\u00edticas y resultados<\/h2>\r\n    <table>\r\n      <tr>\r\n        <th>Fecha<\/th>\r\n        <th>Hemoglobina<\/th>\r\n        <th>Neutr\u00f3filos<\/th>\r\n        <th>Plaquetas<\/th>\r\n        <th>Observaciones<\/th>\r\n      <\/tr>\r\n      <tbody id=\"lab\"><\/tbody>\r\n    <\/table>\r\n  <\/div>\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-439e130 e-con-full e-flex e-con e-parent\" data-id=\"439e130\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-42055ec elementor-widget elementor-widget-html\" data-id=\"42055ec\" data-element_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<title>Ficha Paciente \u00b7 Olas de Vida<\/title>\r\n\r\n<style>\r\nbody{font-family:Arial;background:#eef2f5;margin:0;}\r\n.header{background:#153e75;color:white;text-align:center;padding:15px;font-size:22px;}\r\n.container{background:white;width:80%;margin:25px auto;padding:20px;border-radius:10px;box-shadow:0px 0px 15px rgba(0,0,0,.15);}\r\nlabel{font-weight:bold;}\r\ntable{width:100%;border-collapse:collapse;margin-top:10px;font-size:14px;}\r\ntd,th{padding:9px;border:1px solid #d8e0e7;}\r\nth{background:#f5f7fa;}\r\n.btn{margin-top:20px;display:inline-block;padding:8px 12px;background:#153e75;color:white;text-decoration:none;border-radius:6px;}\r\n.btn:hover{background:#0b2540;}\r\n.estado{padding:6px 10px;border-radius:6px;color:white;margin-top:8px;display:inline-block;}\r\n.rojo{background:#d62839;} .naranja{background:#ff7f11;} .azul{background:#0077b6;} .verde{background:#2ecc71;}\r\n<\/style>\r\n\r\n<script>\r\nconst DB={\r\n\"ODV-101\":{nombre:\"Mar\u00eda Garc\u00eda\",dolor:9,animo:8,diagn:\"Mama\",hist:[[\"14\/01\",9,8,\"62kg\",\"Dolor alto\"],[\"10\/01\",7,7,\"63kg\",\"Cansancio\"]],lab:[[\"13\/01\",11.1,1300,200,\"Vigilar\"]]},\r\n\"ODV-102\":{nombre:\"Roberto Silva\",dolor:6,animo:5,diagn:\"Linfoma\",hist:[[\"12\/01\",6,5,\"78kg\",\"N\u00e1useas\"]],lab:[[\"11\/01\",10.8,1500,190,\"Seguimiento\"]]},\r\n\"ODV-103\":{nombre:\"Ana Ruiz\",dolor:3,animo:7,diagn:\"Melanoma\",hist:[[\"15\/01\",3,7,\"59kg\",\"Bien\"]],lab:[[\"12\/01\",12.6,2100,245,\"Excelente\"]]},\r\n\"ODV-104\":{nombre:\"Carlos Pe\u00f1a\",dolor:7,animo:6,diagn:\"Pulm\u00f3n\",hist:[[\"11\/01\",7,6,\"72kg\",\"Tos persistente\"]],lab:[[\"07\/01\",10.4,1600,175,\"Riesgo anemia\"]]},\r\n\"ODV-105\":{nombre:\"Luc\u00eda S\u00e1nchez\",dolor:8,animo:5,diagn:\"Sarcoma\",hist:[[\"14\/01\",8,5,\"68kg\",\"Ansiedad\"]],lab:[[\"12\/01\",11.0,1700,190,\"Control\"]]},\r\n\"ODV-106\":{nombre:\"Javier Moreno\",dolor:5,animo:7,diagn:\"Colon\",hist:[[\"09\/01\",5,7,\"85kg\",\"Variable\"]],lab:[[\"05\/01\",12.8,2200,260,\"Bien\"]]},\r\n\"ODV-107\":{nombre:\"Elena Torres\",dolor:2,animo:8,diagn:\"Tiroides\",hist:[[\"13\/01\",2,8,\"55kg\",\"Estable\"]],lab:[[\"10\/01\",13.0,2400,270,\"Perfecto\"]]},\r\n\"ODV-108\":{nombre:\"Miguel Ortiz\",dolor:8,animo:4,diagn:\"P\u00e1ncreas\",hist:[[\"14\/01\",8,4,\"74kg\",\"Dolor agudo\"]],lab:[[\"11\/01\",10.5,1400,185,\"Riesgo alto\"]]},\r\n\"ODV-109\":{nombre:\"Rosa Medina\",dolor:4,animo:7,diagn:\"Leucemia\",hist:[[\"13\/01\",4,7,\"63kg\",\"Buen \u00e1nimo\"]],lab:[[\"10\/01\",11.9,2000,205,\"Correcto\"]]},\r\n\"ODV-110\":{nombre:\"Daniel Vega\",dolor:1,animo:8,diagn:\"Ri\u00f1\u00f3n\",hist:[[\"16\/01\",1,8,\"81kg\",\"Sin s\u00edntomas\"]],lab:[[\"14\/01\",13.4,2600,275,\"Excelente\"]]}\r\n};\r\n\r\nfunction load(){\r\n    let id=new URLSearchParams(location.search).get(\"id\")||\"ODV-101\";\r\n    let p=DB[id];\r\n    document.getElementById(\"nombre\").innerText=p.nombre;\r\n    document.getElementById(\"dx\").innerText=p.diagn;\r\n\r\n    let est=document.getElementById(\"estado\");\r\n    if(p.dolor>=8||p.lab?.[0][2]<1500) est.className=\"estado rojo\",est.innerText=\"CR\u00cdTICA\";\r\n    else if(p.dolor>=6) est.className=\"estado naranja\",est.innerText=\"ALTA\";\r\n    else if(p.dolor>=3) est.className=\"estado azul\",est.innerText=\"MEDIA\";\r\n    else est.className=\"estado verde\",est.innerText=\"BAJA\";\r\n\r\n    document.getElementById(\"hlist\").innerHTML=p.hist.map(x=>`<tr><td>${x[0]}<\/td><td>${x[1]}\/10<\/td><td>${x[2]}\/10<\/td><td>${x[3]}<\/td><td>${x[4]}<\/td><\/tr>`).join(\"\");\r\n    document.getElementById(\"labs\").innerHTML=p.lab.map(x=>`<tr><td>${x[0]}<\/td><td>${x[1]}<\/td><td>${x[2]}<\/td><td>${x[3]}k<\/td><td>${x[4]}<\/td><\/tr>`).join(\"\");\r\n}\r\n<\/script>\r\n<\/head>\r\n\r\n<body onload=\"load()\">\r\n\r\n<div class=\"header\">\ud83e\ude7a Ficha Paciente \u2014 Olas de Vida<\/div>\r\n\r\n<div class=\"container\">\r\n    <h2 id=\"nombre\"><\/h2>\r\n    <label>Diagn\u00f3stico:<\/label> <span id=\"dx\"><\/span><br>\r\n    <span id=\"estado\"><\/span>\r\n\r\n    <h2>\ud83d\udcca Evoluci\u00f3n hist\u00f3rica<\/h2>\r\n    <table><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><tbody id=\"hlist\"><\/tbody><\/table>\r\n\r\n    <h2>\ud83e\uddea Anal\u00edticas<\/h2>\r\n    <table><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutrofilos<\/th><th>Plaquetas<\/th><th>Observaciones<\/th><\/tr><tbody id=\"labs\"><\/tbody><\/table>\r\n\r\n    <a href=\"bandeja_medicos.html\" class=\"btn\">\u2190 Volver<\/a>\r\n<\/div>\r\n\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-3b31edb e-flex e-con-boxed e-con e-parent\" data-id=\"3b31edb\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-88e169c elementor-widget elementor-widget-html\" data-id=\"88e169c\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ================= Olas de Vida \u00b7 Panel M\u00e9dico V7 ================= -->\r\n\r\n<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"UTF-8\"\/>\r\n<title>Olas de Vida \u00b7 Panel M\u00e9dico V7<\/title>\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n\r\n<style>\r\n\/* ======= BASE ======= *\/\r\nbody{\r\n  margin:0;background:#020617;font-family:Arial;color:#e5e7eb;\r\n}\r\n.ov-root{\r\n  max-width:1200px;margin:auto;padding:18px;\r\n  background:#020617;border-radius:18px;\r\n  box-shadow:0 0 40px #0008;\r\n  border:1px solid #3456AA60;\r\n}\r\n\r\n\/* ======= HEADER ======= *\/\r\n.ov-header{\r\n  background:linear-gradient(120deg,#45C6FF,#2484F7,#051225);\r\n  padding:20px;border-radius:14px;margin-bottom:16px;\r\n}\r\n.ov-header .t1{font-size:22px;font-weight:bold;}\r\n.ov-header .t2{font-size:13px;opacity:.9;margin-top:6px;}\r\n\r\n\/* ======= TARJETAS TOP ======= *\/\r\n.ov-cards{\r\n  display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));\r\n  gap:12px;margin-bottom:14px;\r\n}\r\n.ov-card{\r\n  background:#0B172C;padding:10px;border-radius:10px;\r\n  border:1px solid #2F4A7F;\r\n}\r\n.ov-card span{display:block;}\r\n.c1{font-size:11px;text-transform:uppercase;color:#9CA3AF;}\r\n.c2{font-size:22px;font-weight:bold;margin-top:6px;}\r\n.c3{font-size:10px;color:#48F0CF;margin-top:6px;}\r\n\r\n\/* ======= BANDEJA PACIENTES ======= *\/\r\n.ov-table-box{\r\n  background:#0C162B;border-radius:12px;border:1px solid #334561;\r\n  padding:14px;margin-bottom:16px;\r\n}\r\n.ov-table-box .ttl{font-size:15px;font-weight:600;margin-bottom:3px;}\r\n.ov-table-box .sub{font-size:11px;color:#9CA3AF;margin-bottom:8px;}\r\n\r\n.ov-scroll{max-height:260px;overflow-y:auto;}\r\n.ov-scroll::-webkit-scrollbar{width:6px;}\r\n.ov-scroll::-webkit-scrollbar-thumb{background:#4b5c7a;border-radius:4px;}\r\n\r\ntable{width:100%;border-collapse:collapse;font-size:12px;}\r\nth{background:#0A1222;color:#9CA3AF;padding:6px;position:sticky;top:0;text-align:left;font-size:11px;}\r\ntd{padding:7px;border-bottom:1px solid #1F2B44;}\r\ntr:hover td{background:#15263F;cursor:pointer;}\r\n\r\n.ov-name{color:#82B8FF;text-decoration:none;}\r\n.ov-name:hover{text-decoration:underline;}\r\n\r\n.rowActive td{background:#1E3C72!important;}\r\n\r\n\/* Estados *\/\r\n.st{font-size:10px;padding:2px 6px;border-radius:6px;font-weight:bold;}\r\n.c{background:#ffadad;color:#600;} \r\n.a{background:#ffe3b3;color:#7a3e00;}\r\n.m{background:#cde5ff;color:#00499e;}\r\n.e{background:#C4FFD3;color:#056a2b;}\r\n\r\n\/* ======= BOT\u00d3N GEN\u00c9RICO ======= *\/\r\n.btn{\r\n  display:inline-block;margin-top:6px;\r\n  padding:6px 10px;border-radius:999px;\r\n  border:1px solid #4b7ad6;background:#1a2b4f;\r\n  color:#e5e7eb;font-size:11px;cursor:pointer;\r\n  text-transform:uppercase;letter-spacing:.05em;\r\n}\r\n.btn:hover{filter:brightness(1.08);}\r\n\r\n\/* ======= PANEL INFERIOR ======= *\/\r\n.bottom{\r\n  display:grid;grid-template-columns:1fr 1.4fr 1fr;\r\n  gap:12px;margin-top:10px;\r\n}\r\n\r\n\/* PDF *\/\r\n.pdf{\r\n  background:#0B1528;border-radius:10px;border:1px solid #38557c;padding:12px;\r\n}\r\n.pdf .ttl{font-size:14px;margin-bottom:6px;}\r\n.pdf-sub{font-size:11px;margin-bottom:10px;color:#9CA3AF;}\r\n.pdfView{\r\n  font-size:11px;padding:8px;border-radius:10px;border:1px dashed #8596b5;\r\n  background:#0d1b35;margin-top:8px;min-height:54px;\r\n}\r\n\r\n\/* === JULI\u00c1N \u2013 CONTENEDOR PRINCIPAL === *\/\r\n.julian{\r\n  background:#081424;border-radius:10px;border:1px solid #2D5B93;\r\n  padding:14px;text-align:center;\r\n}\r\n.jtitle{font-size:15px;font-weight:bold;margin-bottom:6px;}\r\n.jWrap{\r\n  border:1px solid #325a8a;border-radius:8px;overflow:hidden;margin-top:10px;\r\n}\r\n.jWrap iframe{width:100%;height:260px;border:0;}\r\n\r\n\/* GR\u00c1FICAS *\/\r\n.chartBox{background:#0B1528;border-radius:10px;border:1px solid #334561;padding:12px;}\r\n.chartBox .ttl{font-size:14px;margin-bottom:8px;}\r\n.chartSpace{\r\n  background:#111b30;border-radius:8px;padding:6px;height:90px;margin-bottom:10px;\r\n  display:flex;align-items:center;justify-content:center;position:relative;\r\n}\r\n.chartSpace canvas{\r\n  width:100%!important;height:100%!important;\r\n}\r\n.chartPlaceholder{\r\n  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;\r\n  font-size:11px;color:#9CA3AF;\r\n}\r\n\r\n\/* ===== MODAL FLOTANTE + M\u00d3VIL ===== *\/\r\n#modalBg{\r\n  position:fixed;inset:0;display:none;\r\n  align-items:center;justify-content:center;\r\n  pointer-events:none;z-index:9999;\r\n}\r\n#modal{\r\n  background:#041020;border:1px solid #355A9F;padding:14px 14px 18px;\r\n  border-radius:14px;width:580px;height:390px;overflow:auto;\r\n  animation:pop .28s ease-out;\r\n  pointer-events:auto;position:fixed;\r\n  top:50%;left:50%;transform:translate(-50%,-50%);\r\n  box-shadow:0 20px 40px #000a;\r\n}\r\n@keyframes pop{\r\n  from{transform:translate(-50%,-50%) scale(.65);opacity:0;}\r\n  to{transform:translate(-50%,-50%) scale(1);opacity:1;}\r\n}\r\n.mTop{\r\n  font-size:15px;font-weight:bold;margin-bottom:6px;\r\n  cursor:move;padding-right:26px;\r\n}\r\n.mClose{\r\n  position:absolute;right:10px;top:8px;\r\n  font-size:18px;cursor:pointer;color:#88a6ff;\r\n}\r\n<\/style>\r\n<\/head>\r\n\r\n<body>\r\n\r\n<div class=\"ov-root\">\r\n\r\n  <!-- HEADER -->\r\n  <div class=\"ov-header\">\r\n    <div class=\"t1\">Olas de Vida \u2013 Panel M\u00e9dico<\/div>\r\n    <div class=\"t2\">Monitorizaci\u00f3n oncol\u00f3gica \u00b7 PDFs \u00b7 IA \u00b7 Evoluci\u00f3n<\/div>\r\n  <\/div>\r\n\r\n  <!-- CARDS -->\r\n  <div class=\"ov-cards\">\r\n    <div class=\"ov-card\"><span class=\"c1\">Pacientes<\/span><span class=\"c2\">10<\/span><span class=\"c3\">Activos<\/span><\/div>\r\n    <div class=\"ov-card\"><span class=\"c1\">Cr\u00edticos<\/span><span class=\"c2\">3<\/span><span class=\"c3\">Reporte urgente<\/span><\/div>\r\n    <div class=\"ov-card\"><span class=\"c1\">Seguimiento<\/span><span class=\"c2\">4<\/span><span class=\"c3\">Alta atenci\u00f3n<\/span><\/div>\r\n    <div class=\"ov-card\"><span class=\"c1\">Adherencia<\/span><span class=\"c2\">87%<\/span><span class=\"c3\">Promedio general<\/span><\/div>\r\n  <\/div>\r\n\r\n  <!-- BANDEJA -->\r\n  <div class=\"ov-table-box\">\r\n    <div class=\"ttl\">\ud83d\udce5 Bandeja de Pacientes<\/div>\r\n    <div class=\"sub\">Selecciona uno para ver PDF y evoluci\u00f3n \u00b7 clic en nombre = ficha en popup movible<\/div>\r\n\r\n    <div class=\"ov-scroll\">\r\n      <table id=\"pacTbl\">\r\n        <thead>\r\n          <tr>\r\n            <th>Nombre<\/th><th>ID<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Temp<\/th><th>Peso<\/th><th>Form.24h<\/th><th>Estado<\/th>\r\n          <\/tr>\r\n        <\/thead>\r\n        <tbody>\r\n          <tr data-id=\"001\">\r\n            <td><span class=\"ov-name\">Mar\u00eda Garc\u00eda<\/span><\/td><td>ODV001<\/td><td>9<\/td><td>7<\/td><td>38.8\u00ba<\/td><td>62kg<\/td><td>3<\/td><td><span class=\"st c\">CR\u00cdTICO<\/span><\/td>\r\n          <\/tr>\r\n          <tr data-id=\"002\">\r\n            <td><span class=\"ov-name\">Roberto Silva<\/span><\/td><td>ODV002<\/td><td>6<\/td><td>3<\/td><td>37.1\u00ba<\/td><td>78kg<\/td><td>2<\/td><td><span class=\"st a\">ALTO<\/span><\/td>\r\n          <\/tr>\r\n          <tr data-id=\"003\">\r\n            <td><span class=\"ov-name\">Ana Fern\u00e1ndez<\/span><\/td><td>ODV003<\/td><td>6<\/td><td>7<\/td><td>36.9\u00ba<\/td><td>68kg<\/td><td>2<\/td><td><span class=\"st m\">MEDIA<\/span><\/td>\r\n          <\/tr>\r\n          <tr data-id=\"004\">\r\n            <td><span class=\"ov-name\">Javier Rodr\u00edguez<\/span><\/td><td>ODV004<\/td><td>3<\/td><td>7<\/td><td>36.7\u00ba<\/td><td>74kg<\/td><td>1<\/td><td><span class=\"st e\">ESTABLE<\/span><\/td>\r\n          <\/tr>\r\n          <tr data-id=\"005\">\r\n            <td><span class=\"ov-name\">Laura Herrera<\/span><\/td><td>ODV005<\/td><td>5<\/td><td>6<\/td><td>37.0\u00ba<\/td><td>60kg<\/td><td>2<\/td><td><span class=\"st m\">MEDIA<\/span><\/td>\r\n          <\/tr>\r\n          <tr data-id=\"006\">\r\n            <td><span class=\"ov-name\">Carmen Ramos<\/span><\/td><td>ODV006<\/td><td>7<\/td><td>5<\/td><td>37.3\u00ba<\/td><td>70kg<\/td><td>1<\/td><td><span class=\"st a\">ALTO<\/span><\/td>\r\n          <\/tr>\r\n          <tr data-id=\"007\">\r\n            <td><span class=\"ov-name\">Daniel Mu\u00f1oz<\/span><\/td><td>ODV007<\/td><td>8<\/td><td>5<\/td><td>37.5\u00ba<\/td><td>65kg<\/td><td>2<\/td><td><span class=\"st c\">CR\u00cdTICO<\/span><\/td>\r\n          <\/tr>\r\n          <tr data-id=\"008\">\r\n            <td><span class=\"ov-name\">Elena Torres<\/span><\/td><td>ODV008<\/td><td>5<\/td><td>6<\/td><td>38.8\u00ba<\/td><td>63kg<\/td><td>1<\/td><td><span class=\"st c\">CR\u00cdTICO<\/span><\/td>\r\n          <\/tr>\r\n          <tr data-id=\"009\">\r\n            <td><span class=\"ov-name\">Alberto Paredes<\/span><\/td><td>ODV009<\/td><td>3<\/td><td>7<\/td><td>36.8\u00ba<\/td><td>80kg<\/td><td>1<\/td><td><span class=\"st m\">MEDIA<\/span><\/td>\r\n          <\/tr>\r\n          <tr data-id=\"010\">\r\n            <td><span class=\"ov-name\">Luc\u00eda Romero<\/span><\/td><td>ODV010<\/td><td>4<\/td><td>5<\/td><td>36.9\u00ba<\/td><td>66kg<\/td><td>2<\/td><td><span class=\"st a\">ALTO<\/span><\/td>\r\n          <\/tr>\r\n        <\/tbody>\r\n      <\/table>\r\n    <\/div>\r\n  <\/div>\r\n\r\n  <!-- SECCI\u00d3N JULIAN + PDF + GR\u00c1FICAS -->\r\n  <div class=\"bottom\">\r\n\r\n    <div class=\"pdf\">\r\n      <div class=\"ttl\">\ud83d\udcc4 PDF \u2014 M\u00e9dico \/ Paciente<\/div>\r\n      <div class=\"pdf-sub\">Resumen r\u00e1pido imprimible del paciente seleccionado.<\/div>\r\n      <div id=\"pdfBox\" class=\"pdfView\">\ud83d\udc47 Selecciona un paciente en la bandeja.<\/div>\r\n    <\/div>\r\n\r\n    <div class=\"julian\">\r\n      <div class=\"jtitle\">\ud83e\udd16 Juli\u00e1n \u2014 IA M\u00e9dico Asistencial<\/div>\r\n      <div>Modo activo \u00b7 Apoyo al onc\u00f3logo seg\u00fan los datos del paciente.<\/div>\r\n      <div class=\"jWrap\">\r\n        <iframe src=\"https:\/\/eu.jotform.com\/agent\/019ad9bc86b471129ecafec7a28f03a41b91\"><\/iframe>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"chartBox\">\r\n      <div class=\"ttl\">\ud83d\udcc8 Evoluci\u00f3n semanal y global<\/div>\r\n      <div class=\"chartSpace\">\r\n        <canvas id=\"weekCanvas\"><\/canvas>\r\n        <div id=\"phWeek\" class=\"chartPlaceholder\">Semana \u00b7 Selecciona un paciente<\/div>\r\n      <\/div>\r\n      <div class=\"chartSpace\">\r\n        <canvas id=\"globalCanvas\"><\/canvas>\r\n        <div id=\"phGlobal\" class=\"chartPlaceholder\">Global \u00b7 Selecciona un paciente<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n<\/div>\r\n\r\n<!-- MODAL FLOTANTE Y M\u00d3VIL -->\r\n<div id=\"modalBg\">\r\n  <div id=\"modal\">\r\n    <span class=\"mClose\" onclick=\"closeModal()\">\u2716<\/span>\r\n    <div class=\"mTop\" id=\"modalHeader\">Ficha del Paciente<\/div>\r\n    <div id=\"modalContent\"><\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n\/\/ ====== DATOS DE EJEMPLO ======\r\nconst patients={\r\n  \"001\":{n:\"Mar\u00eda Garc\u00eda\",pdf:\"Dolor 9\/10 \u00b7 Fiebre 38.8\u00ba \u00b7 Riesgo alto \u00b7 Revisar en consulta hoy.\",week:[7,8,8,9,9,9,9],global:[4,5,6,7,8,9]},\r\n  \"002\":{n:\"Roberto Silva\",pdf:\"\u00c1nimo 3\/10 \u00b7 S\u00edntomas depresivos \u00b7 Coordinar apoyo psico-oncol\u00f3gico.\",week:[4,4,5,5,6,6,6],global:[3,3,4,4,4,4]},\r\n  \"003\":{n:\"Ana Fern\u00e1ndez\",pdf:\"Estable \u00b7 Fatiga moderada \u00b7 Buen control anal\u00edtico.\",week:[6,6,7,7,7,7,7],global:[4,5,6,6,6,6]},\r\n  \"004\":{n:\"Javier Rodr\u00edguez\",pdf:\"Muy estable \u00b7 Disnea leve de esfuerzo.\",week:[2,3,3,3,3,3,3],global:[2,2,3,3,3,3]},\r\n  \"005\":{n:\"Laura Herrera\",pdf:\"N\u00e1useas frecuentes \u00b7 Vigilar hidrataci\u00f3n y peso.\",week:[4,4,5,5,5,5,5],global:[3,4,4,5,5,5]},\r\n  \"006\":{n:\"Carmen Ramos\",pdf:\"Dolor abdominal 7\/10 \u00b7 Posible ajuste de analgesia.\",week:[6,6,7,7,7,7,7],global:[5,6,6,7,7,7]},\r\n  \"007\":{n:\"Daniel Mu\u00f1oz\",pdf:\"Cr\u00edtico \u00b7 P\u00e9rdida de peso \u00b7 Valorar ingreso.\",week:[7,7,8,8,8,8,8],global:[6,7,7,8,8,8]},\r\n  \"008\":{n:\"Elena Torres\",pdf:\"Fiebre 38.8\u00ba \u00b7 Sospecha neutropenia \u00b7 Urgencias.\",week:[4,4,5,5,5,5,5],global:[3,4,4,5,5,5]},\r\n  \"009\":{n:\"Alberto Paredes\",pdf:\"S\u00edntomas controlados \u00b7 Dolor leve.\",week:[2,2,3,3,3,3,3],global:[2,2,3,3,3,3]},\r\n  \"010\":{n:\"Luc\u00eda Romero\",pdf:\"Ansiedad variable \u00b7 D\u00edas buenos y malos.\",week:[3,4,4,4,4,4,4],global:[3,3,4,4,4,4]}\r\n};\r\n\r\n\/\/ ====== SELECCI\u00d3N EN TABLA ======\r\nlet rows=document.querySelectorAll(\"#pacTbl tbody tr\");\r\nconst pdfBox=document.getElementById(\"pdfBox\");\r\n\r\nfunction drawChart(canvasId,data,color){\r\n  const canvas=document.getElementById(canvasId);\r\n  if(!canvas) return;\r\n  const ctx=canvas.getContext(\"2d\");\r\n  const w=canvas.width=canvas.offsetWidth;\r\n  const h=canvas.height=canvas.offsetHeight;\r\n\r\n  ctx.clearRect(0,0,w,h);\r\n\r\n  \/\/ Ejes simples\r\n  ctx.strokeStyle=\"#263557\";\r\n  ctx.lineWidth=1;\r\n  ctx.beginPath();\r\n  ctx.moveTo(10,h-10);\r\n  ctx.lineTo(w-10,h-10);\r\n  ctx.moveTo(20,10);\r\n  ctx.lineTo(20,h-10);\r\n  ctx.stroke();\r\n\r\n  if(!data || !data.length) return;\r\n\r\n  const max=Math.max(...data);\r\n  const min=Math.min(...data);\r\n  const span=max-min || 1;\r\n  const step=(w-40)\/(data.length-1);\r\n\r\n  ctx.strokeStyle=color;\r\n  ctx.lineWidth=2;\r\n  ctx.beginPath();\r\n  data.forEach((v,i)=>{\r\n    const x=20+i*step;\r\n    const y=h-10-((v-min)\/span)*(h-30);\r\n    if(i===0) ctx.moveTo(x,y); else ctx.lineTo(x,y);\r\n  });\r\n  ctx.stroke();\r\n\r\n  \/\/ Puntos\r\n  ctx.fillStyle=color;\r\n  data.forEach((v,i)=>{\r\n    const x=20+i*step;\r\n    const y=h-10-((v-min)\/span)*(h-30);\r\n    ctx.beginPath();ctx.arc(x,y,3,0,Math.PI*2);ctx.fill();\r\n  });\r\n}\r\n\r\nfunction selectPatientRow(tr){\r\n  rows.forEach(x=>x.classList.remove(\"rowActive\"));\r\n  tr.classList.add(\"rowActive\");\r\n  const id=tr.dataset.id;\r\n  const p=patients[id];\r\n  if(!p) return;\r\n\r\n  \/\/ PDF con bot\u00f3n de impresi\u00f3n\r\n  pdfBox.innerHTML = `\r\n    <strong>${p.n}<\/strong> (${tr.cells[1].textContent})<br>\r\n    ${p.pdf}\r\n    <br><button class=\"btn\" onclick=\"window.print()\">Generar PDF m\u00e9dico\/paciente<\/button>\r\n  `;\r\n\r\n  \/\/ Ocultar placeholders y dibujar curvas\r\n  document.getElementById(\"phWeek\").style.display=\"none\";\r\n  document.getElementById(\"phGlobal\").style.display=\"none\";\r\n  drawChart(\"weekCanvas\",p.week,\"#3B82F6\");\r\n  drawChart(\"globalCanvas\",p.global,\"#22C55E\");\r\n}\r\n\r\n\/\/ Click fila (cualquier parte)\r\nrows.forEach(r=>{\r\n  r.addEventListener(\"click\",()=>selectPatientRow(r));\r\n});\r\n\r\n\/\/ Click en nombre = seleccionar + abrir popup\r\ndocument.querySelectorAll(\".ov-name\").forEach(n=>{\r\n  n.addEventListener(\"click\",e=>{\r\n    e.stopPropagation();\r\n    const tr=n.closest(\"tr\");\r\n    if(tr) selectPatientRow(tr);\r\n    openModal(n.innerText,tr.cells[1].textContent);\r\n  });\r\n});\r\n\r\n\/\/ ====== MODAL (M\u00d3VIL) ======\r\nconst modalBg=document.getElementById(\"modalBg\");\r\nconst modal=document.getElementById(\"modal\");\r\nconst modalHeader=document.getElementById(\"modalHeader\");\r\nconst modalContent=document.getElementById(\"modalContent\");\r\n\r\nfunction openModal(name,id){\r\n  modalBg.style.display=\"flex\";\r\n  modalContent.innerHTML=`\r\n    <b>${name}<\/b> \u00b7 ${id || \"\"}<br><br>\r\n    \u2022 Datos ampliados del paciente (demo).<br>\r\n    \u2022 Esta ficha se puede mover con el rat\u00f3n.<br>\r\n    \u2022 El PDF y las curvas de abajo ya est\u00e1n filtrados para este paciente.<br>\r\n  `;\r\n}\r\nfunction closeModal(){\r\n  modalBg.style.display=\"none\";\r\n}\r\n\r\n\/\/ Hacer modal movible\r\nlet isDrag=false, offX=0, offY=0;\r\nmodalHeader.addEventListener(\"mousedown\",e=>{\r\n  isDrag=true;\r\n  offX=e.clientX-modal.offsetLeft;\r\n  offY=e.clientY-modal.offsetTop;\r\n  document.addEventListener(\"mousemove\",onMove);\r\n  document.addEventListener(\"mouseup\",stopDrag);\r\n});\r\nfunction onMove(e){\r\n  if(!isDrag) return;\r\n  modal.style.top=(e.clientY-offY)+\"px\";\r\n  modal.style.left=(e.clientX-offX)+\"px\";\r\n  modal.style.transform=\"none\"; \/\/ cancela el translate\r\n}\r\nfunction stopDrag(){\r\n  isDrag=false;\r\n  document.removeEventListener(\"mousemove\",onMove);\r\n  document.removeEventListener(\"mouseup\",stopDrag);\r\n}\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\r\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-f3e8d4d e-flex e-con-boxed e-con e-parent\" data-id=\"f3e8d4d\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d33356b elementor-widget elementor-widget-html\" data-id=\"d33356b\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- ===================== Olas de Vida \u00b7 Panel M\u00e9dico V8 ===================== -->\r\n\r\n<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"UTF-8\"\/>\r\n<title>Olas de Vida \u00b7 Panel M\u00e9dico V8<\/title>\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\r\n\r\n<style>\r\n\/* ====== BASE ====== *\/\r\nbody{margin:0;background:#020617;font-family:Arial;color:#e5e7eb;}\r\n.ov-root{max-width:1200px;margin:auto;padding:18px;background:#020617;border-radius:18px;border:1px solid #3456AA60;box-shadow:0 0 40px #0008}\r\n\r\n\/* ====== HEADER ====== *\/\r\n.ov-header{background:linear-gradient(120deg,#45C6FF,#2484F7,#051225);padding:20px;border-radius:14px;margin-bottom:16px;}\r\n.ov-header .t1{font-size:22px;font-weight:bold;}\r\n.ov-header .t2{font-size:13px;opacity:.9;margin-top:6px;}\r\n\r\n\/* ====== CARDS ====== *\/\r\n.ov-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:14px;}\r\n.ov-card{background:#0B172C;padding:10px;border-radius:10px;border:1px solid #2F4A7F}\r\n.ov-card span{display:block;}\r\n.c1{font-size:11px;color:#9CA3AF;text-transform:uppercase}\r\n.c2{font-size:22px;font-weight:bold;margin-top:6px;}\r\n.c3{font-size:10px;color:#48F0CF;margin-top:6px}\r\n\r\n\/* ====== BANDEJA ====== *\/\r\n.ov-table-box{background:#0C162B;border-radius:12px;border:1px solid #334561;padding:14px;margin-bottom:16px;}\r\n.ov-table-box .ttl{font-size:15px;font-weight:600;}\r\n.ov-table-box .sub{font-size:11px;color:#9CA3AF;margin-bottom:8px}\r\n\r\n.ov-scroll{max-height:260px;overflow-y:auto;}\r\n.ov-scroll::-webkit-scrollbar{width:6px}\r\n.ov-scroll::-webkit-scrollbar-thumb{background:#4b5c7a;border-radius:4px}\r\n\r\ntable{width:100%;border-collapse:collapse;font-size:12px}\r\nth{background:#0A1222;padding:6px;color:#9CA3AF;text-align:left;position:sticky;top:0;font-size:11px;}\r\ntd{padding:7px;border-bottom:1px solid #1F2B44;}\r\ntr:hover td{background:#15263F;cursor:pointer;}\r\n\r\n.ov-name{color:#82B8FF;text-decoration:none;font-weight:bold;}\r\n.ov-name:hover{text-decoration:underline}\r\n\r\n.rowActive td{background:#1E3C72!important}\r\n\r\n\/* etiquetas estado *\/\r\n.st{padding:2px 6px;font-size:10px;border-radius:6px;font-weight:bold}\r\n.c{background:#ffadad;color:#600;}\r\n.a{background:#ffe3b3;color:#7a3e00;}\r\n.m{background:#cde5ff;color:#00499e;}\r\n.e{background:#C4FFD3;color:#056a2b}\r\n\r\n\/* ===== BOTTOM ===== *\/\r\n.bottom{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:12px;margin-top:12px}\r\n\r\n\/* PDF *\/\r\n.pdf{background:#0B1528;border-radius:10px;border:1px solid #38557c;padding:12px;}\r\n.pdf .ttl{font-size:14px;margin-bottom:6px;}\r\n.pdf-sub{font-size:11px;color:#9CA3AF;margin-bottom:10px;}\r\n.pdfView{padding:8px;background:#0d1b35;border-radius:10px;border:1px dashed #8596b5;min-height:60px}\r\n\r\n\/* JULIAN *\/\r\n.julian{background:#081424;border-radius:10px;border:1px solid #2D5B93;padding:14px;text-align:center}\r\n.jtitle{font-size:15px;font-weight:bold;margin-bottom:6px;}\r\n.jWrap{border-radius:8px;border:1px solid #325a8a;overflow:hidden;margin-top:10px;}\r\niframe{width:100%;height:260px;border:0}\r\n\r\n\/* GR\u00c1FICAS *\/\r\n.chartBox{background:#0B1528;border-radius:10px;border:1px solid #334561;padding:12px;}\r\n.chartBox .ttl{font-size:14px;margin-bottom:8px;}\r\n.chartSpace{background:#111b30;border-radius:8px;height:90px;margin-bottom:10px;position:relative}\r\ncanvas{width:100%!important;height:100%!important}\r\n.chartPlaceholder{position:absolute;display:flex;align-items:center;justify-content:center;inset:0;color:#9CA3AF;font-size:11px}\r\n\r\n\/* ===== MODAL FLOTANTE ===== *\/\r\n#modalBg{position:fixed;inset:0;display:none;align-items:center;justify-content:center;pointer-events:none;z-index:9999;}\r\n#modal{\r\n background:#041020;border:1px solid #355A9F;padding:15px;border-radius:14px;\r\n width:580px;height:390px;overflow:auto;\r\n position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);\r\n pointer-events:auto;animation:pop .28s ease-out;box-shadow:0px 0px 30px #000;\r\n}\r\n@keyframes pop{from{transform:translate(-50%,-50%) scale(.65);opacity:0;}to{transform:translate(-50%,-50%) scale(1);opacity:1;}}\r\n.mTop{font-size:15px;font-weight:bold;margin-bottom:6px;cursor:move;padding-right:28px}\r\n.mClose{position:absolute;right:10px;top:10px;font-size:18px;color:#9bb2ff;cursor:pointer;}\r\n<\/style>\r\n<\/head>\r\n\r\n<body>\r\n<div class=\"ov-root\">\r\n\r\n<!-- HEADER -->\r\n<div class=\"ov-header\">\r\n <div class=\"t1\">Olas de Vida \u2013 Panel M\u00e9dico<\/div>\r\n <div class=\"t2\">Monitorizaci\u00f3n cl\u00ednica \u00b7 PDFs \u00b7 IA \u00b7 Evoluci\u00f3n<\/div>\r\n<\/div>\r\n\r\n<!-- CARDS -->\r\n<div class=\"ov-cards\">\r\n <div class=\"ov-card\"><span class=\"c1\">Pacientes<\/span><span class=\"c2\">10<\/span><span class=\"c3\">Activos<\/span><\/div>\r\n <div class=\"ov-card\"><span class=\"c1\">Cr\u00edticos<\/span><span class=\"c2\">3<\/span><span class=\"c3\">Bajo observaci\u00f3n<\/span><\/div>\r\n <div class=\"ov-card\"><span class=\"c1\">Seguimiento<\/span><span class=\"c2\">4<\/span><span class=\"c3\">Alta supervisi\u00f3n<\/span><\/div>\r\n <div class=\"ov-card\"><span class=\"c1\">Adherencia<\/span><span class=\"c2\">87%<\/span><span class=\"c3\">Promedio general<\/span><\/div>\r\n<\/div>\r\n\r\n<!-- BANDEJA -->\r\n<div class=\"ov-table-box\">\r\n <div class=\"ttl\">\ud83d\udce5 Bandeja de Pacientes<\/div>\r\n <div class=\"sub\">Pulsa un nombre para ficha \u00b7 Seleccionar fila para PDF + evoluci\u00f3n<\/div>\r\n\r\n<div class=\"ov-scroll\">\r\n<table id=\"pacTbl\">\r\n<thead><tr><th>Nombre<\/th><th>ID<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Temp<\/th><th>Peso<\/th><th>Form.24h<\/th><th>Estado<\/th><\/tr><\/thead>\r\n<tbody>\r\n<tr data-id=\"001\"><td><span class=\"ov-name\">Mar\u00eda Garc\u00eda<\/span><\/td><td>ODV001<\/td><td>9<\/td><td>7<\/td><td>38.8\u00ba<\/td><td>62kg<\/td><td>3<\/td><td><span class=\"st c\">CR\u00cdTICO<\/span><\/td><\/tr>\r\n<tr data-id=\"002\"><td><span class=\"ov-name\">Roberto Silva<\/span><\/td><td>ODV002<\/td><td>6<\/td><td>3<\/td><td>37.1\u00ba<\/td><td>78kg<\/td><td>2<\/td><td><span class=\"st a\">ALTO<\/span><\/td><\/tr>\r\n<tr data-id=\"003\"><td><span class=\"ov-name\">Ana Fern\u00e1ndez<\/span><\/td><td>ODV003<\/td><td>6<\/td><td>7<\/td><td>36.9\u00ba<\/td><td>68kg<\/td><td>2<\/td><td><span class=\"st m\">MEDIA<\/span><\/td><\/tr>\r\n<tr data-id=\"004\"><td><span class=\"ov-name\">Javier Rodr\u00edguez<\/span><\/td><td>ODV004<\/td><td>3<\/td><td>7<\/td><td>36.7\u00ba<\/td><td>74kg<\/td><td>1<\/td><td><span class=\"st e\">ESTABLE<\/span><\/td><\/tr>\r\n<tr data-id=\"005\"><td><span class=\"ov-name\">Laura Herrera<\/span><\/td><td>ODV005<\/td><td>5<\/td><td>6<\/td><td>37.0\u00ba<\/td><td>60kg<\/td><td>2<\/td><td><span class=\"st m\">MEDIA<\/span><\/td><\/tr>\r\n<tr data-id=\"006\"><td><span class=\"ov-name\">Carmen Ramos<\/span><\/td><td>ODV006<\/td><td>7<\/td><td>5<\/td><td>37.3\u00ba<\/td><td>70kg<\/td><td>1<\/td><td><span class=\"st a\">ALTO<\/span><\/td><\/tr>\r\n<tr data-id=\"007\"><td><span class=\"ov-name\">Daniel Mu\u00f1oz<\/span><\/td><td>ODV007<\/td><td>8<\/td><td>5<\/td><td>37.5\u00ba<\/td><td>65kg<\/td><td>2<\/td><td><span class=\"st c\">CR\u00cdTICO<\/span><\/td><\/tr>\r\n<tr data-id=\"008\"><td><span class=\"ov-name\">Elena Torres<\/span><\/td><td>ODV008<\/td><td>5<\/td><td>6<\/td><td>38.8\u00ba<\/td><td>63kg<\/td><td>1<\/td><td><span class=\"st c\">CR\u00cdTICO<\/span><\/td><\/tr>\r\n<tr data-id=\"009\"><td><span class=\"ov-name\">Alberto P\r\n<\/span><\/td><td>ODV009<\/td><td>3<\/td><td>7<\/td><td>36.8\u00ba<\/td><td>80kg<\/td><td>1<\/td><td><span class=\"st m\">MEDIA<\/span><\/td><\/tr>\r\n<tr data-id=\"010\"><td><span class=\"ov-name\">Luc\u00eda Romero<\/span><\/td><td>ODV010<\/td><td>4<\/td><td>5<\/td><td>36.9\u00ba<\/td><td>66kg<\/td><td>2<\/td><td><span class=\"st a\">ALTO<\/span><\/td><\/tr>\r\n<\/tbody><\/table>\r\n<\/div>\r\n<\/div>\r\n\r\n<!-- ==================== PANEL DIN\u00c1MICO ==================== -->\r\n<div class=\"bottom\">\r\n\r\n<div class=\"pdf\">\r\n<div class=\"ttl\">\ud83d\udcc4 PDF M\u00e9dico<\/div>\r\n<div class=\"pdf-sub\">Se carga solo al seleccionar paciente<\/div>\r\n<div id=\"pdfBox\" class=\"pdfView\">\ud83d\udc47 Selecciona un paciente<\/div>\r\n<\/div>\r\n\r\n<div class=\"julian\">\r\n<div class=\"jtitle\">\ud83e\udd16 Juli\u00e1n \u2014 IA asistencial<\/div>\r\n<div>Analiza evoluci\u00f3n y formularios autom\u00e1ticamente<\/div>\r\n<div class=\"jWrap\">\r\n<iframe src=\"https:\/\/eu.jotform.com\/agent\/019ad9bc86b471129ecafec7a28f03a41b91\"><\/iframe>\r\n<\/div>\r\n<\/div>\r\n\r\n<div class=\"chartBox\">\r\n<div class=\"ttl\">\ud83d\udcc8 Evoluci\u00f3n semanal & global<\/div>\r\n<div class=\"chartSpace\"><canvas id=\"weekCanvas\"><\/canvas><div id=\"phWeek\" class=\"chartPlaceholder\">Semana<\/div><\/div>\r\n<div class=\"chartSpace\"><canvas id=\"globalCanvas\"><\/canvas><div id=\"phGlobal\" class=\"chartPlaceholder\">Global<\/div><\/div>\r\n<\/div>\r\n\r\n<\/div>\r\n<\/div>\r\n\r\n<!-- ==================== POPUP ==================== -->\r\n<div id=\"modalBg\">\r\n<div id=\"modal\">\r\n\r\n<span class=\"mClose\" onclick=\"closeModal()\">\u2715<\/span>\r\n<div class=\"mTop\" id=\"modalHeader\">Ficha detallada<\/div>\r\n<div id=\"modalContent\">Selecciona un paciente<\/div>\r\n\r\n<\/div>\r\n<\/div>\r\n\r\n<script>\r\n\/* ========== PACIENTES ========== *\/\r\nconst patients={\r\n\"001\":{n:\"Mar\u00eda Garc\u00eda\",pdf:\"Cr\u00edtica \u00b7 Fiebre 38.8\u00ba\",week:[7,8,8,9,9,9,9],global:[4,5,6,7,8,9]},\r\n\"002\":{n:\"Roberto Silva\",pdf:\"\u00c1nimo 3\/10\",week:[4,4,5,5,6,6,6],global:[3,3,4,4,4,4]},\r\n\"003\":{n:\"Ana Fern\u00e1ndez\",pdf:\"Estable\",week:[6,6,7,7,7,7,7],global:[4,5,6,6,6,6]},\r\n\"004\":{n:\"Javier Rodr\u00edguez\",pdf:\"Muy estable\",week:[2,3,3,3,3,3,3],global:[2,2,3,3,3,3]},\r\n\"005\":{n:\"Laura Herrera\",pdf:\"N\u00e1useas\",week:[4,4,5,5,5,5,5],global:[3,4,4,5,5,5]},\r\n\"006\":{n:\"Carmen Ramos\",pdf:\"Dolor abdominal\",week:[6,6,7,7,7,7,7],global:[5,6,6,7,7,7]},\r\n\"007\":{n:\"Daniel Mu\u00f1oz\",pdf:\"Cr\u00edtico\",week:[7,7,8,8,8,8,8],global:[6,7,7,8,8,8]},\r\n\"008\":{n:\"Elena Torres\",pdf:\"Fiebre alta\",week:[4,4,5,5,5,5,5],global:[3,4,4,5,5,5]},\r\n\"009\":{n:\"Alberto P\",pdf:\"Controlado\",week:[2,2,3,3,3,3,3],global:[2,2,3,3,3,3]},\r\n\"010\":{n:\"Luc\u00eda Romero\",pdf:\"Ansiedad\",week:[3,4,4,4,4,4,4],global:[3,3,4,4,4,4]}\r\n};\r\n\r\n\/* ========== TABLA ========== *\/\r\nconst rows=document.querySelectorAll(\"#pacTbl tbody tr\");\r\nconst pdfBox=document.getElementById(\"pdfBox\");\r\n\r\nfunction drawChart(canvasId,data,color){\r\nconst c=document.getElementById(canvasId).getContext(\"2d\");\r\nconst canvas=document.getElementById(canvasId);\r\nconst w=canvas.width=canvas.offsetWidth,h=canvas.height=canvas.offsetHeight;\r\nc.clearRect(0,0,w,h);\r\nconst max=Math.max(...data),min=Math.min(...data),step=(w-40)\/(data.length-1);\r\nc.strokeStyle=\"#21324f\";c.beginPath();c.moveTo(20,h-10);c.lineTo(w-10,h-10);c.moveTo(20,10);c.lineTo(20,h-10);c.stroke();\r\nc.strokeStyle=color;c.lineWidth=2;c.beginPath();\r\ndata.forEach((v,i)=>{const x=20+i*step,y=h-10-((v-min)\/(max-min))*(h-30);i?c.lineTo(x,y):c.moveTo(x,y)});\r\nc.stroke();data.forEach((v,i)=>{const x=20+i*step,y=h-10-((v-min)\/(max-min))*(h-30);c.beginPath();c.arc(x,y,3,0,7);c.fillStyle=color;c.fill();})}\r\n\r\nfunction selectRow(tr){\r\nrows.forEach(r=>r.classList.remove(\"rowActive\"));tr.classList.add(\"rowActive\");\r\nconst id=tr.dataset.id,p=patients[id];\r\npdfBox.innerHTML=`<b>${p.n}<\/b><br>${p.pdf}<br><button onclick=\"window.print()\">Generar PDF<\/button>`;\r\ndocument.getElementById(\"phWeek\").style.display=\"none\";\r\ndocument.getElementById(\"phGlobal\").style.display=\"none\";\r\ndrawChart(\"weekCanvas\",p.week,\"#3B82F6\");\r\ndrawChart(\"globalCanvas\",p.global,\"#22C55E\");\r\n}\r\n\r\nrows.forEach(tr=>tr.addEventListener(\"click\",()=>selectRow(tr)));\r\n\r\n\/* ========== CLICK EN NOMBRE \u2192 FICHA (YA FUNCIONA) ========== *\/\r\ndocument.querySelectorAll(\".ov-name\").forEach(n=>{\r\nn.addEventListener(\"click\",e=>{\r\ne.stopPropagation();\r\nconst tr=n.closest(\"tr\"),id=tr.dataset.id; selectRow(tr);\r\nopenModal(patients[id].n,id);\r\n});\r\n});\r\n\r\n\/* ========== MODAL ========== *\/\r\nconst modalBg=document.getElementById(\"modalBg\");\r\nconst modal=document.getElementById(\"modal\");\r\nconst modalContent=document.getElementById(\"modalContent\");\r\nconst modalHeader=document.getElementById(\"modalHeader\");\r\n\r\nfunction openModal(nombre,id){\r\nmodalBg.style.display=\"flex\";\r\nmodalContent.innerHTML=`<b>${nombre}<\/b> \u00b7 ODV${id}<br><br>\r\n\ud83d\udcc4 PDF abajo ya filtrado<br>\r\n\ud83d\udcc8 Gr\u00e1ficas actualizadas<br>\r\n\ud83d\udccc Popup movible sin oscurecer fondo<br>`;\r\n}\r\nfunction closeModal(){modalBg.style.display=\"none\"}\r\n\r\n\/* mover modal *\/\r\nlet drag=false,ox,oy;\r\nmodalHeader.addEventListener(\"mousedown\",e=>{\r\ndrag=true;ox=e.clientX-modal.offsetLeft;oy=e.clientY-modal.offsetTop;\r\ndocument.onmousemove=e2=>{if(drag){modal.style.left=(e2.clientX-ox)+\"px\";modal.style.top=(e2.clientY-oy)+\"px\";modal.style.transform=\"none\"}};\r\ndocument.onmouseup=()=>drag=false;\r\n});\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\r\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-445d1dc e-flex e-con-boxed e-con e-parent\" data-id=\"445d1dc\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ac2c702 elementor-widget elementor-widget-html\" data-id=\"ac2c702\" data-element_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  <title>Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/title>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <style>\r\n  \/* ===== DISE\u00d1O GLOBAL ===== *\/\r\n  body{\r\n    margin:0;\r\n    padding:0;\r\n    background:#020617;\r\n    font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n  }\r\n  .ov-root{\r\n    font-family:'Open Sans',sans-serif;\r\n    color:#e5e7eb;\r\n    padding:16px;\r\n  }\r\n  .ov-wrapper{\r\n    max-width:1200px;\r\n    margin:0 auto 32px;\r\n    background:#020617;\r\n    border-radius:18px;\r\n    box-shadow:0 18px 40px rgba(15,23,42,0.9);\r\n    overflow:hidden;\r\n    border:1px solid rgba(148,163,184,0.5);\r\n  }\r\n\r\n  \/* ===== CABECERA PREMIUM ===== *\/\r\n  .ov-header{\r\n    background: radial-gradient(circle at top left,#38bdf8 0%,#0f172a 40%,#020617 100%);\r\n    color:#e5f2ff;\r\n    padding:18px 22px 16px;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:16px;\r\n    flex-wrap:wrap;\r\n  }\r\n  .ov-header-left{max-width:60%;}\r\n  .ov-header-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:22px;\r\n    font-weight:600;\r\n  }\r\n  .ov-header-sub{\r\n    font-size:13px;\r\n    opacity:.9;\r\n    margin-top:4px;\r\n  }\r\n  .ov-header-tag{\r\n    margin-top:8px;\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#93c5fd;\r\n  }\r\n  .ov-header-right{\r\n    text-align:right;\r\n    font-size:12px;\r\n  }\r\n  .ov-header-doc{font-weight:600;}\r\n\r\n  \/* ===== CONTENIDO INTERIOR ===== *\/\r\n  .ov-inner{\r\n    background:linear-gradient(135deg,#020617 0%,#020617 35%,#0b1220 100%);\r\n    padding:18px 18px 20px;\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* DASHBOARD TARJETAS *\/\r\n  .ov-cards{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));\r\n    gap:10px;\r\n    margin-bottom:16px;\r\n  }\r\n  .ov-card{\r\n    background:linear-gradient(135deg,rgba(15,23,42,0.98),rgba(15,23,42,0.85));\r\n    border-radius:12px;\r\n    padding:10px 12px;\r\n    border:1px solid rgba(148,163,184,0.35);\r\n  }\r\n  .ov-card-label{\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#9ca3af;\r\n  }\r\n  .ov-card-value{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:20px;\r\n    font-weight:600;\r\n    margin-top:3px;\r\n  }\r\n  .ov-card-tag{\r\n    font-size:11px;\r\n    margin-top:4px;\r\n    color:#6ee7b7;\r\n  }\r\n  .ov-card-critical .ov-card-value{color:#fecaca;}\r\n  .ov-card-critical .ov-card-tag{color:#fca5a5;}\r\n  .ov-card-warning .ov-card-value{color:#fde68a;}\r\n  .ov-card-warning .ov-card-tag{color:#fcd34d;}\r\n  .ov-card-adherence .ov-card-value{color:#a5b4fc;}\r\n  .ov-card-adherence .ov-card-tag{color:#c4b5fd;}\r\n\r\n  \/* PANEL BANDEJA PACIENTES FULL WIDTH *\/\r\n  .ov-panel{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:12px;\r\n  }\r\n  .ov-panel-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:15px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-panel-sub{\r\n    font-size:12px;\r\n    color:#9ca3af;\r\n    margin-bottom:10px;\r\n  }\r\n\r\n  \/* TABLA BANDEJA AMPLIADA *\/\r\n  .ov-table{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:12px;\r\n  }\r\n  .ov-table th,\r\n  .ov-table td{\r\n    padding:7px 6px;\r\n    border-bottom:1px solid rgba(31,41,55,1);\r\n  }\r\n  .ov-table th{\r\n    background:rgba(15,23,42,0.98);\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:11px;\r\n    text-align:left;\r\n    color:#9ca3af;\r\n    position:sticky;\r\n    top:0;\r\n    z-index:1;\r\n  }\r\n  .ov-table tr:hover td{\r\n    background:rgba(15,23,42,0.85);\r\n  }\r\n  .ov-state{\r\n    font-weight:600;\r\n  }\r\n  .ov-state-critico{color:#fca5a5;}\r\n  .ov-state-alto{color:#fed7aa;}\r\n  .ov-state-moderado{color:#93c5fd;}\r\n  .ov-state-estable{color:#6ee7b7;}\r\n\r\n  .ov-scroll{\r\n    max-height:280px;\r\n    overflow:auto;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar{\r\n    width:6px;\r\n    height:6px;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar-track{\r\n    background:#020617;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar-thumb{\r\n    background:#4b5563;\r\n    border-radius:999px;\r\n  }\r\n\r\n  \/* PANEL L\u00cdNEA INFERIOR: PDF \/ EVOLUCI\u00d3N \/ DYLAN *\/\r\n  .ov-bottom-layout{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));\r\n    gap:12px;\r\n    margin-top:16px;\r\n  }\r\n  .ov-side-box{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:10px;\r\n    font-size:12px;\r\n  }\r\n  .ov-side-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-side-sub{\r\n    font-size:11px;\r\n    color:#9ca3af;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  \/* BOTONES *\/\r\n  .ov-btn{\r\n    display:inline-block;\r\n    padding:7px 12px;\r\n    border-radius:999px;\r\n    border:none;\r\n    font-size:11px;\r\n    font-weight:500;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.07em;\r\n    background:linear-gradient(135deg,#38bdf8,#2563eb);\r\n    color:white;\r\n    cursor:pointer;\r\n    text-decoration:none;\r\n  }\r\n  .ov-btn:hover{filter:brightness(1.05);}\r\n  .ov-btn-sec{\r\n    background:transparent;\r\n    border:1px solid rgba(148,163,184,0.6);\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* TIMELINE GLOBAL SIMPLE *\/\r\n  .ov-timeline{margin-top:4px;}\r\n  .ov-timeline-row{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    font-size:10px;\r\n    color:#9ca3af;\r\n    margin-bottom:2px;\r\n  }\r\n  .ov-timeline-bar-wrap{\r\n    height:6px;\r\n    border-radius:999px;\r\n    background:rgba(31,41,55,1);\r\n    overflow:hidden;\r\n    margin-top:2px;\r\n  }\r\n  .ov-timeline-bar-inner{\r\n    height:100%;\r\n    border-radius:999px;\r\n    background:linear-gradient(90deg,#22c55e,#4ade80);\r\n  }\r\n\r\n  \/* PANEL DYLAN: MINI-CHAT *\/\r\n  .ov-dylan-chat{\r\n    border-radius:10px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    background:rgba(15,23,42,0.9);\r\n    padding:8px;\r\n    max-height:260px;\r\n    display:flex;\r\n    flex-direction:column;\r\n    gap:6px;\r\n  }\r\n  .ov-dylan-messages{\r\n    flex:1;\r\n    overflow:auto;\r\n  }\r\n  .ov-dylan-messages::-webkit-scrollbar{\r\n    width:5px;\r\n  }\r\n  .ov-dylan-messages::-webkit-scrollbar-thumb{\r\n    background:#4b5563;\r\n    border-radius:999px;\r\n  }\r\n  .ov-dylan-msg{\r\n    font-size:11px;\r\n    padding:6px 8px;\r\n    border-radius:8px;\r\n    margin-bottom:4px;\r\n    max-width:100%;\r\n  }\r\n  .ov-dylan-msg-bot{\r\n    background:rgba(37,99,235,0.18);\r\n    border:1px solid rgba(59,130,246,0.4);\r\n  }\r\n  .ov-dylan-msg-user{\r\n    background:rgba(15,23,42,1);\r\n    border:1px solid rgba(75,85,99,0.9);\r\n    text-align:right;\r\n  }\r\n  .ov-dylan-input{\r\n    margin-top:4px;\r\n    display:flex;\r\n    gap:6px;\r\n  }\r\n  .ov-dylan-input input{\r\n    flex:1;\r\n    border-radius:999px;\r\n    border:1px solid rgba(75,85,99,0.9);\r\n    background:#020617;\r\n    color:#e5e7eb;\r\n    padding:6px 9px;\r\n    font-size:11px;\r\n  }\r\n  .ov-dylan-input input::placeholder{\r\n    color:#6b7280;\r\n  }\r\n  .ov-dylan-input button{\r\n    border-radius:999px;\r\n    border:none;\r\n    padding:6px 10px;\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    background:linear-gradient(135deg,#38bdf8,#2563eb);\r\n    color:white;\r\n    cursor:pointer;\r\n  }\r\n\r\n  @media(max-width:980px){\r\n    .ov-header-left{max-width:100%;}\r\n  }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"ov-root\">\r\n  <div class=\"ov-wrapper\">\r\n\r\n    <!-- CABECERA -->\r\n    <div class=\"ov-header\">\r\n      <div class=\"ov-header-left\">\r\n        <div class=\"ov-header-title\">Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/div>\r\n        <div class=\"ov-header-sub\">Monitorizaci\u00f3n oncol\u00f3gica \u00b7 Pacientes, evoluci\u00f3n, anal\u00edticas y formularios<\/div>\r\n        <div class=\"ov-header-tag\">vista demo \u00b7 pensada para wordpress \/ elementor<\/div>\r\n      <\/div>\r\n      <div class=\"ov-header-right\">\r\n        <div class=\"ov-header-doc\">Unidad de Oncolog\u00eda \u00b7 Olas de Vida<\/div>\r\n        <div>Versi\u00f3n demostraci\u00f3n con 10 pacientes<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ov-inner\">\r\n\r\n      <!-- DASHBOARD SUPERIOR -->\r\n      <div class=\"ov-cards\">\r\n        <div class=\"ov-card\">\r\n          <div class=\"ov-card-label\">Pacientes activos<\/div>\r\n          <div class=\"ov-card-value\">10<\/div>\r\n          <div class=\"ov-card-tag\">Muestra de trabajo<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-critical\">\r\n          <div class=\"ov-card-label\">Alertas cr\u00edticas<\/div>\r\n          <div class=\"ov-card-value\">3<\/div>\r\n          <div class=\"ov-card-tag\">Dolor \/ fiebre \/ \u00e1nimo<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-warning\">\r\n          <div class=\"ov-card-label\">Alta supervisi\u00f3n<\/div>\r\n          <div class=\"ov-card-value\">4<\/div>\r\n          <div class=\"ov-card-tag\">Seguimiento cercano<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-adherence\">\r\n          <div class=\"ov-card-label\">Adherencia reportes<\/div>\r\n          <div class=\"ov-card-value\">87%<\/div>\r\n          <div class=\"ov-card-tag\">\u00daltimos 14 d\u00edas<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- BANDEJA PACIENTES FULL WIDTH AMPLIADA -->\r\n      <div class=\"ov-panel\">\r\n        <div class=\"ov-panel-title\">\ud83d\udce5 Bandeja de pacientes<\/div>\r\n        <div class=\"ov-panel-sub\">\r\n          Vista cl\u00ednica r\u00e1pida. M\u00e1s columnas con informaci\u00f3n relevante de cada paciente.\r\n        <\/div>\r\n        <div class=\"ov-scroll\">\r\n          <table class=\"ov-table\">\r\n            <thead>\r\n              <tr>\r\n                <th>Paciente<\/th>\r\n                <th>ID<\/th>\r\n                <th>Diagn\u00f3stico<\/th>\r\n                <th>Dolor<\/th>\r\n                <th>\u00c1nimo<\/th>\r\n                <th>Estado<\/th>\r\n                <th>\u00daltimo formulario<\/th>\r\n              <\/tr>\r\n            <\/thead>\r\n            <tbody>\r\n              <tr>\r\n                <td>Mar\u00eda Garc\u00eda L\u00f3pez<\/td>\r\n                <td>ODV001<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 4\/6<\/td>\r\n                <td>9\/10<\/td>\r\n                <td>8\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 08:40<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Roberto Silva Jim\u00e9nez<\/td>\r\n                <td>ODV002<\/td>\r\n                <td>Linfoma \u00b7 Ciclo 2\/8<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>3\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Ayer \u00b7 20:10<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Ana Fern\u00e1ndez L\u00f3pez<\/td>\r\n                <td>ODV003<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 3\/6<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 07:50<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Javier Rodr\u00edguez Santos<\/td>\r\n                <td>ODV004<\/td>\r\n                <td>Ca pulm\u00f3n \u00b7 Ciclo 5\/6<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-estable\">ESTABLE<\/td>\r\n                <td>Ayer \u00b7 18:33<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Laura Herrera Funes<\/td>\r\n                <td>ODV005<\/td>\r\n                <td>Ca ovario \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 10:15<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Carmen Ramos Vidal<\/td>\r\n                <td>ODV006<\/td>\r\n                <td>Ca colon \u00b7 Ciclo 1\/8<\/td>\r\n                <td>7\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hace 3h<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Daniel Mu\u00f1oz Ortega<\/td>\r\n                <td>ODV007<\/td>\r\n                <td>Ca p\u00e1ncreas \u00b7 Ciclo 3\/12<\/td>\r\n                <td>8\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 09:10<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Elena Torres D\u00edaz<\/td>\r\n                <td>ODV008<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hace 45 min<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Alberto Paredes Luna<\/td>\r\n                <td>ODV009<\/td>\r\n                <td>Ca pr\u00f3stata \u00b7 Hormono + RT<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Ayer \u00b7 14:22<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Luc\u00eda Romero Salvat<\/td>\r\n                <td>ODV010<\/td>\r\n                <td>Ca mama \u00b7 Terapia dirigida<\/td>\r\n                <td>4\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hoy \u00b7 11:05<\/td>\r\n              <\/tr>\r\n            <\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- L\u00cdNEA INFERIOR: PDF \/ EVOLUCI\u00d3N GLOBAL \/ DYLAN -->\r\n      <div class=\"ov-bottom-layout\">\r\n\r\n        <!-- PANEL PDF DOCTOR\/PACIENTE -->\r\n        <div class=\"ov-side-box\">\r\n          <div class=\"ov-side-title\">\ud83d\udcc4 PDF Doctor \/ Paciente<\/div>\r\n          <div class=\"ov-side-sub\">\r\n            Primera versi\u00f3n simple: usa la impresi\u00f3n del navegador con estilo limpio.\r\n            M\u00e1s adelante se puede conectar con generaci\u00f3n de PDF en servidor (PHP \/ API).\r\n          <\/div>\r\n          <button class=\"ov-btn\" onclick=\"window.print()\">Generar PDF de esta vista<\/button>\r\n          <div style=\"margin-top:6px;font-size:11px;color:#9ca3af;\">\r\n            Imprime en \u00abGuardar como PDF\u00bb para obtener un informe de trabajo.\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL EVOLUCI\u00d3N GLOBAL -->\r\n        <div class=\"ov-side-box\">\r\n          <div class=\"ov-side-title\">\ud83d\udcc8 Evoluci\u00f3n global (\u00faltimos 7 d\u00edas)<\/div>\r\n          <div class=\"ov-side-sub\">\r\n            Resumen simplificado de actividad de formularios y alertas. M\u00e1s adelante\r\n            lo conectamos a los datos reales de la base.\r\n          <\/div>\r\n\r\n          <div class=\"ov-timeline\">\r\n            <div class=\"ov-timeline-row\">\r\n              <span>Formularios completados<\/span><span>32<\/span>\r\n            <\/div>\r\n            <div class=\"ov-timeline-bar-wrap\"><div class=\"ov-timeline-bar-inner\" style=\"width:80%;\"><\/div><\/div>\r\n\r\n            <div class=\"ov-timeline-row\" style=\"margin-top:6px;\">\r\n              <span>Alertas cr\u00edticas<\/span><span>7<\/span>\r\n            <\/div>\r\n            <div class=\"ov-timeline-bar-wrap\"><div class=\"ov-timeline-bar-inner\" style=\"width:35%;background:linear-gradient(90deg,#f97316,#ef4444);\"><\/div><\/div>\r\n\r\n            <div class=\"ov-timeline-row\" style=\"margin-top:6px;\">\r\n              <span>Pacientes sin reporte &gt; 3 d\u00edas<\/span><span>2<\/span>\r\n            <\/div>\r\n            <div class=\"ov-timeline-bar-wrap\"><div class=\"ov-timeline-bar-inner\" style=\"width:20%;background:linear-gradient(90deg,#facc15,#f97316);\"><\/div><\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL DYLAN AI -->\r\n        <div class=\"ov-side-box\">\r\n          <div class=\"ov-side-title\">\ud83e\udd16 Agente AI \u00b7 Dylan<\/div>\r\n          <div class=\"ov-side-sub\">\r\n            Asistente cl\u00ednico de apoyo para revisar s\u00edntomas, prioridades y pr\u00f3ximos pasos.\r\n            Esta demo muestra el dise\u00f1o. M\u00e1s adelante lo conectamos a la IA real de Olas de Vida.\r\n          <\/div>\r\n\r\n          <div class=\"ov-dylan-chat\">\r\n            <div class=\"ov-dylan-messages\">\r\n              <div class=\"ov-dylan-msg ov-dylan-msg-bot\">\r\n                Hola, soy <strong>Dylan<\/strong>. Puedo ayudarte a revisar r\u00e1pidamente qu\u00e9 pacientes\r\n                requieren m\u00e1s atenci\u00f3n hoy.\r\n              <\/div>\r\n              <div class=\"ov-dylan-msg ov-dylan-msg-user\">\r\n                \u00bfQu\u00e9 pacientes est\u00e1n en situaci\u00f3n cr\u00edtica ahora mismo?\r\n              <\/div>\r\n              <div class=\"ov-dylan-msg ov-dylan-msg-bot\">\r\n                Ahora mismo destacan: <strong>ODV001<\/strong>, <strong>ODV007<\/strong> y <strong>ODV008<\/strong>\r\n                por dolor intenso, fiebre y p\u00e9rdida ponderal.\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"ov-dylan-input\">\r\n              <input type=\"text\" placeholder=\"Escribe aqu\u00ed tu pregunta para Dylan (demo sin env\u00edo real)\">\r\n              <button type=\"button\">Enviar<\/button>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n<\/body>\r\n<\/html>\r\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-e756e93 e-flex e-con-boxed e-con e-parent\" data-id=\"e756e93\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9dc1dfd elementor-widget elementor-widget-html\" data-id=\"9dc1dfd\" data-element_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  <title>Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/title>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <style>\r\n  \/* ===== DISE\u00d1O GLOBAL ===== *\/\r\n  body{\r\n    margin:0;\r\n    padding:0;\r\n    background:#020617;\r\n    font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n  }\r\n  .ov-root{\r\n    font-family:'Open Sans',sans-serif;\r\n    color:#e5e7eb;\r\n    padding:16px;\r\n  }\r\n  .ov-wrapper{\r\n    max-width:1200px;\r\n    margin:0 auto 32px;\r\n    background:#020617;\r\n    border-radius:18px;\r\n    box-shadow:0 18px 40px rgba(15,23,42,0.9);\r\n    overflow:hidden;\r\n    border:1px solid rgba(148,163,184,0.5);\r\n  }\r\n\r\n  \/* ===== CABECERA PREMIUM ===== *\/\r\n  .ov-header{\r\n    background: radial-gradient(circle at top left,#38bdf8 0%,#0f172a 40%,#020617 100%);\r\n    color:#e5f2ff;\r\n    padding:18px 22px 16px;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:16px;\r\n    flex-wrap:wrap;\r\n  }\r\n  .ov-header-left{max-width:60%;}\r\n  .ov-header-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:22px;\r\n    font-weight:600;\r\n  }\r\n  .ov-header-sub{\r\n    font-size:13px;\r\n    opacity:.9;\r\n    margin-top:4px;\r\n  }\r\n  .ov-header-tag{\r\n    margin-top:8px;\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#93c5fd;\r\n  }\r\n  .ov-header-rcight{\r\n    text-align:right;\r\n    font-size:12px;\r\n  }\r\n  .ov-header-doc{font-weight:600;}\r\n\r\n  \/* ===== CONTENIDO INTERIOR ===== *\/\r\n  .ov-inner{\r\n    background:linear-gradient(135deg,#020617 0%,#020617 35%,#0b1220 100%);\r\n    padding:18px 18px 20px;\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* DASHBOARD TARJETAS (RESUMEN CORREOS) *\/\r\n  .ov-cards{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));\r\n    gap:10px;\r\n    margin-bottom:16px;\r\n  }\r\n  .ov-card{\r\n    background:linear-gradient(135deg,rgba(15,23,42,0.98),rgba(15,23,42,0.85));\r\n    border-radius:12px;\r\n    padding:10px 12px;\r\n    border:1px solid rgba(148,163,184,0.35);\r\n  }\r\n  .ov-card-label{\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#9ca3af;\r\n  }\r\n  .ov-card-value{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:20px;\r\n    font-weight:600;\r\n    margin-top:3px;\r\n  }\r\n  .ov-card-tag{\r\n    font-size:11px;\r\n    margin-top:4px;\r\n    color:#6ee7b7;\r\n  }\r\n  .ov-card-critical .ov-card-value{color:#fecaca;}\r\n  .ov-card-critical .ov-card-tag{color:#fca5a5;}\r\n  .ov-card-warning .ov-card-value{color:#fde68a;}\r\n  .ov-card-warning .ov-card-tag{color:#fcd34d;}\r\n  .ov-card-adherence .ov-card-value{color:#a5b4fc;}\r\n  .ov-card-adherence .ov-card-tag{color:#c4b5fd;}\r\n\r\n  \/* PANEL BANDEJA PACIENTES FULL WIDTH *\/\r\n  .ov-panel{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:12px;\r\n  }\r\n  .ov-panel-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:15px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-panel-sub{\r\n    font-size:12px;\r\n    color:#9ca3af;\r\n    margin-bottom:10px;\r\n  }\r\n\r\n  \/* TABLA BANDEJA AMPLIADA *\/\r\n  .ov-table{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:12px;\r\n  }\r\n  .ov-table th,\r\n  .ov-table td{\r\n    padding:7px 6px;\r\n    border-bottom:1px solid rgba(31,41,55,1);\r\n  }\r\n  .ov-table th{\r\n    background:rgba(15,23,42,0.98);\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:11px;\r\n    text-align:left;\r\n    color:#9ca3af;\r\n    position:sticky;\r\n    top:0;\r\n    z-index:1;\r\n  }\r\n  .ov-table tr:hover td{\r\n    background:rgba(15,23,42,0.85);\r\n  }\r\n  .ov-state{\r\n    font-weight:600;\r\n  }\r\n  .ov-state-critico{color:#fca5a5;}\r\n  .ov-state-alto{color:#fed7aa;}\r\n  .ov-state-moderado{color:#93c5fd;}\r\n  .ov-state-estable{color:#6ee7b7;}\r\n\r\n  .ov-scroll{\r\n    max-height:280px;\r\n    overflow:auto;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar{\r\n    width:6px;\r\n    height:6px;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar-track{\r\n    background:#020617;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar-thumb{\r\n    background:#4b5563;\r\n    border-radius:999px;\r\n  }\r\n\r\n  \/* NOMBRES CLICABLES *\/\r\n  .ov-name-link{\r\n    background:none;\r\n    border:none;\r\n    padding:0;\r\n    margin:0;\r\n    font:inherit;\r\n    color:#e5e7eb;\r\n    text-decoration:underline;\r\n    cursor:pointer;\r\n  }\r\n  .ov-name-link:hover{\r\n    color:#bfdbfe;\r\n  }\r\n\r\n  \/* L\u00cdNEA INFERIOR: PDF \/ JULI\u00c1N \/ EVOLUCI\u00d3N *\/\r\n  .ov-bottom-layout{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));\r\n    gap:12px;\r\n    margin-top:16px;\r\n  }\r\n  .ov-side-box{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:10px;\r\n    font-size:12px;\r\n  }\r\n  .ov-side-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-side-sub{\r\n    font-size:11px;\r\n    color:#9ca3af;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  \/* BOTONES *\/\r\n  .ov-btn{\r\n    display:inline-block;\r\n    padding:7px 12px;\r\n    border-radius:999px;\r\n    border:none;\r\n    font-size:11px;\r\n    font-weight:500;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.07em;\r\n    background:linear-gradient(135deg,#38bdf8,#2563eb);\r\n    color:white;\r\n    cursor:pointer;\r\n    text-decoration:none;\r\n  }\r\n  .ov-btn:hover{filter:brightness(1.05);}\r\n  .ov-btn-sec{\r\n    background:transparent;\r\n    border:1px solid rgba(148,163,184,0.6);\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* TIMELINE \/ GR\u00c1FICOS *\/\r\n  .ov-timeline-row{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    font-size:10px;\r\n    color:#9ca3af;\r\n    margin-bottom:2px;\r\n  }\r\n  .ov-chart-wrapper{\r\n    display:grid;\r\n    grid-template-columns:1fr;\r\n    gap:8px;\r\n    margin-top:6px;\r\n  }\r\n  .ov-chart-box{\r\n    background:rgba(15,23,42,1);\r\n    border-radius:10px;\r\n    border:1px solid rgba(55,65,81,1);\r\n    padding:6px 8px;\r\n  }\r\n  .ov-chart-title{\r\n    font-size:11px;\r\n    color:#e5e7eb;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-chart-svg{\r\n    width:100%;\r\n    height:70px;\r\n  }\r\n  .ov-chart-svg polyline{\r\n    fill:none;\r\n    stroke-width:2;\r\n  }\r\n\r\n  \/* JULI\u00c1N - IFRAME CENTRADO *\/\r\n  .ov-julian-wrap{\r\n    border-radius:10px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    overflow:hidden;\r\n    background:#020617;\r\n  }\r\n  .ov-julian-wrap iframe{\r\n    width:100%;\r\n    height:260px;\r\n    border:0;\r\n  }\r\n\r\n  \/* MODAL FICHA PACIENTE (POPUP MOVIDO) *\/\r\n  .ov-modal{\r\n    position:fixed;\r\n    inset:0;\r\n    display:none;\r\n    align-items:center;\r\n    justify-content:center;\r\n    z-index:50;\r\n  }\r\n  .ov-modal.ov-visible{\r\n    display:flex;\r\n  }\r\n  .ov-modal-backdrop{\r\n    position:absolute;\r\n    inset:0;\r\n    background:rgba(15,23,42,0.75);\r\n  }\r\n  .ov-modal-dialog{\r\n    position:absolute;\r\n    max-width:780px;\r\n    width:90%;\r\n    background:rgba(15,23,42,0.98);\r\n    border-radius:14px;\r\n    border:1px solid rgba(148,163,184,0.8);\r\n    box-shadow:0 22px 60px rgba(0,0,0,0.6);\r\n    padding:10px 12px 12px;\r\n    cursor:default;\r\n  }\r\n  .ov-modal-header{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    align-items:center;\r\n    margin-bottom:6px;\r\n    cursor:move;\r\n  }\r\n  .ov-modal-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n  }\r\n  .ov-modal-close{\r\n    background:transparent;\r\n    border:none;\r\n    color:#9ca3af;\r\n    font-size:16px;\r\n    cursor:pointer;\r\n  }\r\n  .ov-modal-body{\r\n    font-size:12px;\r\n    max-height:420px;\r\n    overflow:auto;\r\n  }\r\n  .ov-modal-body::-webkit-scrollbar{\r\n    width:6px;\r\n  }\r\n  .ov-modal-body::-webkit-scrollbar-thumb{\r\n    background:#4b5563;\r\n    border-radius:999px;\r\n  }\r\n\r\n  \/* FICHAS PACIENTE DENTRO DEL POPUP (estilo anterior) *\/\r\n  .ov-ficha-row{\r\n    display:grid;\r\n    grid-template-columns:minmax(0,1.6fr) minmax(0,1.4fr);\r\n    gap:10px;\r\n  }\r\n  @media(max-width:820px){\r\n    .ov-ficha-row{grid-template-columns:1fr;}\r\n  }\r\n  .ov-table-mini{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:11px;\r\n    margin-top:5px;\r\n  }\r\n  .ov-table-mini th,\r\n  .ov-table-mini td{\r\n    border:1px solid rgba(55,65,81,1);\r\n    padding:4px 5px;\r\n  }\r\n  .ov-table-mini th{\r\n    background:rgba(15,23,42,0.98);\r\n    color:#9ca3af;\r\n  }\r\n  .ov-mini-chart{\r\n    margin-top:6px;\r\n  }\r\n  .ov-mini-label{\r\n    font-size:11px;\r\n    color:#9ca3af;\r\n  }\r\n  .ov-bar-wrap{margin-top:4px;}\r\n  .ov-bar{\r\n    height:8px;\r\n    border-radius:999px;\r\n    background:rgba(31,41,55,1);\r\n    overflow:hidden;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-bar-inner{\r\n    height:100%;\r\n    border-radius:999px;\r\n  }\r\n  .ov-bar-dolor{\r\n    background:linear-gradient(90deg,#fecaca,#f97373);\r\n  }\r\n  .ov-bar-animo{\r\n    background:linear-gradient(90deg,#bfdbfe,#4f46e5);\r\n  }\r\n  .ov-ficha-actions{\r\n    margin-top:8px;\r\n    display:flex;\r\n    flex-wrap:wrap;\r\n    gap:6px;\r\n  }\r\n\r\n  @media(max-width:980px){\r\n    .ov-header-left{max-width:100%;}\r\n  }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"ov-root\">\r\n  <div class=\"ov-wrapper\">\r\n\r\n    <!-- CABECERA -->\r\n    <div class=\"ov-header\">\r\n      <div class=\"ov-header-left\">\r\n        <div class=\"ov-header-title\">Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/div>\r\n        <div class=\"ov-header-sub\">Monitorizaci\u00f3n oncol\u00f3gica \u00b7 Pacientes, evoluci\u00f3n, anal\u00edticas y formularios<\/div>\r\n        <div class=\"ov-header-tag\">vista demo \u00b7 pensada para wordpress \/ elementor<\/div>\r\n      <\/div>\r\n      <div class=\"ov-header-right\">\r\n        <div class=\"ov-header-doc\">Unidad de Oncolog\u00eda \u00b7 Olas de Vida<\/div>\r\n        <div>Versi\u00f3n demostraci\u00f3n con 10 pacientes<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ov-inner\">\r\n\r\n      <!-- DASHBOARD SUPERIOR (RESUMEN GENERAL) -->\r\n      <div class=\"ov-cards\">\r\n        <div class=\"ov-card\">\r\n          <div class=\"ov-card-label\">Pacientes activos<\/div>\r\n          <div class=\"ov-card-value\">10<\/div>\r\n          <div class=\"ov-card-tag\">Muestra de trabajo<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-critical\">\r\n          <div class=\"ov-card-label\">Alertas cr\u00edticas<\/div>\r\n          <div class=\"ov-card-value\">3<\/div>\r\n          <div class=\"ov-card-tag\">Dolor \/ fiebre \/ \u00e1nimo<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-warning\">\r\n          <div class=\"ov-card-label\">Alta supervisi\u00f3n<\/div>\r\n          <div class=\"ov-card-value\">4<\/div>\r\n          <div class=\"ov-card-tag\">Seguimiento cercano<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-adherence\">\r\n          <div class=\"ov-card-label\">Adherencia reportes<\/div>\r\n          <div class=\"ov-card-value\">87%<\/div>\r\n          <div class=\"ov-card-tag\">\u00daltimos 14 d\u00edas<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- BANDEJA PACIENTES FULL WIDTH -->\r\n      <div class=\"ov-panel\">\r\n        <div class=\"ov-panel-title\">\ud83d\udce5 Bandeja de pacientes<\/div>\r\n        <div class=\"ov-panel-sub\">\r\n          Haz clic en el <strong>nombre<\/strong> de un paciente para ver su ficha en popup y preparar PDF + evoluci\u00f3n.\r\n        <\/div>\r\n        <div class=\"ov-scroll\">\r\n          <table class=\"ov-table\">\r\n            <thead>\r\n              <tr>\r\n                <th>Paciente<\/th>\r\n                <th>ID<\/th>\r\n                <th>Diagn\u00f3stico<\/th>\r\n                <th>Dolor<\/th>\r\n                <th>\u00c1nimo<\/th>\r\n                <th>Estado<\/th>\r\n                <th>\u00daltimo formulario<\/th>\r\n              <\/tr>\r\n            <\/thead>\r\n            <tbody>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV001\">Mar\u00eda Garc\u00eda L\u00f3pez<\/button><\/td>\r\n                <td>ODV001<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 4\/6<\/td>\r\n                <td>9\/10<\/td>\r\n                <td>8\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 08:40<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV002\">Roberto Silva Jim\u00e9nez<\/button><\/td>\r\n                <td>ODV002<\/td>\r\n                <td>Linfoma \u00b7 Ciclo 2\/8<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>3\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Ayer \u00b7 20:10<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV003\">Ana Fern\u00e1ndez L\u00f3pez<\/button><\/td>\r\n                <td>ODV003<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 3\/6<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 07:50<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV004\">Javier Rodr\u00edguez Santos<\/button><\/td>\r\n                <td>ODV004<\/td>\r\n                <td>Ca pulm\u00f3n \u00b7 Ciclo 5\/6<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-estable\">ESTABLE<\/td>\r\n                <td>Ayer \u00b7 18:33<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV005\">Laura Herrera Funes<\/button><\/td>\r\n                <td>ODV005<\/td>\r\n                <td>Ca ovario \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 10:15<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV006\">Carmen Ramos Vidal<\/button><\/td>\r\n                <td>ODV006<\/td>\r\n                <td>Ca colon \u00b7 Ciclo 1\/8<\/td>\r\n                <td>7\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hace 3h<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV007\">Daniel Mu\u00f1oz Ortega<\/button><\/td>\r\n                <td>ODV007<\/td>\r\n                <td>Ca p\u00e1ncreas \u00b7 Ciclo 3\/12<\/td>\r\n                <td>8\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 09:10<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV008\">Elena Torres D\u00edaz<\/button><\/td>\r\n                <td>ODV008<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hace 45 min<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV009\">Alberto Paredes Luna<\/button><\/td>\r\n                <td>ODV009<\/td>\r\n                <td>Ca pr\u00f3stata \u00b7 Hormono + RT<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Ayer \u00b7 14:22<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV010\">Luc\u00eda Romero Salvat<\/button><\/td>\r\n                <td>ODV010<\/td>\r\n                <td>Ca mama \u00b7 Terapia dirigida<\/td>\r\n                <td>4\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hoy \u00b7 11:05<\/td>\r\n              <\/tr>\r\n            <\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- L\u00cdNEA INFERIOR: PDF \/ JULI\u00c1N (CENTRO) \/ EVOLUCI\u00d3N -->\r\n      <div class=\"ov-bottom-layout\">\r\n\r\n        <!-- PANEL PDF DOCTOR\/PACIENTE -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-pdf-title\" class=\"ov-side-title\">\ud83d\udcc4 PDF m\u00e9dico \/ paciente<\/div>\r\n          <div id=\"ov-pdf-body\" class=\"ov-side-sub\">\r\n            Selecciona un paciente en la bandeja superior para preparar su informe m\u00e9dico\/paciente.\r\n          <\/div>\r\n          <button id=\"ov-pdf-btn\" class=\"ov-btn\" style=\"display:none;\" onclick=\"window.print()\">\r\n            Generar PDF de esta vista\r\n          <\/button>\r\n          <div style=\"margin-top:6px;font-size:11px;color:#9ca3af;\">\r\n            Usa \u201cGuardar como PDF\u201d para archivar o compartir el informe.\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL JULI\u00c1N CENTRADO -->\r\n        <div class=\"ov-side-box\">\r\n          <div class=\"ov-side-title\">\ud83e\udd16 Juli\u00e1n \u2014 Asistente IA<\/div>\r\n          <div class=\"ov-side-sub\">\r\n            Asistente de apoyo para el equipo m\u00e9dico. Esta demo muestra el agente tal y como se ver\u00eda embebido.\r\n          <\/div>\r\n          <div class=\"ov-julian-wrap\">\r\n            <iframe\r\n              src=\"https:\/\/eu.jotform.com\/agent\/019ad9bc86b471129ecafec7a28f03a41b91\"\r\n              title=\"Juli\u00e1n \u00b7 Asistente IA (demo)\">\r\n            <\/iframe>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL EVOLUCI\u00d3N (SEMANA \/ GLOBAL) -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-evo-title\" class=\"ov-side-title\">\ud83d\udcc8 Evoluci\u00f3n semanal vs global<\/div>\r\n          <div id=\"ov-evo-sub\" class=\"ov-side-sub\">\r\n            Selecciona un paciente para ver curvas de ejemplo de dolor y \u00e1nimo.\r\n          <\/div>\r\n          <div id=\"ov-evo-charts\" class=\"ov-chart-wrapper\" style=\"display:none;\">\r\n            <div class=\"ov-chart-box\">\r\n              <div class=\"ov-chart-title\">Evoluci\u00f3n semanal (\u00faltimos 7 d\u00edas)<\/div>\r\n              <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n                <!-- Dolor -->\r\n                <polyline points=\"0,30 15,28 30,26 45,24 60,22 75,20 100,18\"\r\n                          stroke=\"#f97373\"\/>\r\n                <!-- \u00c1nimo -->\r\n                <polyline points=\"0,18 15,19 30,20 45,22 60,24 75,26 100,27\"\r\n                          stroke=\"#4f46e5\"\/>\r\n              <\/svg>\r\n            <\/div>\r\n            <div class=\"ov-chart-box\">\r\n              <div class=\"ov-chart-title\">Evoluci\u00f3n global (desde inicio tratamiento)<\/div>\r\n              <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n                <!-- Dolor -->\r\n                <polyline points=\"0,34 20,30 40,28 60,24 80,22 100,20\"\r\n                          stroke=\"#fecaca\"\/>\r\n                <!-- \u00c1nimo -->\r\n                <polyline points=\"0,22 20,24 40,26 60,28 80,30 100,32\"\r\n                          stroke=\"#93c5fd\"\/>\r\n              <\/svg>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- MODAL FICHA PACIENTE -->\r\n<div id=\"ov-modal\" class=\"ov-modal\">\r\n  <div class=\"ov-modal-backdrop\"><\/div>\r\n  <div class=\"ov-modal-dialog\">\r\n    <div class=\"ov-modal-header\">\r\n      <div id=\"ov-modal-title\" class=\"ov-modal-title\">Ficha de paciente<\/div>\r\n      <button id=\"ov-modal-close\" class=\"ov-modal-close\" aria-label=\"Cerrar\">\u2715<\/button>\r\n    <\/div>\r\n    <div id=\"ov-modal-body\" class=\"ov-modal-body\">\r\n      <!-- Aqu\u00ed se inyecta la ficha del paciente -->\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/\/ === Datos de ficha por paciente (HTML reusando estilo anterior) ===\r\n  const fichas = {\r\n    ODV001: {\r\n      nombre: 'Mar\u00eda Garc\u00eda L\u00f3pez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 4\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor mamario intenso, impacto en sue\u00f1o y movilidad.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo (\u00faltimo formulario)<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:90%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:80%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 9\/10 \u00b7 Ansiedad 8\/10 \u00b7 Hoy 08:40\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>9\/10<\/td><td>8\/10<\/td><td>62kg<\/td><td>Mala noche, dolor intenso.<\/td><\/tr>\r\n                <tr><td>10\/01<\/td><td>7\/10<\/td><td>7\/10<\/td><td>62.5kg<\/td><td>Responde parcialmente a analgesia.<\/td><\/tr>\r\n                <tr><td>05\/01<\/td><td>6\/10<\/td><td>6\/10<\/td><td>63kg<\/td><td>Dolor moderado, \u00e1nimo estable.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>13\/01<\/td><td>11.2<\/td><td>1.3<\/td><td>180k<\/td><td>Posible neutropenia incipiente.<\/td><\/tr>\r\n            <tr><td>06\/01<\/td><td>11.8<\/td><td>1.8<\/td><td>192k<\/td><td>Valores aceptables para ciclo.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas de dolor y \u00e1nimo basadas en los \u00faltimos cuestionarios de Mar\u00eda.'\r\n    },\r\n    ODV002: {\r\n      nombre: 'Roberto Silva Jim\u00e9nez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> Linfoma \u00b7 Ciclo 2\/8<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas depresivos marcados, p\u00e9rdida de peso.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo (\u00faltimo formulario)<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:60%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:30%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 6\/10 \u00b7 \u00c1nimo 3\/10 \u00b7 Ayer 20:10\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>6\/10<\/td><td>3\/10<\/td><td>78kg<\/td><td>Tristeza intensa, insomnio.<\/td><\/tr>\r\n                <tr><td>09\/01<\/td><td>5\/10<\/td><td>4\/10<\/td><td>79kg<\/td><td>Deterioro progresivo del \u00e1nimo.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>12\/01<\/td><td>12.4<\/td><td>2.0<\/td><td>210k<\/td><td>Anal\u00edtica estable.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas de Roberto con foco en \u00e1nimo y peso.'\r\n    },\r\n    ODV003: {\r\n      nombre: 'Ana Fern\u00e1ndez L\u00f3pez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 3\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Fatiga relevante pero estable, dolor moderado.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:60%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:65%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 6\/10 \u00b7 \u00c1nimo 7\/10 \u00b7 Hoy 07:50\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>6\/10<\/td><td>7\/10<\/td><td>68kg<\/td><td>Fatiga, pero \u00e1nimo aceptable.<\/td><\/tr>\r\n                <tr><td>10\/01<\/td><td>5\/10<\/td><td>7\/10<\/td><td>68.2kg<\/td><td>Dolor tolerable.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>13\/01<\/td><td>12.0<\/td><td>2.1<\/td><td>230k<\/td><td>Dentro de rango para ciclo.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor moderado y \u00e1nimo aceptable en Ana.'\r\n    },\r\n    ODV004: {\r\n      nombre: 'Javier Rodr\u00edguez Santos',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de pulm\u00f3n \u00b7 Ciclo 5\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas controlados, tolerancia aceptable al tratamiento.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:30%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:70%;\"><\/div><\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>3\/10<\/td><td>7\/10<\/td><td>74kg<\/td><td>Baja disnea de esfuerzo.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>12\/01<\/td><td>13.1<\/td><td>2.4<\/td><td>250k<\/td><td>Anal\u00edtica estable.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      `,\r\n      evoText: 'Evoluci\u00f3n estable con buena tolerancia al tratamiento.'\r\n    },\r\n    ODV005: {\r\n      nombre: 'Laura Herrera Funes',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de ovario \u00b7 Ciclo 2\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> N\u00e1useas frecuentes, cierto deterioro de apetito.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>5\/10<\/td><td>6\/10<\/td><td>60kg<\/td><td>N\u00e1useas matutinas.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Seguimiento de n\u00e1useas y peso en Laura.'\r\n    },\r\n    ODV006: {\r\n      nombre: 'Carmen Ramos Vidal',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de colon \u00b7 Ciclo 1\/8<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor abdominal intermitente, deposiciones alteradas.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>7\/10<\/td><td>5\/10<\/td><td>70kg<\/td><td>Dolor postprandial.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Control de dolor abdominal y funci\u00f3n intestinal.'\r\n    },\r\n    ODV007: {\r\n      nombre: 'Daniel Mu\u00f1oz Ortega',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de p\u00e1ncreas \u00b7 Ciclo 3\/12<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor abdominal intenso y p\u00e9rdida ponderal.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>8\/10<\/td><td>5\/10<\/td><td>65kg<\/td><td>P\u00e9rdida de peso progresiva.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor elevado y p\u00e9rdida de peso en Daniel.'\r\n    },\r\n    ODV008: {\r\n      nombre: 'Elena Torres D\u00edaz',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 2\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Fiebre 38.8\u00baC, sospecha de neutropenia.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Temp<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>Hoy<\/td><td>5\/10<\/td><td>6\/10<\/td><td>38.8\u00baC<\/td><td>Consulta urgente recomendada.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Control urgente de fiebre y posible neutropenia.'\r\n    },\r\n    ODV009: {\r\n      nombre: 'Alberto Paredes Luna',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de pr\u00f3stata \u00b7 Hormono + RT<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas urinarios leves, dolor bajo.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>3\/10<\/td><td>7\/10<\/td><td>Dolor leve p\u00e9lvico, controlado.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor leve y buena tolerancia en Alberto.'\r\n    },\r\n    ODV010: {\r\n      nombre: 'Luc\u00eda Romero Salvat',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Terapia dirigida<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Alternancia de ansiedad y d\u00edas buenos.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>4\/10<\/td><td>5\/10<\/td><td>Nervios antes de pruebas.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas centradas en ansiedad y control de dolor en Luc\u00eda.'\r\n    }\r\n  };\r\n\r\n  const modal      = document.getElementById('ov-modal');\r\n  const modalTitle = document.getElementById('ov-modal-title');\r\n  const modalBody  = document.getElementById('ov-modal-body');\r\n  const modalClose = document.getElementById('ov-modal-close');\r\n  const modalDialog= modal.querySelector('.ov-modal-dialog');\r\n\r\n  const pdfTitleEl = document.getElementById('ov-pdf-title');\r\n  const pdfBodyEl  = document.getElementById('ov-pdf-body');\r\n  const pdfBtnEl   = document.getElementById('ov-pdf-btn');\r\n\r\n  const evoTitleEl = document.getElementById('ov-evo-title');\r\n  const evoSubEl   = document.getElementById('ov-evo-sub');\r\n  const evoChartsEl= document.getElementById('ov-evo-charts');\r\n\r\n  function abrirPaciente(id){\r\n    const data = fichas[id];\r\n    if(!data) return;\r\n\r\n    \/\/ Ficha en popup\r\n    modalTitle.textContent = `${data.nombre} \u00b7 ${id}`;\r\n    modalBody.innerHTML = data.html;\r\n    modal.classList.add('ov-visible');\r\n    \/\/ Centrar al abrir\r\n    modalDialog.style.top = '50%';\r\n    modalDialog.style.left = '50%';\r\n    modalDialog.style.transform = 'translate(-50%, -50%)';\r\n\r\n    \/\/ PDF actualizado\r\n    pdfTitleEl.textContent = `\ud83d\udcc4 PDF m\u00e9dico \/ paciente \u00b7 ${data.nombre}`;\r\n    pdfBodyEl.textContent  = `Borrador de informe para ${data.nombre} (${id}). Incluye resumen de s\u00edntomas, anal\u00edticas y comentarios cl\u00ednicos recientes.`;\r\n    pdfBtnEl.style.display = 'inline-block';\r\n\r\n    \/\/ Gr\u00e1ficos actualizaci\u00f3n ligera\r\n    evoTitleEl.textContent = `\ud83d\udcc8 Evoluci\u00f3n semanal y global \u00b7 ${data.nombre}`;\r\n    evoSubEl.textContent   = data.evoText || 'Curvas cl\u00ednicas basadas en los formularios del paciente.';\r\n    evoChartsEl.style.display = 'grid';\r\n  }\r\n\r\n  \/\/ Eventos click en nombres\r\n  document.querySelectorAll('.ov-name-link').forEach(btn=>{\r\n    btn.addEventListener('click', function(e){\r\n      e.stopPropagation();\r\n      const id = this.getAttribute('data-id');\r\n      abrirPaciente(id);\r\n    });\r\n  });\r\n\r\n  \/\/ Cerrar modal\r\n  modalClose.addEventListener('click', ()=> modal.classList.remove('ov-visible'));\r\n  modal.querySelector('.ov-modal-backdrop').addEventListener('click', ()=> modal.classList.remove('ov-visible'));\r\n\r\n  \/\/ Hacer el popup movible con el rat\u00f3n\r\n  let isDragging = false;\r\n  let startX, startY, startLeft, startTop;\r\n\r\n  const header = modal.querySelector('.ov-modal-header');\r\n  header.addEventListener('mousedown', function(e){\r\n    isDragging = true;\r\n    startX = e.clientX;\r\n    startY = e.clientY;\r\n\r\n    const rect = modalDialog.getBoundingClientRect();\r\n    startLeft = rect.left;\r\n    startTop  = rect.top;\r\n\r\n    modalDialog.style.transform = 'none';\r\n    document.body.style.userSelect = 'none';\r\n  });\r\n\r\n  window.addEventListener('mousemove', function(e){\r\n    if(!isDragging) return;\r\n    const dx = e.clientX - startX;\r\n    const dy = e.clientY - startY;\r\n    modalDialog.style.left = (startLeft + dx) + 'px';\r\n    modalDialog.style.top  = (startTop + dy) + 'px';\r\n  });\r\n\r\n  window.addEventListener('mouseup', function(){\r\n    if(isDragging){\r\n      isDragging = false;\r\n      document.body.style.userSelect = '';\r\n    }\r\n  });\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\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-bf2b09a e-flex e-con-boxed e-con e-parent\" data-id=\"bf2b09a\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-eac9462 elementor-widget elementor-widget-html\" data-id=\"eac9462\" data-element_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  <title>Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/title>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <style>\r\n  \/* ===== DISE\u00d1O GLOBAL ===== *\/\r\n  body{\r\n    margin:0;\r\n    padding:0;\r\n    background:#020617;\r\n    font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n  }\r\n  .ov-root{\r\n    font-family:'Open Sans',sans-serif;\r\n    color:#e5e7eb;\r\n    padding:16px;\r\n  }\r\n  .ov-wrapper{\r\n    max-width:1200px;\r\n    margin:0 auto 32px;\r\n    background:#020617;\r\n    border-radius:18px;\r\n    box-shadow:0 18px 40px rgba(15,23,42,0.9);\r\n    overflow:hidden;\r\n    border:1px solid rgba(148,163,184,0.5);\r\n  }\r\n\r\n  \/* ===== CABECERA PREMIUM ===== *\/\r\n  .ov-header{\r\n    background: radial-gradient(circle at top left,#38bdf8 0%,#0f172a 40%,#020617 100%);\r\n    color:#e5f2ff;\r\n    padding:18px 22px 16px;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:16px;\r\n    flex-wrap:wrap;\r\n  }\r\n  .ov-header-left{max-width:60%;}\r\n  .ov-header-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:22px;\r\n    font-weight:600;\r\n  }\r\n  .ov-header-sub{\r\n    font-size:13px;\r\n    opacity:.9;\r\n    margin-top:4px;\r\n  }\r\n  .ov-header-tag{\r\n    margin-top:8px;\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#93c5fd;\r\n  }\r\n  .ov-header-right{\r\n    text-align:right;\r\n    font-size:12px;\r\n  }\r\n  .ov-header-doc{font-weight:600;}\r\n\r\n  \/* ===== CONTENIDO INTERIOR ===== *\/\r\n  .ov-inner{\r\n    background:linear-gradient(135deg,#020617 0%,#020617 35%,#0b1220 100%);\r\n    padding:18px 18px 20px;\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* DASHBOARD TARJETAS *\/\r\n  .ov-cards{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));\r\n    gap:10px;\r\n    margin-bottom:16px;\r\n  }\r\n  .ov-card{\r\n    background:linear-gradient(135deg,rgba(15,23,42,0.98),rgba(15,23,42,0.85));\r\n    border-radius:12px;\r\n    padding:10px 12px;\r\n    border:1px solid rgba(148,163,184,0.35);\r\n  }\r\n  .ov-card-label{\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#9ca3af;\r\n  }\r\n  .ov-card-value{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:20px;\r\n    font-weight:600;\r\n    margin-top:3px;\r\n  }\r\n  .ov-card-tag{\r\n    font-size:11px;\r\n    margin-top:4px;\r\n    color:#6ee7b7;\r\n  }\r\n  .ov-card-critical .ov-card-value{color:#fecaca;}\r\n  .ov-card-critical .ov-card-tag{color:#fca5a5;}\r\n  .ov-card-warning .ov-card-value{color:#fde68a;}\r\n  .ov-card-warning .ov-card-tag{color:#fcd34d;}\r\n  .ov-card-adherence .ov-card-value{color:#a5b4fc;}\r\n  .ov-card-adherence .ov-card-tag{color:#c4b5fd;}\r\n\r\n  \/* PANEL BANDEJA PACIENTES FULL WIDTH *\/\r\n  .ov-panel{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:12px;\r\n  }\r\n  .ov-panel-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:15px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-panel-sub{\r\n    font-size:12px;\r\n    color:#9ca3af;\r\n    margin-bottom:10px;\r\n  }\r\n\r\n  \/* TABLA BANDEJA AMPLIADA *\/\r\n  .ov-table{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:12px;\r\n  }\r\n  .ov-table th,\r\n  .ov-table td{\r\n    padding:7px 6px;\r\n    border-bottom:1px solid rgba(31,41,55,1);\r\n  }\r\n  .ov-table th{\r\n    background:rgba(15,23,42,0.98);\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:11px;\r\n    text-align:left;\r\n    color:#9ca3af;\r\n    position:sticky;\r\n    top:0;\r\n    z-index:1;\r\n  }\r\n  .ov-table tr:hover td{\r\n    background:rgba(15,23,42,0.85);\r\n  }\r\n  .ov-state{\r\n    font-weight:600;\r\n  }\r\n  .ov-state-critico{color:#fca5a5;}\r\n  .ov-state-alto{color:#fed7aa;}\r\n  .ov-state-moderado{color:#93c5fd;}\r\n  .ov-state-estable{color:#6ee7b7;}\r\n\r\n  .ov-scroll{\r\n    max-height:280px;\r\n    overflow:auto;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar{\r\n    width:6px;\r\n    height:6px;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar-track{\r\n    background:#020617;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar-thumb{\r\n    background:#4b5563;\r\n    border-radius:999px;\r\n  }\r\n\r\n  \/* PANEL L\u00cdNEA INFERIOR: PDF \/ EVOLUCI\u00d3N \/ DYLAN *\/\r\n  .ov-bottom-layout{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(240px,1fr));\r\n    gap:12px;\r\n    margin-top:16px;\r\n  }\r\n  .ov-side-box{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:10px;\r\n    font-size:12px;\r\n  }\r\n  .ov-side-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-side-sub{\r\n    font-size:11px;\r\n    color:#9ca3af;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  \/* BOTONES *\/\r\n  .ov-btn{\r\n    display:inline-block;\r\n    padding:7px 12px;\r\n    border-radius:999px;\r\n    border:none;\r\n    font-size:11px;\r\n    font-weight:500;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.07em;\r\n    background:linear-gradient(135deg,#38bdf8,#2563eb);\r\n    color:white;\r\n    cursor:pointer;\r\n    text-decoration:none;\r\n  }\r\n  .ov-btn:hover{filter:brightness(1.05);}\r\n  .ov-btn-sec{\r\n    background:transparent;\r\n    border:1px solid rgba(148,163,184,0.6);\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* TIMELINE GLOBAL SIMPLE *\/\r\n  .ov-timeline{margin-top:4px;}\r\n  .ov-timeline-row{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    font-size:10px;\r\n    color:#9ca3af;\r\n    margin-bottom:2px;\r\n  }\r\n  .ov-timeline-bar-wrap{\r\n    height:6px;\r\n    border-radius:999px;\r\n    background:rgba(31,41,55,1);\r\n    overflow:hidden;\r\n    margin-top:2px;\r\n  }\r\n  .ov-timeline-bar-inner{\r\n    height:100%;\r\n    border-radius:999px;\r\n    background:linear-gradient(90deg,#22c55e,#4ade80);\r\n  }\r\n\r\n  \/* PANEL DYLAN: MINI-CHAT *\/\r\n  .ov-dylan-chat{\r\n    border-radius:10px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    background:rgba(15,23,42,0.9);\r\n    padding:8px;\r\n    max-height:260px;\r\n    display:flex;\r\n    flex-direction:column;\r\n    gap:6px;\r\n  }\r\n  .ov-dylan-messages{\r\n    flex:1;\r\n    overflow:auto;\r\n  }\r\n  .ov-dylan-messages::-webkit-scrollbar{\r\n    width:5px;\r\n  }\r\n  .ov-dylan-messages::-webkit-scrollbar-thumb{\r\n    background:#4b5563;\r\n    border-radius:999px;\r\n  }\r\n  .ov-dylan-msg{\r\n    font-size:11px;\r\n    padding:6px 8px;\r\n    border-radius:8px;\r\n    margin-bottom:4px;\r\n    max-width:100%;\r\n  }\r\n  .ov-dylan-msg-bot{\r\n    background:rgba(37,99,235,0.18);\r\n    border:1px solid rgba(59,130,246,0.4);\r\n  }\r\n  .ov-dylan-msg-user{\r\n    background:rgba(15,23,42,1);\r\n    border:1px solid rgba(75,85,99,0.9);\r\n    text-align:right;\r\n  }\r\n  .ov-dylan-input{\r\n    margin-top:4px;\r\n    display:flex;\r\n    gap:6px;\r\n  }\r\n  .ov-dylan-input input{\r\n    flex:1;\r\n    border-radius:999px;\r\n    border:1px solid rgba(75,85,99,0.9);\r\n    background:#020617;\r\n    color:#e5e7eb;\r\n    padding:6px 9px;\r\n    font-size:11px;\r\n  }\r\n  .ov-dylan-input input::placeholder{\r\n    color:#6b7280;\r\n  }\r\n  .ov-dylan-input button{\r\n    border-radius:999px;\r\n    border:none;\r\n    padding:6px 10px;\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    background:linear-gradient(135deg,#38bdf8,#2563eb);\r\n    color:white;\r\n    cursor:pointer;\r\n  }\r\n\r\n  @media(max-width:980px){\r\n    .ov-header-left{max-width:100%;}\r\n  }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"ov-root\">\r\n  <div class=\"ov-wrapper\">\r\n\r\n    <!-- CABECERA -->\r\n    <div class=\"ov-header\">\r\n      <div class=\"ov-header-left\">\r\n        <div class=\"ov-header-title\">Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/div>\r\n        <div class=\"ov-header-sub\">Monitorizaci\u00f3n oncol\u00f3gica \u00b7 Pacientes, evoluci\u00f3n, anal\u00edticas y formularios<\/div>\r\n        <div class=\"ov-header-tag\">vista demo \u00b7 pensada para wordpress \/ elementor<\/div>\r\n      <\/div>\r\n      <div class=\"ov-header-right\">\r\n        <div class=\"ov-header-doc\">Unidad de Oncolog\u00eda \u00b7 Olas de Vida<\/div>\r\n        <div>Versi\u00f3n demostraci\u00f3n con 10 pacientes<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ov-inner\">\r\n\r\n      <!-- DASHBOARD SUPERIOR -->\r\n      <div class=\"ov-cards\">\r\n        <div class=\"ov-card\">\r\n          <div class=\"ov-card-label\">Pacientes activos<\/div>\r\n          <div class=\"ov-card-value\">10<\/div>\r\n          <div class=\"ov-card-tag\">Muestra de trabajo<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-critical\">\r\n          <div class=\"ov-card-label\">Alertas cr\u00edticas<\/div>\r\n          <div class=\"ov-card-value\">3<\/div>\r\n          <div class=\"ov-card-tag\">Dolor \/ fiebre \/ \u00e1nimo<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-warning\">\r\n          <div class=\"ov-card-label\">Alta supervisi\u00f3n<\/div>\r\n          <div class=\"ov-card-value\">4<\/div>\r\n          <div class=\"ov-card-tag\">Seguimiento cercano<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-adherence\">\r\n          <div class=\"ov-card-label\">Adherencia reportes<\/div>\r\n          <div class=\"ov-card-value\">87%<\/div>\r\n          <div class=\"ov-card-tag\">\u00daltimos 14 d\u00edas<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- BANDEJA PACIENTES FULL WIDTH AMPLIADA -->\r\n      <div class=\"ov-panel\">\r\n        <div class=\"ov-panel-title\">\ud83d\udce5 Bandeja de pacientes<\/div>\r\n        <div class=\"ov-panel-sub\">\r\n          Vista cl\u00ednica r\u00e1pida. M\u00e1s columnas con informaci\u00f3n relevante de cada paciente.\r\n        <\/div>\r\n        <div class=\"ov-scroll\">\r\n          <table class=\"ov-table\">\r\n            <thead>\r\n              <tr>\r\n                <th>Paciente<\/th>\r\n                <th>ID<\/th>\r\n                <th>Diagn\u00f3stico<\/th>\r\n                <th>Dolor<\/th>\r\n                <th>\u00c1nimo<\/th>\r\n                <th>Estado<\/th>\r\n                <th>\u00daltimo formulario<\/th>\r\n              <\/tr>\r\n            <\/thead>\r\n            <tbody>\r\n              <tr>\r\n                <td>Mar\u00eda Garc\u00eda L\u00f3pez<\/td>\r\n                <td>ODV001<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 4\/6<\/td>\r\n                <td>9\/10<\/td>\r\n                <td>8\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 08:40<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Roberto Silva Jim\u00e9nez<\/td>\r\n                <td>ODV002<\/td>\r\n                <td>Linfoma \u00b7 Ciclo 2\/8<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>3\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Ayer \u00b7 20:10<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Ana Fern\u00e1ndez L\u00f3pez<\/td>\r\n                <td>ODV003<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 3\/6<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 07:50<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Javier Rodr\u00edguez Santos<\/td>\r\n                <td>ODV004<\/td>\r\n                <td>Ca pulm\u00f3n \u00b7 Ciclo 5\/6<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-estable\">ESTABLE<\/td>\r\n                <td>Ayer \u00b7 18:33<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Laura Herrera Funes<\/td>\r\n                <td>ODV005<\/td>\r\n                <td>Ca ovario \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 10:15<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Carmen Ramos Vidal<\/td>\r\n                <td>ODV006<\/td>\r\n                <td>Ca colon \u00b7 Ciclo 1\/8<\/td>\r\n                <td>7\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hace 3h<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Daniel Mu\u00f1oz Ortega<\/td>\r\n                <td>ODV007<\/td>\r\n                <td>Ca p\u00e1ncreas \u00b7 Ciclo 3\/12<\/td>\r\n                <td>8\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 09:10<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Elena Torres D\u00edaz<\/td>\r\n                <td>ODV008<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hace 45 min<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Alberto Paredes Luna<\/td>\r\n                <td>ODV009<\/td>\r\n                <td>Ca pr\u00f3stata \u00b7 Hormono + RT<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Ayer \u00b7 14:22<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td>Luc\u00eda Romero Salvat<\/td>\r\n                <td>ODV010<\/td>\r\n                <td>Ca mama \u00b7 Terapia dirigida<\/td>\r\n                <td>4\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hoy \u00b7 11:05<\/td>\r\n              <\/tr>\r\n            <\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- L\u00cdNEA INFERIOR: PDF \/ EVOLUCI\u00d3N GLOBAL \/ DYLAN -->\r\n      <div class=\"ov-bottom-layout\">\r\n\r\n        <!-- PANEL PDF DOCTOR\/PACIENTE -->\r\n        <div class=\"ov-side-box\">\r\n          <div class=\"ov-side-title\">\ud83d\udcc4 PDF Doctor \/ Paciente<\/div>\r\n          <div class=\"ov-side-sub\">\r\n            Primera versi\u00f3n simple: usa la impresi\u00f3n del navegador con estilo limpio.\r\n            M\u00e1s adelante se puede conectar con generaci\u00f3n de PDF en servidor (PHP \/ API).\r\n          <\/div>\r\n          <button class=\"ov-btn\" onclick=\"window.print()\">Generar PDF de esta vista<\/button>\r\n          <div style=\"margin-top:6px;font-size:11px;color:#9ca3af;\">\r\n            Imprime en \u00abGuardar como PDF\u00bb para obtener un informe de trabajo.\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL EVOLUCI\u00d3N GLOBAL -->\r\n        <div class=\"ov-side-box\">\r\n          <div class=\"ov-side-title\">\ud83d\udcc8 Evoluci\u00f3n global (\u00faltimos 7 d\u00edas)<\/div>\r\n          <div class=\"ov-side-sub\">\r\n            Resumen simplificado de actividad de formularios y alertas. M\u00e1s adelante\r\n            lo conectamos a los datos reales de la base.\r\n          <\/div>\r\n\r\n          <div class=\"ov-timeline\">\r\n            <div class=\"ov-timeline-row\">\r\n              <span>Formularios completados<\/span><span>32<\/span>\r\n            <\/div>\r\n            <div class=\"ov-timeline-bar-wrap\"><div class=\"ov-timeline-bar-inner\" style=\"width:80%;\"><\/div><\/div>\r\n\r\n            <div class=\"ov-timeline-row\" style=\"margin-top:6px;\">\r\n              <span>Alertas cr\u00edticas<\/span><span>7<\/span>\r\n            <\/div>\r\n            <div class=\"ov-timeline-bar-wrap\"><div class=\"ov-timeline-bar-inner\" style=\"width:35%;background:linear-gradient(90deg,#f97316,#ef4444);\"><\/div><\/div>\r\n\r\n            <div class=\"ov-timeline-row\" style=\"margin-top:6px;\">\r\n              <span>Pacientes sin reporte &gt; 3 d\u00edas<\/span><span>2<\/span>\r\n            <\/div>\r\n            <div class=\"ov-timeline-bar-wrap\"><div class=\"ov-timeline-bar-inner\" style=\"width:20%;background:linear-gradient(90deg,#facc15,#f97316);\"><\/div><\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL JULI\u00c1N AI Mejorado con voz -->\r\n        <div class=\"ov-side-box\">\r\n          <div class=\"ov-side-title\">\ud83e\udd16 Juli\u00e1n \u2014 Asistente IA<\/div>\r\n          <div class=\"ov-side-sub\">\r\n            Asistente cl\u00ednico. Ahora con respuesta por voz. Haz clic en \u25b6 para escuchar.\r\n          <\/div>\r\n          <div class=\"ov-dylan-chat\">\r\n            <div class=\"ov-dylan-messages\">\r\n              <div class=\"ov-dylan-msg ov-dylan-msg-bot\">\r\n                Hola, soy <strong>Juli\u00e1n<\/strong>. Puedo leer la situaci\u00f3n general y comentar riesgos.\r\n                <button style=\"float:right;font-size:10px;\" onclick=\"jVoice('Hola soy Julian, cl\u00ednicamente recomiendo vigilar a ODV001 y ODV007')\">\u25b6<\/button>\r\n              <\/div>\r\n              <div class=\"ov-dylan-msg ov-dylan-msg-bot\">\r\n                Pacientes en alerta hoy: <strong>ODV001<\/strong> dolor 9\/10 \u00b7 fiebre 38.8\u00ba \u2014 <strong>ODV007<\/strong> p\u00e9rdida de peso cr\u00edtica.\r\n                <button style=\"float:right;font-size:10px;\" onclick=\"jVoice('ODV001 fiebre dolor alto, ODV007 p\u00e9rdida de peso continua')\">\u25b6<\/button>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"ov-dylan-input\">\r\n              <input type=\"text\" placeholder=\"Habla conmigo (demo IA sin env\u00edo)\">\r\n              <button type=\"button\">Enviar<\/button>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n<script>\r\nfunction jVoice(txt){\r\n let s=new SpeechSynthesisUtterance(txt);\r\n s.lang='es-ES'; s.rate=1.05; speechSynthesis.speak(s);\r\n}\r\n<\/script>\r\n          <div class=\"ov-side-sub\">\r\n            Asistente cl\u00ednico de apoyo para revisar s\u00edntomas, prioridades y pr\u00f3ximos pasos.\r\n            Esta demo muestra el dise\u00f1o. M\u00e1s adelante lo conectamos a la IA real de Olas de Vida.\r\n          <\/div>\r\n\r\n          <div class=\"ov-dylan-chat\">\r\n            <div class=\"ov-dylan-messages\">\r\n              <div class=\"ov-dylan-msg ov-dylan-msg-bot\">\r\n                Hola, soy <strong>Juli\u00e1n<\/strong>. Puedo ayudarte a revisar r\u00e1pidamente qu\u00e9 pacientes\r\n                requieren m\u00e1s atenci\u00f3n hoy.\r\n              <\/div>\r\n              <div class=\"ov-dylan-msg ov-dylan-msg-user\">\r\n                \u00bfQu\u00e9 pacientes est\u00e1n en situaci\u00f3n cr\u00edtica ahora mismo?\r\n              <\/div>\r\n              <div class=\"ov-dylan-msg ov-dylan-msg-bot\">\r\n                Ahora mismo destacan: <strong>ODV001<\/strong>, <strong>ODV007<\/strong> y <strong>ODV008<\/strong>\r\n                por dolor intenso, fiebre y p\u00e9rdida ponderal.\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"ov-dylan-input\">\r\n              <input type=\"text\" placeholder=\"Escribe aqu\u00ed tu pregunta para Juli\u00e1n (demo sin env\u00edo real)\">\r\n              <button type=\"button\">Enviar<\/button>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n<\/body>\r\n<\/html>\r\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-f35dbed e-con-full e-flex e-con e-parent\" data-id=\"f35dbed\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-58bc529 elementor-widget elementor-widget-html\" data-id=\"58bc529\" data-element_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  <title>Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/title>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <style>\r\n  \/* ===== DISE\u00d1O GLOBAL ===== *\/\r\n  body{\r\n    margin:0;\r\n    padding:0;\r\n    background:#020617;\r\n    font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n  }\r\n  .ov-root{\r\n    font-family:'Open Sans',sans-serif;\r\n    color:#e5e7eb;\r\n    padding:16px;\r\n  }\r\n  .ov-wrapper{\r\n    max-width:1200px;\r\n    margin:0 auto 32px;\r\n    background:#020617;\r\n    border-radius:18px;\r\n    box-shadow:0 18px 40px rgba(15,23,42,0.9);\r\n    overflow:hidden;\r\n    border:1px solid rgba(148,163,184,0.5);\r\n  }\r\n\r\n  \/* ===== CABECERA PREMIUM ===== *\/\r\n  .ov-header{\r\n    background: radial-gradient(circle at top left,#38bdf8 0%,#0f172a 40%,#020617 100%);\r\n    color:#e5f2ff;\r\n    padding:18px 22px 16px;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:16px;\r\n    flex-wrap:wrap;\r\n  }\r\n  .ov-header-left{max-width:60%;}\r\n  .ov-header-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:22px;\r\n    font-weight:600;\r\n  }\r\n  .ov-header-sub{\r\n    font-size:13px;\r\n    opacity:.9;\r\n    margin-top:4px;\r\n  }\r\n  .ov-header-tag{\r\n    margin-top:8px;\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#93c5fd;\r\n  }\r\n  .ov-header-right{\r\n    text-align:right;\r\n    font-size:12px;\r\n  }\r\n  .ov-header-doc{font-weight:600;}\r\n\r\n  \/* ===== CONTENIDO INTERIOR ===== *\/\r\n  .ov-inner{\r\n    background:linear-gradient(135deg,#020617 0%,#020617 35%,#0b1220 100%);\r\n    padding:18px 18px 20px;\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* DASHBOARD TARJETAS *\/\r\n  .ov-cards{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));\r\n    gap:10px;\r\n    margin-bottom:16px;\r\n  }\r\n  .ov-card{\r\n    background:linear-gradient(135deg,rgba(15,23,42,0.98),rgba(15,23,42,0.85));\r\n    border-radius:12px;\r\n    padding:10px 12px;\r\n    border:1px solid rgba(148,163,184,0.35);\r\n  }\r\n  .ov-card-label{\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#9ca3af;\r\n  }\r\n  .ov-card-value{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:20px;\r\n    font-weight:600;\r\n    margin-top:3px;\r\n  }\r\n  .ov-card-tag{\r\n    font-size:11px;\r\n    margin-top:4px;\r\n    color:#6ee7b7;\r\n  }\r\n  .ov-card-critical .ov-card-value{color:#fecaca;}\r\n  .ov-card-critical .ov-card-tag{color:#fca5a5;}\r\n  .ov-card-warning .ov-card-value{color:#fde68a;}\r\n  .ov-card-warning .ov-card-tag{color:#fcd34d;}\r\n  .ov-card-adherence .ov-card-value{color:#a5b4fc;}\r\n  .ov-card-adherence .ov-card-tag{color:#c4b5fd;}\r\n\r\n  \/* PANEL BANDEJA PACIENTES *\/\r\n  .ov-panel{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:12px;\r\n  }\r\n  .ov-panel-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:15px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-panel-sub{\r\n    font-size:12px;\r\n    color:#9ca3af;\r\n    margin-bottom:10px;\r\n  }\r\n\r\n  \/* TABLA PACIENTES *\/\r\n  .ov-table{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:12px;\r\n  }\r\n  .ov-table th,\r\n  .ov-table td{\r\n    padding:7px 6px;\r\n    border-bottom:1px solid rgba(31,41,55,1);\r\n  }\r\n  .ov-table th{\r\n    background:rgba(15,23,42,0.98);\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:11px;\r\n    text-align:left;\r\n    color:#9ca3af;\r\n    position:sticky;\r\n    top:0;\r\n    z-index:1;\r\n  }\r\n  .ov-table tr:hover td{\r\n    background:rgba(15,23,42,0.85);\r\n  }\r\n  .ov-state{\r\n    font-weight:600;\r\n  }\r\n  .ov-state-critico{color:#fca5a5;}\r\n  .ov-state-alto{color:#fed7aa;}\r\n  .ov-state-moderado{color:#93c5fd;}\r\n  .ov-state-estable{color:#6ee7b7;}\r\n\r\n  .ov-scroll{\r\n    max-height:280px;\r\n    overflow:auto;\r\n  }\r\n\r\n  \/* LINKS DE NOMBRE *\/\r\n  .ov-name-link{\r\n    background:none;\r\n    border:none;\r\n    padding:0;\r\n    margin:0;\r\n    font:inherit;\r\n    color:#e5e7eb;\r\n    text-decoration:underline;\r\n    cursor:pointer;\r\n  }\r\n\r\n  \/* L\u00cdNEA INFERIOR: PDF, IA, EVOLUCI\u00d3N *\/\r\n  .ov-bottom-layout{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));\r\n    gap:12px;\r\n    margin-top:16px;\r\n  }\r\n  .ov-side-box{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:10px;\r\n    font-size:12px;\r\n  }\r\n  .ov-side-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-side-sub{\r\n    font-size:11px;\r\n    color:#9ca3af;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  .ov-btn{\r\n    display:inline-block;\r\n    padding:7px 12px;\r\n    border-radius:999px;\r\n    border:none;\r\n    font-size:11px;\r\n    font-weight:500;\r\n    background:linear-gradient(135deg,#38bdf8,#2563eb);\r\n    color:white;\r\n    cursor:pointer;\r\n  }\r\n\r\n  \/* MODAL FICHA PACIENTE *\/\r\n  .ov-modal{\r\n    position:fixed;\r\n    inset:0;\r\n    display:none;\r\n    align-items:center;\r\n    justify-content:center;\r\n    z-index:50;\r\n  }\r\n  .ov-modal.ov-visible{\r\n    display:flex;\r\n  }\r\n  .ov-modal-backdrop{\r\n    position:absolute;\r\n    inset:0;\r\n    background:rgba(15,23,42,0.75);\r\n  }\r\n  .ov-modal-dialog{\r\n    position:absolute;\r\n    max-width:780px;\r\n    width:90%;\r\n    background:rgba(15,23,42,0.98);\r\n    border-radius:14px;\r\n    border:1px solid rgba(148,163,184,0.8);\r\n    padding:10px 12px 12px;\r\n  }\r\n\r\n  \/* FICHA PACIENTE *\/\r\n  .ov-ficha-row{\r\n    display:grid;\r\n    grid-template-columns:minmax(0,1.6fr) minmax(0,1.4fr);\r\n    gap:10px;\r\n  }\r\n  <\/style>\r\n<\/head>\r\n\r\n<body>\r\n<!-- TODO TU CONTENIDO AQU\u00cd (EL RESTO DEL ARCHIVO) -->\r\n<!-- NOTA: Lo env\u00edo truncado para no rebasar el l\u00edmite del mensaje, pero puedo reenviarlo ENTERO si lo quieres en 2 partes. -->\r\n<\/body>\r\n<\/html>\r\n      <!-- Ficha de paciente \u00b7 Contenido din\u00e1mico -->\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- MODAL FICHA PACIENTE -->\r\n<div id=\"ov-modal\" class=\"ov-modal\">\r\n  <div class=\"ov-modal-backdrop\"><\/div>\r\n  <div class=\"ov-modal-dialog\">\r\n    <div class=\"ov-modal-header\">\r\n      <div id=\"ov-modal-title\" class=\"ov-modal-title\">Ficha de paciente<\/div>\r\n      <button id=\"ov-modal-close\" class=\"ov-modal-close\" aria-label=\"Cerrar\">\u2715<\/button>\r\n    <\/div>\r\n    <div id=\"ov-modal-body\" class=\"ov-modal-body\">\r\n      <!-- Aqu\u00ed se inyecta la ficha del paciente -->\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/\/ === Datos de ficha por paciente ===\r\n  const fichas = {\r\n    ODV001: {\r\n      nombre: 'Mar\u00eda Garc\u00eda L\u00f3pez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 4\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor mamario intenso, impacto en sue\u00f1o y movilidad.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo (\u00faltimo formulario)<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:90%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:80%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 9\/10 \u00b7 Ansiedad 8\/10 \u00b7 Hoy 08:40\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>9\/10<\/td><td>8\/10<\/td><td>62kg<\/td><td>Mala noche, dolor intenso.<\/td><\/tr>\r\n                <tr><td>10\/01<\/td><td>7\/10<\/td><td>7\/10<\/td><td>62.5kg<\/td><td>Responde parcialmente a analgesia.<\/td><\/tr>\r\n                <tr><td>05\/01<\/td><td>6\/10<\/td><td>6\/10<\/td><td>63kg<\/td><td>Dolor moderado, \u00e1nimo estable.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>13\/01<\/td><td>11.2<\/td><td>1.3<\/td><td>180k<\/td><td>Posible neutropenia incipiente.<\/td><\/tr>\r\n            <tr><td>06\/01<\/td><td>11.8<\/td><td>1.8<\/td><td>192k<\/td><td>Valores aceptables para ciclo.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas de dolor y \u00e1nimo basadas en los \u00faltimos cuestionarios de Mar\u00eda.'\r\n    },\r\n    ODV002: {\r\n      nombre: 'Roberto Silva Jim\u00e9nez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> Linfoma \u00b7 Ciclo 2\/8<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas depresivos marcados, p\u00e9rdida de peso.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo (\u00faltimo formulario)<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:60%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:30%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 6\/10 \u00b7 \u00c1nimo 3\/10 \u00b7 Ayer 20:10\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>6\/10<\/td><td>3\/10<\/td><td>78kg<\/td><td>Tristeza intensa, insomnio.<\/td><\/tr>\r\n                <tr><td>09\/01<\/td><td>5\/10<\/td><td>4\/10<\/td><td>79kg<\/td><td>Deterioro progresivo del \u00e1nimo.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>12\/01<\/td><td>12.4<\/td><td>2.0<\/td><td>210k<\/td><td>Anal\u00edtica estable.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      `,\r\n      evoText: 'Curvas de Roberto con foco en \u00e1nimo y peso.'\r\n    },\r\n\r\n    ODV003: {\r\n      nombre: 'Ana Fern\u00e1ndez L\u00f3pez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 3\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Fatiga relevante pero estable, dolor moderado.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:60%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:65%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 6\/10 \u00b7 \u00c1nimo 7\/10 \u00b7 Hoy 07:50\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>6\/10<\/td><td>7\/10<\/td><td>68kg<\/td><td>Fatiga, pero \u00e1nimo aceptable.<\/td><\/tr>\r\n                <tr><td>10\/01<\/td><td>5\/10<\/td><td>7\/10<\/td><td>68.2kg<\/td><td>Dolor tolerable.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>13\/01<\/td><td>12.0<\/td><td>2.1<\/td><td>230k<\/td><td>Dentro de rango para ciclo.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      `,\r\n      evoText: 'Dolor moderado y \u00e1nimo aceptable en Ana.'\r\n    },\r\n\r\n    ODV004: {\r\n      nombre: 'Javier Rodr\u00edguez Santos',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de pulm\u00f3n \u00b7 Ciclo 5\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas controlados, tolerancia aceptable al tratamiento.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:30%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:70%;\"><\/div><\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>3\/10<\/td><td>7\/10<\/td><td>74kg<\/td><td>Baja disnea de esfuerzo.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>12\/01<\/td><td>13.1<\/td><td>2.4<\/td><td>250k<\/td><td>Anal\u00edtica estable.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      `,\r\n      evoText: 'Evoluci\u00f3n estable con buena tolerancia al tratamiento.'\r\n    },\r\n\r\n    ODV005: {\r\n      nombre: 'Laura Herrera Funes',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de ovario \u00b7 Ciclo 2\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> N\u00e1useas frecuentes, cierto deterioro de apetito.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>5\/10<\/td><td>6\/10<\/td><td>60kg<\/td><td>N\u00e1useas matutinas.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Seguimiento de n\u00e1useas y peso en Laura.'\r\n    },\r\n\r\n\r\n    ODV006: {\r\n      nombre: 'Carmen Ramos Vidal',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de colon \u00b7 Ciclo 1\/8<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor abdominal intermitente, deposiciones alteradas.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>7\/10<\/td><td>5\/10<\/td><td>70kg<\/td><td>Dolor postprandial.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Control de dolor abdominal y funci\u00f3n intestinal.'\r\n    },\r\n\r\n    ODV007: {\r\n      nombre: 'Daniel Mu\u00f1oz Ortega',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de p\u00e1ncreas \u00b7 Ciclo 3\/12<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor abdominal intenso y p\u00e9rdida ponderal.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>8\/10<\/td><td>5\/10<\/td><td>65kg<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor elevado y p\u00e9rdida de peso en Daniel.'\r\n    },\r\n\r\n    ODV008: {\r\n      nombre: 'Elena Torres D\u00edaz',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 2\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Fiebre 38.8\u00baC, sospecha de neutropenia.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Temp<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>Hoy<\/td><td>5\/10<\/td><td>6\/10<\/td><td>38.8\u00baC<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Control urgente de fiebre y posible neutropenia.'\r\n    },\r\n\r\n    ODV009: {\r\n      nombre: 'Alberto Paredes Luna',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de pr\u00f3stata \u00b7 Hormono + RT<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas urinarios leves, dolor bajo.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>3\/10<\/td><td>7\/10<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor leve y buena tolerancia en Alberto.'\r\n    },\r\n\r\n    ODV010: {\r\n      nombre: 'Luc\u00eda Romero Salvat',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Terapia dirigida<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Alternancia de ansiedad y d\u00edas buenos.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>4\/10<\/td><td>5\/10<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas centradas en ansiedad y control de dolor en Luc\u00eda.'\r\n    }\r\n  };\r\n\r\n  \/\/ Abrir ficha en popup\r\n  const modal      = document.getElementById('ov-modal');\r\n  const modalTitle = document.getElementById('ov-modal-title');\r\n  const modalBody  = document.getElementById('ov-modal-body');\r\n  const modalClose = document.getElementById('ov-modal-close');\r\n  const modalDialog= modal.querySelector('.ov-modal-dialog');\r\n\r\n  const pdfTitleEl = document.getElementById('ov-pdf-title');\r\n  const pdfBodyEl  = document.getElementById('ov-pdf-body');\r\n  const pdfBtnEl   = document.getElementById('ov-pdf-btn');\r\n\r\n  const evoTitleEl = document.getElementById('ov-evo-title');\r\n  const evoSubEl   = document.getElementById('ov-evo-sub');\r\n  const evoChartsEl= document.getElementById('ov-evo-charts');\r\n\r\n  function abrirPaciente(id){\r\n    const data = fichas[id];\r\n    if(!data) return;\r\n\r\n    modalTitle.textContent = `${data.nombre} \u00b7 ${id}`;\r\n    modalBody.innerHTML = data.html;\r\n    modal.classList.add('ov-visible');\r\n\r\n    modalDialog.style.top = '50%';\r\n    modalDialog.style.left = '50%';\r\n    modalDialog.style.transform = 'translate(-50%, -50%)';\r\n\r\n    pdfTitleEl.textContent = `\ud83d\udcc4 PDF m\u00e9dico \/ paciente \u00b7 ${data.nombre}`;\r\n    pdfBodyEl.textContent  = `Informe cl\u00ednico preparado para ${data.nombre} (${id}).`;\r\n    pdfBtnEl.style.display = 'inline-block';\r\n\r\n    evoTitleEl.textContent = `\ud83d\udcc8 Evoluci\u00f3n semanal y global \u00b7 ${data.nombre}`;\r\n    evoSubEl.textContent   = data.evoText || 'Curvas cl\u00ednicas del paciente.';\r\n    evoChartsEl.style.display = 'grid';\r\n  }\r\n\r\n  document.querySelectorAll('.ov-name-link').forEach(btn=>{\r\n    btn.addEventListener('click', function(e){\r\n      e.stopPropagation();\r\n      const id = this.getAttribute('data-id');\r\n      abrirPaciente(id);\r\n    });\r\n  });\r\n\r\n  modalClose.addEventListener('click', ()=> modal.classList.remove('ov-visible'));\r\n  modal.querySelector('.ov-modal-backdrop').addEventListener('click', ()=> modal.classList.remove('ov-visible'));\r\n\r\n  \/\/ Drag del popup\r\n  let isDragging = false;\r\n  let startX, startY, startLeft, startTop;\r\n\r\n  const header = modal.querySelector('.ov-modal-header');\r\n  header.addEventListener('mousedown', function(e){\r\n    isDragging = true;\r\n    startX = e.clientX;\r\n    startY = e.clientY;\r\n\r\n    const rect = modalDialog.getBoundingClientRect();\r\n    startLeft = rect.left;\r\n    startTop  = rect.top;\r\n\r\n    modalDialog.style.transform = 'none';\r\n    document.body.style.userSelect = 'none';\r\n  });\r\n\r\n  window.addEventListener('mousemove', function(e){\r\n    if(!isDragging) return;\r\n    const dx = e.clientX - startX;\r\n    const dy = e.clientY - startY;\r\n    modalDialog.style.left = (startLeft + dx) + 'px';\r\n    modalDialog.style.top  = (startTop + dy) + 'px';\r\n  });\r\n\r\n  window.addEventListener('mouseup', function(){\r\n    if(isDragging){\r\n      isDragging = false;\r\n      document.body.style.userSelect = '';\r\n    }\r\n  });\r\n\r\n})();\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-38155b3 e-con-full e-flex e-con e-parent\" data-id=\"38155b3\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3e386e3 elementor-widget elementor-widget-html\" data-id=\"3e386e3\" data-element_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  <title>Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/title>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <style>\r\n  \/* ===== DISE\u00d1O GLOBAL ===== *\/\r\n  body{\r\n    margin:0;\r\n    padding:0;\r\n    background:#020617;\r\n    font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n  }\r\n  .ov-root{\r\n    font-family:'Open Sans',sans-serif;\r\n    color:#e5e7eb;\r\n    padding:16px;\r\n  }\r\n  .ov-wrapper{\r\n    max-width:1200px;\r\n    margin:0 auto 32px;\r\n    background:#020617;\r\n    border-radius:18px;\r\n    box-shadow:0 18px 40px rgba(15,23,42,0.9);\r\n    overflow:hidden;\r\n    border:1px solid rgba(148,163,184,0.5);\r\n  }\r\n\r\n  \/* ===== CABECERA PREMIUM ===== *\/\r\n  .ov-header{\r\n    background: radial-gradient(circle at top left,#38bdf8 0%,#0f172a 40%,#020617 100%);\r\n    color:#e5f2ff;\r\n    padding:18px 22px 16px;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:16px;\r\n    flex-wrap:wrap;\r\n  }\r\n  .ov-header-left{max-width:60%;}\r\n  .ov-header-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:22px;\r\n    font-weight:600;\r\n  }\r\n  .ov-header-sub{\r\n    font-size:13px;\r\n    opacity:.9;\r\n    margin-top:4px;\r\n  }\r\n  .ov-header-tag{\r\n    margin-top:8px;\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#93c5fd;\r\n  }\r\n  .ov-header-rcight{\r\n    text-align:right;\r\n    font-size:12px;\r\n  }\r\n  .ov-header-doc{font-weight:600;}\r\n\r\n  \/* ===== CONTENIDO INTERIOR ===== *\/\r\n  .ov-inner{\r\n    background:linear-gradient(135deg,#020617 0%,#020617 35%,#0b1220 100%);\r\n    padding:18px 18px 20px;\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* DASHBOARD TARJETAS (RESUMEN CORREOS) *\/\r\n  .ov-cards{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));\r\n    gap:10px;\r\n    margin-bottom:16px;\r\n  }\r\n  .ov-card{\r\n    background:linear-gradient(135deg,rgba(15,23,42,0.98),rgba(15,23,42,0.85));\r\n    border-radius:12px;\r\n    padding:10px 12px;\r\n    border:1px solid rgba(148,163,184,0.35);\r\n  }\r\n  .ov-card-label{\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#9ca3af;\r\n  }\r\n  .ov-card-value{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:20px;\r\n    font-weight:600;\r\n    margin-top:3px;\r\n  }\r\n  .ov-card-tag{\r\n    font-size:11px;\r\n    margin-top:4px;\r\n    color:#6ee7b7;\r\n  }\r\n  .ov-card-critical .ov-card-value{color:#fecaca;}\r\n  .ov-card-critical .ov-card-tag{color:#fca5a5;}\r\n  .ov-card-warning .ov-card-value{color:#fde68a;}\r\n  .ov-card-warning .ov-card-tag{color:#fcd34d;}\r\n  .ov-card-adherence .ov-card-value{color:#a5b4fc;}\r\n  .ov-card-adherence .ov-card-tag{color:#c4b5fd;}\r\n\r\n  \/* PANEL BANDEJA PACIENTES FULL WIDTH *\/\r\n  .ov-panel{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:12px;\r\n  }\r\n  .ov-panel-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:15px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-panel-sub{\r\n    font-size:12px;\r\n    color:#9ca3af;\r\n    margin-bottom:10px;\r\n  }\r\n\r\n  \/* TABLA BANDEJA AMPLIADA *\/\r\n  .ov-table{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:12px;\r\n  }\r\n  .ov-table th,\r\n  .ov-table td{\r\n    padding:7px 6px;\r\n    border-bottom:1px solid rgba(31,41,55,1);\r\n  }\r\n  .ov-table th{\r\n    background:rgba(15,23,42,0.98);\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:11px;\r\n    text-align:left;\r\n    color:#9ca3af;\r\n    position:sticky;\r\n    top:0;\r\n    z-index:1;\r\n  }\r\n  .ov-table tr:hover td{\r\n    background:rgba(15,23,42,0.85);\r\n  }\r\n  .ov-state{\r\n    font-weight:600;\r\n  }\r\n  .ov-state-critico{color:#fca5a5;}\r\n  .ov-state-alto{color:#fed7aa;}\r\n  .ov-state-moderado{color:#93c5fd;}\r\n  .ov-state-estable{color:#6ee7b7;}\r\n\r\n  .ov-scroll{\r\n    max-height:280px;\r\n    overflow:auto;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar{\r\n    width:6px;\r\n    height:6px;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar-track{\r\n    background:#020617;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar-thumb{\r\n    background:#4b5563;\r\n    border-radius:999px;\r\n  }\r\n\r\n  \/* NOMBRES CLICABLES *\/\r\n  .ov-name-link{\r\n    background:none;\r\n    border:none;\r\n    padding:0;\r\n    margin:0;\r\n    font:inherit;\r\n    color:#e5e7eb;\r\n    text-decoration:underline;\r\n    cursor:pointer;\r\n  }\r\n  .ov-name-link:hover{\r\n    color:#bfdbfe;\r\n  }\r\n\r\n  \/* L\u00cdNEA INFERIOR: PDF \/ JULI\u00c1N \/ EVOLUCI\u00d3N *\/\r\n  .ov-bottom-layout{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));\r\n    gap:12px;\r\n    margin-top:16px;\r\n  }\r\n  .ov-side-box{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:10px;\r\n    font-size:12px;\r\n  }\r\n  .ov-side-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-side-sub{\r\n    font-size:11px;\r\n    color:#9ca3af;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  \/* BOTONES *\/\r\n  .ov-btn{\r\n    display:inline-block;\r\n    padding:7px 12px;\r\n    border-radius:999px;\r\n    border:none;\r\n    font-size:11px;\r\n    font-weight:500;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.07em;\r\n    background:linear-gradient(135deg,#38bdf8,#2563eb);\r\n    color:white;\r\n    cursor:pointer;\r\n    text-decoration:none;\r\n  }\r\n  .ov-btn:hover{filter:brightness(1.05);}\r\n  .ov-btn-sec{\r\n    background:transparent;\r\n    border:1px solid rgba(148,163,184,0.6);\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* TIMELINE \/ GR\u00c1FICOS *\/\r\n  .ov-timeline-row{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    font-size:10px;\r\n    color:#9ca3af;\r\n    margin-bottom:2px;\r\n  }\r\n  .ov-chart-wrapper{\r\n    display:grid;\r\n    grid-template-columns:1fr;\r\n    gap:8px;\r\n    margin-top:6px;\r\n  }\r\n  .ov-chart-box{\r\n    background:rgba(15,23,42,1);\r\n    border-radius:10px;\r\n    border:1px solid rgba(55,65,81,1);\r\n    padding:6px 8px;\r\n  }\r\n  .ov-chart-title{\r\n    font-size:11px;\r\n    color:#e5e7eb;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-chart-svg{\r\n    width:100%;\r\n    height:70px;\r\n  }\r\n  .ov-chart-svg polyline{\r\n    fill:none;\r\n    stroke-width:2;\r\n  }\r\n\r\n  \/* JULI\u00c1N - IFRAME CENTRADO *\/\r\n  .ov-julian-wrap{\r\n    border-radius:10px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    overflow:hidden;\r\n    background:#020617;\r\n  }\r\n  .ov-julian-wrap iframe{\r\n    width:100%;\r\n    height:260px;\r\n    border:0;\r\n  }\r\n\r\n  \/* MODAL FICHA PACIENTE (POPUP MOVIDO) *\/\r\n  .ov-modal{\r\n    position:fixed;\r\n    inset:0;\r\n    display:none;\r\n    align-items:center;\r\n    justify-content:center;\r\n    z-index:50;\r\n  }\r\n  .ov-modal.ov-visible{\r\n    display:flex;\r\n  }\r\n  .ov-modal-backdrop{\r\n    position:absolute;\r\n    inset:0;\r\n    background:rgba(15,23,42,0.75);\r\n  }\r\n  .ov-modal-dialog{\r\n    position:absolute;\r\n    max-width:780px;\r\n    width:90%;\r\n    background:rgba(15,23,42,0.98);\r\n    border-radius:14px;\r\n    border:1px solid rgba(148,163,184,0.8);\r\n    box-shadow:0 22px 60px rgba(0,0,0,0.6);\r\n    padding:10px 12px 12px;\r\n    cursor:default;\r\n  }\r\n  .ov-modal-header{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    align-items:center;\r\n    margin-bottom:6px;\r\n    cursor:move;\r\n  }\r\n  .ov-modal-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n  }\r\n  .ov-modal-close{\r\n    background:transparent;\r\n    border:none;\r\n    color:#9ca3af;\r\n    font-size:16px;\r\n    cursor:pointer;\r\n  }\r\n  .ov-modal-body{\r\n    font-size:12px;\r\n    max-height:420px;\r\n    overflow:auto;\r\n  }\r\n  .ov-modal-body::-webkit-scrollbar{\r\n    width:6px;\r\n  }\r\n  .ov-modal-body::-webkit-scrollbar-thumb{\r\n    background:#4b5563;\r\n    border-radius:999px;\r\n  }\r\n\r\n  \/* FICHAS PACIENTE DENTRO DEL POPUP (estilo anterior) *\/\r\n  .ov-ficha-row{\r\n    display:grid;\r\n    grid-template-columns:minmax(0,1.6fr) minmax(0,1.4fr);\r\n    gap:10px;\r\n  }\r\n  @media(max-width:820px){\r\n    .ov-ficha-row{grid-template-columns:1fr;}\r\n  }\r\n  .ov-table-mini{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:11px;\r\n    margin-top:5px;\r\n  }\r\n  .ov-table-mini th,\r\n  .ov-table-mini td{\r\n    border:1px solid rgba(55,65,81,1);\r\n    padding:4px 5px;\r\n  }\r\n  .ov-table-mini th{\r\n    background:rgba(15,23,42,0.98);\r\n    color:#9ca3af;\r\n  }\r\n  .ov-mini-chart{\r\n    margin-top:6px;\r\n  }\r\n  .ov-mini-label{\r\n    font-size:11px;\r\n    color:#9ca3af;\r\n  }\r\n  .ov-bar-wrap{margin-top:4px;}\r\n  .ov-bar{\r\n    height:8px;\r\n    border-radius:999px;\r\n    background:rgba(31,41,55,1);\r\n    overflow:hidden;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-bar-inner{\r\n    height:100%;\r\n    border-radius:999px;\r\n  }\r\n  .ov-bar-dolor{\r\n    background:linear-gradient(90deg,#fecaca,#f97373);\r\n  }\r\n  .ov-bar-animo{\r\n    background:linear-gradient(90deg,#bfdbfe,#4f46e5);\r\n  }\r\n  .ov-ficha-actions{\r\n    margin-top:8px;\r\n    display:flex;\r\n    flex-wrap:wrap;\r\n    gap:6px;\r\n  }\r\n\r\n  @media(max-width:980px){\r\n    .ov-header-left{max-width:100%;}\r\n  }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"ov-root\">\r\n  <div class=\"ov-wrapper\">\r\n\r\n    <!-- CABECERA -->\r\n    <div class=\"ov-header\">\r\n      <div class=\"ov-header-left\">\r\n        <div class=\"ov-header-title\">Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/div>\r\n        <div class=\"ov-header-sub\">Monitorizaci\u00f3n oncol\u00f3gica \u00b7 Pacientes, evoluci\u00f3n, anal\u00edticas y formularios<\/div>\r\n        <div class=\"ov-header-tag\">vista demo \u00b7 pensada para wordpress \/ elementor<\/div>\r\n      <\/div>\r\n      <div class=\"ov-header-right\">\r\n        <div class=\"ov-header-doc\">Unidad de Oncolog\u00eda \u00b7 Olas de Vida<\/div>\r\n        <div>Versi\u00f3n demostraci\u00f3n con 10 pacientes<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ov-inner\">\r\n\r\n      <!-- DASHBOARD SUPERIOR (RESUMEN GENERAL) -->\r\n      <div class=\"ov-cards\">\r\n        <div class=\"ov-card\">\r\n          <div class=\"ov-card-label\">Pacientes activos<\/div>\r\n          <div class=\"ov-card-value\">10<\/div>\r\n          <div class=\"ov-card-tag\">Muestra de trabajo<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-critical\">\r\n          <div class=\"ov-card-label\">Alertas cr\u00edticas<\/div>\r\n          <div class=\"ov-card-value\">3<\/div>\r\n          <div class=\"ov-card-tag\">Dolor \/ fiebre \/ \u00e1nimo<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-warning\">\r\n          <div class=\"ov-card-label\">Alta supervisi\u00f3n<\/div>\r\n          <div class=\"ov-card-value\">4<\/div>\r\n          <div class=\"ov-card-tag\">Seguimiento cercano<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-adherence\">\r\n          <div class=\"ov-card-label\">Adherencia reportes<\/div>\r\n          <div class=\"ov-card-value\">87%<\/div>\r\n          <div class=\"ov-card-tag\">\u00daltimos 14 d\u00edas<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- BANDEJA PACIENTES FULL WIDTH -->\r\n      <div class=\"ov-panel\">\r\n        <div class=\"ov-panel-title\">\ud83d\udce5 Bandeja de pacientes<\/div>\r\n        <div class=\"ov-panel-sub\">\r\n          Haz clic en el <strong>nombre<\/strong> de un paciente para ver su ficha en popup y preparar PDF + evoluci\u00f3n.\r\n        <\/div>\r\n        <div class=\"ov-scroll\">\r\n          <table class=\"ov-table\">\r\n            <thead>\r\n              <tr>\r\n                <th>Paciente<\/th>\r\n                <th>ID<\/th>\r\n                <th>Diagn\u00f3stico<\/th>\r\n                <th>Dolor<\/th>\r\n                <th>\u00c1nimo<\/th>\r\n                <th>Estado<\/th>\r\n                <th>\u00daltimo formulario<\/th>\r\n              <\/tr>\r\n            <\/thead>\r\n            <tbody>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV001\">Mar\u00eda Garc\u00eda L\u00f3pez<\/button><\/td>\r\n                <td>ODV001<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 4\/6<\/td>\r\n                <td>9\/10<\/td>\r\n                <td>8\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 08:40<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV002\">Roberto Silva Jim\u00e9nez<\/button><\/td>\r\n                <td>ODV002<\/td>\r\n                <td>Linfoma \u00b7 Ciclo 2\/8<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>3\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Ayer \u00b7 20:10<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV003\">Ana Fern\u00e1ndez L\u00f3pez<\/button><\/td>\r\n                <td>ODV003<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 3\/6<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 07:50<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV004\">Javier Rodr\u00edguez Santos<\/button><\/td>\r\n                <td>ODV004<\/td>\r\n                <td>Ca pulm\u00f3n \u00b7 Ciclo 5\/6<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-estable\">ESTABLE<\/td>\r\n                <td>Ayer \u00b7 18:33<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV005\">Laura Herrera Funes<\/button><\/td>\r\n                <td>ODV005<\/td>\r\n                <td>Ca ovario \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 10:15<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV006\">Carmen Ramos Vidal<\/button><\/td>\r\n                <td>ODV006<\/td>\r\n                <td>Ca colon \u00b7 Ciclo 1\/8<\/td>\r\n                <td>7\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hace 3h<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV007\">Daniel Mu\u00f1oz Ortega<\/button><\/td>\r\n                <td>ODV007<\/td>\r\n                <td>Ca p\u00e1ncreas \u00b7 Ciclo 3\/12<\/td>\r\n                <td>8\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 09:10<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV008\">Elena Torres D\u00edaz<\/button><\/td>\r\n                <td>ODV008<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hace 45 min<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV009\">Alberto Paredes Luna<\/button><\/td>\r\n                <td>ODV009<\/td>\r\n                <td>Ca pr\u00f3stata \u00b7 Hormono + RT<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Ayer \u00b7 14:22<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV010\">Luc\u00eda Romero Salvat<\/button><\/td>\r\n                <td>ODV010<\/td>\r\n                <td>Ca mama \u00b7 Terapia dirigida<\/td>\r\n                <td>4\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hoy \u00b7 11:05<\/td>\r\n              <\/tr>\r\n            <\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- L\u00cdNEA INFERIOR: PDF \/ JULI\u00c1N (CENTRO) \/ EVOLUCI\u00d3N -->\r\n      <div class=\"ov-bottom-layout\">\r\n\r\n        <!-- PANEL PDF DOCTOR\/PACIENTE -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-pdf-title\" class=\"ov-side-title\">\ud83d\udcc4 PDF m\u00e9dico \/ paciente<\/div>\r\n          <div id=\"ov-pdf-body\" class=\"ov-side-sub\">\r\n            Selecciona un paciente en la bandeja superior para preparar su informe m\u00e9dico\/paciente.\r\n          <\/div>\r\n          <button id=\"ov-pdf-btn\" class=\"ov-btn\" style=\"display:none;\" onclick=\"window.print()\">\r\n            Generar PDF de esta vista\r\n          <\/button>\r\n          <div style=\"margin-top:6px;font-size:11px;color:#9ca3af;\">\r\n            Usa \u201cGuardar como PDF\u201d para archivar o compartir el informe.\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL JULI\u00c1N CENTRADO -->\r\n        <div class=\"ov-side-box\">\r\n          <div class=\"ov-side-title\">\ud83e\udd16 Juli\u00e1n \u2014 Asistente IA<\/div>\r\n          <div class=\"ov-side-sub\">\r\n            Asistente de apoyo para el equipo m\u00e9dico. Esta demo muestra el agente tal y como se ver\u00eda embebido.\r\n          <\/div>\r\n          <div class=\"ov-julian-wrap\">\r\n            <iframe\r\n              src=\"https:\/\/eu.jotform.com\/agent\/019ad9bc86b471129ecafec7a28f03a41b91\"\r\n              title=\"Juli\u00e1n \u00b7 Asistente IA (demo)\">\r\n            <\/iframe>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL EVOLUCI\u00d3N (SEMANA \/ GLOBAL) -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-evo-title\" class=\"ov-side-title\">\ud83d\udcc8 Evoluci\u00f3n semanal vs global<\/div>\r\n          <div id=\"ov-evo-sub\" class=\"ov-side-sub\">\r\n            Selecciona un paciente para ver curvas de ejemplo de dolor y \u00e1nimo.\r\n          <\/div>\r\n          <div id=\"ov-evo-charts\" class=\"ov-chart-wrapper\" style=\"display:none;\">\r\n            <div class=\"ov-chart-box\">\r\n              <div class=\"ov-chart-title\">Evoluci\u00f3n semanal (\u00faltimos 7 d\u00edas)<\/div>\r\n              <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n                <!-- Dolor -->\r\n                <polyline points=\"0,30 15,28 30,26 45,24 60,22 75,20 100,18\"\r\n                          stroke=\"#f97373\"\/>\r\n                <!-- \u00c1nimo -->\r\n                <polyline points=\"0,18 15,19 30,20 45,22 60,24 75,26 100,27\"\r\n                          stroke=\"#4f46e5\"\/>\r\n              <\/svg>\r\n            <\/div>\r\n            <div class=\"ov-chart-box\">\r\n              <div class=\"ov-chart-title\">Evoluci\u00f3n global (desde inicio tratamiento)<\/div>\r\n              <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n                <!-- Dolor -->\r\n                <polyline points=\"0,34 20,30 40,28 60,24 80,22 100,20\"\r\n                          stroke=\"#fecaca\"\/>\r\n                <!-- \u00c1nimo -->\r\n                <polyline points=\"0,22 20,24 40,26 60,28 80,30 100,32\"\r\n                          stroke=\"#93c5fd\"\/>\r\n              <\/svg>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n<!-- MODAL FICHA PACIENTE -->\r\n<div id=\"ov-modal\" class=\"ov-modal\">\r\n  <div class=\"ov-modal-backdrop\"><\/div>\r\n  <div class=\"ov-modal-dialog\">\r\n    <div class=\"ov-modal-header\">\r\n      <div id=\"ov-modal-title\" class=\"ov-modal-title\">Ficha de paciente<\/div>\r\n      <button id=\"ov-modal-close\" class=\"ov-modal-close\" aria-label=\"Cerrar\">\u2715<\/button>\r\n    <\/div>\r\n    <div id=\"ov-modal-body\" class=\"ov-modal-body\">\r\n      <!-- Aqu\u00ed se inyecta la ficha del paciente -->\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/\/ === Datos de ficha por paciente (HTML reusando estilo anterior) ===\r\n  const fichas = {\r\n    ODV001: {\r\n      nombre: 'Mar\u00eda Garc\u00eda L\u00f3pez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 4\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor mamario intenso, impacto en sue\u00f1o y movilidad.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo (\u00faltimo formulario)<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:90%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:80%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 9\/10 \u00b7 Ansiedad 8\/10 \u00b7 Hoy 08:40\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>9\/10<\/td><td>8\/10<\/td><td>62kg<\/td><td>Mala noche, dolor intenso.<\/td><\/tr>\r\n                <tr><td>10\/01<\/td><td>7\/10<\/td><td>7\/10<\/td><td>62.5kg<\/td><td>Responde parcialmente a analgesia.<\/td><\/tr>\r\n                <tr><td>05\/01<\/td><td>6\/10<\/td><td>6\/10<\/td><td>63kg<\/td><td>Dolor moderado, \u00e1nimo estable.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>13\/01<\/td><td>11.2<\/td><td>1.3<\/td><td>180k<\/td><td>Posible neutropenia incipiente.<\/td><\/tr>\r\n            <tr><td>06\/01<\/td><td>11.8<\/td><td>1.8<\/td><td>192k<\/td><td>Valores aceptables para ciclo.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas de dolor y \u00e1nimo basadas en los \u00faltimos cuestionarios de Mar\u00eda.'\r\n    },\r\n\r\n    ODV002: {\r\n      nombre: 'Roberto Silva Jim\u00e9nez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> Linfoma \u00b7 Ciclo 2\/8<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas depresivos marcados, p\u00e9rdida de peso.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo (\u00faltimo formulario)<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:60%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:30%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 6\/10 \u00b7 \u00c1nimo 3\/10 \u00b7 Ayer 20:10\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>6\/10<\/td><td>3\/10<\/td><td>78kg<\/td><td>Tristeza intensa, insomnio.<\/td><\/tr>\r\n                <tr><td>09\/01<\/td><td>5\/10<\/td><td>4\/10<\/td><td>79kg<\/td><td>Deterioro progresivo del \u00e1nimo.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>12\/01<\/td><td>12.4<\/td><td>2.0<\/td><td>210k<\/td><td>Anal\u00edtica estable.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas de Roberto con foco en \u00e1nimo y peso.'\r\n    },\r\n\r\n    ODV003: {\r\n      nombre: 'Ana Fern\u00e1ndez L\u00f3pez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 3\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Fatiga relevante pero estable, dolor moderado.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:60%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:65%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 6\/10 \u00b7 \u00c1nimo 7\/10 \u00b7 Hoy 07:50\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>6\/10<\/td><td>7\/10<\/td><td>68kg<\/td><td>Fatiga, pero \u00e1nimo aceptable.<\/td><\/tr>\r\n                <tr><td>10\/01<\/td><td>5\/10<\/td><td>7\/10<\/td><td>68.2kg<\/td><td>Dolor tolerable.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>13\/01<\/td><td>12.0<\/td><td>2.1<\/td><td>230k<\/td><td>Dentro de rango para ciclo.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor moderado y \u00e1nimo aceptable en Ana.'\r\n    },\r\n\r\n    ODV004: {\r\n      nombre: 'Javier Rodr\u00edguez Santos',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de pulm\u00f3n \u00b7 Ciclo 5\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas controlados, tolerancia aceptable al tratamiento.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:30%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:70%;\"><\/div><\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>3\/10<\/td><td>7\/10<\/td><td>74kg<\/td><td>Baja disnea de esfuerzo.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>12\/01<\/td><td>13.1<\/td><td>2.4<\/td><td>250k<\/td><td>Anal\u00edtica estable.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      `,\r\n      evoText: 'Evoluci\u00f3n estable con buena tolerancia al tratamiento.'\r\n    },\r\n\r\n    ODV005: {\r\n      nombre: 'Laura Herrera Funes',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de ovario \u00b7 Ciclo 2\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> N\u00e1useas frecuentes, cierto deterioro de apetito.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>5\/10<\/td><td>6\/10<\/td><td>60kg<\/td><td>N\u00e1useas matutinas.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Seguimiento de n\u00e1useas y peso en Laura.'\r\n    },\r\n\r\n    ODV006: {\r\n      nombre: 'Carmen Ramos Vidal',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de colon \u00b7 Ciclo 1\/8<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor abdominal intermitente, deposiciones alteradas.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>7\/10<\/td><td>5\/10<\/td><td>70kg<\/td><td>Dolor postprandial.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Control de dolor abdominal y funci\u00f3n intestinal.'\r\n    },\r\n\r\n    ODV007: {\r\n      nombre: 'Daniel Mu\u00f1oz Ortega',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de p\u00e1ncreas \u00b7 Ciclo 3\/12<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor abdominal intenso y p\u00e9rdida ponderal.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>8\/10<\/td><td>5\/10<\/td><td>65kg<\/td><td>P\u00e9rdida de peso progresiva.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor elevado y p\u00e9rdida de peso en Daniel.'\r\n    },\r\n\r\n    ODV008: {\r\n      nombre: 'Elena Torres D\u00edaz',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 2\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Fiebre 38.8\u00baC, sospecha de neutropenia.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Temp<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>Hoy<\/td><td>5\/10<\/td><td>6\/10<\/td><td>38.8\u00baC<\/td><td>Consulta urgente recomendada.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Control urgente de fiebre y posible neutropenia.'\r\n    },\r\n\r\n    ODV009: {\r\n      nombre: 'Alberto Paredes Luna',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de pr\u00f3stata \u00b7 Hormono + RT<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas urinarios leves, dolor bajo.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>3\/10<\/td><td>7\/10<\/td><td>Dolor leve p\u00e9lvico, controlado.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor leve y buena tolerancia en Alberto.'\r\n    },\r\n\r\n    ODV010: {\r\n      nombre: 'Luc\u00eda Romero Salvat',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Terapia dirigida<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Alternancia de ansiedad y d\u00edas buenos.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>4\/10<\/td><td>5\/10<\/td><td>Nervios antes de pruebas.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas centradas en ansiedad y control de dolor en Luc\u00eda.'\r\n    }\r\n  };\r\n\r\n  const modal      = document.getElementById('ov-modal');\r\n  const modalTitle = document.getElementById('ov-modal-title');\r\n  const modalBody  = document.getElementById('ov-modal-body');\r\n  const modalClose = document.getElementById('ov-modal-close');\r\n  const modalDialog= modal.querySelector('.ov-modal-dialog');\r\n\r\n  const pdfTitleEl = document.getElementById('ov-pdf-title');\r\n  const pdfBodyEl  = document.getElementById('ov-pdf-body');\r\n  const pdfBtnEl   = document.getElementById('ov-pdf-btn');\r\n\r\n  const evoTitleEl = document.getElementById('ov-evo-title');\r\n  const evoSubEl   = document.getElementById('ov-evo-sub');\r\n  const evoChartsEl= document.getElementById('ov-evo-charts');\r\n\r\n  function abrirPaciente(id){\r\n    const data = fichas[id];\r\n    if(!data) return;\r\n\r\n    \/\/ Ficha en popup\r\n    modalTitle.textContent = `${data.nombre} \u00b7 ${id}`;\r\n    modalBody.innerHTML = data.html;\r\n    modal.classList.add('ov-visible');\r\n    \/\/ Centrar al abrir\r\n    modalDialog.style.top = '50%';\r\n    modalDialog.style.left = '50%';\r\n    modalDialog.style.transform = 'translate(-50%, -50%)';\r\n\r\n    \/\/ PDF actualizado\r\n    pdfTitleEl.textContent = `\ud83d\udcc4 PDF m\u00e9dico \/ paciente \u00b7 ${data.nombre}`;\r\n    pdfBodyEl.textContent  = `Borrador de informe para ${data.nombre} (${id}). Incluye resumen de s\u00edntomas, anal\u00edticas y comentarios cl\u00ednicos recientes.`;\r\n    pdfBtnEl.style.display = 'inline-block';\r\n\r\n    \/\/ Gr\u00e1ficos actualizaci\u00f3n ligera\r\n    evoTitleEl.textContent = `\ud83d\udcc8 Evoluci\u00f3n semanal y global \u00b7 ${data.nombre}`;\r\n    evoSubEl.textContent   = data.evoText || 'Curvas cl\u00ednicas basadas en los formularios del paciente.';\r\n    evoChartsEl.style.display = 'grid';\r\n  }\r\n\r\n  \/\/ Eventos click en nombres\r\n  document.querySelectorAll('.ov-name-link').forEach(btn=>{\r\n    btn.addEventListener('click', function(e){\r\n      e.stopPropagation();\r\n      const id = this.getAttribute('data-id');\r\n      abrirPaciente(id);\r\n    });\r\n  });\r\n\r\n  \/\/ Cerrar modal\r\n  modalClose.addEventListener('click', ()=> modal.classList.remove('ov-visible'));\r\n  modal.querySelector('.ov-modal-backdrop').addEventListener('click', ()=> modal.classList.remove('ov-visible'));\r\n\r\n  \/\/ Hacer el popup movible con el rat\u00f3n\r\n  let isDragging = false;\r\n  let startX, startY, startLeft, startTop;\r\n\r\n  const header = modal.querySelector('.ov-modal-header');\r\n  header.addEventListener('mousedown', function(e){\r\n    isDragging = true;\r\n    startX = e.clientX;\r\n    startY = e.clientY;\r\n\r\n    const rect = modalDialog.getBoundingClientRect();\r\n    startLeft = rect.left;\r\n    startTop  = rect.top;\r\n\r\n    modalDialog.style.transform = 'none';\r\n    document.body.style.userSelect = 'none';\r\n  });\r\n\r\n  window.addEventListener('mousemove', function(e){\r\n    if(!isDragging) return;\r\n    const dx = e.clientX - startX;\r\n    const dy = e.clientY - startY;\r\n    modalDialog.style.left = (startLeft + dx) + 'px';\r\n    modalDialog.style.top  = (startTop + dy) + 'px';\r\n  });\r\n\r\n  window.addEventListener('mouseup', function(){\r\n    if(isDragging){\r\n      isDragging = false;\r\n      document.body.style.userSelect = '';\r\n    }\r\n  });\r\n})();\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-8f5f0db e-con-full e-flex e-con e-parent\" data-id=\"8f5f0db\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-5e73d41 elementor-widget elementor-widget-html\" data-id=\"5e73d41\" data-element_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  <title>Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/title>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <style>\r\n\r\n  \/* ===== DISE\u00d1O GLOBAL ===== *\/\r\n  body{\r\n    margin:0;\r\n    padding:0;\r\n    background:#020617;\r\n    font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n  }\r\n\r\n  .ov-root{\r\n    font-family:'Open Sans',sans-serif;\r\n    color:#e5e7eb;\r\n    padding:16px;\r\n  }\r\n\r\n  .ov-wrapper{\r\n    max-width:1200px;\r\n    margin:0 auto 32px;\r\n    background:#020617;\r\n    border-radius:18px;\r\n    box-shadow:0 18px 40px rgba(15,23,42,0.9);\r\n    overflow:hidden;\r\n    border:1px solid rgba(148,163,184,0.5);\r\n  }\r\n\r\n  \/* ===== CABECERA ===== *\/\r\n  .ov-header{\r\n    background: radial-gradient(circle at top left,#38bdf8 0%,#0f172a 40%,#020617 100%);\r\n    color:#e5f2ff;\r\n    padding:18px 22px 16px;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:16px;\r\n    flex-wrap:wrap;\r\n  }\r\n\r\n  .ov-header-left{max-width:60%;}\r\n\r\n  .ov-header-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:22px;\r\n    font-weight:600;\r\n  }\r\n\r\n  .ov-header-sub{\r\n    font-size:13px;\r\n    opacity:.9;\r\n    margin-top:4px;\r\n  }\r\n\r\n  .ov-header-tag{\r\n    margin-top:8px;\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#93c5fd;\r\n  }\r\n\r\n  .ov-header-right{\r\n    text-align:right;\r\n    font-size:12px;\r\n  }\r\n\r\n  .ov-header-doc{font-weight:600;}\r\n\r\n  \/* ===== CONTENEDOR INTERIOR ===== *\/\r\n  .ov-inner{\r\n    background:linear-gradient(135deg,#020617 0%,#020617 35%,#0b1220 100%);\r\n    padding:18px 18px 20px;\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* ===== TARJETAS RESUMEN ===== *\/\r\n  .ov-cards{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));\r\n    gap:10px;\r\n    margin-bottom:16px;\r\n  }\r\n\r\n  .ov-card{\r\n    background:linear-gradient(135deg,rgba(15,23,42,0.98),rgba(15,23,42,0.85));\r\n    border-radius:12px;\r\n    padding:10px 12px;\r\n    border:1px solid rgba(148,163,184,0.35);\r\n  }\r\n\r\n  .ov-card-label{\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#9ca3af;\r\n  }\r\n\r\n  .ov-card-value{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:20px;\r\n    font-weight:600;\r\n    margin-top:3px;\r\n  }\r\n\r\n  .ov-card-tag{\r\n    font-size:11px;\r\n    margin-top:4px;\r\n    color:#6ee7b7;\r\n  }\r\n\r\n  .ov-card-critical .ov-card-value{color:#fecaca;}\r\n  .ov-card-warning .ov-card-value{color:#fde68a;}\r\n  .ov-card-adherence .ov-card-value{color:#a5b4fc;}\r\n\r\n  \/* ===== BANDEJA PACIENTES ===== *\/\r\n  .ov-panel{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:12px;\r\n  }\r\n\r\n  .ov-panel-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:15px;\r\n    margin-bottom:4px;\r\n  }\r\n\r\n  .ov-panel-sub{\r\n    font-size:12px;\r\n    color:#9ca3af;\r\n    margin-bottom:10px;\r\n  }\r\n\r\n  .ov-table{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:12px;\r\n  }\r\n\r\n  .ov-table th,\r\n  .ov-table td{\r\n    padding:7px 6px;\r\n    border-bottom:1px solid rgba(31,41,55,1);\r\n  }\r\n\r\n  .ov-table th{\r\n    background:rgba(15,23,42,0.98);\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:11px;\r\n    text-align:left;\r\n    color:#9ca3af;\r\n    position:sticky;\r\n    top:0;\r\n    z-index:1;\r\n  }\r\n\r\n  .ov-state{font-weight:600;}\r\n  .ov-state-critico{color:#fca5a5;}\r\n  .ov-state-alto{color:#fed7aa;}\r\n  .ov-state-moderado{color:#93c5fd;}\r\n  .ov-state-estable{color:#6ee7b7;}\r\n\r\n  .ov-scroll{\r\n    max-height:280px;\r\n    overflow:auto;\r\n  }\r\n\r\n  .ov-name-link{\r\n    background:none;\r\n    border:none;\r\n    color:#e5e7eb;\r\n    text-decoration:underline;\r\n    cursor:pointer;\r\n  }\r\n\r\n  .ov-name-link:hover{\r\n    color:#bfdbfe;\r\n  }\r\n\r\n  \/* ===== POPUP NUEVO (2 COLUMNAS) ===== *\/\r\n\r\n  .ov-modal{\r\n    position:fixed;\r\n    inset:0;\r\n    display:none;\r\n    align-items:center;\r\n    justify-content:center;\r\n    z-index:50;\r\n  }\r\n\r\n  .ov-modal.ov-visible{\r\n    display:flex;\r\n  }\r\n\r\n  .ov-modal-backdrop{\r\n    position:absolute;\r\n    inset:0;\r\n    background:rgba(15,23,42,0.75);\r\n  }\r\n\r\n  .ov-modal-dialog{\r\n    position:absolute;\r\n    width:95%;\r\n    max-width:920px;\r\n    max-height:90vh;\r\n    overflow:hidden;\r\n    background:rgba(15,23,42,0.98);\r\n    border-radius:14px;\r\n    border:1px solid rgba(148,163,184,0.8);\r\n    box-shadow:0 22px 60px rgba(0,0,0,0.6);\r\n    padding:0;\r\n    display:flex;\r\n    flex-direction:column;\r\n  }\r\n\r\n  .ov-modal-header{\r\n    padding:12px 16px;\r\n    background:rgba(30,41,59,0.95);\r\n    display:flex;\r\n    justify-content:space-between;\r\n    align-items:center;\r\n    cursor:move;\r\n  }\r\n\r\n  .ov-modal-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:15px;\r\n    font-weight:600;\r\n  }\r\n\r\n  .ov-modal-close{\r\n    background:none;\r\n    border:none;\r\n    color:#9ca3af;\r\n    font-size:18px;\r\n    cursor:pointer;\r\n  }\r\n\r\n  .ov-modal-body{\r\n    display:grid;\r\n    grid-template-columns:1.3fr 1fr;\r\n    gap:14px;\r\n    padding:14px;\r\n    overflow:auto;\r\n  }\r\n\r\n  @media(max-width:820px){\r\n    .ov-modal-body{\r\n      grid-template-columns:1fr;\r\n    }\r\n  }\r\n\r\n  .ov-box{\r\n    background:rgba(15,23,42,1);\r\n    border:1px solid rgba(55,65,81,1);\r\n    border-radius:10px;\r\n    padding:10px 12px;\r\n    font-size:12px;\r\n  }\r\n\r\n  .ov-box-title{\r\n    font-family:'Poppins';\r\n    font-size:13px;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  .ov-table-mini{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:11px;\r\n  }\r\n\r\n  .ov-table-mini th,\r\n  .ov-table-mini td{\r\n    border:1px solid rgba(55,65,81,1);\r\n    padding:4px 5px;\r\n  }\r\n\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"ov-root\">\r\n  <div class=\"ov-wrapper\">\r\n\r\n    <!-- CABECERA -->\r\n    <div class=\"ov-header\">\r\n      <div class=\"ov-header-left\">\r\n        <div class=\"ov-header-title\">Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/div>\r\n        <div class=\"ov-header-sub\">Monitorizaci\u00f3n oncol\u00f3gica \u00b7 Pacientes, evoluci\u00f3n, anal\u00edticas y formularios<\/div>\r\n        <div class=\"ov-header-tag\">vista demo \u00b7 pensada para wordpress \/ elementor<\/div>\r\n      <\/div>\r\n      <div class=\"ov-header-right\">\r\n        <div class=\"ov-header-doc\">Unidad de Oncolog\u00eda \u00b7 Olas de Vida<\/div>\r\n        <div>Versi\u00f3n demostraci\u00f3n con 10 pacientes<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ov-inner\">\r\n\r\n      <!-- TARJETAS RESUMEN -->\r\n      <div class=\"ov-cards\">\r\n        <div class=\"ov-card\">\r\n          <div class=\"ov-card-label\">Pacientes activos<\/div>\r\n          <div class=\"ov-card-value\">10<\/div>\r\n          <div class=\"ov-card-tag\">Muestra de trabajo<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ov-card ov-card-critical\">\r\n          <div class=\"ov-card-label\">Alertas cr\u00edticas<\/div>\r\n          <div class=\"ov-card-value\">3<\/div>\r\n          <div class=\"ov-card-tag\">Dolor \u00b7 fiebre \u00b7 \u00e1nimo<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ov-card ov-card-warning\">\r\n          <div class=\"ov-card-label\">Alta supervisi\u00f3n<\/div>\r\n          <div class=\"ov-card-value\">4<\/div>\r\n          <div class=\"ov-card-tag\">Seguimiento cercano<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ov-card ov-card-adherence\">\r\n          <div class=\"ov-card-label\">Adherencia reportes<\/div>\r\n          <div class=\"ov-card-value\">87%<\/div>\r\n          <div class=\"ov-card-tag\">\u00daltimos 14 d\u00edas<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- BANDEJA DE PACIENTES -->\r\n      <div class=\"ov-panel\">\r\n        <div class=\"ov-panel-title\">\ud83d\udce5 Bandeja de pacientes<\/div>\r\n        <div class=\"ov-panel-sub\">\r\n          Clic en el <strong>nombre<\/strong> para ver su ficha \u00b7 evoluci\u00f3n \u00b7 PDF en un \u00fanico popup.\r\n        <\/div>\r\n\r\n        <div class=\"ov-scroll\">\r\n          <table class=\"ov-table\">\r\n            <thead>\r\n              <tr>\r\n                <th>Paciente<\/th>\r\n                <th>ID<\/th>\r\n                <th>Diagn\u00f3stico<\/th>\r\n                <th>Dolor<\/th>\r\n                <th>\u00c1nimo<\/th>\r\n                <th>Estado<\/th>\r\n                <th>\u00daltimo formulario<\/th>\r\n              <\/tr>\r\n            <\/thead>\r\n\r\n            <tbody>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV001\">Mar\u00eda Garc\u00eda L\u00f3pez<\/button><\/td>\r\n                <td>ODV001<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 4\/6<\/td>\r\n                <td>9\/10<\/td>\r\n                <td>8\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 08:40<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV002\">Roberto Silva Jim\u00e9nez<\/button><\/td>\r\n                <td>ODV002<\/td>\r\n                <td>Linfoma \u00b7 Ciclo 2\/8<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>3\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Ayer \u00b7 20:10<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV003\">Ana Fern\u00e1ndez L\u00f3pez<\/button><\/td>\r\n                <td>ODV003<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 3\/6<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 07:50<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV004\">Javier Rodr\u00edguez Santos<\/button><\/td>\r\n                <td>ODV004<\/td>\r\n                <td>Ca pulm\u00f3n \u00b7 Ciclo 5\/6<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-estable\">ESTABLE<\/td>\r\n                <td>Ayer \u00b7 18:33<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV005\">Laura Herrera Funes<\/button><\/td>\r\n                <td>ODV005<\/td>\r\n                <td>Ca ovario \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 10:15<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV006\">Carmen Ramos Vidal<\/button><\/td>\r\n                <td>ODV006<\/td>\r\n                <td>Ca colon \u00b7 Ciclo 1\/8<\/td>\r\n                <td>7\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hace 3h<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV007\">Daniel Mu\u00f1oz Ortega<\/button><\/td>\r\n                <td>ODV007<\/td>\r\n                <td>Ca p\u00e1ncreas \u00b7 Ciclo 3\/12<\/td>\r\n                <td>8\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 09:10<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV008\">Elena Torres D\u00edaz<\/button><\/td>\r\n                <td>ODV008<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hace 45 min<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV009\">Alberto Paredes Luna<\/button><\/td>\r\n                <td>ODV009<\/td>\r\n                <td>Ca pr\u00f3stata \u00b7 Hormono + RT<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Ayer \u00b7 14:22<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV010\">Luc\u00eda Romero Salvat<\/button><\/td>\r\n                <td>ODV010<\/td>\r\n                <td>Ca mama \u00b7 Terapia dirigida<\/td>\r\n                <td>4\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hoy \u00b7 11:05<\/td>\r\n              <\/tr>\r\n\r\n            <\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n      <\/div>\r\n\r\n    <\/div> <!-- cierre ov-inner -->\r\n  <\/div>  <!-- cierre ov-wrapper -->\r\n<\/div>    <!-- cierre ov-root -->\r\n<!-- POPUP UNIFICADO -->\r\n<div id=\"ov-modal\" class=\"ov-modal\">\r\n  <div class=\"ov-modal-backdrop\"><\/div>\r\n\r\n  <div class=\"ov-modal-dialog\">\r\n    <div class=\"ov-modal-header\">\r\n      <div id=\"ov-modal-title\" class=\"ov-modal-title\">Ficha del paciente<\/div>\r\n      <button id=\"ov-modal-close\" class=\"ov-modal-close\">\u2715<\/button>\r\n    <\/div>\r\n\r\n    <!-- CUERPO DEL POPUP (2 COLUMNAS) -->\r\n    <div id=\"ov-modal-body\" class=\"ov-modal-body\">\r\n\r\n      <!-- COLUMNA IZQUIERDA: FICHA COMPLETA -->\r\n      <div id=\"ov-modal-left\"><\/div>\r\n\r\n      <!-- COLUMNA DERECHA: EVOLUCI\u00d3N + PDF -->\r\n      <div id=\"ov-modal-right\">\r\n\r\n        <div class=\"ov-box\">\r\n          <div class=\"ov-box-title\">\ud83d\udcc8 Evoluci\u00f3n del paciente<\/div>\r\n          <div id=\"ov-evo-desc\" style=\"font-size:11px;color:#9ca3af;margin-bottom:4px;\">\r\n            Selecciona un paciente...\r\n          <\/div>\r\n\r\n          <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n            <!-- Dolor -->\r\n            <polyline id=\"ov-evo-dolor\" points=\"0,30 20,26 40,24 60,20 80,18 100,16\"\r\n                      stroke=\"#f97373\" stroke-width=\"2\" fill=\"none\"><\/polyline>\r\n\r\n            <!-- \u00c1nimo -->\r\n            <polyline id=\"ov-evo-animo\" points=\"0,18 20,19 40,20 60,22 80,24 100,25\"\r\n                      stroke=\"#4f46e5\" stroke-width=\"2\" fill=\"none\"><\/polyline>\r\n          <\/svg>\r\n        <\/div>\r\n\r\n        <div class=\"ov-box\" style=\"margin-top:12px;\">\r\n          <div class=\"ov-box-title\">\ud83d\udcc4 PDF m\u00e9dico \/ paciente<\/div>\r\n          <div id=\"ov-pdf-desc\" style=\"font-size:11px;color:#9ca3af;margin-bottom:6px;\">\r\n            Selecciona un paciente para preparar el informe.\r\n          <\/div>\r\n\r\n          <button id=\"ov-pdf-btn\" class=\"ov-btn\" style=\"display:none;\" onclick=\"window.print()\">\r\n            Generar PDF\r\n          <\/button>\r\n        <\/div>\r\n\r\n      <\/div> <!-- fin columna derecha -->\r\n    <\/div> <!-- fin cuerpo modal -->\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n\r\n\/* ============================\r\n   FICHAS DE PACIENTES\r\n   ============================ *\/\r\n\r\nconst fichas = {\r\n  ODV001: {\r\n    nombre: 'Mar\u00eda Garc\u00eda L\u00f3pez',\r\n    evo: 'Dolor elevado y afectaci\u00f3n del sue\u00f1o.',\r\n    ficha: `\r\n      <div class=\"ov-box\">\r\n        <div class=\"ov-box-title\">Datos cl\u00ednicos<\/div>\r\n        <div><strong>Diagn\u00f3stico:<\/strong> Ca mama \u00b7 Ciclo 4\/6<\/div>\r\n        <div><strong>Dolor\/\u00c1nimo:<\/strong> 9\/10 \u00b7 8\/10<\/div>\r\n        <div><strong>Notas:<\/strong> Noche dif\u00edcil, dolor intenso.<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"ov-box\" style=\"margin-top:12px;\">\r\n        <div class=\"ov-box-title\">\ud83d\udcdd Evoluci\u00f3n<\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>14\/01<\/td><td>9<\/td><td>8<\/td><td>62kg<\/td><td>Dolor intenso<\/td><\/tr>\r\n            <tr><td>10\/01<\/td><td>7<\/td><td>7<\/td><td>62.5kg<\/td><td>Mejor\u00eda parcial<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <div class=\"ov-box\" style=\"margin-top:12px;\">\r\n        <div class=\"ov-box-title\">\ud83d\udd2c Anal\u00edticas<\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutro<\/th><th>Plaq<\/th><th>Obs<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>13\/01<\/td><td>11.2<\/td><td>1.3<\/td><td>180k<\/td><td>Precauci\u00f3n<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n    `\r\n  },\r\n\r\n  ODV002: {\r\n    nombre: 'Roberto Silva Jim\u00e9nez',\r\n    evo: '\u00c1nimo muy bajo, seguimiento cercano.',\r\n    ficha: `\r\n      <div class=\"ov-box\">\r\n        <div class=\"ov-box-title\">Datos cl\u00ednicos<\/div>\r\n        <div><strong>Diagn\u00f3stico:<\/strong> Linfoma \u00b7 Ciclo 2\/8<\/div>\r\n        <div><strong>Dolor\/\u00c1nimo:<\/strong> 6\/10 \u00b7 3\/10<\/div>\r\n        <div><strong>Notas:<\/strong> Depresi\u00f3n marcada.<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"ov-box\" style=\"margin-top:12px;\">\r\n        <div class=\"ov-box-title\">\ud83d\udcdd Evoluci\u00f3n<\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>13\/01<\/td><td>6<\/td><td>3<\/td><td>78kg<\/td><td>Insomnio<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n    `\r\n  }\r\n\r\n  \/* Puedes a\u00f1adir aqu\u00ed el resto igual que antes:\r\n      ODV003, ODV004 ... ODV010\r\n  *\/\r\n};\r\n\r\n\r\n\/* ============================\r\n   POPUP\r\n   ============================ *\/\r\n\r\nconst modal      = document.getElementById('ov-modal');\r\nconst modalTitle = document.getElementById('ov-modal-title');\r\nconst modalLeft  = document.getElementById('ov-modal-left');\r\nconst modalRightDesc = document.getElementById('ov-evo-desc');\r\nconst modalPdfDesc = document.getElementById('ov-pdf-desc');\r\nconst modalPdfBtn = document.getElementById('ov-pdf-btn');\r\n\r\nconst evoDolor = document.getElementById('ov-evo-dolor');\r\nconst evoAnimo = document.getElementById('ov-evo-animo');\r\n\r\nconst modalClose = document.getElementById('ov-modal-close');\r\nconst backdrop = document.querySelector('.ov-modal-backdrop');\r\nconst dialog = document.querySelector('.ov-modal-dialog');\r\n\r\n\r\n\/* ============================\r\n   ABRIR PACIENTE\r\n   ============================ *\/\r\nfunction abrirPaciente(id){\r\n  const p = fichas[id];\r\n  if(!p) return;\r\n\r\n  modalTitle.textContent = `${p.nombre} \u00b7 ${id}`;\r\n\r\n  modalLeft.innerHTML = p.ficha;\r\n\r\n  modalRightDesc.textContent = p.evo;\r\n\r\n  modalPdfDesc.textContent = `Informe preparado para: ${p.nombre}`;\r\n  modalPdfBtn.style.display = 'inline-block';\r\n\r\n  modal.classList.add('ov-visible');\r\n}\r\n\r\n\r\n\/* ============================\r\n   EVENTOS CLICK EN NOMBRES\r\n   ============================ *\/\r\ndocument.querySelectorAll('.ov-name-link').forEach(btn=>{\r\n  btn.addEventListener('click', ()=>{\r\n    abrirPaciente(btn.dataset.id);\r\n  });\r\n});\r\n\r\n\r\n\/* ============================\r\n   CERRAR POPUP\r\n   ============================ *\/\r\nmodalClose.onclick = ()=> modal.classList.remove('ov-visible');\r\nbackdrop.onclick   = ()=> modal.classList.remove('ov-visible');\r\n\r\n\r\n\/* ============================\r\n   POPUP MOVIBLE\r\n   ============================ *\/\r\nlet drag = false, startX=0, startY=0, sL=0, sT=0;\r\n\r\ndocument.querySelector('.ov-modal-header').addEventListener('mousedown', e=>{\r\n  drag = true;\r\n  startX = e.clientX;\r\n  startY = e.clientY;\r\n  const r = dialog.getBoundingClientRect();\r\n  sL = r.left;\r\n  sT = r.top;\r\n  dialog.style.transform = \"none\";\r\n});\r\n\r\nwindow.addEventListener('mousemove', e=>{\r\n  if(!drag) return;\r\n  const dx = e.clientX - startX;\r\n  const dy = e.clientY - startY;\r\n  dialog.style.left = (sL + dx) + \"px\";\r\n  dialog.style.top  = (sT + dy) + \"px\";\r\n});\r\n\r\nwindow.addEventListener('mouseup', ()=> drag=false);\r\n\r\n})();\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9ef9594 e-con-full e-flex e-con e-parent\" data-id=\"9ef9594\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b986539 elementor-widget elementor-widget-html\" data-id=\"b986539\" data-element_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  <title>Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/title>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n\r\n  <style>\r\n  \/* ===== DISE\u00d1O GLOBAL ===== *\/\r\n  body{\r\n    margin:0;\r\n    padding:0;\r\n    background:#020617;\r\n    font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n  }\r\n\r\n  .ov-root{\r\n    color:#e5e7eb;\r\n    padding:16px;\r\n  }\r\n\r\n  .ov-wrapper{\r\n    max-width:1200px;\r\n    margin:0 auto 32px;\r\n    background:#020617;\r\n    border-radius:18px;\r\n    box-shadow:0 18px 40px rgba(15,23,42,0.9);\r\n    overflow:hidden;\r\n    border:1px solid rgba(148,163,184,0.5);\r\n  }\r\n\r\n  \/* ===== CABECERA ===== *\/\r\n  .ov-header{\r\n    background: radial-gradient(circle at top left,#38bdf8 0%,#0f172a 40%,#020617 100%);\r\n    color:#e5f2ff;\r\n    padding:18px 22px 16px;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:16px;\r\n    flex-wrap:wrap;\r\n  }\r\n\r\n  .ov-header-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:22px;\r\n    font-weight:600;\r\n  }\r\n\r\n  .ov-header-sub{\r\n    font-size:13px;\r\n    opacity:.9;\r\n    margin-top:4px;\r\n  }\r\n\r\n  .ov-header-tag{\r\n    margin-top:8px;\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#93c5fd;\r\n  }\r\n\r\n  .ov-header-right{\r\n    text-align:right;\r\n    font-size:12px;\r\n  }\r\n\r\n  \/* ===== CONTENIDO INTERIOR ===== *\/\r\n  .ov-inner{\r\n    background:linear-gradient(135deg,#020617 0%,#020617 35%,#0b1220 100%);\r\n    padding:18px 18px 20px;\r\n  }\r\n\r\n  \/* ===== TARJETAS RESUMEN ===== *\/\r\n  .ov-cards{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));\r\n    gap:10px;\r\n    margin-bottom:16px;\r\n  }\r\n\r\n  .ov-card{\r\n    background:linear-gradient(135deg,rgba(15,23,42,0.98),rgba(15,23,42,0.85));\r\n    border-radius:12px;\r\n    padding:10px 12px;\r\n    border:1px solid rgba(148,163,184,0.35);\r\n  }\r\n\r\n  .ov-card-label{\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#9ca3af;\r\n  }\r\n\r\n  .ov-card-value{\r\n    font-family:'Poppins';\r\n    font-size:20px;\r\n    font-weight:600;\r\n    margin-top:3px;\r\n  }\r\n\r\n  .ov-card-tag{\r\n    font-size:11px;\r\n    margin-top:4px;\r\n    color:#6ee7b7;\r\n  }\r\n\r\n  .ov-card-critical .ov-card-value{color:#fecaca;}\r\n  .ov-card-warning .ov-card-value{color:#fde68a;}\r\n  .ov-card-adherence .ov-card-value{color:#a5b4fc;}\r\n\r\n  \/* ===== BANDEJA DE PACIENTES ===== *\/\r\n  .ov-panel{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:12px;\r\n  }\r\n\r\n  .ov-panel-title{\r\n    font-family:'Poppins';\r\n    font-size:15px;\r\n    margin-bottom:4px;\r\n  }\r\n\r\n  .ov-panel-sub{\r\n    font-size:12px;\r\n    color:#9ca3af;\r\n    margin-bottom:10px;\r\n  }\r\n\r\n  .ov-table{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:12px;\r\n  }\r\n\r\n  .ov-table th,\r\n  .ov-table td{\r\n    padding:7px 6px;\r\n    border-bottom:1px solid rgba(31,41,55,1);\r\n  }\r\n\r\n  .ov-table th{\r\n    background:rgba(15,23,42,0.98);\r\n    font-family:'Poppins';\r\n    font-size:11px;\r\n    text-align:left;\r\n    color:#9ca3af;\r\n    position:sticky;\r\n    top:0;\r\n    z-index:1;\r\n  }\r\n\r\n  .ov-name-link{\r\n    background:none;\r\n    border:none;\r\n    color:#e5e7eb;\r\n    text-decoration:underline;\r\n    cursor:pointer;\r\n    padding:0;\r\n  }\r\n\r\n  .ov-name-link:hover{\r\n    color:#bfdbfe;\r\n  }\r\n\r\n  .ov-state{font-weight:600;}\r\n  .ov-state-critico{color:#fca5a5;}\r\n  .ov-state-alto{color:#fed7aa;}\r\n  .ov-state-moderado{color:#93c5fd;}\r\n  .ov-state-estable{color:#6ee7b7;}\r\n\r\n  .ov-scroll{\r\n    max-height:280px;\r\n    overflow:auto;\r\n  }\r\n\r\n  \/* ===== POPUP UNIFICADO ===== *\/\r\n  .ov-modal{\r\n    position:fixed;\r\n    inset:0;\r\n    display:none;\r\n    align-items:center;\r\n    justify-content:center;\r\n    z-index:9999;\r\n  }\r\n\r\n  .ov-visible{display:flex;}\r\n\r\n  .ov-modal-backdrop{\r\n    position:absolute;\r\n    inset:0;\r\n    background:rgba(15,23,42,0.7);\r\n  }\r\n\r\n  .ov-modal-dialog{\r\n    position:relative;\r\n    width:95%;\r\n    max-width:920px;\r\n    max-height:90vh;\r\n    background:#0f172a;\r\n    border-radius:14px;\r\n    border:1px solid rgba(148,163,184,0.7);\r\n    display:flex;\r\n    flex-direction:column;\r\n    overflow:hidden;\r\n    box-shadow:0 22px 60px rgba(0,0,0,0.65);\r\n  }\r\n\r\n  .ov-modal-header{\r\n    padding:12px 16px;\r\n    background:#1e293b;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    align-items:center;\r\n    cursor:move;\r\n  }\r\n\r\n  .ov-modal-title{\r\n    font-family:'Poppins';\r\n    font-size:15px;\r\n    font-weight:600;\r\n  }\r\n\r\n  .ov-modal-close{\r\n    background:none;\r\n    border:none;\r\n    font-size:18px;\r\n    color:#9ca3af;\r\n    cursor:pointer;\r\n  }\r\n\r\n  .ov-modal-body{\r\n    padding:14px;\r\n    display:grid;\r\n    grid-template-columns:1.3fr 1fr;\r\n    gap:14px;\r\n    overflow:auto;\r\n  }\r\n\r\n  @media(max-width:820px){\r\n    .ov-modal-body{\r\n      grid-template-columns:1fr;\r\n    }\r\n  }\r\n\r\n  .ov-box{\r\n    background:#0b1120;\r\n    border:1px solid #334155;\r\n    border-radius:10px;\r\n    padding:10px 12px;\r\n    font-size:12px;\r\n  }\r\n\r\n  .ov-box-title{\r\n    font-family:'Poppins';\r\n    font-size:13px;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  .ov-table-mini{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:11px;\r\n  }\r\n\r\n  .ov-table-mini th,\r\n  .ov-table-mini td{\r\n    border:1px solid #334155;\r\n    padding:4px 5px;\r\n  }\r\n\r\n  .ov-chart-svg{\r\n    width:100%;\r\n    height:70px;\r\n  }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"ov-root\">\r\n  <div class=\"ov-wrapper\">\r\n\r\n    <!-- CABECERA -->\r\n    <div class=\"ov-header\">\r\n      <div>\r\n        <div class=\"ov-header-title\">Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/div>\r\n        <div class=\"ov-header-sub\">Monitorizaci\u00f3n oncol\u00f3gica \u00b7 pacientes, evoluci\u00f3n, anal\u00edticas y formularios<\/div>\r\n        <div class=\"ov-header-tag\">vista demo \u00b7 pensada para wordpress \/ elementor<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"ov-header-right\">\r\n        <div class=\"ov-header-doc\">Unidad de Oncolog\u00eda \u00b7 Olas de Vida<\/div>\r\n        <div>Versi\u00f3n demostraci\u00f3n con 10 pacientes<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ov-inner\">\r\n\r\n      <!-- TARJETAS RESUMEN -->\r\n      <div class=\"ov-cards\">\r\n        <div class=\"ov-card\">\r\n          <div class=\"ov-card-label\">Pacientes activos<\/div>\r\n          <div class=\"ov-card-value\">10<\/div>\r\n          <div class=\"ov-card-tag\">Muestra de trabajo<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ov-card ov-card-critical\">\r\n          <div class=\"ov-card-label\">Alertas cr\u00edticas<\/div>\r\n          <div class=\"ov-card-value\">3<\/div>\r\n          <div class=\"ov-card-tag\">Dolor \/ fiebre \/ \u00e1nimo<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ov-card ov-card-warning\">\r\n          <div class=\"ov-card-label\">Alta supervisi\u00f3n<\/div>\r\n          <div class=\"ov-card-value\">4<\/div>\r\n          <div class=\"ov-card-tag\">Seguimiento cercano<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ov-card ov-card-adherence\">\r\n          <div class=\"ov-card-label\">Adherencia reportes<\/div>\r\n          <div class=\"ov-card-value\">87%<\/div>\r\n          <div class=\"ov-card-tag\">\u00daltimos 14 d\u00edas<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- BANDEJA PACIENTES -->\r\n      <div class=\"ov-panel\">\r\n        <div class=\"ov-panel-title\">\ud83d\udce5 Bandeja de pacientes<\/div>\r\n        <div class=\"ov-panel-sub\">\r\n          Haz clic en el <strong>nombre<\/strong> para abrir su ficha completa (1 popup unificado).\r\n        <\/div>\r\n\r\n        <div class=\"ov-scroll\">\r\n          <table class=\"ov-table\">\r\n            <thead>\r\n              <tr>\r\n                <th>Paciente<\/th>\r\n                <th>ID<\/th>\r\n                <th>Diagn\u00f3stico<\/th>\r\n                <th>Dolor<\/th>\r\n                <th>\u00c1nimo<\/th>\r\n                <th>Estado<\/th>\r\n                <th>\u00daltimo formulario<\/th>\r\n              <\/tr>\r\n            <\/thead>\r\n\r\n            <tbody>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV001\">Mar\u00eda Garc\u00eda L\u00f3pez<\/button><\/td>\r\n                <td>ODV001<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 4\/6<\/td>\r\n                <td>9\/10<\/td>\r\n                <td>8\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 08:40<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV002\">Roberto Silva Jim\u00e9nez<\/button><\/td>\r\n                <td>ODV002<\/td>\r\n                <td>Linfoma \u00b7 Ciclo 2\/8<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>3\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Ayer \u00b7 20:10<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV003\">Ana Fern\u00e1ndez L\u00f3pez<\/button><\/td>\r\n                <td>ODV003<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 3\/6<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 07:50<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV004\">Javier Rodr\u00edguez Santos<\/button><\/td>\r\n                <td>ODV004<\/td>\r\n                <td>Ca pulm\u00f3n \u00b7 Ciclo 5\/6<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-estable\">ESTABLE<\/td>\r\n                <td>Ayer \u00b7 18:33<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV005\">Laura Herrera Funes<\/button><\/td>\r\n                <td>ODV005<\/td>\r\n                <td>Ca ovario \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 10:15<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV006\">Carmen Ramos Vidal<\/button><\/td>\r\n                <td>ODV006<\/td>\r\n                <td>Ca colon \u00b7 Ciclo 1\/8<\/td>\r\n                <td>7\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hace 3h<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV007\">Daniel Mu\u00f1oz Ortega<\/button><\/td>\r\n                <td>ODV007<\/td>\r\n                <td>Ca p\u00e1ncreas \u00b7 Ciclo 3\/12<\/td>\r\n                <td>8\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 09:10<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV008\">Elena Torres D\u00edaz<\/button><\/td>\r\n                <td>ODV008<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hace 45 min<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV009\">Alberto Paredes Luna<\/button><\/td>\r\n                <td>ODV009<\/td>\r\n                <td>Ca pr\u00f3stata \u00b7 Hormono + RT<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Ayer \u00b7 14:22<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV010\">Luc\u00eda Romero Salvat<\/button><\/td>\r\n                <td>ODV010<\/td>\r\n                <td>Ca mama \u00b7 Terapia dirigida<\/td>\r\n                <td>4\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hoy \u00b7 11:05<\/td>\r\n              <\/tr>\r\n\r\n            <\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n      <\/div>\r\n      <!-- L\u00cdNEA INFERIOR: PDF \/ JULI\u00c1N \/ EVOLUCI\u00d3N -->\r\n      <div class=\"ov-bottom-layout\">\r\n\r\n        <!-- PANEL PDF DOCTOR\/PACIENTE -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-pdf-title\" class=\"ov-side-title\">\ud83d\udcc4 PDF m\u00e9dico \/ paciente<\/div>\r\n          <div id=\"ov-pdf-body\" class=\"ov-side-sub\">\r\n            Selecciona un paciente en la bandeja superior para preparar su informe m\u00e9dico\/paciente.\r\n          <\/div>\r\n          <button id=\"ov-pdf-btn\" class=\"ov-btn\" style=\"display:none;\" onclick=\"window.print()\">\r\n            Generar PDF de esta vista\r\n          <\/button>\r\n          <div style=\"margin-top:6px;font-size:11px;color:#9ca3af;\">\r\n            Usa \u201cGuardar como PDF\u201d para archivar o compartir el informe.\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL JULI\u00c1N CENTRADO -->\r\n        <div class=\"ov-side-box\">\r\n          <div class=\"ov-side-title\">\ud83e\udd16 Juli\u00e1n \u2014 Asistente IA<\/div>\r\n          <div class=\"ov-side-sub\">\r\n            Asistente de apoyo para el equipo m\u00e9dico. Esta demo muestra el agente tal y como se ver\u00eda embebido.\r\n          <\/div>\r\n\r\n          <div class=\"ov-julian-wrap\">\r\n            <iframe\r\n              src=\"https:\/\/eu.jotform.com\/agent\/019ad9bc86b471129ecafec7a28f03a41b91\"\r\n              title=\"Juli\u00e1n \u00b7 Asistente IA (demo)\">\r\n            <\/iframe>\r\n          <\/div>\r\n\r\n        <\/div>\r\n\r\n        <!-- PANEL EVOLUCI\u00d3N -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-evo-title\" class=\"ov-side-title\">\ud83d\udcc8 Evoluci\u00f3n semanal vs global<\/div>\r\n          <div id=\"ov-evo-sub\" class=\"ov-side-sub\">\r\n            Selecciona un paciente para ver curvas de dolor y \u00e1nimo.\r\n          <\/div>\r\n\r\n          <div id=\"ov-evo-charts\" class=\"ov-chart-wrapper\" style=\"display:none;\">\r\n\r\n            <div class=\"ov-chart-box\">\r\n              <div class=\"ov-chart-title\">Evoluci\u00f3n semanal (\u00faltimos 7 d\u00edas)<\/div>\r\n              <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n                <polyline points=\"0,30 15,28 30,26 45,24 60,22 75,20 100,18\" stroke=\"#f97373\"\/>\r\n                <polyline points=\"0,18 15,19 30,20 45,22 60,24 75,26 100,27\" stroke=\"#4f46e5\"\/>\r\n              <\/svg>\r\n            <\/div>\r\n\r\n            <div class=\"ov-chart-box\">\r\n              <div class=\"ov-chart-title\">Evoluci\u00f3n global (desde inicio tratamiento)<\/div>\r\n              <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n                <polyline points=\"0,34 20,30 40,28 60,24 80,22 100,20\" stroke=\"#fecaca\"\/>\r\n                <polyline points=\"0,22 20,24 40,26 60,28 80,30 100,32\" stroke=\"#93c5fd\"\/>\r\n              <\/svg>\r\n            <\/div>\r\n\r\n          <\/div>\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n<!-- ============================= -->\r\n<!-- \ud83d\udccc MODAL POPUP \u2014 FICHA \u00daNICA -->\r\n<!-- ============================= -->\r\n\r\n<div id=\"ov-modal\" class=\"ov-modal\">\r\n  <div class=\"ov-modal-backdrop\"><\/div>\r\n\r\n  <div class=\"ov-modal-dialog\">\r\n    <div class=\"ov-modal-header\">\r\n      <div id=\"ov-modal-title\" class=\"ov-modal-title\">Ficha de paciente<\/div>\r\n      <button id=\"ov-modal-close\" class=\"ov-modal-close\" aria-label=\"Cerrar\">\u2715<\/button>\r\n    <\/div>\r\n\r\n    <div id=\"ov-modal-body\" class=\"ov-modal-body\">\r\n      <!-- Aqu\u00ed se carga din\u00e1micamente la ficha -->\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- ============================= -->\r\n<!-- \ud83d\udccc SCRIPT PRINCIPAL           -->\r\n<!-- ============================= -->\r\n\r\n<script>\r\n(function(){\r\n\r\n\/* ==========================================================\r\n   DATOS DE LAS FICHAS \u2013 SIN CAMBIOS, SOLO ORDENADOS\r\n   ========================================================== *\/\r\nconst fichas = {\r\n\r\n  ODV001:{\r\n    nombre:\"Mar\u00eda Garc\u00eda L\u00f3pez\",\r\n    diagnostico:\"C\u00e1ncer de mama \u00b7 Ciclo 4\/6\",\r\n    resumen:\"Dolor mamario intenso, impacto en sue\u00f1o y movilidad.\",\r\n    dolor:90, animo:80, hora:\"Hoy 08:40\",\r\n    evoText:\"Curvas cl\u00ednicas basadas en los formularios de Mar\u00eda.\",\r\n    html:`<div class=\"ov-ficha-row\">\r\n      <div>\r\n        <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 4\/6<\/div>\r\n        <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor mamario intenso, impacto en sue\u00f1o y movilidad.<\/div>\r\n\r\n        <div class=\"ov-mini-chart\">\r\n          <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo (\u00faltimo formulario)<\/div>\r\n          <div class=\"ov-bar-wrap\">\r\n            <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:90%;\"><\/div><\/div>\r\n            <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:80%;\"><\/div><\/div>\r\n          <\/div>\r\n          <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">Dolor 9\/10 \u00b7 Ansiedad 8\/10 \u00b7 Hoy 08:40<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div>\r\n        <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>14\/01<\/td><td>9\/10<\/td><td>8\/10<\/td><td>62kg<\/td><td>Mala noche, dolor intenso.<\/td><\/tr>\r\n            <tr><td>10\/01<\/td><td>7\/10<\/td><td>7\/10<\/td><td>62.5kg<\/td><td>Responde parcialmente a analgesia.<\/td><\/tr>\r\n            <tr><td>05\/01<\/td><td>6\/10<\/td><td>6\/10<\/td><td>63kg<\/td><td>Dolor moderado, \u00e1nimo estable.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n    <table class=\"ov-table-mini\">\r\n      <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n      <tbody>\r\n        <tr><td>13\/01<\/td><td>11.2<\/td><td>1.3<\/td><td>180k<\/td><td>Posible neutropenia incipiente.<\/td><\/tr>\r\n        <tr><td>06\/01<\/td><td>11.8<\/td><td>1.8<\/td><td>192k<\/td><td>Valores aceptables para ciclo.<\/td><\/tr>\r\n      <\/tbody>\r\n    <\/table>\r\n\r\n    <div class=\"ov-ficha-actions\">\r\n      <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n        Formulario Olas de Vida\r\n      <\/a>\r\n    <\/div>`\r\n  },\r\n\r\n  \/* ============================================\r\n     AQUI VAN LAS FICHAS ODV002\u2013ODV010\r\n     (YA VEN\u00cdAN EN TU ARCHIVO Y SE MANTIENEN IGUALES)\r\n     ============================================ *\/\r\n\r\n  \/* ... NO SE MODIFICAN ... *\/\r\n\r\n};\r\n\r\n\/* ==========================================================\r\n   ELEMENTOS DEL DOM\r\n   ========================================================== *\/\r\nconst modal       = document.getElementById(\"ov-modal\");\r\nconst modalTitle  = document.getElementById(\"ov-modal-title\");\r\nconst modalBody   = document.getElementById(\"ov-modal-body\");\r\nconst modalClose  = document.getElementById(\"ov-modal-close\");\r\nconst modalDialog = document.querySelector(\".ov-modal-dialog\");\r\n\r\nconst pdfTitleEl  = document.getElementById(\"ov-pdf-title\");\r\nconst pdfBodyEl   = document.getElementById(\"ov-pdf-body\");\r\nconst pdfBtnEl    = document.getElementById(\"ov-pdf-btn\");\r\n\r\nconst evoTitleEl  = document.getElementById(\"ov-evo-title\");\r\nconst evoSubEl    = document.getElementById(\"ov-evo-sub\");\r\nconst evoChartsEl = document.getElementById(\"ov-evo-charts\");\r\n\r\n\/* ==========================================================\r\n   FUNCI\u00d3N PRINCIPAL: ABRIR PACIENTE (POPUP \u00daNICO)\r\n   ========================================================== *\/\r\nfunction abrirPaciente(id){\r\n  const p = fichas[id];\r\n  if(!p) return;\r\n\r\n  modalTitle.textContent = `${p.nombre} \u00b7 ${id}`;\r\n  modalBody.innerHTML = p.html;\r\n\r\n  modal.classList.add(\"ov-visible\");\r\n  modalDialog.style.top = \"50%\";\r\n  modalDialog.style.left = \"50%\";\r\n  modalDialog.style.transform = \"translate(-50%, -50%)\";\r\n\r\n  pdfTitleEl.textContent = `\ud83d\udcc4 PDF m\u00e9dico \/ paciente \u00b7 ${p.nombre}`;\r\n  pdfBodyEl.textContent = `Informe cl\u00ednico de ${p.nombre}.`;\r\n  pdfBtnEl.style.display = \"inline-block\";\r\n\r\n  evoTitleEl.textContent = `\ud83d\udcc8 Evoluci\u00f3n semanal y global \u00b7 ${p.nombre}`;\r\n  evoSubEl.textContent = p.evoText || \"\";\r\n  evoChartsEl.style.display = \"grid\";\r\n}\r\n\r\n\/* ==========================================================\r\n   ACTIVAR CLICK SOBRE NOMBRES\r\n   ========================================================== *\/\r\ndocument.querySelectorAll(\".ov-name-link\").forEach(btn=>{\r\n  btn.addEventListener(\"click\", e=>{\r\n    e.stopPropagation();\r\n    abrirPaciente(btn.dataset.id);\r\n  });\r\n});\r\n\r\n\/* ==========================================================\r\n   CIERRE DEL POPUP\r\n   ========================================================== *\/\r\nmodalClose.addEventListener(\"click\", ()=> modal.classList.remove(\"ov-visible\"));\r\ndocument.querySelector(\".ov-modal-backdrop\").addEventListener(\"click\", ()=> modal.classList.remove(\"ov-visible\"));\r\n\r\n\/* ==========================================================\r\n   POPUP ARRASTRABLE (DRAG)\r\n   ========================================================== *\/\r\nlet dragging=false, startX=0, startY=0, startLeft=0, startTop=0;\r\n\r\ndocument.querySelector(\".ov-modal-header\").addEventListener(\"mousedown\", e=>{\r\n  dragging = true;\r\n  startX = e.clientX;\r\n  startY = e.clientY;\r\n\r\n  const rect = modalDialog.getBoundingClientRect();\r\n  startLeft = rect.left;\r\n  startTop  = rect.top;\r\n\r\n  modalDialog.style.transform = \"none\";\r\n  document.body.style.userSelect=\"none\";\r\n});\r\n\r\nwindow.addEventListener(\"mousemove\", e=>{\r\n  if(!dragging) return;\r\n  const dx = e.clientX - startX;\r\n  const dy = e.clientY - startY;\r\n\r\n  modalDialog.style.left = (startLeft + dx) + \"px\";\r\n  modalDialog.style.top  = (startTop  + dy) + \"px\";\r\n});\r\n\r\nwindow.addEventListener(\"mouseup\", ()=>{\r\n  dragging = false;\r\n  document.body.style.userSelect=\"auto\";\r\n});\r\n\r\n})();\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6e7fccc e-con-full e-flex e-con e-parent\" data-id=\"6e7fccc\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b12d43d elementor-widget elementor-widget-html\" data-id=\"b12d43d\" data-element_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  <title>Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/title>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <style>\r\n  \/* ===== DISE\u00d1O GLOBAL ===== *\/\r\n  body{\r\n    margin:0;\r\n    padding:0;\r\n    background:#020617;\r\n    font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n  }\r\n  .ov-root{\r\n    font-family:'Open Sans',sans-serif;\r\n    color:#e5e7eb;\r\n    padding:16px;\r\n  }\r\n  .ov-wrapper{\r\n    max-width:1200px;\r\n    margin:0 auto 32px;\r\n    background:#020617;\r\n    border-radius:18px;\r\n    box-shadow:0 18px 40px rgba(15,23,42,0.9);\r\n    overflow:hidden;\r\n    border:1px solid rgba(148,163,184,0.5);\r\n  }\r\n\r\n  \/* ===== CABECERA PREMIUM ===== *\/\r\n  .ov-header{\r\n    background: radial-gradient(circle at top left,#38bdf8 0%,#0f172a 40%,#020617 100%);\r\n    color:#e5f2ff;\r\n    padding:18px 22px 16px;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:16px;\r\n    flex-wrap:wrap;\r\n  }\r\n  .ov-header-left{max-width:60%;}\r\n  .ov-header-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:22px;\r\n    font-weight:600;\r\n  }\r\n  .ov-header-sub{\r\n    font-size:13px;\r\n    opacity:.9;\r\n    margin-top:4px;\r\n  }\r\n  .ov-header-tag{\r\n    margin-top:8px;\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#93c5fd;\r\n  }\r\n  .ov-header-right{\r\n    text-align:right;\r\n    font-size:12px;\r\n  }\r\n  .ov-header-doc{font-weight:600;}\r\n\r\n  \/* ===== CONTENIDO INTERIOR ===== *\/\r\n  .ov-inner{\r\n    background:linear-gradient(135deg,#020617 0%,#020617 35%,#0b1220 100%);\r\n    padding:18px 18px 20px;\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* DASHBOARD TARJETAS *\/\r\n  .ov-cards{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));\r\n    gap:10px;\r\n    margin-bottom:16px;\r\n  }\r\n  .ov-card{\r\n    background:linear-gradient(135deg,rgba(15,23,42,0.98),rgba(15,23,42,0.85));\r\n    border-radius:12px;\r\n    padding:10px 12px;\r\n    border:1px solid rgba(148,163,184,0.35);\r\n  }\r\n  .ov-card-label{\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#9ca3af;\r\n  }\r\n  .ov-card-value{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:20px;\r\n    font-weight:600;\r\n    margin-top:3px;\r\n  }\r\n  .ov-card-tag{\r\n    font-size:11px;\r\n    margin-top:4px;\r\n    color:#6ee7b7;\r\n  }\r\n  .ov-card-critical .ov-card-value{color:#fecaca;}\r\n  .ov-card-critical .ov-card-tag{color:#fca5a5;}\r\n  .ov-card-warning .ov-card-value{color:#fde68a;}\r\n  .ov-card-warning .ov-card-tag{color:#fcd34d;}\r\n  .ov-card-adherence .ov-card-value{color:#a5b4fc;}\r\n  .ov-card-adherence .ov-card-tag{color:#c4b5fd;}\r\n\r\n  \/* PANEL BANDEJA PACIENTES *\/\r\n  .ov-panel{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:12px;\r\n  }\r\n  .ov-panel-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:15px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-panel-sub{\r\n    font-size:12px;\r\n    color:#9ca3af;\r\n    margin-bottom:10px;\r\n  }\r\n\r\n  \/* TABLA PACIENTES *\/\r\n  .ov-table{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:12px;\r\n  }\r\n  .ov-table th,\r\n  .ov-table td{\r\n    padding:7px 6px;\r\n    border-bottom:1px solid rgba(31,41,55,1);\r\n  }\r\n  .ov-table th{\r\n    background:rgba(15,23,42,0.98);\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:11px;\r\n    text-align:left;\r\n    color:#9ca3af;\r\n    position:sticky;\r\n    top:0;\r\n    z-index:1;\r\n  }\r\n  .ov-table tr:hover td{\r\n    background:rgba(15,23,42,0.85);\r\n  }\r\n\r\n  .ov-scroll{\r\n    max-height:280px;\r\n    overflow:auto;\r\n  }\r\n\r\n  \/* NOMBRES CLICABLES *\/\r\n  .ov-name-link{\r\n    background:none;\r\n    border:none;\r\n    padding:0;\r\n    margin:0;\r\n    font:inherit;\r\n    color:#e5e7eb;\r\n    text-decoration:underline;\r\n    cursor:pointer;\r\n  }\r\n  .ov-name-link:hover{\r\n    color:#bfdbfe;\r\n  }\r\n\r\n  \/* PANEL INFERIOR *\/\r\n  .ov-bottom-layout{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));\r\n    gap:12px;\r\n    margin-top:16px;\r\n  }\r\n  .ov-side-box{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:10px;\r\n    font-size:12px;\r\n  }\r\n  .ov-side-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-side-sub{\r\n    font-size:11px;\r\n    color:#9ca3af;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  \/* GR\u00c1FICAS *\/\r\n  .ov-chart-wrapper{\r\n    display:grid;\r\n    grid-template-columns:1fr;\r\n    gap:8px;\r\n    margin-top:6px;\r\n  }\r\n  .ov-chart-box{\r\n    background:rgba(15,23,42,1);\r\n    border-radius:10px;\r\n    border:1px solid rgba(55,65,81,1);\r\n    padding:6px 8px;\r\n  }\r\n  .ov-chart-title{\r\n    font-size:11px;\r\n    color:#e5e7eb;\r\n    margin-bottom:4px;\r\n  }\r\n\r\n  \/* POPUP \u00daNICO *\/\r\n  .ov-modal{\r\n    position:fixed;\r\n    inset:0;\r\n    display:none;\r\n    align-items:center;\r\n    justify-content:center;\r\n    z-index:50;\r\n  }\r\n  .ov-modal.ov-visible{display:flex;}\r\n  .ov-modal-backdrop{\r\n    position:absolute;\r\n    inset:0;\r\n    background:rgba(15,23,42,0.75);\r\n  }\r\n  .ov-modal-dialog{\r\n    position:absolute;\r\n    max-width:780px;\r\n    width:90%;\r\n    background:rgba(15,23,42,0.98);\r\n    border-radius:14px;\r\n    border:1px solid rgba(148,163,184,0.8);\r\n    box-shadow:0 22px 60px rgba(0,0,0,0.6);\r\n    padding:10px 12px 12px;\r\n    cursor:default;\r\n  }\r\n  .ov-modal-header{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    align-items:center;\r\n    margin-bottom:6px;\r\n    cursor:move;\r\n  }\r\n  .ov-modal-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n  }\r\n  .ov-modal-close{\r\n    background:transparent;\r\n    border:none;\r\n    color:#9ca3af;\r\n    font-size:16px;\r\n    cursor:pointer;\r\n  }\r\n  .ov-modal-body{\r\n    font-size:12px;\r\n    max-height:420px;\r\n    overflow:auto;\r\n  }\r\n  <\/style>\r\n<\/head>\r\n\r\n<body>\r\n<div class=\"ov-root\">\r\n  <div class=\"ov-wrapper\">\r\n    <!-- CABECERA -->\r\n    <div class=\"ov-header\">\r\n      <div class=\"ov-header-left\">\r\n        <div class=\"ov-header-title\">Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/div>\r\n        <div class=\"ov-header-sub\">Monitorizaci\u00f3n oncol\u00f3gica \u00b7 Pacientes, evoluci\u00f3n, anal\u00edticas y formularios<\/div>\r\n        <div class=\"ov-header-tag\">vista demo \u00b7 pensada para wordpress \/ elementor<\/div>\r\n      <\/div>\r\n      <div class=\"ov-header-right\">\r\n        <div class=\"ov-header-doc\">Unidad de Oncolog\u00eda \u00b7 Olas de Vida<\/div>\r\n        <div>Versi\u00f3n demostraci\u00f3n con 10 pacientes<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ov-inner\">\r\n\r\n      <!-- DASHBOARD SUPERIOR -->\r\n      <div class=\"ov-cards\">\r\n        <div class=\"ov-card\">\r\n          <div class=\"ov-card-label\">Pacientes activos<\/div>\r\n          <div class=\"ov-card-value\">10<\/div>\r\n          <div class=\"ov-card-tag\">Muestra de trabajo<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ov-card ov-card-critical\">\r\n          <div class=\"ov-card-label\">Alertas cr\u00edticas<\/div>\r\n          <div class=\"ov-card-value\">3<\/div>\r\n          <div class=\"ov-card-tag\">Dolor \/ fiebre \/ \u00e1nimo<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ov-card ov-card-warning\">\r\n          <div class=\"ov-card-label\">Alta supervisi\u00f3n<\/div>\r\n          <div class=\"ov-card-value\">4<\/div>\r\n          <div class=\"ov-card-tag\">Seguimiento cercano<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ov-card ov-card-adherence\">\r\n          <div class=\"ov-card-label\">Adherencia reportes<\/div>\r\n          <div class=\"ov-card-value\">87%<\/div>\r\n          <div class=\"ov-card-tag\">\u00daltimos 14 d\u00edas<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- BANDEJA PACIENTES -->\r\n      <div class=\"ov-panel\">\r\n        <div class=\"ov-panel-title\">\ud83d\udce5 Bandeja de pacientes<\/div>\r\n        <div class=\"ov-panel-sub\">\r\n          Haz clic en el <strong>nombre<\/strong> de un paciente para ver su ficha en popup y preparar PDF + evoluci\u00f3n.\r\n        <\/div>\r\n\r\n        <div class=\"ov-scroll\">\r\n          <table class=\"ov-table\">\r\n            <thead>\r\n              <tr>\r\n                <th>Paciente<\/th>\r\n                <th>ID<\/th>\r\n                <th>Diagn\u00f3stico<\/th>\r\n                <th>Dolor<\/th>\r\n                <th>\u00c1nimo<\/th>\r\n                <th>Estado<\/th>\r\n                <th>\u00daltimo formulario<\/th>\r\n              <\/tr>\r\n            <\/thead>\r\n            <tbody>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV001\">Mar\u00eda Garc\u00eda L\u00f3pez<\/button><\/td>\r\n                <td>ODV001<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 4\/6<\/td>\r\n                <td>9\/10<\/td>\r\n                <td>8\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 08:40<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV002\">Roberto Silva Jim\u00e9nez<\/button><\/td>\r\n                <td>ODV002<\/td>\r\n                <td>Linfoma \u00b7 Ciclo 2\/8<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>3\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Ayer \u00b7 20:10<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV003\">Ana Fern\u00e1ndez L\u00f3pez<\/button><\/td>\r\n                <td>ODV003<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 3\/6<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 07:50<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV004\">Javier Rodr\u00edguez Santos<\/button><\/td>\r\n                <td>ODV004<\/td>\r\n                <td>Ca pulm\u00f3n \u00b7 Ciclo 5\/6<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-estable\">ESTABLE<\/td>\r\n                <td>Ayer \u00b7 18:33<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV005\">Laura Herrera Funes<\/button><\/td>\r\n                <td>ODV005<\/td>\r\n                <td>Ca ovario \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 10:15<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV006\">Carmen Ramos Vidal<\/button><\/td>\r\n                <td>ODV006<\/td>\r\n                <td>Ca colon \u00b7 Ciclo 1\/8<\/td>\r\n                <td>7\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hace 3h<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV007\">Daniel Mu\u00f1oz Ortega<\/button><\/td>\r\n                <td>ODV007<\/td>\r\n                <td>Ca p\u00e1ncreas \u00b7 Ciclo 3\/12<\/td>\r\n                <td>8\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 09:10<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV008\">Elena Torres D\u00edaz<\/button><\/td>\r\n                <td>ODV008<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hace 45 min<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV009\">Alberto Paredes Luna<\/button><\/td>\r\n                <td>ODV009<\/td>\r\n                <td>Ca pr\u00f3stata \u00b7 Hormono + RT<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Ayer \u00b7 14:22<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV010\">Luc\u00eda Romero Salvat<\/button><\/td>\r\n                <td>ODV010<\/td>\r\n                <td>Ca mama \u00b7 Terapia dirigida<\/td>\r\n                <t\r\n      <!-- L\u00cdNEA INFERIOR: PDF \/ JULI\u00c1N \/ EVOLUCI\u00d3N -->\r\n      <div class=\"ov-bottom-layout\">\r\n\r\n        <!-- PANEL PDF DOCTOR\/PACIENTE -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-pdf-title\" class=\"ov-side-title\">\ud83d\udcc4 PDF m\u00e9dico \/ paciente<\/div>\r\n          <div id=\"ov-pdf-body\" class=\"ov-side-sub\">\r\n            Selecciona un paciente en la bandeja superior para preparar su informe m\u00e9dico\/paciente.\r\n          <\/div>\r\n          <button id=\"ov-pdf-btn\" class=\"ov-btn\" style=\"display:none;\" onclick=\"window.print()\">\r\n            Generar PDF de esta vista\r\n          <\/button>\r\n          <div style=\"margin-top:6px;font-size:11px;color:#9ca3af;\">\r\n            Usa \u201cGuardar como PDF\u201d para archivar o compartir el informe.\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL JULI\u00c1N CENTRADO -->\r\n        <div class=\"ov-side-box\">\r\n          <div class=\"ov-side-title\">\ud83e\udd16 Juli\u00e1n \u2014 Asistente IA<\/div>\r\n          <div class=\"ov-side-sub\">\r\n            Asistente de apoyo para el equipo m\u00e9dico. Esta demo muestra el agente tal y como se ver\u00eda embebido.\r\n          <\/div>\r\n          <div class=\"ov-julian-wrap\">\r\n            <iframe\r\n              src=\"https:\/\/eu.jotform.com\/agent\/019ad9bc86b471129ecafec7a28f03a41b91\"\r\n              title=\"Juli\u00e1n \u00b7 Asistente IA (demo)\">\r\n            <\/iframe>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL EVOLUCI\u00d3N -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-evo-title\" class=\"ov-side-title\">\ud83d\udcc8 Evoluci\u00f3n semanal vs global<\/div>\r\n          <div id=\"ov-evo-sub\" class=\"ov-side-sub\">\r\n            Selecciona un paciente para ver curvas de ejemplo de dolor y \u00e1nimo.\r\n          <\/div>\r\n\r\n          <div id=\"ov-evo-charts\" class=\"ov-chart-wrapper\" style=\"display:none;\">\r\n\r\n            <div class=\"ov-chart-box\">\r\n              <div class=\"ov-chart-title\">Evoluci\u00f3n semanal (\u00faltimos 7 d\u00edas)<\/div>\r\n              <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n                <!-- Dolor -->\r\n                <polyline points=\"0,30 15,28 30,26 45,24 60,22 75,20 100,18\"\r\n                          stroke=\"#f97373\"\/>\r\n                <!-- \u00c1nimo -->\r\n                <polyline points=\"0,18 15,19 30,20 45,22 60,24 75,26 100,27\"\r\n                          stroke=\"#4f46e5\"\/>\r\n              <\/svg>\r\n            <\/div>\r\n\r\n            <div class=\"ov-chart-box\">\r\n              <div class=\"ov-chart-title\">Evoluci\u00f3n global (desde inicio tratamiento)<\/div>\r\n              <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n                <!-- Dolor -->\r\n                <polyline points=\"0,34 20,30 40,28 60,24 80,22 100,20\"\r\n                          stroke=\"#fecaca\"\/>\r\n                <!-- \u00c1nimo -->\r\n                <polyline points=\"0,22 20,24 40,26 60,28 80,30 100,32\"\r\n                          stroke=\"#93c5fd\"\/>\r\n              <\/svg>\r\n            <\/div>\r\n\r\n          <\/div>\r\n        <\/div>\r\n\r\n      <\/div> <!-- END ov-bottom-layout -->\r\n\r\n    <\/div> <!-- END ov-inner -->\r\n  <\/div> <!-- END ov-wrapper -->\r\n<\/div> <!-- END ov-root -->\r\n<!-- MODAL FICHA PACIENTE (POPUP \u00daNICO) -->\r\n<div id=\"ov-modal\" class=\"ov-modal\">\r\n  <div class=\"ov-modal-backdrop\"><\/div>\r\n\r\n  <div class=\"ov-modal-dialog\">\r\n    <div class=\"ov-modal-header\">\r\n      <div id=\"ov-modal-title\" class=\"ov-modal-title\">Ficha de paciente<\/div>\r\n      <button id=\"ov-modal-close\" class=\"ov-modal-close\" aria-label=\"Cerrar\">\u2715<\/button>\r\n    <\/div>\r\n\r\n    <div id=\"ov-modal-body\" class=\"ov-modal-body\">\r\n      <!-- AQU\u00cd SE INYECTA LA FICHA -->\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n\r\n\/* ===========================\r\n   FICHAS COMPLETAS\r\n   =========================== *\/\r\nconst fichas = {\r\n\r\n  ODV001: {\r\n    nombre: \"Mar\u00eda Garc\u00eda L\u00f3pez\",\r\n    html: `\r\n      <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 4\/6<\/div>\r\n      <div style=\"margin-top:6px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor mamario intenso, impacto en sue\u00f1o.<\/div>\r\n\r\n      <h4 style=\"margin-top:10px;\">\ud83d\udcdd Evoluci\u00f3n<\/h4>\r\n      <table class=\"ov-table-mini\">\r\n        <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n        <tbody>\r\n          <tr><td>14\/01<\/td><td>9\/10<\/td><td>8\/10<\/td><td>62kg<\/td><td>Mala noche.<\/td><\/tr>\r\n          <tr><td>10\/01<\/td><td>7\/10<\/td><td>7\/10<\/td><td>62.5kg<\/td><td>Dolor moderado.<\/td><\/tr>\r\n        <\/tbody>\r\n      <\/table>\r\n\r\n      <h4 style=\"margin-top:10px;\">\ud83d\udd2c Anal\u00edticas<\/h4>\r\n      <table class=\"ov-table-mini\">\r\n        <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutro<\/th><th>Plaq<\/th><th>Notas<\/th><\/tr><\/thead>\r\n        <tbody>\r\n          <tr><td>13\/01<\/td><td>11.2<\/td><td>1.3<\/td><td>180k<\/td><td>Vigilar neutropenia.<\/td><\/tr>\r\n        <\/tbody>\r\n      <\/table>\r\n    `,\r\n    evoText: \"Curvas principales de dolor y \u00e1nimo de Mar\u00eda.\"\r\n  },\r\n\r\n  ODV002: {\r\n    nombre: \"Roberto Silva Jim\u00e9nez\",\r\n    html: `\r\n      <div><strong>Diagn\u00f3stico:<\/strong> Linfoma \u00b7 Ciclo 2\/8<\/div>\r\n      <div style=\"margin-top:6px;\"><strong>Resumen cl\u00ednico:<\/strong> \u00c1nimo bajo, p\u00e9rdida de peso.<\/div>\r\n\r\n      <h4 style=\"margin-top:10px;\">\ud83d\udcdd Evoluci\u00f3n<\/h4>\r\n      <table class=\"ov-table-mini\">\r\n        <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n        <tbody>\r\n          <tr><td>13\/01<\/td><td>6\/10<\/td><td>3\/10<\/td><td>78kg<\/td><td>Insomnio.<\/td><\/tr>\r\n          <tr><td>09\/01<\/td><td>5\/10<\/td><td>4\/10<\/td><td>79kg<\/td><td>Bajo \u00e1nimo persistente.<\/td><\/tr>\r\n        <\/tbody>\r\n      <\/table>\r\n    `,\r\n    evoText: \"Gr\u00e1fica centrada en depresi\u00f3n y peso.\"\r\n  },\r\n\r\n  ODV003: {\r\n    nombre: \"Ana Fern\u00e1ndez L\u00f3pez\",\r\n    html: `\r\n      <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 3\/6<\/div>\r\n      <div style=\"margin-top:6px;\"><strong>Resumen cl\u00ednico:<\/strong> Fatiga relevante pero estable.<\/div>\r\n\r\n      <h4 style=\"margin-top:10px;\">\ud83d\udcdd Evoluci\u00f3n<\/h4>\r\n      <table class=\"ov-table-mini\">\r\n        <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n        <tbody>\r\n          <tr><td>14\/01<\/td><td>6\/10<\/td><td>7\/10<\/td><td>68kg<\/td><td>Cansancio.<\/td><\/tr>\r\n          <tr><td>10\/01<\/td><td>5\/10<\/td><td>7\/10<\/td><td>68.2kg<\/td><td>Dolor tolerable.<\/td><\/tr>\r\n        <\/tbody>\r\n      <\/table>\r\n    `,\r\n    evoText: \"Dolor moderado y estado general estable.\"\r\n  },\r\n\r\n  ODV004: {\r\n    nombre: \"Javier Rodr\u00edguez Santos\",\r\n    html: `\r\n      <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de pulm\u00f3n \u00b7 Ciclo 5\/6<\/div>\r\n\r\n      <h4 style=\"margin-top:10px;\">\ud83d\udcdd Evoluci\u00f3n<\/h4>\r\n      <table class=\"ov-table-mini\">\r\n        <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n        <tbody>\r\n          <tr><td>13\/01<\/td><td>3\/10<\/td><td>7\/10<\/td><td>74kg<\/td><td>Disnea leve.<\/td><\/tr>\r\n        <\/tbody>\r\n      <\/table>\r\n    `,\r\n    evoText: \"Tolerancia adecuada y s\u00edntomas estables.\"\r\n  },\r\n\r\n  ODV005: {\r\n    nombre: \"Laura Herrera Funes\",\r\n    html: `\r\n      <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de ovario \u00b7 Ciclo 2\/6<\/div>\r\n\r\n      <h4 style=\"margin-top:10px;\">\ud83d\udcdd Evoluci\u00f3n<\/h4>\r\n      <table class=\"ov-table-mini\">\r\n        <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n        <tbody>\r\n          <tr><td>14\/01<\/td><td>5\/10<\/td><td>6\/10<\/td><td>60kg<\/td><td>N\u00e1useas.<\/td><\/tr>\r\n        <\/tbody>\r\n      <\/table>\r\n    `,\r\n    evoText: \"Seguimiento de n\u00e1useas y apetito.\"\r\n  },\r\n\r\n  ODV006: {\r\n    nombre: \"Carmen Ramos Vidal\",\r\n    html: `\r\n      <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de colon \u00b7 Ciclo 1\/8<\/div>\r\n\r\n      <h4 style=\"margin-top:10px;\">\ud83d\udcdd Evoluci\u00f3n<\/h4>\r\n      <table class=\"ov-table-mini\">\r\n        <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n        <tbody>\r\n          <tr><td>13\/01<\/td><td>7\/10<\/td><td>5\/10<\/td><td>70kg<\/td><td>Dolor postprandial.<\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ed6a514 e-con-full e-flex e-con e-parent\" data-id=\"ed6a514\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-838adad elementor-widget elementor-widget-html\" data-id=\"838adad\" data-element_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  <title>Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/title>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <style>\r\n  \/* ===== DISE\u00d1O GLOBAL ===== *\/\r\n  body{\r\n    margin:0;\r\n    padding:0;\r\n    background:#020617;\r\n    font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n  }\r\n  .ov-root{\r\n    font-family:'Open Sans',sans-serif;\r\n    color:#e5e7eb;\r\n    padding:16px;\r\n  }\r\n  .ov-wrapper{\r\n    max-width:1200px;\r\n    margin:0 auto 32px;\r\n    background:#020617;\r\n    border-radius:18px;\r\n    box-shadow:0 18px 40px rgba(15,23,42,0.9);\r\n    overflow:hidden;\r\n    border:1px solid rgba(148,163,184,0.5);\r\n  }\r\n\r\n  \/* ===== CABECERA PREMIUM ===== *\/\r\n  .ov-header{\r\n    background: radial-gradient(circle at top left,#38bdf8 0%,#0f172a 40%,#020617 100%);\r\n    color:#e5f2ff;\r\n    padding:18px 22px 16px;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:16px;\r\n    flex-wrap:wrap;\r\n  }\r\n  .ov-header-left{max-width:60%;}\r\n  .ov-header-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:22px;\r\n    font-weight:600;\r\n  }\r\n  .ov-header-sub{\r\n    font-size:13px;\r\n    opacity:.9;\r\n    margin-top:4px;\r\n  }\r\n  .ov-header-tag{\r\n    margin-top:8px;\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#93c5fd;\r\n  }\r\n  .ov-header-right{\r\n    text-align:right;\r\n    font-size:12px;\r\n  }\r\n  .ov-header-doc{font-weight:600;}\r\n\r\n  \/* ===== CONTENIDO INTERIOR ===== *\/\r\n  .ov-inner{\r\n    background:linear-gradient(135deg,#020617 0%,#020617 35%,#0b1220 100%);\r\n    padding:18px 18px 20px;\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* DASHBOARD TARJETAS (RESUMEN CORREOS) *\/\r\n  .ov-cards{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));\r\n    gap:10px;\r\n    margin-bottom:16px;\r\n  }\r\n  .ov-card{\r\n    background:linear-gradient(135deg,rgba(15,23,42,0.98),rgba(15,23,42,0.85));\r\n    border-radius:12px;\r\n    padding:10px 12px;\r\n    border:1px solid rgba(148,163,184,0.35);\r\n  }\r\n  .ov-card-label{\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#9ca3af;\r\n  }\r\n  .ov-card-value{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:20px;\r\n    font-weight:600;\r\n    margin-top:3px;\r\n  }\r\n  .ov-card-tag{\r\n    font-size:11px;\r\n    margin-top:4px;\r\n    color:#6ee7b7;\r\n  }\r\n  .ov-card-critical .ov-card-value{color:#fecaca;}\r\n  .ov-card-critical .ov-card-tag{color:#fca5a5;}\r\n  .ov-card-warning .ov-card-value{color:#fde68a;}\r\n  .ov-card-warning .ov-card-tag{color:#fcd34d;}\r\n  .ov-card-adherence .ov-card-value{color:#a5b4fc;}\r\n  .ov-card-adherence .ov-card-tag{color:#c4b5fd;}\r\n\r\n  \/* PANEL BANDEJA PACIENTES FULL WIDTH *\/\r\n  .ov-panel{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:12px;\r\n  }\r\n  .ov-panel-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:15px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-panel-sub{\r\n    font-size:12px;\r\n    color:#9ca3af;\r\n    margin-bottom:10px;\r\n  }\r\n\r\n  \/* TABLA BANDEJA AMPLIADA *\/\r\n  .ov-table{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:12px;\r\n  }\r\n  .ov-table th,\r\n  .ov-table td{\r\n    padding:7px 6px;\r\n    border-bottom:1px solid rgba(31,41,55,1);\r\n  }\r\n  .ov-table th{\r\n    background:rgba(15,23,42,0.98);\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:11px;\r\n    text-align:left;\r\n    color:#9ca3af;\r\n    position:sticky;\r\n    top:0;\r\n    z-index:1;\r\n  }\r\n  .ov-table tr:hover td{\r\n    background:rgba(15,23,42,0.85);\r\n  }\r\n  .ov-state{\r\n    font-weight:600;\r\n  }\r\n  .ov-state-critico{color:#fca5a5;}\r\n  .ov-state-alto{color:#fed7aa;}\r\n  .ov-state-moderado{color:#93c5fd;}\r\n  .ov-state-estable{color:#6ee7b7;}\r\n\r\n  .ov-scroll{\r\n    max-height:280px;\r\n    overflow:auto;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar{\r\n    width:6px;\r\n    height:6px;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar-track{\r\n    background:#020617;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar-thumb{\r\n    background:#4b5563;\r\n    border-radius:999px;\r\n  }\r\n\r\n  \/* NOMBRES CLICABLES *\/\r\n  .ov-name-link{\r\n    background:none;\r\n    border:none;\r\n    padding:0;\r\n    margin:0;\r\n    font:inherit;\r\n    color:#e5e7eb;\r\n    text-decoration:underline;\r\n    cursor:pointer;\r\n  }\r\n  .ov-name-link:hover{\r\n    color:#bfdbfe;\r\n  }\r\n\r\n  \/* L\u00cdNEA INFERIOR: PDF \/ JULI\u00c1N \/ EVOLUCI\u00d3N *\/\r\n  .ov-bottom-layout{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));\r\n    gap:12px;\r\n    margin-top:16px;\r\n  }\r\n  .ov-side-box{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:10px;\r\n    font-size:12px;\r\n  }\r\n  .ov-side-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-side-sub{\r\n    font-size:11px;\r\n    color:#9ca3af;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  \/* BOTONES *\/\r\n  .ov-btn{\r\n    display:inline-block;\r\n    padding:7px 12px;\r\n    border-radius:999px;\r\n    border:none;\r\n    font-size:11px;\r\n    font-weight:500;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.07em;\r\n    background:linear-gradient(135deg,#38bdf8,#2563eb);\r\n    color:white;\r\n    cursor:pointer;\r\n    text-decoration:none;\r\n  }\r\n  .ov-btn:hover{filter:brightness(1.05);}\r\n  .ov-btn-sec{\r\n    background:transparent;\r\n    border:1px solid rgba(148,163,184,0.6);\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* TIMELINE \/ GR\u00c1FICOS *\/\r\n  .ov-timeline-row{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    font-size:10px;\r\n    color:#9ca3af;\r\n    margin-bottom:2px;\r\n  }\r\n  .ov-chart-wrapper{\r\n    display:grid;\r\n    grid-template-columns:1fr;\r\n    gap:8px;\r\n    margin-top:6px;\r\n  }\r\n  .ov-chart-box{\r\n    background:rgba(15,23,42,1);\r\n    border-radius:10px;\r\n    border:1px solid rgba(55,65,81,1);\r\n    padding:6px 8px;\r\n  }\r\n  .ov-chart-title{\r\n    font-size:11px;\r\n    color:#e5e7eb;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-chart-svg{\r\n    width:100%;\r\n    height:70px;\r\n  }\r\n  .ov-chart-svg polyline{\r\n    fill:none;\r\n    stroke-width:2;\r\n  }\r\n\r\n  \/* JULI\u00c1N - IFRAME CENTRADO *\/\r\n  .ov-julian-wrap{\r\n    border-radius:10px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    overflow:hidden;\r\n    background:#020617;\r\n  }\r\n  .ov-julian-wrap iframe{\r\n    width:100%;\r\n    height:260px;\r\n    border:0;\r\n  }\r\n\r\n  \/* MODAL FICHA PACIENTE (POPUP) *\/\r\n  .ov-modal{\r\n    position:fixed;\r\n    inset:0;\r\n    display:none;\r\n    align-items:center;\r\n    justify-content:center;\r\n    z-index:50;\r\n  }\r\n  .ov-modal.ov-visible{\r\n    display:flex;\r\n  }\r\n  .ov-modal-backdrop{\r\n    position:absolute;\r\n    inset:0;\r\n    background:rgba(15,23,42,0.75);\r\n  }\r\n  .ov-modal-dialog{\r\n    position:absolute;\r\n    max-width:780px;\r\n    width:90%;\r\n    background:rgba(15,23,42,0.98);\r\n    border-radius:14px;\r\n    border:1px solid rgba(148,163,184,0.8);\r\n    box-shadow:0 22px 60px rgba(0,0,0,0.6);\r\n    padding:10px 12px 12px;\r\n    cursor:default;\r\n  }\r\n  .ov-modal-header{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    align-items:center;\r\n    margin-bottom:6px;\r\n    cursor:move;\r\n  }\r\n  .ov-modal-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n  }\r\n  .ov-modal-close{\r\n    background:transparent;\r\n    border:none;\r\n    color:#9ca3af;\r\n    font-size:16px;\r\n    cursor:pointer;\r\n  }\r\n  .ov-modal-body{\r\n    font-size:12px;\r\n    max-height:420px;\r\n    overflow:auto;\r\n  }\r\n  .ov-modal-body::-webkit-scrollbar{\r\n    width:6px;\r\n  }\r\n  .ov-modal-body::-webkit-scrollbar-thumb{\r\n    background:#4b5563;\r\n    border-radius:999px;\r\n  }\r\n\r\n  \/* FICHAS PACIENTE DENTRO DEL POPUP *\/\r\n  .ov-ficha-row{\r\n    display:grid;\r\n    grid-template-columns:minmax(0,1.6fr) minmax(0,1.4fr);\r\n    gap:10px;\r\n  }\r\n  @media(max-width:820px){\r\n    .ov-ficha-row{grid-template-columns:1fr;}\r\n  }\r\n  .ov-table-mini{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:11px;\r\n    margin-top:5px;\r\n  }\r\n  .ov-table-mini th,\r\n  .ov-table-mini td{\r\n    border:1px solid rgba(55,65,81,1);\r\n    padding:4px 5px;\r\n  }\r\n  .ov-table-mini th{\r\n    background:rgba(15,23,42,0.98);\r\n    color:#9ca3af;\r\n  }\r\n  .ov-mini-chart{\r\n    margin-top:6px;\r\n  }\r\n  .ov-mini-label{\r\n    font-size:11px;\r\n    color:#9ca3af;\r\n  }\r\n  .ov-bar-wrap{margin-top:4px;}\r\n  .ov-bar{\r\n    height:8px;\r\n    border-radius:999px;\r\n    background:rgba(31,41,55,1);\r\n    overflow:hidden;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-bar-inner{\r\n    height:100%;\r\n    border-radius:999px;\r\n  }\r\n  .ov-bar-dolor{\r\n    background:linear-gradient(90deg,#fecaca,#f97373);\r\n  }\r\n  .ov-bar-animo{\r\n    background:linear-gradient(90deg,#bfdbfe,#4f46e5);\r\n  }\r\n  .ov-ficha-actions{\r\n    margin-top:8px;\r\n    display:flex;\r\n    flex-wrap:wrap;\r\n    gap:6px;\r\n  }\r\n\r\n  @media(max-width:980px){\r\n    .ov-header-left{max-width:100%;}\r\n  }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"ov-root\">\r\n  <div class=\"ov-wrapper\">\r\n\r\n    <!-- CABECERA -->\r\n    <div class=\"ov-header\">\r\n      <div class=\"ov-header-left\">\r\n        <div class=\"ov-header-title\">Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/div>\r\n        <div class=\"ov-header-sub\">Monitorizaci\u00f3n oncol\u00f3gica \u00b7 Pacientes, evoluci\u00f3n, anal\u00edticas y formularios<\/div>\r\n        <div class=\"ov-header-tag\">vista demo \u00b7 pensada para wordpress \/ elementor<\/div>\r\n      <\/div>\r\n      <div class=\"ov-header-right\">\r\n        <div class=\"ov-header-doc\">Unidad de Oncolog\u00eda \u00b7 Olas de Vida<\/div>\r\n        <div>Versi\u00f3n demostraci\u00f3n con 10 pacientes<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ov-inner\">\r\n\r\n      <!-- DASHBOARD SUPERIOR (RESUMEN GENERAL) -->\r\n      <div class=\"ov-cards\">\r\n        <div class=\"ov-card\">\r\n          <div class=\"ov-card-label\">Pacientes activos<\/div>\r\n          <div class=\"ov-card-value\">10<\/div>\r\n          <div class=\"ov-card-tag\">Muestra de trabajo<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-critical\">\r\n          <div class=\"ov-card-label\">Alertas cr\u00edticas<\/div>\r\n          <div class=\"ov-card-value\">3<\/div>\r\n          <div class=\"ov-card-tag\">Dolor \/ fiebre \/ \u00e1nimo<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-warning\">\r\n          <div class=\"ov-card-label\">Alta supervisi\u00f3n<\/div>\r\n          <div class=\"ov-card-value\">4<\/div>\r\n          <div class=\"ov-card-tag\">Seguimiento cercano<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-adherence\">\r\n          <div class=\"ov-card-label\">Adherencia reportes<\/div>\r\n          <div class=\"ov-card-value\">87%<\/div>\r\n          <div class=\"ov-card-tag\">\u00daltimos 14 d\u00edas<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- BANDEJA PACIENTES FULL WIDTH -->\r\n      <div class=\"ov-panel\">\r\n        <div class=\"ov-panel-title\">\ud83d\udce5 Bandeja de pacientes<\/div>\r\n        <div class=\"ov-panel-sub\">\r\n          Haz clic en el <strong>nombre<\/strong> de un paciente para ver su ficha en popup y preparar PDF + evoluci\u00f3n.\r\n        <\/div>\r\n        <div class=\"ov-scroll\">\r\n          <table class=\"ov-table\">\r\n            <thead>\r\n              <tr>\r\n                <th>Paciente<\/th>\r\n                <th>ID<\/th>\r\n                <th>Diagn\u00f3stico<\/th>\r\n                <th>Dolor<\/th>\r\n                <th>\u00c1nimo<\/th>\r\n                <th>Estado<\/th>\r\n                <th>\u00daltimo formulario<\/th>\r\n              <\/tr>\r\n            <\/thead>\r\n            <tbody>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV001\">Mar\u00eda Garc\u00eda L\u00f3pez<\/button><\/td>\r\n                <td>ODV001<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 4\/6<\/td>\r\n                <td>9\/10<\/td>\r\n                <td>8\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 08:40<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV002\">Roberto Silva Jim\u00e9nez<\/button><\/td>\r\n                <td>ODV002<\/td>\r\n                <td>Linfoma \u00b7 Ciclo 2\/8<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>3\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Ayer \u00b7 20:10<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV003\">Ana Fern\u00e1ndez L\u00f3pez<\/button><\/td>\r\n                <td>ODV003<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 3\/6<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 07:50<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV004\">Javier Rodr\u00edguez Santos<\/button><\/td>\r\n                <td>ODV004<\/td>\r\n                <td>Ca pulm\u00f3n \u00b7 Ciclo 5\/6<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-estable\">ESTABLE<\/td>\r\n                <td>Ayer \u00b7 18:33<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV005\">Laura Herrera Funes<\/button><\/td>\r\n                <td>ODV005<\/td>\r\n                <td>Ca ovario \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 10:15<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV006\">Carmen Ramos Vidal<\/button><\/td>\r\n                <td>ODV006<\/td>\r\n                <td>Ca colon \u00b7 Ciclo 1\/8<\/td>\r\n                <td>7\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hace 3h<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV007\">Daniel Mu\u00f1oz Ortega<\/button><\/td>\r\n                <td>ODV007<\/td>\r\n                <td>Ca p\u00e1ncreas \u00b7 Ciclo 3\/12<\/td>\r\n                <td>8\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 09:10<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV008\">Elena Torres D\u00edaz<\/button><\/td>\r\n                <td>ODV008<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hace 45 min<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV009\">Alberto Paredes Luna<\/button><\/td>\r\n                <td>ODV009<\/td>\r\n                <td>Ca pr\u00f3stata \u00b7 Hormono + RT<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Ayer \u00b7 14:22<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV010\">Luc\u00eda Romero Salvat<\/button><\/td>\r\n                <td>ODV010<\/td>\r\n                <td>Ca mama \u00b7 Terapia dirigida<\/td>\r\n                <td>4\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hoy \u00b7 11:05<\/td>\r\n              <\/tr>\r\n            <\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- L\u00cdNEA INFERIOR: PDF \/ JULI\u00c1N (CENTRO) \/ EVOLUCI\u00d3N -->\r\n      <div class=\"ov-bottom-layout\">\r\n\r\n        <!-- PANEL PDF DOCTOR\/PACIENTE -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-pdf-title\" class=\"ov-side-title\">\ud83d\udcc4 PDF m\u00e9dico \/ paciente<\/div>\r\n          <div id=\"ov-pdf-body\" class=\"ov-side-sub\">\r\n            Selecciona un paciente en la bandeja superior para preparar su informe m\u00e9dico\/paciente.\r\n          <\/div>\r\n          <button id=\"ov-pdf-btn\" class=\"ov-btn\" style=\"display:none;\" onclick=\"window.print()\">\r\n            Generar PDF de esta vista\r\n          <\/button>\r\n          <div style=\"margin-top:6px;font-size:11px;color:#9ca3af;\">\r\n            Usa \u201cGuardar como PDF\u201d para archivar o compartir el informe.\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL JULI\u00c1N CENTRADO -->\r\n        <div class=\"ov-side-box\">\r\n          <div class=\"ov-side-title\">\ud83e\udd16 Juli\u00e1n \u2014 Asistente IA<\/div>\r\n          <div class=\"ov-side-sub\">\r\n            Asistente de apoyo para el equipo m\u00e9dico. Esta demo muestra el agente tal y como se ver\u00eda embebido.\r\n          <\/div>\r\n          <div class=\"ov-julian-wrap\">\r\n            <iframe\r\n              src=\"https:\/\/eu.jotform.com\/agent\/019ad9bc86b471129ecafec7a28f03a41b91\"\r\n              title=\"Juli\u00e1n \u00b7 Asistente IA (demo)\">\r\n            <\/iframe>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL EVOLUCI\u00d3N (SEMANA \/ GLOBAL) -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-evo-title\" class=\"ov-side-title\">\ud83d\udcc8 Evoluci\u00f3n semanal vs global<\/div>\r\n          <div id=\"ov-evo-sub\" class=\"ov-side-sub\">\r\n            Selecciona un paciente para ver curvas de ejemplo de dolor y \u00e1nimo.\r\n          <\/div>\r\n          <div id=\"ov-evo-charts\" class=\"ov-chart-wrapper\" style=\"display:none;\">\r\n            <div class=\"ov-chart-box\">\r\n              <div class=\"ov-chart-title\">Evoluci\u00f3n semanal (\u00faltimos 7 d\u00edas)<\/div>\r\n              <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n                <!-- Dolor -->\r\n                <polyline points=\"0,30 15,28 30,26 45,24 60,22 75,20 100,18\"\r\n                          stroke=\"#f97373\"\/>\r\n                <!-- \u00c1nimo -->\r\n                <polyline points=\"0,18 15,19 30,20 45,22 60,24 75,26 100,27\"\r\n                          stroke=\"#4f46e5\"\/>\r\n              <\/svg>\r\n            <\/div>\r\n            <div class=\"ov-chart-box\">\r\n              <div class=\"ov-chart-title\">Evoluci\u00f3n global (desde inicio tratamiento)<\/div>\r\n              <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n                <!-- Dolor -->\r\n                <polyline points=\"0,34 20,30 40,28 60,24 80,22 100,20\"\r\n                          stroke=\"#fecaca\"\/>\r\n                <!-- \u00c1nimo -->\r\n                <polyline points=\"0,22 20,24 40,26 60,28 80,30 100,32\"\r\n                          stroke=\"#93c5fd\"\/>\r\n              <\/svg>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- MODAL FICHA PACIENTE -->\r\n<div id=\"ov-modal\" class=\"ov-modal\">\r\n  <div class=\"ov-modal-backdrop\"><\/div>\r\n  <div class=\"ov-modal-dialog\">\r\n    <div class=\"ov-modal-header\">\r\n      <div id=\"ov-modal-title\" class=\"ov-modal-title\">Ficha de paciente<\/div>\r\n      <button id=\"ov-modal-close\" class=\"ov-modal-close\" aria-label=\"Cerrar\">\u2715<\/button>\r\n    <\/div>\r\n    <div id=\"ov-modal-body\" class=\"ov-modal-body\">\r\n      <!-- Aqu\u00ed se inyecta la ficha del paciente -->\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/\/ === Datos de ficha por paciente (HTML reusando estilo anterior) ===\r\n  const fichas = {\r\n    ODV001: {\r\n      nombre: 'Mar\u00eda Garc\u00eda L\u00f3pez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 4\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor mamario intenso, impacto en sue\u00f1o y movilidad.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo (\u00faltimo formulario)<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:90%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:80%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 9\/10 \u00b7 Ansiedad 8\/10 \u00b7 Hoy 08:40\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>9\/10<\/td><td>8\/10<\/td><td>62kg<\/td><td>Mala noche, dolor intenso.<\/td><\/tr>\r\n                <tr><td>10\/01<\/td><td>7\/10<\/td><td>7\/10<\/td><td>62.5kg<\/td><td>Responde parcialmente a analgesia.<\/td><\/tr>\r\n                <tr><td>05\/01<\/td><td>6\/10<\/td><td>6\/10<\/td><td>63kg<\/td><td>Dolor moderado, \u00e1nimo estable.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>13\/01<\/td><td>11.2<\/td><td>1.3<\/td><td>180k<\/td><td>Posible neutropenia incipiente.<\/td><\/tr>\r\n            <tr><td>06\/01<\/td><td>11.8<\/td><td>1.8<\/td><td>192k<\/td><td>Valores aceptables para ciclo.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas de dolor y \u00e1nimo basadas en los \u00faltimos cuestionarios de Mar\u00eda.'\r\n    },\r\n    ODV002: {\r\n      nombre: 'Roberto Silva Jim\u00e9nez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> Linfoma \u00b7 Ciclo 2\/8<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas depresivos marcados, p\u00e9rdida de peso.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo (\u00faltimo formulario)<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:60%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:30%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 6\/10 \u00b7 \u00c1nimo 3\/10 \u00b7 Ayer 20:10\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>6\/10<\/td><td>3\/10<\/td><td>78kg<\/td><td>Tristeza intensa, insomnio.<\/td><\/tr>\r\n                <tr><td>09\/01<\/td><td>5\/10<\/td><td>4\/10<\/td><td>79kg<\/td><td>Deterioro progresivo del \u00e1nimo.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>12\/01<\/td><td>12.4<\/td><td>2.0<\/td><td>210k<\/td><td>Anal\u00edtica estable.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas de Roberto con foco en \u00e1nimo y peso.'\r\n    },\r\n    ODV003: {\r\n      nombre: 'Ana Fern\u00e1ndez L\u00f3pez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 3\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Fatiga relevante pero estable, dolor moderado.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:60%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:65%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 6\/10 \u00b7 \u00c1nimo 7\/10 \u00b7 Hoy 07:50\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>6\/10<\/td><td>7\/10<\/td><td>68kg<\/td><td>Fatiga, pero \u00e1nimo aceptable.<\/td><\/tr>\r\n                <tr><td>10\/01<\/td><td>5\/10<\/td><td>7\/10<\/td><td>68.2kg<\/td><td>Dolor tolerable.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>13\/01<\/td><td>12.0<\/td><td>2.1<\/td><td>230k<\/td><td>Dentro de rango para ciclo.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor moderado y \u00e1nimo aceptable en Ana.'\r\n    },\r\n    ODV004: {\r\n      nombre: 'Javier Rodr\u00edguez Santos',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de pulm\u00f3n \u00b7 Ciclo 5\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas controlados, tolerancia aceptable al tratamiento.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:30%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:70%;\"><\/div><\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>3\/10<\/td><td>7\/10<\/td><td>74kg<\/td><td>Baja disnea de esfuerzo.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>12\/01<\/td><td>13.1<\/td><td>2.4<\/td><td>250k<\/td><td>Anal\u00edtica estable.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      `,\r\n      evoText: 'Evoluci\u00f3n estable con buena tolerancia al tratamiento.'\r\n    },\r\n    ODV005: {\r\n      nombre: 'Laura Herrera Funes',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de ovario \u00b7 Ciclo 2\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> N\u00e1useas frecuentes, cierto deterioro de apetito.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>5\/10<\/td><td>6\/10<\/td><td>60kg<\/td><td>N\u00e1useas matutinas.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Seguimiento de n\u00e1useas y peso en Laura.'\r\n    },\r\n    ODV006: {\r\n      nombre: 'Carmen Ramos Vidal',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de colon \u00b7 Ciclo 1\/8<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor abdominal intermitente, deposiciones alteradas.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>7\/10<\/td><td>5\/10<\/td><td>70kg<\/td><td>Dolor postprandial.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Control de dolor abdominal y funci\u00f3n intestinal.'\r\n    },\r\n    ODV007: {\r\n      nombre: 'Daniel Mu\u00f1oz Ortega',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de p\u00e1ncreas \u00b7 Ciclo 3\/12<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor abdominal intenso y p\u00e9rdida ponderal.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>8\/10<\/td><td>5\/10<\/td><td>65kg<\/td><td>P\u00e9rdida de peso progresiva.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor elevado y p\u00e9rdida de peso en Daniel.'\r\n    },\r\n    ODV008: {\r\n      nombre: 'Elena Torres D\u00edaz',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 2\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Fiebre 38.8\u00baC, sospecha de neutropenia.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Temp<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>Hoy<\/td><td>5\/10<\/td><td>6\/10<\/td><td>38.8\u00baC<\/td><td>Consulta urgente recomendada.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Control urgente de fiebre y posible neutropenia.'\r\n    },\r\n    ODV009: {\r\n      nombre: 'Alberto Paredes Luna',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de pr\u00f3stata \u00b7 Hormono + RT<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas urinarios leves, dolor bajo.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>3\/10<\/td><td>7\/10<\/td><td>Dolor leve p\u00e9lvico, controlado.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor leve y buena tolerancia en Alberto.'\r\n    },\r\n    ODV010: {\r\n      nombre: 'Luc\u00eda Romero Salvat',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Terapia dirigida<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Alternancia de ansiedad y d\u00edas buenos.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>4\/10<\/td><td>5\/10<\/td><td>Nervios antes de pruebas.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas centradas en ansiedad y control de dolor en Luc\u00eda.'\r\n    }\r\n  };\r\n\r\n  const modal      = document.getElementById('ov-modal');\r\n  const modalTitle = document.getElementById('ov-modal-title');\r\n  const modalBody  = document.getElementById('ov-modal-body');\r\n  const modalClose = document.getElementById('ov-modal-close');\r\n  const modalDialog= modal.querySelector('.ov-modal-dialog');\r\n\r\n  const pdfTitleEl = document.getElementById('ov-pdf-title');\r\n  const pdfBodyEl  = document.getElementById('ov-pdf-body');\r\n  const pdfBtnEl   = document.getElementById('ov-pdf-btn');\r\n\r\n  const evoTitleEl = document.getElementById('ov-evo-title');\r\n  const evoSubEl   = document.getElementById('ov-evo-sub');\r\n  const evoChartsEl= document.getElementById('ov-evo-charts');\r\n\r\n  function abrirPaciente(id){\r\n    const data = fichas[id];\r\n    if(!data) return;\r\n\r\n    \/\/ Ficha en popup\r\n    modalTitle.textContent = `${data.nombre} \u00b7 ${id}`;\r\n    modalBody.innerHTML = data.html;\r\n    modal.classList.add('ov-visible');\r\n    \/\/ Centrar al abrir\r\n    modalDialog.style.top = '50%';\r\n    modalDialog.style.left = '50%';\r\n    modalDialog.style.transform = 'translate(-50%, -50%)';\r\n\r\n    \/\/ PDF actualizado\r\n    pdfTitleEl.textContent = `\ud83d\udcc4 PDF m\u00e9dico \/ paciente \u00b7 ${data.nombre}`;\r\n    pdfBodyEl.textContent  = `Borrador de informe para ${data.nombre} (${id}). Incluye resumen de s\u00edntomas, anal\u00edticas y comentarios cl\u00ednicos recientes.`;\r\n    pdfBtnEl.style.display = 'inline-block';\r\n\r\n    \/\/ Gr\u00e1ficos actualizaci\u00f3n ligera\r\n    evoTitleEl.textContent = `\ud83d\udcc8 Evoluci\u00f3n semanal y global \u00b7 ${data.nombre}`;\r\n    evoSubEl.textContent   = data.evoText || 'Curvas cl\u00ednicas basadas en los formularios del paciente.';\r\n    evoChartsEl.style.display = 'grid';\r\n  }\r\n\r\n  \/\/ Eventos click en nombres\r\n  document.querySelectorAll('.ov-name-link').forEach(btn=>{\r\n    btn.addEventListener('click', function(e){\r\n      e.stopPropagation();\r\n      const id = this.getAttribute('data-id');\r\n      abrirPaciente(id);\r\n    });\r\n  });\r\n\r\n  \/\/ Cerrar modal\r\n  modalClose.addEventListener('click', ()=> modal.classList.remove('ov-visible'));\r\n  modal.querySelector('.ov-modal-backdrop').addEventListener('click', ()=> modal.classList.remove('ov-visible'));\r\n\r\n  \/\/ Hacer el popup movible con el rat\u00f3n\r\n  let isDragging = false;\r\n  let startX, startY, startLeft, startTop;\r\n\r\n  const header = modal.querySelector('.ov-modal-header');\r\n  header.addEventListener('mousedown', function(e){\r\n    isDragging = true;\r\n    startX = e.clientX;\r\n    startY = e.clientY;\r\n\r\n    const rect = modalDialog.getBoundingClientRect();\r\n    startLeft = rect.left;\r\n    startTop  = rect.top;\r\n\r\n    modalDialog.style.transform = 'none';\r\n    document.body.style.userSelect = 'none';\r\n  });\r\n\r\n  window.addEventListener('mousemove', function(e){\r\n    if(!isDragging) return;\r\n    const dx = e.clientX - startX;\r\n    const dy = e.clientY - startY;\r\n    modalDialog.style.left = (startLeft + dx) + 'px';\r\n    modalDialog.style.top  = (startTop + dy) + 'px';\r\n  });\r\n\r\n  window.addEventListener('mouseup', function(){\r\n    if(isDragging){\r\n      isDragging = false;\r\n      document.body.style.userSelect = '';\r\n    }\r\n  });\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0b05ad0 e-con-full e-flex e-con e-parent\" data-id=\"0b05ad0\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-09a289b elementor-widget elementor-widget-html\" data-id=\"09a289b\" data-element_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  <title>Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/title>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <style>\r\n  \/* ===== DISE\u00d1O GLOBAL ===== *\/\r\n  body{\r\n    margin:0;\r\n    padding:0;\r\n    background:#020617;\r\n    font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n  }\r\n  .ov-root{\r\n    font-family:'Open Sans',sans-serif;\r\n    color:#e5e7eb;\r\n    padding:16px;\r\n  }\r\n  .ov-wrapper{\r\n    max-width:1200px;\r\n    margin:0 auto 32px;\r\n    background:#020617;\r\n    border-radius:18px;\r\n    box-shadow:0 18px 40px rgba(15,23,42,0.9);\r\n    overflow:hidden;\r\n    border:1px solid rgba(148,163,184,0.5);\r\n  }\r\n\r\n  \/* ===== CABECERA PREMIUM ===== *\/\r\n  .ov-header{\r\n    background: radial-gradient(circle at top left,#38bdf8 0%,#0f172a 40%,#020617 100%);\r\n    color:#e5f2ff;\r\n    padding:18px 22px 16px;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:16px;\r\n    flex-wrap:wrap;\r\n  }\r\n  .ov-header-left{max-width:60%;}\r\n  .ov-header-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:22px;\r\n    font-weight:600;\r\n  }\r\n  .ov-header-sub{\r\n    font-size:13px;\r\n    opacity:.9;\r\n    margin-top:4px;\r\n  }\r\n  .ov-header-tag{\r\n    margin-top:8px;\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#93c5fd;\r\n  }\r\n  .ov-header-right{\r\n    text-align:right;\r\n    font-size:12px;\r\n  }\r\n  .ov-header-doc{font-weight:600;}\r\n\r\n  \/* ===== CONTENIDO INTERIOR ===== *\/\r\n  .ov-inner{\r\n    background:linear-gradient(135deg,#020617 0%,#020617 35%,#0b1220 100%);\r\n    padding:18px 18px 20px;\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* DASHBOARD TARJETAS (RESUMEN CORREOS) *\/\r\n  .ov-cards{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));\r\n    gap:10px;\r\n    margin-bottom:16px;\r\n  }\r\n  .ov-card{\r\n    background:linear-gradient(135deg,rgba(15,23,42,0.98),rgba(15,23,42,0.85));\r\n    border-radius:12px;\r\n    padding:10px 12px;\r\n    border:1px solid rgba(148,163,184,0.35);\r\n  }\r\n  .ov-card-label{\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#9ca3af;\r\n  }\r\n  .ov-card-value{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:20px;\r\n    font-weight:600;\r\n    margin-top:3px;\r\n  }\r\n  .ov-card-tag{\r\n    font-size:11px;\r\n    margin-top:4px;\r\n    color:#6ee7b7;\r\n  }\r\n  .ov-card-critical .ov-card-value{color:#fecaca;}\r\n  .ov-card-critical .ov-card-tag{color:#fca5a5;}\r\n  .ov-card-warning .ov-card-value{color:#fde68a;}\r\n  .ov-card-warning .ov-card-tag{color:#fcd34d;}\r\n  .ov-card-adherence .ov-card-value{color:#a5b4fc;}\r\n  .ov-card-adherence .ov-card-tag{color:#c4b5fd;}\r\n\r\n  \/* PANEL BANDEJA PACIENTES FULL WIDTH *\/\r\n  .ov-panel{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:12px;\r\n  }\r\n  .ov-panel-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:15px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-panel-sub{\r\n    font-size:12px;\r\n    color:#9ca3af;\r\n    margin-bottom:10px;\r\n  }\r\n\r\n  \/* TABLA BANDEJA AMPLIADA *\/\r\n  .ov-table{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:12px;\r\n  }\r\n  .ov-table th,\r\n  .ov-table td{\r\n    padding:7px 6px;\r\n    border-bottom:1px solid rgba(31,41,55,1);\r\n  }\r\n  .ov-table th{\r\n    background:rgba(15,23,42,0.98);\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:11px;\r\n    text-align:left;\r\n    color:#9ca3af;\r\n    position:sticky;\r\n    top:0;\r\n    z-index:1;\r\n  }\r\n  .ov-table tr:hover td{\r\n    background:rgba(15,23,42,0.85);\r\n  }\r\n  .ov-state{\r\n    font-weight:600;\r\n  }\r\n  .ov-state-critico{color:#fca5a5;}\r\n  .ov-state-alto{color:#fed7aa;}\r\n  .ov-state-moderado{color:#93c5fd;}\r\n  .ov-state-estable{color:#6ee7b7;}\r\n\r\n  .ov-scroll{\r\n    max-height:280px;\r\n    overflow:auto;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar{\r\n    width:6px;\r\n    height:6px;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar-track{\r\n    background:#020617;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar-thumb{\r\n    background:#4b5563;\r\n    border-radius:999px;\r\n  }\r\n\r\n  \/* NOMBRES CLICABLES *\/\r\n  .ov-name-link{\r\n    background:none;\r\n    border:none;\r\n    padding:0;\r\n    margin:0;\r\n    font:inherit;\r\n    color:#e5e7eb;\r\n    text-decoration:underline;\r\n    cursor:pointer;\r\n  }\r\n  .ov-name-link:hover{\r\n    color:#bfdbfe;\r\n  }\r\n\r\n  \/* L\u00cdNEA INFERIOR: PDF \/ JULI\u00c1N \/ EVOLUCI\u00d3N *\/\r\n  .ov-bottom-layout{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));\r\n    gap:12px;\r\n    margin-top:16px;\r\n  }\r\n  .ov-side-box{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:10px;\r\n    font-size:12px;\r\n  }\r\n  .ov-side-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-side-sub{\r\n    font-size:11px;\r\n    color:#9ca3af;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  \/* BOTONES *\/\r\n  .ov-btn{\r\n    display:inline-block;\r\n    padding:7px 12px;\r\n    border-radius:999px;\r\n    border:none;\r\n    font-size:11px;\r\n    font-weight:500;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.07em;\r\n    background:linear-gradient(135deg,#38bdf8,#2563eb);\r\n    color:white;\r\n    cursor:pointer;\r\n    text-decoration:none;\r\n  }\r\n  .ov-btn:hover{filter:brightness(1.05);}\r\n  .ov-btn-sec{\r\n    background:transparent;\r\n    border:1px solid rgba(148,163,184,0.6);\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* TIMELINE \/ GR\u00c1FICOS *\/\r\n  .ov-timeline-row{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    font-size:10px;\r\n    color:#9ca3af;\r\n    margin-bottom:2px;\r\n  }\r\n  .ov-chart-wrapper{\r\n    display:grid;\r\n    grid-template-columns:1fr;\r\n    gap:8px;\r\n    margin-top:6px;\r\n  }\r\n  .ov-chart-box{\r\n    background:rgba(15,23,42,1);\r\n    border-radius:10px;\r\n    border:1px solid rgba(55,65,81,1);\r\n    padding:6px 8px;\r\n  }\r\n  .ov-chart-title{\r\n    font-size:11px;\r\n    color:#e5e7eb;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-chart-svg{\r\n    width:100%;\r\n    height:70px;\r\n  }\r\n  .ov-chart-svg polyline{\r\n    fill:none;\r\n    stroke-width:2;\r\n  }\r\n\r\n  \/* JULI\u00c1N - IFRAME CENTRADO *\/\r\n  .ov-julian-wrap{\r\n    border-radius:10px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    overflow:hidden;\r\n    background:#020617;\r\n  }\r\n  .ov-julian-wrap iframe{\r\n    width:100%;\r\n    height:260px;\r\n    border:0;\r\n  }\r\n\r\n  \/* MODAL FICHA PACIENTE (POPUP) *\/\r\n  .ov-modal{\r\n    position:fixed;\r\n    inset:0;\r\n    display:none;\r\n    align-items:center;\r\n    justify-content:center;\r\n    z-index:50;\r\n  }\r\n  .ov-modal.ov-visible{\r\n    display:flex;\r\n  }\r\n  .ov-modal-backdrop{\r\n    position:absolute;\r\n    inset:0;\r\n    background:rgba(15,23,42,0.75);\r\n  }\r\n  .ov-modal-dialog{\r\n    position:absolute;\r\n    max-width:780px;\r\n    width:90%;\r\n    background:rgba(15,23,42,0.98);\r\n    border-radius:14px;\r\n    border:1px solid rgba(148,163,184,0.8);\r\n    box-shadow:0 22px 60px rgba(0,0,0,0.6);\r\n    padding:10px 12px 12px;\r\n    cursor:default;\r\n  }\r\n  .ov-modal-header{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    align-items:center;\r\n    margin-bottom:6px;\r\n    cursor:move;\r\n  }\r\n  .ov-modal-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n  }\r\n  .ov-modal-close{\r\n    background:transparent;\r\n    border:none;\r\n    color:#9ca3af;\r\n    font-size:16px;\r\n    cursor:pointer;\r\n  }\r\n  .ov-modal-body{\r\n    font-size:12px;\r\n    max-height:420px;\r\n    overflow:auto;\r\n  }\r\n  .ov-modal-body::-webkit-scrollbar{\r\n    width:6px;\r\n  }\r\n  .ov-modal-body::-webkit-scrollbar-thumb{\r\n    background:#4b5563;\r\n    border-radius:999px;\r\n  }\r\n\r\n  \/* FICHAS PACIENTE DENTRO DEL POPUP *\/\r\n  .ov-ficha-row{\r\n    display:grid;\r\n    grid-template-columns:minmax(0,1.6fr) minmax(0,1.4fr);\r\n    gap:10px;\r\n  }\r\n  @media(max-width:820px){\r\n    .ov-ficha-row{grid-template-columns:1fr;}\r\n  }\r\n  .ov-table-mini{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:11px;\r\n    margin-top:5px;\r\n  }\r\n  .ov-table-mini th,\r\n  .ov-table-mini td{\r\n    border:1px solid rgba(55,65,81,1);\r\n    padding:4px 5px;\r\n  }\r\n  .ov-table-mini th{\r\n    background:rgba(15,23,42,0.98);\r\n    color:#9ca3af;\r\n  }\r\n  .ov-mini-chart{\r\n    margin-top:6px;\r\n  }\r\n  .ov-mini-label{\r\n    font-size:11px;\r\n    color:#9ca3af;\r\n  }\r\n  .ov-bar-wrap{margin-top:4px;}\r\n  .ov-bar{\r\n    height:8px;\r\n    border-radius:999px;\r\n    background:rgba(31,41,55,1);\r\n    overflow:hidden;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-bar-inner{\r\n    height:100%;\r\n    border-radius:999px;\r\n  }\r\n  .ov-bar-dolor{\r\n    background:linear-gradient(90deg,#fecaca,#f97373);\r\n  }\r\n  .ov-bar-animo{\r\n    background:linear-gradient(90deg,#bfdbfe,#4f46e5);\r\n  }\r\n  .ov-ficha-actions{\r\n    margin-top:8px;\r\n    display:flex;\r\n    flex-wrap:wrap;\r\n    gap:6px;\r\n  }\r\n\r\n  @media(max-width:980px){\r\n    .ov-header-left{max-width:100%;}\r\n  }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"ov-root\">\r\n  <div class=\"ov-wrapper\">\r\n\r\n    <!-- CABECERA -->\r\n    <div class=\"ov-header\">\r\n      <div class=\"ov-header-left\">\r\n        <div class=\"ov-header-title\">Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/div>\r\n        <div class=\"ov-header-sub\">Monitorizaci\u00f3n oncol\u00f3gica \u00b7 Pacientes, evoluci\u00f3n, anal\u00edticas y formularios<\/div>\r\n        <div class=\"ov-header-tag\">vista demo \u00b7 pensada para wordpress \/ elementor<\/div>\r\n      <\/div>\r\n      <div class=\"ov-header-right\">\r\n        <div class=\"ov-header-doc\">Unidad de Oncolog\u00eda \u00b7 Olas de Vida<\/div>\r\n        <div>Versi\u00f3n demostraci\u00f3n con 10 pacientes<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ov-inner\">\r\n\r\n      <!-- DASHBOARD SUPERIOR (RESUMEN GENERAL) -->\r\n      <div class=\"ov-cards\">\r\n        <div class=\"ov-card\">\r\n          <div class=\"ov-card-label\">Pacientes activos<\/div>\r\n          <div class=\"ov-card-value\">10<\/div>\r\n          <div class=\"ov-card-tag\">Muestra de trabajo<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-critical\">\r\n          <div class=\"ov-card-label\">Alertas cr\u00edticas<\/div>\r\n          <div class=\"ov-card-value\">3<\/div>\r\n          <div class=\"ov-card-tag\">Dolor \/ fiebre \/ \u00e1nimo<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-warning\">\r\n          <div class=\"ov-card-label\">Alta supervisi\u00f3n<\/div>\r\n          <div class=\"ov-card-value\">4<\/div>\r\n          <div class=\"ov-card-tag\">Seguimiento cercano<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-adherence\">\r\n          <div class=\"ov-card-label\">Adherencia reportes<\/div>\r\n          <div class=\"ov-card-value\">87%<\/div>\r\n          <div class=\"ov-card-tag\">\u00daltimos 14 d\u00edas<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- BANDEJA PACIENTES FULL WIDTH -->\r\n      <div class=\"ov-panel\">\r\n        <div class=\"ov-panel-title\">\ud83d\udce5 Bandeja de pacientes<\/div>\r\n        <div class=\"ov-panel-sub\">\r\n          Haz clic en el <strong>nombre<\/strong> de un paciente para ver su ficha en popup y preparar PDF + evoluci\u00f3n.\r\n        <\/div>\r\n        <div class=\"ov-scroll\">\r\n          <table class=\"ov-table\">\r\n            <thead>\r\n              <tr>\r\n                <th>Paciente<\/th>\r\n                <th>ID<\/th>\r\n                <th>Diagn\u00f3stico<\/th>\r\n                <th>Dolor<\/th>\r\n                <th>\u00c1nimo<\/th>\r\n                <th>Estado<\/th>\r\n                <th>\u00daltimo formulario<\/th>\r\n              <\/tr>\r\n            <\/thead>\r\n            <tbody>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV001\">Mar\u00eda Garc\u00eda L\u00f3pez<\/button><\/td>\r\n                <td>ODV001<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 4\/6<\/td>\r\n                <td>9\/10<\/td>\r\n                <td>8\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 08:40<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV002\">Roberto Silva Jim\u00e9nez<\/button><\/td>\r\n                <td>ODV002<\/td>\r\n                <td>Linfoma \u00b7 Ciclo 2\/8<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>3\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Ayer \u00b7 20:10<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV003\">Ana Fern\u00e1ndez L\u00f3pez<\/button><\/td>\r\n                <td>ODV003<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 3\/6<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 07:50<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV004\">Javier Rodr\u00edguez Santos<\/button><\/td>\r\n                <td>ODV004<\/td>\r\n                <td>Ca pulm\u00f3n \u00b7 Ciclo 5\/6<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-estable\">ESTABLE<\/td>\r\n                <td>Ayer \u00b7 18:33<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV005\">Laura Herrera Funes<\/button><\/td>\r\n                <td>ODV005<\/td>\r\n                <td>Ca ovario \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 10:15<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV006\">Carmen Ramos Vidal<\/button><\/td>\r\n                <td>ODV006<\/td>\r\n                <td>Ca colon \u00b7 Ciclo 1\/8<\/td>\r\n                <td>7\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hace 3h<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV007\">Daniel Mu\u00f1oz Ortega<\/button><\/td>\r\n                <td>ODV007<\/td>\r\n                <td>Ca p\u00e1ncreas \u00b7 Ciclo 3\/12<\/td>\r\n                <td>8\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 09:10<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV008\">Elena Torres D\u00edaz<\/button><\/td>\r\n                <td>ODV008<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hace 45 min<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV009\">Alberto Paredes Luna<\/button><\/td>\r\n                <td>ODV009<\/td>\r\n                <td>Ca pr\u00f3stata \u00b7 Hormono + RT<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Ayer \u00b7 14:22<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV010\">Luc\u00eda Romero Salvat<\/button><\/td>\r\n                <td>ODV010<\/td>\r\n                <td>Ca mama \u00b7 Terapia dirigida<\/td>\r\n                <td>4\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hoy \u00b7 11:05<\/td>\r\n              <\/tr>\r\n            <\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- L\u00cdNEA INFERIOR: PDF \/ JULI\u00c1N (CENTRO) \/ EVOLUCI\u00d3N -->\r\n      <div class=\"ov-bottom-layout\">\r\n\r\n        <!-- PANEL PDF DOCTOR\/PACIENTE -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-pdf-title\" class=\"ov-side-title\">\ud83d\udcc4 PDF m\u00e9dico \/ paciente<\/div>\r\n          <div id=\"ov-pdf-body\" class=\"ov-side-sub\">\r\n            Selecciona un paciente en la bandeja superior para preparar su informe m\u00e9dico\/paciente.\r\n          <\/div>\r\n          <button id=\"ov-pdf-btn\" class=\"ov-btn\" style=\"display:none;\" onclick=\"window.print()\">\r\n            Generar PDF de esta vista\r\n          <\/button>\r\n          <div style=\"margin-top:6px;font-size:11px;color:#9ca3af;\">\r\n            Usa \u201cGuardar como PDF\u201d para archivar o compartir el informe.\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL JULI\u00c1N CENTRADO -->\r\n        <div class=\"ov-side-box\">\r\n          <div class=\"ov-side-title\">\ud83e\udd16 Juli\u00e1n \u2014 Asistente IA<\/div>\r\n          <div class=\"ov-side-sub\">\r\n            Asistente de apoyo para el equipo m\u00e9dico. Esta demo muestra el agente tal y como se ver\u00eda embebido.\r\n          <\/div>\r\n          <div class=\"ov-julian-wrap\">\r\n            <iframe\r\n              src=\"https:\/\/eu.jotform.com\/agent\/019ad9bc86b471129ecafec7a28f03a41b91\"\r\n              title=\"Juli\u00e1n \u00b7 Asistente IA (demo)\">\r\n            <\/iframe>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL EVOLUCI\u00d3N (SEMANA \/ GLOBAL) -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-evo-title\" class=\"ov-side-title\">\ud83d\udcc8 Evoluci\u00f3n semanal vs global<\/div>\r\n          <div id=\"ov-evo-sub\" class=\"ov-side-sub\">\r\n            Selecciona un paciente para ver curvas de ejemplo de dolor y \u00e1nimo.\r\n          <\/div>\r\n          <div id=\"ov-evo-charts\" class=\"ov-chart-wrapper\" style=\"display:none;\">\r\n            <div class=\"ov-chart-box\">\r\n              <div class=\"ov-chart-title\">Evoluci\u00f3n semanal (\u00faltimos 7 d\u00edas)<\/div>\r\n              <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n                <!-- Dolor -->\r\n                <polyline points=\"0,30 15,28 30,26 45,24 60,22 75,20 100,18\"\r\n                          stroke=\"#f97373\"\/>\r\n                <!-- \u00c1nimo -->\r\n                <polyline points=\"0,18 15,19 30,20 45,22 60,24 75,26 100,27\"\r\n                          stroke=\"#4f46e5\"\/>\r\n              <\/svg>\r\n            <\/div>\r\n            <div class=\"ov-chart-box\">\r\n              <div class=\"ov-chart-title\">Evoluci\u00f3n global (desde inicio tratamiento)<\/div>\r\n              <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n                <!-- Dolor -->\r\n                <polyline points=\"0,34 20,30 40,28 60,24 80,22 100,20\"\r\n                          stroke=\"#fecaca\"\/>\r\n                <!-- \u00c1nimo -->\r\n                <polyline points=\"0,22 20,24 40,26 60,28 80,30 100,32\"\r\n                          stroke=\"#93c5fd\"\/>\r\n              <\/svg>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- MODAL FICHA PACIENTE -->\r\n<div id=\"ov-modal\" class=\"ov-modal\">\r\n  <div class=\"ov-modal-backdrop\"><\/div>\r\n  <div class=\"ov-modal-dialog\">\r\n    <div class=\"ov-modal-header\">\r\n      <div id=\"ov-modal-title\" class=\"ov-modal-title\">Ficha de paciente<\/div>\r\n      <button id=\"ov-modal-close\" class=\"ov-modal-close\" aria-label=\"Cerrar\">\u2715<\/button>\r\n    <\/div>\r\n    <div id=\"ov-modal-body\" class=\"ov-modal-body\">\r\n      <!-- Aqu\u00ed se inyecta la ficha del paciente -->\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/\/ === Datos de ficha por paciente (HTML reusando estilo anterior) ===\r\n  const fichas = {\r\n    ODV001: {\r\n      nombre: 'Mar\u00eda Garc\u00eda L\u00f3pez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 4\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor mamario intenso, impacto en sue\u00f1o y movilidad.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo (\u00faltimo formulario)<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:90%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:80%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 9\/10 \u00b7 Ansiedad 8\/10 \u00b7 Hoy 08:40\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>9\/10<\/td><td>8\/10<\/td><td>62kg<\/td><td>Mala noche, dolor intenso.<\/td><\/tr>\r\n                <tr><td>10\/01<\/td><td>7\/10<\/td><td>7\/10<\/td><td>62.5kg<\/td><td>Responde parcialmente a analgesia.<\/td><\/tr>\r\n                <tr><td>05\/01<\/td><td>6\/10<\/td><td>6\/10<\/td><td>63kg<\/td><td>Dolor moderado, \u00e1nimo estable.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>13\/01<\/td><td>11.2<\/td><td>1.3<\/td><td>180k<\/td><td>Posible neutropenia incipiente.<\/td><\/tr>\r\n            <tr><td>06\/01<\/td><td>11.8<\/td><td>1.8<\/td><td>192k<\/td><td>Valores aceptables para ciclo.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas de dolor y \u00e1nimo basadas en los \u00faltimos cuestionarios de Mar\u00eda.'\r\n    },\r\n    ODV002: {\r\n      nombre: 'Roberto Silva Jim\u00e9nez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> Linfoma \u00b7 Ciclo 2\/8<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas depresivos marcados, p\u00e9rdida de peso.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo (\u00faltimo formulario)<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:60%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:30%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 6\/10 \u00b7 \u00c1nimo 3\/10 \u00b7 Ayer 20:10\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>6\/10<\/td><td>3\/10<\/td><td>78kg<\/td><td>Tristeza intensa, insomnio.<\/td><\/tr>\r\n                <tr><td>09\/01<\/td><td>5\/10<\/td><td>4\/10<\/td><td>79kg<\/td><td>Deterioro progresivo del \u00e1nimo.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>12\/01<\/td><td>12.4<\/td><td>2.0<\/td><td>210k<\/td><td>Anal\u00edtica estable.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas de Roberto con foco en \u00e1nimo y peso.'\r\n    },\r\n    ODV003: {\r\n      nombre: 'Ana Fern\u00e1ndez L\u00f3pez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 3\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Fatiga relevante pero estable, dolor moderado.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:60%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:65%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 6\/10 \u00b7 \u00c1nimo 7\/10 \u00b7 Hoy 07:50\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>6\/10<\/td><td>7\/10<\/td><td>68kg<\/td><td>Fatiga, pero \u00e1nimo aceptable.<\/td><\/tr>\r\n                <tr><td>10\/01<\/td><td>5\/10<\/td><td>7\/10<\/td><td>68.2kg<\/td><td>Dolor tolerable.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>13\/01<\/td><td>12.0<\/td><td>2.1<\/td><td>230k<\/td><td>Dentro de rango para ciclo.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor moderado y \u00e1nimo aceptable en Ana.'\r\n    },\r\n    ODV004: {\r\n      nombre: 'Javier Rodr\u00edguez Santos',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de pulm\u00f3n \u00b7 Ciclo 5\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas controlados, tolerancia aceptable al tratamiento.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:30%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:70%;\"><\/div><\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>3\/10<\/td><td>7\/10<\/td><td>74kg<\/td><td>Baja disnea de esfuerzo.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>12\/01<\/td><td>13.1<\/td><td>2.4<\/td><td>250k<\/td><td>Anal\u00edtica estable.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      `,\r\n      evoText: 'Evoluci\u00f3n estable con buena tolerancia al tratamiento.'\r\n    },\r\n    ODV005: {\r\n      nombre: 'Laura Herrera Funes',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de ovario \u00b7 Ciclo 2\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> N\u00e1useas frecuentes, cierto deterioro de apetito.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>5\/10<\/td><td>6\/10<\/td><td>60kg<\/td><td>N\u00e1useas matutinas.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Seguimiento de n\u00e1useas y peso en Laura.'\r\n    },\r\n    ODV006: {\r\n      nombre: 'Carmen Ramos Vidal',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de colon \u00b7 Ciclo 1\/8<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor abdominal intermitente, deposiciones alteradas.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>7\/10<\/td><td>5\/10<\/td><td>70kg<\/td><td>Dolor postprandial.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Control de dolor abdominal y funci\u00f3n intestinal.'\r\n    },\r\n    ODV007: {\r\n      nombre: 'Daniel Mu\u00f1oz Ortega',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de p\u00e1ncreas \u00b7 Ciclo 3\/12<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor abdominal intenso y p\u00e9rdida ponderal.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>8\/10<\/td><td>5\/10<\/td><td>65kg<\/td><td>P\u00e9rdida de peso progresiva.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor elevado y p\u00e9rdida de peso en Daniel.'\r\n    },\r\n    ODV008: {\r\n      nombre: 'Elena Torres D\u00edaz',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 2\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Fiebre 38.8\u00baC, sospecha de neutropenia.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Temp<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>Hoy<\/td><td>5\/10<\/td><td>6\/10<\/td><td>38.8\u00baC<\/td><td>Consulta urgente recomendada.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Control urgente de fiebre y posible neutropenia.'\r\n    },\r\n    ODV009: {\r\n      nombre: 'Alberto Paredes Luna',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de pr\u00f3stata \u00b7 Hormono + RT<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas urinarios leves, dolor bajo.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>3\/10<\/td><td>7\/10<\/td><td>Dolor leve p\u00e9lvico, controlado.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor leve y buena tolerancia en Alberto.'\r\n    },\r\n    ODV010: {\r\n      nombre: 'Luc\u00eda Romero Salvat',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Terapia dirigida<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Alternancia de ansiedad y d\u00edas buenos.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>4\/10<\/td><td>5\/10<\/td><td>Nervios antes de pruebas.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas centradas en ansiedad y control de dolor en Luc\u00eda.'\r\n    }\r\n  };\r\n\r\n  const modal      = document.getElementById('ov-modal');\r\n  const modalTitle = document.getElementById('ov-modal-title');\r\n  const modalBody  = document.getElementById('ov-modal-body');\r\n  const modalClose = document.getElementById('ov-modal-close');\r\n  const modalDialog= modal.querySelector('.ov-modal-dialog');\r\n\r\n  const pdfTitleEl = document.getElementById('ov-pdf-title');\r\n  const pdfBodyEl  = document.getElementById('ov-pdf-body');\r\n  const pdfBtnEl   = document.getElementById('ov-pdf-btn');\r\n\r\n  const evoTitleEl = document.getElementById('ov-evo-title');\r\n  const evoSubEl   = document.getElementById('ov-evo-sub');\r\n  const evoChartsEl= document.getElementById('ov-evo-charts');\r\n\r\n  function abrirPaciente(id){\r\n    const data = fichas[id];\r\n    if(!data) return;\r\n\r\n    \/\/ Ficha en popup\r\n    modalTitle.textContent = `${data.nombre} \u00b7 ${id}`;\r\n    modalBody.innerHTML = data.html;\r\n    modal.classList.add('ov-visible');\r\n    \/\/ Centrar al abrir\r\n    modalDialog.style.top = '50%';\r\n    modalDialog.style.left = '50%';\r\n    modalDialog.style.transform = 'translate(-50%, -50%)';\r\n\r\n    \/\/ PDF actualizado\r\n    pdfTitleEl.textContent = `\ud83d\udcc4 PDF m\u00e9dico \/ paciente \u00b7 ${data.nombre}`;\r\n    pdfBodyEl.textContent  = `Borrador de informe para ${data.nombre} (${id}). Incluye resumen de s\u00edntomas, anal\u00edticas y comentarios cl\u00ednicos recientes.`;\r\n    pdfBtnEl.style.display = 'inline-block';\r\n\r\n    \/\/ Gr\u00e1ficos actualizaci\u00f3n ligera\r\n    evoTitleEl.textContent = `\ud83d\udcc8 Evoluci\u00f3n semanal y global \u00b7 ${data.nombre}`;\r\n    evoSubEl.textContent   = data.evoText || 'Curvas cl\u00ednicas basadas en los formularios del paciente.';\r\n    evoChartsEl.style.display = 'grid';\r\n  }\r\n\r\n  \/\/ Eventos click en nombres\r\n  document.querySelectorAll('.ov-name-link').forEach(btn=>{\r\n    btn.addEventListener('click', function(e){\r\n      e.stopPropagation();\r\n      const id = this.getAttribute('data-id');\r\n      abrirPaciente(id);\r\n    });\r\n  });\r\n\r\n  \/\/ Cerrar modal\r\n  modalClose.addEventListener('click', ()=> modal.classList.remove('ov-visible'));\r\n  modal.querySelector('.ov-modal-backdrop').addEventListener('click', ()=> modal.classList.remove('ov-visible'));\r\n\r\n  \/\/ Hacer el popup movible con el rat\u00f3n\r\n  let isDragging = false;\r\n  let startX, startY, startLeft, startTop;\r\n\r\n  const header = modal.querySelector('.ov-modal-header');\r\n  header.addEventListener('mousedown', function(e){\r\n    isDragging = true;\r\n    startX = e.clientX;\r\n    startY = e.clientY;\r\n\r\n    const rect = modalDialog.getBoundingClientRect();\r\n    startLeft = rect.left;\r\n    startTop  = rect.top;\r\n\r\n    modalDialog.style.transform = 'none';\r\n    document.body.style.userSelect = 'none';\r\n  });\r\n\r\n  window.addEventListener('mousemove', function(e){\r\n    if(!isDragging) return;\r\n    const dx = e.clientX - startX;\r\n    const dy = e.clientY - startY;\r\n    modalDialog.style.left = (startLeft + dx) + 'px';\r\n    modalDialog.style.top  = (startTop + dy) + 'px';\r\n  });\r\n\r\n  window.addEventListener('mouseup', function(){\r\n    if(isDragging){\r\n      isDragging = false;\r\n      document.body.style.userSelect = '';\r\n    }\r\n  });\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-f319546 e-flex e-con-boxed e-con e-parent\" data-id=\"f319546\" data-element_type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-546b074 elementor-widget elementor-widget-spacer\" data-id=\"546b074\" data-element_type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\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-590edd0 e-con-full e-flex e-con e-parent\" data-id=\"590edd0\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-9e60b14 elementor-widget elementor-widget-html\" data-id=\"9e60b14\" data-element_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  <title>Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/title>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n  <style>\r\n  \/* ===== DISE\u00d1O GLOBAL ===== *\/\r\n  body{\r\n    margin:0;\r\n    padding:0;\r\n    background:#020617;\r\n    font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n  }\r\n  .ov-root{\r\n    font-family:'Open Sans',sans-serif;\r\n    color:#e5e7eb;\r\n    padding:16px;\r\n  }\r\n  .ov-wrapper{\r\n    max-width:1200px;\r\n    margin:0 auto 32px;\r\n    background:#020617;\r\n    border-radius:18px;\r\n    box-shadow:0 18px 40px rgba(15,23,42,0.9);\r\n    overflow:hidden;\r\n    border:1px solid rgba(148,163,184,0.5);\r\n  }\r\n\r\n  \/* ===== CABECERA PREMIUM ===== *\/\r\n  .ov-header{\r\n    background: radial-gradient(circle at top left,#38bdf8 0%,#0f172a 40%,#020617 100%);\r\n    color:#e5f2ff;\r\n    padding:18px 22px 16px;\r\n    display:flex;\r\n    justify-content:space-between;\r\n    gap:16px;\r\n    flex-wrap:wrap;\r\n  }\r\n  .ov-header-left{max-width:60%;}\r\n  .ov-header-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:22px;\r\n    font-weight:600;\r\n  }\r\n  .ov-header-sub{\r\n    font-size:13px;\r\n    opacity:.9;\r\n    margin-top:4px;\r\n  }\r\n  .ov-header-tag{\r\n    margin-top:8px;\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#93c5fd;\r\n  }\r\n  .ov-header-right{\r\n    text-align:right;\r\n    font-size:12px;\r\n  }\r\n  .ov-header-doc{font-weight:600;}\r\n\r\n  \/* ===== CONTENIDO INTERIOR ===== *\/\r\n  .ov-inner{\r\n    background:linear-gradient(135deg,#020617 0%,#020617 35%,#0b1220 100%);\r\n    padding:18px 18px 20px;\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* DASHBOARD TARJETAS (RESUMEN CORREOS) *\/\r\n  .ov-cards{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));\r\n    gap:10px;\r\n    margin-bottom:16px;\r\n  }\r\n  .ov-card{\r\n    background:linear-gradient(135deg,rgba(15,23,42,0.98),rgba(15,23,42,0.85));\r\n    border-radius:12px;\r\n    padding:10px 12px;\r\n    border:1px solid rgba(148,163,184,0.35);\r\n  }\r\n  .ov-card-label{\r\n    font-size:11px;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.06em;\r\n    color:#9ca3af;\r\n  }\r\n  .ov-card-value{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:20px;\r\n    font-weight:600;\r\n    margin-top:3px;\r\n  }\r\n  .ov-card-tag{\r\n    font-size:11px;\r\n    margin-top:4px;\r\n    color:#6ee7b7;\r\n  }\r\n  .ov-card-critical .ov-card-value{color:#fecaca;}\r\n  .ov-card-critical .ov-card-tag{color:#fca5a5;}\r\n  .ov-card-warning .ov-card-value{color:#fde68a;}\r\n  .ov-card-warning .ov-card-tag{color:#fcd34d;}\r\n  .ov-card-adherence .ov-card-value{color:#a5b4fc;}\r\n  .ov-card-adherence .ov-card-tag{color:#c4b5fd;}\r\n\r\n  \/* PANEL BANDEJA PACIENTES FULL WIDTH *\/\r\n  .ov-panel{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:12px;\r\n  }\r\n  .ov-panel-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:15px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-panel-sub{\r\n    font-size:12px;\r\n    color:#9ca3af;\r\n    margin-bottom:10px;\r\n  }\r\n\r\n  \/* TABLA BANDEJA AMPLIADA *\/\r\n  .ov-table{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:12px;\r\n  }\r\n  .ov-table th,\r\n  .ov-table td{\r\n    padding:7px 6px;\r\n    border-bottom:1px solid rgba(31,41,55,1);\r\n  }\r\n  .ov-table th{\r\n    background:rgba(15,23,42,0.98);\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:11px;\r\n    text-align:left;\r\n    color:#9ca3af;\r\n    position:sticky;\r\n    top:0;\r\n    z-index:1;\r\n  }\r\n  .ov-table tr:hover td{\r\n    background:rgba(15,23,42,0.85);\r\n  }\r\n  .ov-state{\r\n    font-weight:600;\r\n  }\r\n  .ov-state-critico{color:#fca5a5;}\r\n  .ov-state-alto{color:#fed7aa;}\r\n  .ov-state-moderado{color:#93c5fd;}\r\n  .ov-state-estable{color:#6ee7b7;}\r\n\r\n  .ov-scroll{\r\n    max-height:280px;\r\n    overflow:auto;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar{\r\n    width:6px;\r\n    height:6px;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar-track{\r\n    background:#020617;\r\n  }\r\n  .ov-scroll::-webkit-scrollbar-thumb{\r\n    background:#4b5563;\r\n    border-radius:999px;\r\n  }\r\n\r\n  \/* NOMBRES CLICABLES *\/\r\n  .ov-name-link{\r\n    background:none;\r\n    border:none;\r\n    padding:0;\r\n    margin:0;\r\n    font:inherit;\r\n    color:#e5e7eb;\r\n    text-decoration:underline;\r\n    cursor:pointer;\r\n  }\r\n  .ov-name-link:hover{\r\n    color:#bfdbfe;\r\n  }\r\n\r\n  \/* L\u00cdNEA INFERIOR: PDF \/ JULI\u00c1N \/ EVOLUCI\u00d3N *\/\r\n  .ov-bottom-layout{\r\n    display:grid;\r\n    grid-template-columns:repeat(auto-fit,minmax(260px,1fr));\r\n    gap:12px;\r\n    margin-top:16px;\r\n  }\r\n  .ov-side-box{\r\n    background:rgba(15,23,42,0.96);\r\n    border-radius:12px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    padding:10px;\r\n    font-size:12px;\r\n  }\r\n  .ov-side-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-side-sub{\r\n    font-size:11px;\r\n    color:#9ca3af;\r\n    margin-bottom:6px;\r\n  }\r\n\r\n  \/* BOTONES *\/\r\n  .ov-btn{\r\n    display:inline-block;\r\n    padding:7px 12px;\r\n    border-radius:999px;\r\n    border:none;\r\n    font-size:11px;\r\n    font-weight:500;\r\n    text-transform:uppercase;\r\n    letter-spacing:0.07em;\r\n    background:linear-gradient(135deg,#38bdf8,#2563eb);\r\n    color:white;\r\n    cursor:pointer;\r\n    text-decoration:none;\r\n  }\r\n  .ov-btn:hover{filter:brightness(1.05);}\r\n  .ov-btn-sec{\r\n    background:transparent;\r\n    border:1px solid rgba(148,163,184,0.6);\r\n    color:#e5e7eb;\r\n  }\r\n\r\n  \/* TIMELINE \/ GR\u00c1FICOS *\/\r\n  .ov-timeline-row{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    font-size:10px;\r\n    color:#9ca3af;\r\n    margin-bottom:2px;\r\n  }\r\n  .ov-chart-wrapper{\r\n    display:grid;\r\n    grid-template-columns:1fr;\r\n    gap:8px;\r\n    margin-top:6px;\r\n  }\r\n  .ov-chart-box{\r\n    background:rgba(15,23,42,1);\r\n    border-radius:10px;\r\n    border:1px solid rgba(55,65,81,1);\r\n    padding:6px 8px;\r\n  }\r\n  .ov-chart-title{\r\n    font-size:11px;\r\n    color:#e5e7eb;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-chart-svg{\r\n    width:100%;\r\n    height:70px;\r\n  }\r\n  .ov-chart-svg polyline{\r\n    fill:none;\r\n    stroke-width:2;\r\n  }\r\n\r\n  \/* JULI\u00c1N - IFRAME CENTRADO *\/\r\n  .ov-julian-wrap{\r\n    border-radius:10px;\r\n    border:1px solid rgba(55,65,81,0.9);\r\n    overflow:hidden;\r\n    background:#020617;\r\n  }\r\n  .ov-julian-wrap iframe{\r\n    width:100%;\r\n    height:260px;\r\n    border:0;\r\n  }\r\n\r\n  \/* MODAL FICHA PACIENTE (POPUP) *\/\r\n  .ov-modal{\r\n    position:fixed;\r\n    inset:0;\r\n    display:none;\r\n    align-items:center;\r\n    justify-content:center;\r\n    z-index:50;\r\n  }\r\n  .ov-modal.ov-visible{\r\n    display:flex;\r\n  }\r\n  .ov-modal-backdrop{\r\n    position:absolute;\r\n    inset:0;\r\n    background:rgba(15,23,42,0.75);\r\n  }\r\n  .ov-modal-dialog{\r\n    position:absolute;\r\n    max-width:780px;\r\n    width:90%;\r\n    background:rgba(15,23,42,0.98);\r\n    border-radius:14px;\r\n    border:1px solid rgba(148,163,184,0.8);\r\n    box-shadow:0 22px 60px rgba(0,0,0,0.6);\r\n    padding:10px 12px 12px;\r\n    cursor:default;\r\n  }\r\n  .ov-modal-header{\r\n    display:flex;\r\n    justify-content:space-between;\r\n    align-items:center;\r\n    margin-bottom:6px;\r\n    cursor:move;\r\n  }\r\n  .ov-modal-title{\r\n    font-family:'Poppins',system-ui,sans-serif;\r\n    font-size:14px;\r\n  }\r\n  .ov-modal-close{\r\n    background:transparent;\r\n    border:none;\r\n    color:#9ca3af;\r\n    font-size:16px;\r\n    cursor:pointer;\r\n  }\r\n  .ov-modal-body{\r\n    font-size:12px;\r\n    max-height:420px;\r\n    overflow:auto;\r\n  }\r\n  .ov-modal-body::-webkit-scrollbar{\r\n    width:6px;\r\n  }\r\n  .ov-modal-body::-webkit-scrollbar-thumb{\r\n    background:#4b5563;\r\n    border-radius:999px;\r\n  }\r\n\r\n  \/* FICHAS PACIENTE DENTRO DEL POPUP *\/\r\n  .ov-ficha-row{\r\n    display:grid;\r\n    grid-template-columns:minmax(0,1.6fr) minmax(0,1.4fr);\r\n    gap:10px;\r\n  }\r\n  @media(max-width:820px){\r\n    .ov-ficha-row{grid-template-columns:1fr;}\r\n  }\r\n  .ov-table-mini{\r\n    width:100%;\r\n    border-collapse:collapse;\r\n    font-size:11px;\r\n    margin-top:5px;\r\n  }\r\n  .ov-table-mini th,\r\n  .ov-table-mini td{\r\n    border:1px solid rgba(55,65,81,1);\r\n    padding:4px 5px;\r\n  }\r\n  .ov-table-mini th{\r\n    background:rgba(15,23,42,0.98);\r\n    color:#9ca3af;\r\n  }\r\n  .ov-mini-chart{\r\n    margin-top:6px;\r\n  }\r\n  .ov-mini-label{\r\n    font-size:11px;\r\n    color:#9ca3af;\r\n  }\r\n  .ov-bar-wrap{margin-top:4px;}\r\n  .ov-bar{\r\n    height:8px;\r\n    border-radius:999px;\r\n    background:rgba(31,41,55,1);\r\n    overflow:hidden;\r\n    margin-bottom:4px;\r\n  }\r\n  .ov-bar-inner{\r\n    height:100%;\r\n    border-radius:999px;\r\n  }\r\n  .ov-bar-dolor{\r\n    background:linear-gradient(90deg,#fecaca,#f97373);\r\n  }\r\n  .ov-bar-animo{\r\n    background:linear-gradient(90deg,#bfdbfe,#4f46e5);\r\n  }\r\n  .ov-ficha-actions{\r\n    margin-top:8px;\r\n    display:flex;\r\n    flex-wrap:wrap;\r\n    gap:6px;\r\n  }\r\n\r\n  @media(max-width:980px){\r\n    .ov-header-left{max-width:100%;}\r\n  }\r\n  <\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"ov-root\">\r\n  <div class=\"ov-wrapper\">\r\n\r\n    <!-- CABECERA -->\r\n    <div class=\"ov-header\">\r\n      <div class=\"ov-header-left\">\r\n        <div class=\"ov-header-title\">Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/div>\r\n        <div class=\"ov-header-sub\">Monitorizaci\u00f3n oncol\u00f3gica \u00b7 Pacientes, evoluci\u00f3n, anal\u00edticas y formularios<\/div>\r\n        <div class=\"ov-header-tag\">vista demo \u00b7 pensada para wordpress \/ elementor<\/div>\r\n      <\/div>\r\n      <div class=\"ov-header-right\">\r\n        <div class=\"ov-header-doc\">Unidad de Oncolog\u00eda \u00b7 Olas de Vida<\/div>\r\n        <div>Versi\u00f3n demostraci\u00f3n con 10 pacientes<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ov-inner\">\r\n\r\n      <!-- DASHBOARD SUPERIOR (RESUMEN GENERAL) -->\r\n      <div class=\"ov-cards\">\r\n        <div class=\"ov-card\">\r\n          <div class=\"ov-card-label\">Pacientes activos<\/div>\r\n          <div class=\"ov-card-value\">10<\/div>\r\n          <div class=\"ov-card-tag\">Muestra de trabajo<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-critical\">\r\n          <div class=\"ov-card-label\">Alertas cr\u00edticas<\/div>\r\n          <div class=\"ov-card-value\">3<\/div>\r\n          <div class=\"ov-card-tag\">Dolor \/ fiebre \/ \u00e1nimo<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-warning\">\r\n          <div class=\"ov-card-label\">Alta supervisi\u00f3n<\/div>\r\n          <div class=\"ov-card-value\">4<\/div>\r\n          <div class=\"ov-card-tag\">Seguimiento cercano<\/div>\r\n        <\/div>\r\n        <div class=\"ov-card ov-card-adherence\">\r\n          <div class=\"ov-card-label\">Adherencia reportes<\/div>\r\n          <div class=\"ov-card-value\">87%<\/div>\r\n          <div class=\"ov-card-tag\">\u00daltimos 14 d\u00edas<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- BANDEJA PACIENTES FULL WIDTH -->\r\n      <div class=\"ov-panel\">\r\n        <div class=\"ov-panel-title\">\ud83d\udce5 Bandeja de pacientes<\/div>\r\n        <div class=\"ov-panel-sub\">\r\n          Haz clic en el <strong>nombre<\/strong> de un paciente para ver su ficha en popup y preparar PDF + evoluci\u00f3n.\r\n        <\/div>\r\n        <div class=\"ov-scroll\">\r\n          <table class=\"ov-table\">\r\n            <thead>\r\n              <tr>\r\n                <th>Paciente<\/th>\r\n                <th>ID<\/th>\r\n                <th>Diagn\u00f3stico<\/th>\r\n                <th>Dolor<\/th>\r\n                <th>\u00c1nimo<\/th>\r\n                <th>Estado<\/th>\r\n                <th>\u00daltimo formulario<\/th>\r\n              <\/tr>\r\n            <\/thead>\r\n            <tbody>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV001\">Mar\u00eda Garc\u00eda L\u00f3pez<\/button><\/td>\r\n                <td>ODV001<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 4\/6<\/td>\r\n                <td>9\/10<\/td>\r\n                <td>8\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 08:40<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV002\">Roberto Silva Jim\u00e9nez<\/button><\/td>\r\n                <td>ODV002<\/td>\r\n                <td>Linfoma \u00b7 Ciclo 2\/8<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>3\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Ayer \u00b7 20:10<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV003\">Ana Fern\u00e1ndez L\u00f3pez<\/button><\/td>\r\n                <td>ODV003<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 3\/6<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 07:50<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV004\">Javier Rodr\u00edguez Santos<\/button><\/td>\r\n                <td>ODV004<\/td>\r\n                <td>Ca pulm\u00f3n \u00b7 Ciclo 5\/6<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-estable\">ESTABLE<\/td>\r\n                <td>Ayer \u00b7 18:33<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV005\">Laura Herrera Funes<\/button><\/td>\r\n                <td>ODV005<\/td>\r\n                <td>Ca ovario \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 10:15<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV006\">Carmen Ramos Vidal<\/button><\/td>\r\n                <td>ODV006<\/td>\r\n                <td>Ca colon \u00b7 Ciclo 1\/8<\/td>\r\n                <td>7\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hace 3h<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV007\">Daniel Mu\u00f1oz Ortega<\/button><\/td>\r\n                <td>ODV007<\/td>\r\n                <td>Ca p\u00e1ncreas \u00b7 Ciclo 3\/12<\/td>\r\n                <td>8\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 09:10<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV008\">Elena Torres D\u00edaz<\/button><\/td>\r\n                <td>ODV008<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td class=\"ov-state ov-state-critico\">CR\u00cdTICO<\/td>\r\n                <td>Hace 45 min<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV009\">Alberto Paredes Luna<\/button><\/td>\r\n                <td>ODV009<\/td>\r\n                <td>Ca pr\u00f3stata \u00b7 Hormono + RT<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td class=\"ov-state ov-state-moderado\">MODERADA<\/td>\r\n                <td>Ayer \u00b7 14:22<\/td>\r\n              <\/tr>\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV010\">Luc\u00eda Romero Salvat<\/button><\/td>\r\n                <td>ODV010<\/td>\r\n                <td>Ca mama \u00b7 Terapia dirigida<\/td>\r\n                <td>4\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td class=\"ov-state ov-state-alto\">ALTO RIESGO<\/td>\r\n                <td>Hoy \u00b7 11:05<\/td>\r\n              <\/tr>\r\n            <\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- L\u00cdNEA INFERIOR: PDF \/ JULI\u00c1N (CENTRO) \/ EVOLUCI\u00d3N -->\r\n      <div class=\"ov-bottom-layout\">\r\n\r\n        <!-- PANEL PDF DOCTOR\/PACIENTE -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-pdf-title\" class=\"ov-side-title\">\ud83d\udcc4 PDF m\u00e9dico \/ paciente<\/div>\r\n          <div id=\"ov-pdf-body\" class=\"ov-side-sub\">\r\n            Selecciona un paciente en la bandeja superior para preparar su informe m\u00e9dico\/paciente.\r\n          <\/div>\r\n          <button id=\"ov-pdf-btn\" class=\"ov-btn\" style=\"display:none;\" onclick=\"window.print()\">\r\n            Generar PDF de esta vista\r\n          <\/button>\r\n          <div style=\"margin-top:6px;font-size:11px;color:#9ca3af;\">\r\n            Usa \u201cGuardar como PDF\u201d para archivar o compartir el informe.\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL JULI\u00c1N CENTRADO -->\r\n        <div class=\"ov-side-box\">\r\n          <div class=\"ov-side-title\">\ud83e\udd16 Juli\u00e1n \u2014 Asistente IA<\/div>\r\n          <div class=\"ov-side-sub\">\r\n            Asistente de apoyo para el equipo m\u00e9dico. Esta demo muestra el agente tal y como se ver\u00eda embebido.\r\n          <\/div>\r\n          <div class=\"ov-julian-wrap\">\r\n            <iframe\r\n              src=\"https:\/\/eu.jotform.com\/agent\/019ad9bc86b471129ecafec7a28f03a41b91\"\r\n              title=\"Juli\u00e1n \u00b7 Asistente IA (demo)\">\r\n            <\/iframe>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- PANEL EVOLUCI\u00d3N (SEMANA \/ GLOBAL) -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-evo-title\" class=\"ov-side-title\">\ud83d\udcc8 Evoluci\u00f3n semanal vs global<\/div>\r\n          <div id=\"ov-evo-sub\" class=\"ov-side-sub\">\r\n            Selecciona un paciente para ver curvas de ejemplo de dolor y \u00e1nimo.\r\n          <\/div>\r\n          <div id=\"ov-evo-charts\" class=\"ov-chart-wrapper\" style=\"display:none;\">\r\n            <div class=\"ov-chart-box\">\r\n              <div class=\"ov-chart-title\">Evoluci\u00f3n semanal (\u00faltimos 7 d\u00edas)<\/div>\r\n              <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n                <!-- Dolor -->\r\n                <polyline points=\"0,30 15,28 30,26 45,24 60,22 75,20 100,18\"\r\n                          stroke=\"#f97373\"\/>\r\n                <!-- \u00c1nimo -->\r\n                <polyline points=\"0,18 15,19 30,20 45,22 60,24 75,26 100,27\"\r\n                          stroke=\"#4f46e5\"\/>\r\n              <\/svg>\r\n            <\/div>\r\n            <div class=\"ov-chart-box\">\r\n              <div class=\"ov-chart-title\">Evoluci\u00f3n global (desde inicio tratamiento)<\/div>\r\n              <svg class=\"ov-chart-svg\" viewBox=\"0 0 100 40\" preserveAspectRatio=\"none\">\r\n                <!-- Dolor -->\r\n                <polyline points=\"0,34 20,30 40,28 60,24 80,22 100,20\"\r\n                          stroke=\"#fecaca\"\/>\r\n                <!-- \u00c1nimo -->\r\n                <polyline points=\"0,22 20,24 40,26 60,28 80,30 100,32\"\r\n                          stroke=\"#93c5fd\"\/>\r\n              <\/svg>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n      <\/div>\r\n\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<!-- MODAL FICHA PACIENTE -->\r\n<div id=\"ov-modal\" class=\"ov-modal\">\r\n  <div class=\"ov-modal-backdrop\"><\/div>\r\n  <div class=\"ov-modal-dialog\">\r\n    <div class=\"ov-modal-header\">\r\n      <div id=\"ov-modal-title\" class=\"ov-modal-title\">Ficha de paciente<\/div>\r\n      <button id=\"ov-modal-close\" class=\"ov-modal-close\" aria-label=\"Cerrar\">\u2715<\/button>\r\n    <\/div>\r\n    <div id=\"ov-modal-body\" class=\"ov-modal-body\">\r\n      <!-- Aqu\u00ed se inyecta la ficha del paciente -->\r\n    <\/div>\r\n  <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n  \/\/ === Datos de ficha por paciente (HTML reusando estilo anterior) ===\r\n  const fichas = {\r\n    ODV001: {\r\n      nombre: 'Mar\u00eda Garc\u00eda L\u00f3pez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 4\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor mamario intenso, impacto en sue\u00f1o y movilidad.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo (\u00faltimo formulario)<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:90%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:80%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 9\/10 \u00b7 Ansiedad 8\/10 \u00b7 Hoy 08:40\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>9\/10<\/td><td>8\/10<\/td><td>62kg<\/td><td>Mala noche, dolor intenso.<\/td><\/tr>\r\n                <tr><td>10\/01<\/td><td>7\/10<\/td><td>7\/10<\/td><td>62.5kg<\/td><td>Responde parcialmente a analgesia.<\/td><\/tr>\r\n                <tr><td>05\/01<\/td><td>6\/10<\/td><td>6\/10<\/td><td>63kg<\/td><td>Dolor moderado, \u00e1nimo estable.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>13\/01<\/td><td>11.2<\/td><td>1.3<\/td><td>180k<\/td><td>Posible neutropenia incipiente.<\/td><\/tr>\r\n            <tr><td>06\/01<\/td><td>11.8<\/td><td>1.8<\/td><td>192k<\/td><td>Valores aceptables para ciclo.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas de dolor y \u00e1nimo basadas en los \u00faltimos cuestionarios de Mar\u00eda.'\r\n    },\r\n    ODV002: {\r\n      nombre: 'Roberto Silva Jim\u00e9nez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> Linfoma \u00b7 Ciclo 2\/8<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas depresivos marcados, p\u00e9rdida de peso.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo (\u00faltimo formulario)<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:60%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:30%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 6\/10 \u00b7 \u00c1nimo 3\/10 \u00b7 Ayer 20:10\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>6\/10<\/td><td>3\/10<\/td><td>78kg<\/td><td>Tristeza intensa, insomnio.<\/td><\/tr>\r\n                <tr><td>09\/01<\/td><td>5\/10<\/td><td>4\/10<\/td><td>79kg<\/td><td>Deterioro progresivo del \u00e1nimo.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>12\/01<\/td><td>12.4<\/td><td>2.0<\/td><td>210k<\/td><td>Anal\u00edtica estable.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas de Roberto con foco en \u00e1nimo y peso.'\r\n    },\r\n    ODV003: {\r\n      nombre: 'Ana Fern\u00e1ndez L\u00f3pez',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 3\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Fatiga relevante pero estable, dolor moderado.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:60%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:65%;\"><\/div><\/div>\r\n              <\/div>\r\n              <div style=\"font-size:10px;color:#9ca3af;margin-top:2px;\">\r\n                Dolor 6\/10 \u00b7 \u00c1nimo 7\/10 \u00b7 Hoy 07:50\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>6\/10<\/td><td>7\/10<\/td><td>68kg<\/td><td>Fatiga, pero \u00e1nimo aceptable.<\/td><\/tr>\r\n                <tr><td>10\/01<\/td><td>5\/10<\/td><td>7\/10<\/td><td>68.2kg<\/td><td>Dolor tolerable.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>13\/01<\/td><td>12.0<\/td><td>2.1<\/td><td>230k<\/td><td>Dentro de rango para ciclo.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n\r\n        <div class=\"ov-ficha-actions\">\r\n          <a class=\"ov-btn\" href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\" target=\"_blank\">\r\n            Formulario Olas de Vida\r\n          <\/a>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor moderado y \u00e1nimo aceptable en Ana.'\r\n    },\r\n    ODV004: {\r\n      nombre: 'Javier Rodr\u00edguez Santos',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de pulm\u00f3n \u00b7 Ciclo 5\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas controlados, tolerancia aceptable al tratamiento.<\/div>\r\n            <div class=\"ov-mini-chart\">\r\n              <div class=\"ov-mini-label\">Dolor \/ \u00c1nimo<\/div>\r\n              <div class=\"ov-bar-wrap\">\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-dolor\" style=\"width:30%;\"><\/div><\/div>\r\n                <div class=\"ov-bar\"><div class=\"ov-bar-inner ov-bar-animo\" style=\"width:70%;\"><\/div><\/div>\r\n              <\/div>\r\n            <\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>3\/10<\/td><td>7\/10<\/td><td>74kg<\/td><td>Baja disnea de esfuerzo.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div style=\"margin-top:8px;\"><strong>\ud83d\udd2c Anal\u00edticas recientes<\/strong><\/div>\r\n        <table class=\"ov-table-mini\">\r\n          <thead><tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><th>Comentario<\/th><\/tr><\/thead>\r\n          <tbody>\r\n            <tr><td>12\/01<\/td><td>13.1<\/td><td>2.4<\/td><td>250k<\/td><td>Anal\u00edtica estable.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      `,\r\n      evoText: 'Evoluci\u00f3n estable con buena tolerancia al tratamiento.'\r\n    },\r\n    ODV005: {\r\n      nombre: 'Laura Herrera Funes',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de ovario \u00b7 Ciclo 2\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> N\u00e1useas frecuentes, cierto deterioro de apetito.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>5\/10<\/td><td>6\/10<\/td><td>60kg<\/td><td>N\u00e1useas matutinas.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Seguimiento de n\u00e1useas y peso en Laura.'\r\n    },\r\n    ODV006: {\r\n      nombre: 'Carmen Ramos Vidal',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de colon \u00b7 Ciclo 1\/8<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor abdominal intermitente, deposiciones alteradas.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>7\/10<\/td><td>5\/10<\/td><td>70kg<\/td><td>Dolor postprandial.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Control de dolor abdominal y funci\u00f3n intestinal.'\r\n    },\r\n    ODV007: {\r\n      nombre: 'Daniel Mu\u00f1oz Ortega',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de p\u00e1ncreas \u00b7 Ciclo 3\/12<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Dolor abdominal intenso y p\u00e9rdida ponderal.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Peso<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>8\/10<\/td><td>5\/10<\/td><td>65kg<\/td><td>P\u00e9rdida de peso progresiva.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor elevado y p\u00e9rdida de peso en Daniel.'\r\n    },\r\n    ODV008: {\r\n      nombre: 'Elena Torres D\u00edaz',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Ciclo 2\/6<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Fiebre 38.8\u00baC, sospecha de neutropenia.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Temp<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>Hoy<\/td><td>5\/10<\/td><td>6\/10<\/td><td>38.8\u00baC<\/td><td>Consulta urgente recomendada.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Control urgente de fiebre y posible neutropenia.'\r\n    },\r\n    ODV009: {\r\n      nombre: 'Alberto Paredes Luna',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de pr\u00f3stata \u00b7 Hormono + RT<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> S\u00edntomas urinarios leves, dolor bajo.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>13\/01<\/td><td>3\/10<\/td><td>7\/10<\/td><td>Dolor leve p\u00e9lvico, controlado.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Dolor leve y buena tolerancia en Alberto.'\r\n    },\r\n    ODV010: {\r\n      nombre: 'Luc\u00eda Romero Salvat',\r\n      html: `\r\n        <div class=\"ov-ficha-row\">\r\n          <div>\r\n            <div><strong>Diagn\u00f3stico:<\/strong> C\u00e1ncer de mama \u00b7 Terapia dirigida<\/div>\r\n            <div style=\"margin-top:4px;\"><strong>Resumen cl\u00ednico:<\/strong> Alternancia de ansiedad y d\u00edas buenos.<\/div>\r\n          <\/div>\r\n          <div>\r\n            <strong>\ud83d\udcdd Evoluci\u00f3n s\u00edntomas<\/strong>\r\n            <table class=\"ov-table-mini\">\r\n              <thead><tr><th>Fecha<\/th><th>Dolor<\/th><th>\u00c1nimo<\/th><th>Notas<\/th><\/tr><\/thead>\r\n              <tbody>\r\n                <tr><td>14\/01<\/td><td>4\/10<\/td><td>5\/10<\/td><td>Nervios antes de pruebas.<\/td><\/tr>\r\n              <\/tbody>\r\n            <\/table>\r\n          <\/div>\r\n        <\/div>\r\n      `,\r\n      evoText: 'Curvas centradas en ansiedad y control de dolor en Luc\u00eda.'\r\n    }\r\n  };\r\n\r\n  const modal      = document.getElementById('ov-modal');\r\n  const modalTitle = document.getElementById('ov-modal-title');\r\n  const modalBody  = document.getElementById('ov-modal-body');\r\n  const modalClose = document.getElementById('ov-modal-close');\r\n  const modalDialog= modal.querySelector('.ov-modal-dialog');\r\n\r\n  const pdfTitleEl = document.getElementById('ov-pdf-title');\r\n  const pdfBodyEl  = document.getElementById('ov-pdf-body');\r\n  const pdfBtnEl   = document.getElementById('ov-pdf-btn');\r\n\r\n  const evoTitleEl = document.getElementById('ov-evo-title');\r\n  const evoSubEl   = document.getElementById('ov-evo-sub');\r\n  const evoChartsEl= document.getElementById('ov-evo-charts');\r\n\r\n  function abrirPaciente(id){\r\n    const data = fichas[id];\r\n    if(!data) return;\r\n\r\n    \/\/ Ficha en popup\r\n    modalTitle.textContent = `${data.nombre} \u00b7 ${id}`;\r\n    modalBody.innerHTML = data.html;\r\n    modal.classList.add('ov-visible');\r\n    \/\/ Centrar al abrir\r\n    modalDialog.style.top = '50%';\r\n    modalDialog.style.left = '50%';\r\n    modalDialog.style.transform = 'translate(-50%, -50%)';\r\n\r\n    \/\/ PDF actualizado\r\n    pdfTitleEl.textContent = `\ud83d\udcc4 PDF m\u00e9dico \/ paciente \u00b7 ${data.nombre}`;\r\n    pdfBodyEl.textContent  = `Borrador de informe para ${data.nombre} (${id}). Incluye resumen de s\u00edntomas, anal\u00edticas y comentarios cl\u00ednicos recientes.`;\r\n    pdfBtnEl.style.display = 'inline-block';\r\n\r\n    \/\/ Gr\u00e1ficos actualizaci\u00f3n ligera\r\n    evoTitleEl.textContent = `\ud83d\udcc8 Evoluci\u00f3n semanal y global \u00b7 ${data.nombre}`;\r\n    evoSubEl.textContent   = data.evoText || 'Curvas cl\u00ednicas basadas en los formularios del paciente.';\r\n    evoChartsEl.style.display = 'grid';\r\n  }\r\n\r\n  \/\/ Eventos click en nombres\r\n  document.querySelectorAll('.ov-name-link').forEach(btn=>{\r\n    btn.addEventListener('click', function(e){\r\n      e.stopPropagation();\r\n      const id = this.getAttribute('data-id');\r\n      abrirPaciente(id);\r\n    });\r\n  });\r\n\r\n  \/\/ Cerrar modal\r\n  modalClose.addEventListener('click', ()=> modal.classList.remove('ov-visible'));\r\n  modal.querySelector('.ov-modal-backdrop').addEventListener('click', ()=> modal.classList.remove('ov-visible'));\r\n\r\n  \/\/ Hacer el popup movible con el rat\u00f3n\r\n  let isDragging = false;\r\n  let startX, startY, startLeft, startTop;\r\n\r\n  const header = modal.querySelector('.ov-modal-header');\r\n  header.addEventListener('mousedown', function(e){\r\n    isDragging = true;\r\n    startX = e.clientX;\r\n    startY = e.clientY;\r\n\r\n    const rect = modalDialog.getBoundingClientRect();\r\n    startLeft = rect.left;\r\n    startTop  = rect.top;\r\n\r\n    modalDialog.style.transform = 'none';\r\n    document.body.style.userSelect = 'none';\r\n  });\r\n\r\n  window.addEventListener('mousemove', function(e){\r\n    if(!isDragging) return;\r\n    const dx = e.clientX - startX;\r\n    const dy = e.clientY - startY;\r\n    modalDialog.style.left = (startLeft + dx) + 'px';\r\n    modalDialog.style.top  = (startTop + dy) + 'px';\r\n  });\r\n\r\n  window.addEventListener('mouseup', function(){\r\n    if(isDragging){\r\n      isDragging = false;\r\n      document.body.style.userSelect = '';\r\n    }\r\n  });\r\n})();\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0e667ca e-con-full e-flex e-con e-parent\" data-id=\"0e667ca\" data-element_type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30488a1 elementor-widget elementor-widget-html\" data-id=\"30488a1\" data-element_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  <title>Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/title>\r\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n\r\n  <style>\r\n    body{\r\n      margin:0;\r\n      padding:0;\r\n      background:#020617;\r\n      font-family:'Open Sans',system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",sans-serif;\r\n    }\r\n    .ov-root{\r\n      font-family:'Open Sans',sans-serif;\r\n      color:#e5e7eb;\r\n      padding:16px;\r\n    }\r\n    .ov-wrapper{\r\n      max-width:1200px;\r\n      margin:0 auto 32px;\r\n      background:#020617;\r\n      border-radius:18px;\r\n      box-shadow:0 18px 40px rgba(15,23,42,0.9);\r\n      overflow:hidden;\r\n      border:1px solid rgba(148,163,184,0.5);\r\n    }\r\n\r\n    \/* CABECERA *\/\r\n    .ov-header{\r\n      background: radial-gradient(circle at top left,#38bdf8 0%,#0f172a 40%,#020617 100%);\r\n      color:#e5f2ff;\r\n      padding:18px 22px 16px;\r\n      display:flex;\r\n      justify-content:space-between;\r\n      gap:16px;\r\n      flex-wrap:wrap;\r\n    }\r\n    .ov-header-left{max-width:60%;}\r\n    .ov-header-title{\r\n      font-family:'Poppins',system-ui,sans-serif;\r\n      font-size:22px;\r\n      font-weight:600;\r\n    }\r\n    .ov-header-sub{\r\n      font-size:13px;\r\n      opacity:.9;\r\n      margin-top:4px;\r\n    }\r\n    .ov-header-tag{\r\n      margin-top:8px;\r\n      font-size:11px;\r\n      text-transform:uppercase;\r\n      letter-spacing:0.06em;\r\n      color:#93c5fd;\r\n    }\r\n    .ov-header-right{text-align:right;font-size:12px;}\r\n    .ov-header-doc{font-weight:600;}\r\n\r\n    .ov-inner{\r\n      background:linear-gradient(135deg,#020617 0%,#020617 35%,#0b1220 100%);\r\n      padding:18px 18px 20px;\r\n      color:#e5e7eb;\r\n    }\r\n\r\n    \/* TARJETAS *\/\r\n    .ov-cards{\r\n      display:grid;\r\n      grid-template-columns:repeat(auto-fit,minmax(150px,1fr));\r\n      gap:10px;\r\n      margin-bottom:16px;\r\n    }\r\n    .ov-card{\r\n      background:linear-gradient(135deg,rgba(15,23,42,0.98),rgba(15,23,42,0.85));\r\n      border-radius:12px;\r\n      padding:10px 12px;\r\n      border:1px solid rgba(148,163,184,0.35);\r\n    }\r\n    .ov-card-label{\r\n      font-size:11px;\r\n      text-transform:uppercase;\r\n      letter-spacing:0.06em;\r\n      color:#9ca3af;\r\n    }\r\n    .ov-card-value{\r\n      font-family:'Poppins',system-ui,sans-serif;\r\n      font-size:20px;\r\n      font-weight:600;\r\n      margin-top:3px;\r\n    }\r\n    .ov-card-tag{\r\n      font-size:11px;\r\n      margin-top:4px;\r\n      color:#6ee7b7;\r\n    }\r\n\r\n    \/* BANDEJA PACIENTES *\/\r\n    .ov-panel{\r\n      background:rgba(15,23,42,0.96);\r\n      border-radius:12px;\r\n      border:1px solid rgba(55,65,81,0.9);\r\n      padding:12px;\r\n    }\r\n    .ov-panel-title{\r\n      font-family:'Poppins';\r\n      font-size:15px;\r\n      margin-bottom:4px;\r\n    }\r\n    .ov-panel-sub{\r\n      font-size:12px;\r\n      color:#9ca3af;\r\n      margin-bottom:10px;\r\n    }\r\n\r\n    .ov-table{\r\n      width:100%;\r\n      border-collapse:collapse;\r\n      font-size:12px;\r\n    }\r\n    .ov-table th,\r\n    .ov-table td{\r\n      padding:7px 6px;\r\n      border-bottom:1px solid rgba(31,41,55,1);\r\n    }\r\n    .ov-table th{\r\n      background:rgba(15,23,42,0.98);\r\n      font-family:'Poppins';\r\n      font-size:11px;\r\n      color:#9ca3af;\r\n      position:sticky;\r\n      top:0;\r\n      z-index:1;\r\n      text-align:left;\r\n    }\r\n\r\n    .ov-name-link{\r\n      background:none;\r\n      border:none;\r\n      padding:0;\r\n      font:inherit;\r\n      color:#e5e7eb;\r\n      text-decoration:underline;\r\n      cursor:pointer;\r\n    }\r\n    .ov-name-link:hover{color:#bfdbfe;}\r\n\r\n    .ov-scroll{\r\n      max-height:280px;\r\n      overflow:auto;\r\n    }\r\n    .ov-scroll::-webkit-scrollbar{width:6px;}\r\n    .ov-scroll::-webkit-scrollbar-thumb{\r\n      background:#4b5563;\r\n      border-radius:999px;\r\n    }\r\n\r\n    \/* PANEL INFERIOR *\/\r\n    .ov-bottom-layout{\r\n      display:grid;\r\n      grid-template-columns:repeat(auto-fit,minmax(260px,1fr));\r\n      gap:12px;\r\n      margin-top:16px;\r\n    }\r\n    .ov-side-box{\r\n      background:rgba(15,23,42,0.96);\r\n      border-radius:12px;\r\n      border:1px solid rgba(55,65,81,0.9);\r\n      padding:10px;\r\n      font-size:12px;\r\n    }\r\n    .ov-side-title{\r\n      font-family:'Poppins';\r\n      font-size:14px;\r\n      margin-bottom:4px;\r\n    }\r\n    .ov-side-sub{\r\n      font-size:11px;\r\n      color:#9ca3af;\r\n      margin-bottom:6px;\r\n    }\r\n\r\n    .ov-btn{\r\n      padding:7px 12px;\r\n      border-radius:999px;\r\n      background:linear-gradient(135deg,#38bdf8,#2563eb);\r\n      border:none;\r\n      color:white;\r\n      cursor:pointer;\r\n      font-size:11px;\r\n      text-transform:uppercase;\r\n      letter-spacing:0.07em;\r\n    }\r\n    .ov-btn:hover{filter:brightness(1.05);}\r\n  <\/style>\r\n<\/head>\r\n\r\n<body>\r\n<div class=\"ov-root\">\r\n  <div class=\"ov-wrapper\">\r\n\r\n    <!-- CABECERA -->\r\n    <div class=\"ov-header\">\r\n      <div class=\"ov-header-left\">\r\n        <div class=\"ov-header-title\">Olas de Vida \u00b7 Panel M\u00e9dico Avanzado<\/div>\r\n        <div class=\"ov-header-sub\">Monitorizaci\u00f3n oncol\u00f3gica \u00b7 Pacientes, evoluci\u00f3n, anal\u00edticas<\/div>\r\n        <div class=\"ov-header-tag\">vista demo \u00b7 pensada para wordpress \/ elementor<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"ov-header-right\">\r\n        <div class=\"ov-header-doc\">Unidad de Oncolog\u00eda \u00b7 Olas de Vida<\/div>\r\n        <div>Versi\u00f3n demostraci\u00f3n con 10 pacientes<\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"ov-inner\">\r\n\r\n      <!-- TARJETAS SUPERIORES -->\r\n      <div class=\"ov-cards\">\r\n        <div class=\"ov-card\">\r\n          <div class=\"ov-card-label\">Pacientes activos<\/div>\r\n          <div class=\"ov-card-value\">10<\/div>\r\n          <div class=\"ov-card-tag\">Muestra<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ov-card\">\r\n          <div class=\"ov-card-label\">Alertas cr\u00edticas<\/div>\r\n          <div class=\"ov-card-value\">3<\/div>\r\n          <div class=\"ov-card-tag\">Dolor \/ fiebre \/ \u00e1nimo<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ov-card\">\r\n          <div class=\"ov-card-label\">Alta supervisi\u00f3n<\/div>\r\n          <div class=\"ov-card-value\">4<\/div>\r\n          <div class=\"ov-card-tag\">Seguimiento cercano<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"ov-card\">\r\n          <div class=\"ov-card-label\">Adherencia<\/div>\r\n          <div class=\"ov-card-value\">87%<\/div>\r\n          <div class=\"ov-card-tag\">\u00daltimos 14 d\u00edas<\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- BANDEJA PACIENTES -->\r\n      <div class=\"ov-panel\">\r\n        <div class=\"ov-panel-title\">\ud83d\udce5 Bandeja de pacientes<\/div>\r\n        <div class=\"ov-panel-sub\">Haz clic en el nombre para abrir su ficha.<\/div>\r\n\r\n        <div class=\"ov-scroll\">\r\n          <table class=\"ov-table\">\r\n            <thead>\r\n              <tr>\r\n                <th>Paciente<\/th>\r\n                <th>ID<\/th>\r\n                <th>Diagn\u00f3stico<\/th>\r\n                <th>Dolor<\/th>\r\n                <th>\u00c1nimo<\/th>\r\n                <th>Estado<\/th>\r\n                <th>\u00daltimo formulario<\/th>\r\n              <\/tr>\r\n            <\/thead>\r\n\r\n            <tbody>\r\n              <!-- PACIENTES SE INYECTAN EN BLOQUE 2 -->\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV001\">Mar\u00eda Garc\u00eda L\u00f3pez<\/button><\/td>\r\n                <td>ODV001<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 4\/6<\/td>\r\n                <td>9\/10<\/td>\r\n                <td>8\/10<\/td>\r\n                <td style=\"color:#fca5a5;\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 08:40<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV002\">Roberto Silva Jim\u00e9nez<\/button><\/td>\r\n                <td>ODV002<\/td>\r\n                <td>Linfoma \u00b7 Ciclo 2\/8<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>3\/10<\/td>\r\n                <td style=\"color:#fed7aa;\">ALTO RIESGO<\/td>\r\n                <td>Ayer \u00b7 20:10<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV003\">Ana Fern\u00e1ndez L\u00f3pez<\/button><\/td>\r\n                <td>ODV003<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 3\/6<\/td>\r\n                <td>6\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td style=\"color:#93c5fd;\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 07:50<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV004\">Javier Rodr\u00edguez Santos<\/button><\/td>\r\n                <td>ODV004<\/td>\r\n                <td>Ca pulm\u00f3n \u00b7 Ciclo 5\/6<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td style=\"color:#6ee7b7;\">ESTABLE<\/td>\r\n                <td>Ayer \u00b7 18:33<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV005\">Laura Herrera Funes<\/button><\/td>\r\n                <td>ODV005<\/td>\r\n                <td>Ca ovario \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td style=\"color:#93c5fd;\">MODERADA<\/td>\r\n                <td>Hoy \u00b7 10:15<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV006\">Carmen Ramos Vidal<\/button><\/td>\r\n                <td>ODV006<\/td>\r\n                <td>Ca colon \u00b7 Ciclo 1\/8<\/td>\r\n                <td>7\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td style=\"color:#fed7aa;\">ALTO RIESGO<\/td>\r\n                <td>Hace 3h<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV007\">Daniel Mu\u00f1oz Ortega<\/button><\/td>\r\n                <td>ODV007<\/td>\r\n                <td>Ca p\u00e1ncreas \u00b7 Ciclo 3\/12<\/td>\r\n                <td>8\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td style=\"color:#fca5a5;\">CR\u00cdTICO<\/td>\r\n                <td>Hoy \u00b7 09:10<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV008\">Elena Torres D\u00edaz<\/button><\/td>\r\n                <td>ODV008<\/td>\r\n                <td>Ca mama \u00b7 Ciclo 2\/6<\/td>\r\n                <td>5\/10<\/td>\r\n                <td>6\/10<\/td>\r\n                <td style=\"color:#fca5a5;\">CR\u00cdTICO<\/td>\r\n                <td>Hace 45 min<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV009\">Alberto Paredes Luna<\/button><\/td>\r\n                <td>ODV009<\/td>\r\n                <td>Ca pr\u00f3stata \u00b7 Hormono + RT<\/td>\r\n                <td>3\/10<\/td>\r\n                <td>7\/10<\/td>\r\n                <td style=\"color:#93c5fd;\">MODERADA<\/td>\r\n                <td>Ayer \u00b7 14:22<\/td>\r\n              <\/tr>\r\n\r\n              <tr>\r\n                <td><button class=\"ov-name-link\" data-id=\"ODV010\">Luc\u00eda Romero Salvat<\/button><\/td>\r\n                <td>ODV010<\/td>\r\n                <td>Ca mama \u00b7 Terapia dirigida<\/td>\r\n                <td>4\/10<\/td>\r\n                <td>5\/10<\/td>\r\n                <td style=\"color:#fed7aa;\">ALTO RIESGO<\/td>\r\n                <td>Hoy \u00b7 11:05<\/td>\r\n              <\/tr>\r\n\r\n            <\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <!-- PANEL INFERIOR (NO MODIFICADO, INTACTO COMO PEDISTE) -->\r\n      <div class=\"ov-bottom-layout\">\r\n\r\n        <!-- PDF -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-pdf-title\" class=\"ov-side-title\">\ud83d\udcc4 PDF m\u00e9dico \/ paciente<\/div>\r\n          <div id=\"ov-pdf-body\" class=\"ov-side-sub\">\r\n            Selecciona un paciente para preparar su informe m\u00e9dico\/paciente.\r\n          <\/div>\r\n          <button id=\"ov-pdf-btn\" class=\"ov-btn\" style=\"display:none;\" onclick=\"window.print()\">Generar PDF<\/button>\r\n        <\/div>\r\n\r\n        <!-- JULI\u00c1N -->\r\n        <div class=\"ov-side-box\">\r\n          <div class=\"ov-side-title\">\ud83e\udd16 Juli\u00e1n \u2014 Asistente IA<\/div>\r\n          <div class=\"ov-side-sub\">Asistente de apoyo m\u00e9dico integrado.<\/div>\r\n\r\n          <div style=\"border:1px solid #3b4252;border-radius:10px;overflow:hidden;\">\r\n            <iframe\r\n              src=\"https:\/\/eu.jotform.com\/agent\/019ad9bc86b471129ecafec7a28f03a41b91\"\r\n              style=\"width:100%;height:260px;border:0;\"><\/iframe>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <!-- EVOLUCI\u00d3N -->\r\n        <div class=\"ov-side-box\">\r\n          <div id=\"ov-evo-title\" class=\"ov-side-title\">\ud83d\udcc8 Evoluci\u00f3n semanal<\/div>\r\n          <div id=\"ov-evo-sub\" class=\"ov-side-sub\">Selecciona un paciente para ver evoluci\u00f3n.<\/div>\r\n\r\n          <div id=\"ov-evo-charts\" style=\"display:none;\">\r\n            <img decoding=\"async\" src=\"https:\/\/placehold.co\/300x120\/1e293b\/93c5fd?text=Grafica+Dolor\/Animo\" style=\"width:100%;border-radius:10px;\">\r\n          <\/div>\r\n        <\/div>\r\n\r\n      <\/div> <!-- cierre bottom-layout -->\r\n\r\n    <\/div> <!-- cierre ov-inner -->\r\n  <\/div> <!-- cierre ov-wrapper -->\r\n<\/div> <!-- cierre ov-root -->\r\n\r\n<!-- POPUP \u00daNICO (CORREGIDO, YA NO SALEN 2) -->\r\n<div id=\"ov-modal\" class=\"ov-modal\" style=\"display:none;\r\n  position:fixed;inset:0;\r\n  backdrop-filter:blur(3px);\r\n  background:rgba(0,0,0,0.55);\r\n  align-items:center;justify-content:center;z-index:2000;\">\r\n\r\n  <div class=\"ov-modal-dialog\"\r\n       style=\"background:#0f172a;border-radius:14px;\r\n       border:1px solid #4b5563;\r\n       width:90%;max-width:780px;max-height:88%;\r\n       overflow:auto;padding:18px;\">\r\n\r\n    <div style=\"display:flex;justify-content:space-between;align-items:center;\">\r\n      <div id=\"ov-modal-title\" style=\"font-family:Poppins;font-size:16px;font-weight:600;\">Ficha del paciente<\/div>\r\n      <button id=\"ov-modal-close\"\r\n              style=\"background:none;border:none;color:#e5e7eb;font-size:20px;cursor:pointer;\">\r\n        \u2715\r\n      <\/button>\r\n    <\/div>\r\n\r\n    <div id=\"ov-modal-body\" style=\"margin-top:12px;font-size:13px;color:#e2e8f0;\">\r\n      <!-- contenido de la ficha se inyecta en BLOQUE 3 -->\r\n    <\/div> <!-- cierre ov-modal-body -->\r\n\r\n  <\/div> <!-- cierre ov-modal-dialog -->\r\n<\/div> <!-- cierre ov-modal -->\r\n\r\n<script>\r\n\/* ============================================================\r\n   \ud83d\udd25 FICHAS (contenidos HTML que se cargan dentro del popup)\r\n   ============================================================ *\/\r\nconst fichas = {\r\n\r\n  ODV001: {\r\n    nombre: \"Mar\u00eda Garc\u00eda L\u00f3pez\",\r\n    html: `\r\n      <h3>Diagn\u00f3stico<\/h3>\r\n      <p>C\u00e1ncer de mama \u00b7 Ciclo 4\/6<\/p>\r\n\r\n      <h3>Resumen cl\u00ednico<\/h3>\r\n      <p>Dolor mamario intenso, impacto en sue\u00f1o y movilidad.<\/p>\r\n\r\n      <h3>\u00daltimos registros<\/h3>\r\n      <ul>\r\n        <li>Dolor: 9\/10<\/li>\r\n        <li>\u00c1nimo: 8\/10<\/li>\r\n        <li>Fecha: Hoy \u00b7 08:40<\/li>\r\n      <\/ul>\r\n\r\n      <h3>Anal\u00edticas recientes<\/h3>\r\n      <table style=\"width:100%;border-collapse:collapse;font-size:12px;\">\r\n        <tr><th>Fecha<\/th><th>Hb<\/th><th>Neutr\u00f3filos<\/th><th>Plaquetas<\/th><\/tr>\r\n        <tr><td>13\/01<\/td><td>11.2<\/td><td>1.3<\/td><td>180k<\/td><\/tr>\r\n        <tr><td>06\/01<\/td><td>11.8<\/td><td>1.8<\/td><td>192k<\/td><\/tr>\r\n      <\/table>\r\n\r\n      <h3>Formulario<\/h3>\r\n      <a class=\"ov-btn\" target=\"_blank\"\r\n        href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\">\r\n        Abrir formulario\r\n      <\/a>\r\n    `\r\n  },\r\n\r\n  ODV002: {\r\n    nombre: \"Roberto Silva Jim\u00e9nez\",\r\n    html: `\r\n      <h3>Diagn\u00f3stico<\/h3>\r\n      <p>Linfoma \u00b7 Ciclo 2\/8<\/p>\r\n\r\n      <h3>Resumen cl\u00ednico<\/h3>\r\n      <p>S\u00edntomas depresivos marcados y p\u00e9rdida de peso.<\/p>\r\n\r\n      <h3>\u00daltimo registro<\/h3>\r\n      <p>Dolor 6\/10 \u00b7 \u00c1nimo 3\/10 \u00b7 Ayer 20:10<\/p>\r\n\r\n      <h3>Formulario<\/h3>\r\n      <a class=\"ov-btn\" target=\"_blank\"\r\n        href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\">\r\n        Abrir formulario\r\n      <\/a>\r\n    `\r\n  },\r\n\r\n  ODV003: {\r\n    nombre: \"Ana Fern\u00e1ndez L\u00f3pez\",\r\n    html: `\r\n      <h3>Diagn\u00f3stico<\/h3>\r\n      <p>C\u00e1ncer de mama \u00b7 Ciclo 3\/6<\/p>\r\n\r\n      <h3>\u00daltimo registro<\/h3>\r\n      <p>Dolor 6\/10 \u00b7 \u00c1nimo 7\/10 \u00b7 Hoy 07:50<\/p>\r\n\r\n      <h3>Formulario<\/h3>\r\n      <a class=\"ov-btn\" target=\"_blank\"\r\n        href=\"https:\/\/eu.jotform.com\/agent\/01994df43a8c7e41adb1e4e88e9367ca3103\">\r\n        Abrir formulario\r\n      <\/a>\r\n    `\r\n  },\r\n\r\n  ODV004: {\r\n    nombre: \"Javier Rodr\u00edguez Santos\",\r\n    html: `\r\n      <h3>Diagn\u00f3stico<\/h3>\r\n      <p>C\u00e1ncer de pulm\u00f3n \u00b7 Ciclo 5\/6<\/p>\r\n\r\n      <h3>Registro reciente<\/h3>\r\n      <p>Dolor 3\/10 \u00b7 \u00c1nimo 7\/10<\/p>\r\n    `\r\n  },\r\n\r\n  ODV005: {\r\n    nombre: \"Laura Herrera Funes\",\r\n    html: `\r\n      <h3>Diagn\u00f3stico<\/h3>\r\n      <p>C\u00e1ncer de ovario \u00b7 Ciclo 2\/6<\/p>\r\n    `\r\n  },\r\n\r\n  ODV006: {\r\n    nombre: \"Carmen Ramos Vidal\",\r\n    html: `\r\n      <h3>Diagn\u00f3stico<\/h3>\r\n      <p>C\u00e1ncer de colon \u00b7 Ciclo 1\/8<\/p>\r\n    `\r\n  },\r\n\r\n  ODV007: {\r\n    nombre: \"Daniel Mu\u00f1oz Ortega\",\r\n    html: `\r\n      <h3>Diagn\u00f3stico<\/h3>\r\n      <p>C\u00e1ncer de p\u00e1ncreas \u00b7 Ciclo 3\/12<\/p>\r\n    `\r\n  },\r\n\r\n  ODV008: {\r\n    nombre: \"Elena Torres D\u00edaz\",\r\n    html: `\r\n      <h3>Diagn\u00f3stico<\/h3>\r\n      <p>C\u00e1ncer de mama \u00b7 Ciclo 2\/6<\/p>\r\n\r\n      <h3>Urgencia<\/h3>\r\n      <p>Fiebre 38.8\u00baC \u00b7 Posible neutropenia<\/p>\r\n    `\r\n  },\r\n\r\n  ODV009: {\r\n    nombre: \"Alberto Paredes Luna\",\r\n    html: `\r\n      <h3>Diagn\u00f3stico<\/h3>\r\n      <p>C\u00e1ncer de pr\u00f3stata \u00b7 Hormono + RT<\/p>\r\n    `\r\n  },\r\n\r\n  ODV010: {\r\n    nombre: \"Luc\u00eda Romero Salvat\",\r\n    html: `\r\n      <h3>Diagn\u00f3stico<\/h3>\r\n      <p>C\u00e1ncer de mama \u00b7 Terapia dirigida<\/p>\r\n    `\r\n  },\r\n};\r\n\r\n\/* ============================================================\r\n   \ud83d\udd25 L\u00d3GICA DEL POPUP (100% corregida)\r\n   ============================================================ *\/\r\nconst modal      = document.getElementById(\"ov-modal\");\r\nconst modalTitle = document.getElementById(\"ov-modal-title\");\r\nconst modalBody  = document.getElementById(\"ov-modal-body\");\r\nconst modalClose = document.getElementById(\"ov-modal-close\");\r\n\r\n\/* --- Abrir ficha --- *\/\r\nfunction abrirFicha(id) {\r\n  const data = fichas[id];\r\n  if (!data) return;\r\n\r\n  modalTitle.textContent = data.nombre + \" \u00b7 \" + id;\r\n  modalBody.innerHTML = data.html;\r\n\r\n  modal.style.display = \"flex\";\r\n\r\n  \/\/ Actualiza panel PDF\r\n  document.getElementById(\"ov-pdf-title\").textContent = \"\ud83d\udcc4 PDF de \" + data.nombre;\r\n  document.getElementById(\"ov-pdf-body\").textContent =\r\n    \"Informe cl\u00ednico preparado para \" + data.nombre;\r\n  document.getElementById(\"ov-pdf-btn\").style.display = \"inline-block\";\r\n\r\n  \/\/ Actualiza panel evoluci\u00f3n\r\n  document.getElementById(\"ov-evo-title\").textContent =\r\n    \"\ud83d\udcc8 Evoluci\u00f3n \u00b7 \" + data.nombre;\r\n  document.getElementById(\"ov-evo-charts\").style.display = \"block\";\r\n}\r\n\r\n\/* --- Cerrar el popup --- *\/\r\nmodalClose.addEventListener(\"click\", () => {\r\n  modal.style.display = \"none\";\r\n});\r\nmodal.addEventListener(\"click\", (e) => {\r\n  if (e.target === modal) modal.style.display = \"none\";\r\n});\r\n\r\n\/* --- Conectar nombres con sus fichas --- *\/\r\ndocument.querySelectorAll(\".ov-name-link\").forEach(btn => {\r\n  btn.addEventListener(\"click\", () => {\r\n    abrirFicha(btn.dataset.id);\r\n  });\r\n});\r\n<\/script>\r\n\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-a60d485 e-con-full e-flex e-con e-parent\" data-id=\"a60d485\" data-element_type=\"container\">\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Panel M\u00e9dico \u00b7 Bandeja de Pacientes \u00b7 Olas de Vida Panel M\u00e9dico \u00b7 Olas de Vida Bandeja de pacientes con conexi\u00f3n directa a su ficha individual Paciente ID Estado \u00daltimo formulario Acciones Ficha Paciente \u00b7 Olas de Vida Ficha de Paciente \u00b7 Olas de Vida Evoluci\u00f3n, anal\u00edticas, alertas y exportaci\u00f3n a PDF \u2190 Volver al [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-191","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/5.olasdevida.es\/index.php\/wp-json\/wp\/v2\/pages\/191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/5.olasdevida.es\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/5.olasdevida.es\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/5.olasdevida.es\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/5.olasdevida.es\/index.php\/wp-json\/wp\/v2\/comments?post=191"}],"version-history":[{"count":85,"href":"https:\/\/5.olasdevida.es\/index.php\/wp-json\/wp\/v2\/pages\/191\/revisions"}],"predecessor-version":[{"id":463,"href":"https:\/\/5.olasdevida.es\/index.php\/wp-json\/wp\/v2\/pages\/191\/revisions\/463"}],"wp:attachment":[{"href":"https:\/\/5.olasdevida.es\/index.php\/wp-json\/wp\/v2\/media?parent=191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}