{"id":891,"date":"2026-08-19T18:18:51","date_gmt":"2026-08-19T23:18:51","guid":{"rendered":"https:\/\/nucleo.miespaciodigital.net\/?page_id=891"},"modified":"2026-08-19T18:20:36","modified_gmt":"2026-08-19T23:20:36","slug":"planeamiento-estrategico-y-participativo","status":"publish","type":"page","link":"https:\/\/miespaciodigital.net\/auditoria\/plataforma-saas-de-gestion-digital\/planeamiento-estrategico-y-participativo\/","title":{"rendered":"Planeamiento Estrat\u00e9gico y Participativo"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"891\" class=\"elementor elementor-891\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-30f48a5 e-con e-atomic-element e-flexbox-base e-863cd44 \" data-id=\"30f48a5\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"30f48a5\" data-e-type=\"e-flexbox\" data-id=\"30f48a5\">\n    <div class=\"elementor-element elementor-element-3dcf549 e-con e-atomic-element e-flexbox-base \" data-id=\"3dcf549\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"3dcf549\" data-e-type=\"e-flexbox\" data-id=\"3dcf549\">\n    \t\t<div class=\"elementor-element elementor-element-383c2b0 elementor-widget elementor-widget-html\" data-id=\"383c2b0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t\r\n<!DOCTYPE html>\r\n<html lang=\"es\">\r\n<head>\r\n<meta charset=\"UTF-8\">\r\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\r\n<title>N\u00facleo \u2014 Planeamiento (PEI \u00b7 POI \u00b7 Presupuesto Participativo)<\/title>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600;9..144,700&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap\" rel=\"stylesheet\">\r\n<style>\r\n  :root{\r\n    --ink:#132029; --ink-soft:#3d4d55;\r\n    --paper:#F4F2EC; --paper-raised:#FFFFFF; --line:#DDD8CB;\r\n    --navy:#12303D; --navy-soft:#1C3E4E;\r\n    --gold:#C98A3B; --gold-soft:#E8C899;\r\n    --green:#3A7D57; --green-bg:#E4EEE6;\r\n    --amber:#B8862F; --amber-bg:#F2E9D6;\r\n    --red:#B4432B; --red-bg:#F3E1DB;\r\n    --radius:14px;\r\n    --shadow: 0 1px 2px rgba(19,32,41,0.06), 0 8px 24px -12px rgba(19,32,41,0.18);\r\n  }\r\n  *{box-sizing:border-box;}\r\n  html,body{margin:0;padding:0;}\r\n  body{background:var(--paper); color:var(--ink); font-family:'IBM Plex Sans', sans-serif; -webkit-font-smoothing:antialiased;}\r\n  .app{display:grid; grid-template-columns:260px 1fr; min-height:100vh;}\r\n\r\n  .sidebar{background:var(--navy); color:#EDEBE2; padding:28px 20px 20px; display:flex; flex-direction:column; gap:28px;}\r\n  .brand{display:flex; align-items:center; gap:10px;}\r\n  .brand-mark{width:34px;height:34px;border-radius:50%; background:radial-gradient(circle at 35% 30%, var(--gold-soft), var(--gold) 60%); box-shadow: inset 0 0 0 2px rgba(255,255,255,0.25); flex-shrink:0;}\r\n  .brand-name{font-family:'Fraunces', serif; font-weight:600; font-size:1.25rem;}\r\n  .brand-sub{font-size:0.7rem; color:#9FB2BC; letter-spacing:0.06em; text-transform:uppercase; margin-top:-22px; margin-left:44px;}\r\n  nav{display:flex;flex-direction:column;gap:2px;margin-top:6px;}\r\n  .nav-item{display:flex; align-items:center; gap:10px; padding:10px 12px; border-radius:8px; font-size:0.87rem; color:#C7D3D8; text-decoration:none; cursor:pointer; transition:background 0.15s ease, color 0.15s ease;}\r\n  .nav-item .num{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; color:#7C929B; width:16px;}\r\n  .nav-item:hover{background:rgba(255,255,255,0.06); color:#fff;}\r\n  .nav-item.active{background:var(--navy-soft); color:#fff; box-shadow: inset 3px 0 0 var(--gold);}\r\n  .nav-item.active .num{color:var(--gold);}\r\n  .sidebar-footer{margin-top:auto; font-size:0.72rem; color:#7C929B; padding-top:16px; border-top:1px solid rgba(255,255,255,0.1);}\r\n\r\n  main{padding:32px 40px 60px; max-width:1280px;}\r\n  .topbar{display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:22px; flex-wrap:wrap; gap:16px;}\r\n  .eyebrow{font-family:'IBM Plex Mono', monospace; font-size:0.72rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--gold); margin-bottom:6px;}\r\n  h1{font-family:'Fraunces', serif; font-weight:600; font-size:2rem; margin:0; color:var(--navy);}\r\n  .subtitle{color:var(--ink-soft); font-size:0.95rem; margin-top:6px;}\r\n  .user-chip{display:flex; align-items:center; gap:10px; background:var(--paper-raised); border:1px solid var(--line); border-radius:999px; padding:6px 14px 6px 6px; box-shadow:var(--shadow);}\r\n  .user-avatar{width:30px;height:30px;border-radius:50%; background:var(--navy); color:#EDEBE2; display:flex;align-items:center;justify-content:center; font-size:0.75rem;font-weight:600; font-family:'IBM Plex Mono',monospace;}\r\n  .user-chip .name{font-size:0.82rem;font-weight:500;}\r\n  .user-chip .role{font-size:0.72rem;color:var(--ink-soft);}\r\n\r\n  .chain-strip{\r\n    display:flex; align-items:center; gap:0; background:var(--paper-raised); border:1px solid var(--line);\r\n    border-radius:var(--radius); box-shadow:var(--shadow); padding:16px 20px; margin-bottom:22px; flex-wrap:wrap;\r\n  }\r\n  .chain-step{display:flex; align-items:center; gap:10px; padding:6px 14px;}\r\n  .chain-step .icon{width:30px; height:30px; border-radius:8px; background:var(--navy); color:var(--gold-soft); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-size:0.72rem; font-weight:700; flex-shrink:0;}\r\n  .chain-step .label{font-size:0.8rem;}\r\n  .chain-step .label b{display:block; font-family:'Fraunces', serif; color:var(--navy); font-size:0.92rem; font-weight:600;}\r\n  .chain-arrow{color:var(--ink-soft); font-size:1.1rem; padding:0 6px;}\r\n\r\n  .summary-strip{display:grid; grid-template-columns:repeat(4,1fr); gap:16px; margin-bottom:22px;}\r\n  .kpi-card{background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius); padding:18px 20px; box-shadow:var(--shadow); position:relative; overflow:hidden;}\r\n  .kpi-card::before{content:\"\"; position:absolute; top:0; left:0; right:0; height:3px; background:var(--navy);}\r\n  .kpi-label{font-size:0.74rem; color:var(--ink-soft); margin-bottom:6px;}\r\n  .kpi-value{font-family:'Fraunces', serif; font-size:1.8rem; font-weight:600; color:var(--navy);}\r\n\r\n  .layout{display:grid; grid-template-columns:320px 1fr; gap:20px; align-items:start;}\r\n  .panel{background:var(--paper-raised); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);}\r\n\r\n  \/* OEI LIST *\/\r\n  .oei-panel{padding:18px;}\r\n  .oei-panel h3{font-family:'Fraunces', serif; font-size:0.98rem; margin:0 0 4px; color:var(--navy); font-weight:600;}\r\n  .oei-panel .sub{font-size:0.76rem; color:var(--ink-soft); margin-bottom:14px;}\r\n  .oei-item{\r\n    padding:12px 12px; border-radius:10px; cursor:pointer; margin-bottom:8px; border:1px solid transparent;\r\n    transition:background 0.12s ease, border-color 0.12s ease;\r\n  }\r\n  .oei-item:hover{background:#FAF8F2;}\r\n  .oei-item.selected{background:var(--gold-soft); border-color:var(--gold);}\r\n  .oei-item .code{font-family:'IBM Plex Mono',monospace; font-size:0.68rem; color:var(--gold); font-weight:600;}\r\n  .oei-item .name{font-size:0.85rem; font-weight:500; margin-top:3px; line-height:1.4;}\r\n  .oei-item .progress-track{height:5px; border-radius:999px; background:var(--line); margin-top:8px; overflow:hidden;}\r\n  .oei-item .progress-fill{height:100%; background:var(--navy); border-radius:999px;}\r\n  .oei-item .pct{font-size:0.7rem; color:var(--ink-soft); margin-top:4px; font-family:'IBM Plex Mono',monospace;}\r\n\r\n  \/* DETAIL COLUMN *\/\r\n  .detail-col{display:flex; flex-direction:column; gap:20px;}\r\n  .oei-detail{padding:24px;}\r\n  .oei-detail .code-big{font-family:'IBM Plex Mono',monospace; font-size:0.76rem; color:var(--gold); font-weight:600;}\r\n  .oei-detail h2{font-family:'Fraunces', serif; font-size:1.3rem; color:var(--navy); margin:6px 0 14px; font-weight:600;}\r\n  .meta-row{display:flex; gap:28px; flex-wrap:wrap;}\r\n  .meta-block .k{font-size:0.68rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink-soft); margin-bottom:4px;}\r\n  .meta-block .v{font-size:0.86rem; font-weight:500;}\r\n\r\n  .section-title{font-family:'Fraunces', serif; font-size:1.05rem; color:var(--navy); font-weight:600; padding:20px 24px 4px;}\r\n  .section-sub{font-size:0.78rem; color:var(--ink-soft); padding:0 24px 14px;}\r\n\r\n  table{width:100%; border-collapse:collapse;}\r\n  thead th{text-align:left; font-size:0.68rem; text-transform:uppercase; letter-spacing:0.04em; color:var(--ink-soft); padding:11px 24px; border-bottom:1px solid var(--line); background:#FAF9F5;}\r\n  tbody td{padding:12px 24px; font-size:0.83rem; border-bottom:1px solid var(--line); vertical-align:top;}\r\n  tbody tr:last-child td{border-bottom:none;}\r\n  .code{font-family:'IBM Plex Mono',monospace; font-size:0.74rem; color:var(--gold); font-weight:500;}\r\n  .name-cell .name{font-weight:500;}\r\n  .name-cell .sub{font-size:0.72rem; color:var(--ink-soft); margin-top:2px;}\r\n  .pct-cell{display:flex; align-items:center; gap:8px;}\r\n  .pct-track{width:56px; height:6px; border-radius:999px; background:var(--line); overflow:hidden;}\r\n  .pct-fill{height:100%; border-radius:999px; background:var(--navy);}\r\n  .status-pill{display:inline-flex; align-items:center; gap:6px; font-size:0.72rem; font-weight:600; padding:4px 10px; border-radius:999px; white-space:nowrap;}\r\n  .status-pill.priorizado{background:var(--amber-bg); color:var(--amber);}\r\n  .status-pill.ejecucion{background:var(--gold-soft); color:var(--navy);}\r\n  .status-pill.culminado{background:var(--green-bg); color:var(--green);}\r\n  .amount{font-family:'IBM Plex Mono',monospace; font-size:0.82rem;}\r\n  .empty-msg{padding:20px 24px; font-size:0.82rem; color:var(--ink-soft); font-style:italic;}\r\n\r\n  .demo-note{margin-top:20px; font-size:0.78rem; color:var(--ink-soft); text-align:center; padding:14px; border:1px dashed var(--line); border-radius:10px; background:rgba(201,138,59,0.05);}\r\n\r\n  @media (max-width:980px){\r\n    .app{grid-template-columns:1fr;}\r\n    .sidebar{display:none;}\r\n    .layout{grid-template-columns:1fr;}\r\n    .summary-strip{grid-template-columns:repeat(2,1fr);}\r\n    thead{display:none;}\r\n    table, tbody, tr, td{display:block; width:100%;}\r\n    tbody tr{padding:12px 24px; border-bottom:1px solid var(--line);}\r\n    tbody td{padding:4px 0;}\r\n  }\r\n<\/style>\r\n<\/head>\r\n<body>\r\n<div class=\"app\">\r\n\r\n  <aside class=\"sidebar\">\r\n    <div>\r\n      <div class=\"brand\"><div class=\"brand-mark\"><\/div><div class=\"brand-name\">N\u00facleo<\/div><\/div>\r\n      <div class=\"brand-sub\">Gesti\u00f3n Digital<\/div>\r\n    <\/div>\r\n    <nav>\r\n      <a class=\"nav-item\"><span class=\"num\">01<\/span> Tablero General<\/a>\r\n      <a class=\"nav-item\"><span class=\"num\">02<\/span> Atenci\u00f3n Ciudadana<\/a>\r\n      <a class=\"nav-item\"><span class=\"num\">03<\/span> Asistente Interno (IA)<\/a>\r\n      <a class=\"nav-item\"><span class=\"num\">04<\/span> Gesti\u00f3n por Resultados<\/a>\r\n      <a class=\"nav-item active\"><span class=\"num\">05<\/span> Planeamiento y Presupuesto<\/a>\r\n      <a class=\"nav-item\"><span class=\"num\">06<\/span> Auditor\u00eda y Control<\/a>\r\n      <a class=\"nav-item\"><span class=\"num\">07<\/span> Informes y Rendici\u00f3n<\/a>\r\n      <a class=\"nav-item\"><span class=\"num\">08<\/span> Configuraci\u00f3n<\/a>\r\n      <a class=\"nav-item\"><span class=\"num\">09<\/span> Ayuda y Soporte<\/a>\r\n    <\/nav>\r\n    <div class=\"sidebar-footer\">Municipalidad Distrital de Ejemplo<br>Sesi\u00f3n de demostraci\u00f3n<\/div>\r\n  <\/aside>\r\n\r\n  <main>\r\n    <div class=\"topbar\">\r\n      <div>\r\n        <div class=\"eyebrow\">Planeamiento y Presupuesto<\/div>\r\n        <h1>Planeamiento Estrat\u00e9gico y Participativo<\/h1>\r\n        <div class=\"subtitle\">La cadena completa: objetivo estrat\u00e9gico \u2192 actividad operativa anual \u2192 proyecto priorizado por la ciudadan\u00eda<\/div>\r\n      <\/div>\r\n      <div class=\"user-chip\">\r\n        <div class=\"user-avatar\">DM<\/div>\r\n        <div><div class=\"name\">Demo Municipal<\/div><div class=\"role\">Gerente Municipal<\/div><\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"chain-strip\">\r\n      <div class=\"chain-step\"><div class=\"icon\">PEI<\/div><div class=\"label\">Objetivo Estrat\u00e9gico<b>Plan Estrat\u00e9gico Institucional<\/b><\/div><\/div>\r\n      <div class=\"chain-arrow\">\u2192<\/div>\r\n      <div class=\"chain-step\"><div class=\"icon\">POI<\/div><div class=\"label\">Actividad anual<b>Plan Operativo Institucional<\/b><\/div><\/div>\r\n      <div class=\"chain-arrow\">\u2192<\/div>\r\n      <div class=\"chain-step\"><div class=\"icon\">PP<\/div><div class=\"label\">Proyecto priorizado<b>Presupuesto Participativo<\/b><\/div><\/div>\r\n    <\/div>\r\n\r\n    <div class=\"summary-strip\">\r\n      <div class=\"kpi-card\"><div class=\"kpi-label\">Objetivos estrat\u00e9gicos (PEI)<\/div><div class=\"kpi-value\" id=\"kpiOEI\">\u2014<\/div><\/div>\r\n      <div class=\"kpi-card\"><div class=\"kpi-label\">Actividades POI en curso<\/div><div class=\"kpi-value\" id=\"kpiPOI\">\u2014<\/div><\/div>\r\n      <div class=\"kpi-card\"><div class=\"kpi-label\">Avance promedio POI<\/div><div class=\"kpi-value\" id=\"kpiAvance\">\u2014<\/div><\/div>\r\n      <div class=\"kpi-card\"><div class=\"kpi-label\">Proyectos Pres. Participativo<\/div><div class=\"kpi-value\" id=\"kpiPP\">\u2014<\/div><\/div>\r\n    <\/div>\r\n\r\n    <div class=\"layout\">\r\n      <div class=\"panel oei-panel\">\r\n        <h3>Objetivos Estrat\u00e9gicos (PEI 2024\u20132026)<\/h3>\r\n        <div class=\"sub\">Selecciona uno para ver su cadena completa<\/div>\r\n        <div id=\"oeiList\"><\/div>\r\n      <\/div>\r\n\r\n      <div class=\"detail-col\">\r\n        <div class=\"panel oei-detail\" id=\"oeiDetail\"><\/div>\r\n\r\n        <div class=\"panel\">\r\n          <div class=\"section-title\">Actividades POI vinculadas<\/div>\r\n          <div class=\"section-sub\">Plan Operativo Institucional 2026 \u2014 actividades que ejecutan este objetivo<\/div>\r\n          <table>\r\n            <thead><tr><th>Actividad<\/th><th>Gerencia responsable<\/th><th>Avance<\/th><\/tr><\/thead>\r\n            <tbody id=\"poiBody\"><\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n\r\n        <div class=\"panel\">\r\n          <div class=\"section-title\">Proyectos de Presupuesto Participativo<\/div>\r\n          <div class=\"section-sub\">Priorizados por la ciudadan\u00eda y vinculados a este objetivo<\/div>\r\n          <table>\r\n            <thead><tr><th>Proyecto<\/th><th>Monto<\/th><th>Estado<\/th><\/tr><\/thead>\r\n            <tbody id=\"ppBody\"><\/tbody>\r\n          <\/table>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <div class=\"demo-note\">\r\n      Prototipo de demostraci\u00f3n \u2014 haz clic en cualquier Objetivo Estrat\u00e9gico de la izquierda para ver sus actividades POI y proyectos de Presupuesto Participativo vinculados. Los datos son de ejemplo.\r\n    <\/div>\r\n  <\/main>\r\n<\/div>\r\n\r\n<script>\r\nconst oeiList = [\r\n  {code:\"OEI-01\", nombre:\"Mejorar la calidad de los servicios p\u00fablicos municipales\", indicador:\"% de servicios con satisfacci\u00f3n ciudadana \u2265 70%\", lineaBase:\"58% (2024)\", meta:\"75% (2026)\"},\r\n  {code:\"OEI-02\", nombre:\"Fortalecer la seguridad ciudadana y la convivencia pac\u00edfica\", indicador:\"Tasa de percepci\u00f3n de inseguridad\", lineaBase:\"64% (2024)\", meta:\"45% (2026)\"},\r\n  {code:\"OEI-03\", nombre:\"Promover el desarrollo urbano ordenado y sostenible\", indicador:\"% de v\u00edas locales en buen estado\", lineaBase:\"52% (2024)\", meta:\"70% (2026)\"},\r\n  {code:\"OEI-04\", nombre:\"Fortalecer la gesti\u00f3n institucional y la transparencia\", indicador:\"% de procesos institucionales modernizados\", lineaBase:\"30% (2024)\", meta:\"65% (2026)\"}\r\n];\r\n\r\nconst poiList = [\r\n  {oei:\"OEI-01\", nombre:\"Ampliar la cobertura de limpieza p\u00fablica en todo el casco urbano\", gerencia:\"Gerencia de Servicios P\u00fablicos\", avance:78},\r\n  {oei:\"OEI-01\", nombre:\"Modernizar la mesa de partes con atenci\u00f3n digital\", gerencia:\"Gerencia de Tecnolog\u00edas de la Informaci\u00f3n\", avance:55},\r\n  {oei:\"OEI-02\", nombre:\"Incrementar el patrullaje integrado en zonas de riesgo\", gerencia:\"Gerencia de Seguridad Ciudadana\", avance:62},\r\n  {oei:\"OEI-02\", nombre:\"Recuperar la operatividad de las unidades de serenazgo\", gerencia:\"Gerencia de Seguridad Ciudadana\", avance:48},\r\n  {oei:\"OEI-03\", nombre:\"Actualizar el padr\u00f3n catastral urbano\", gerencia:\"Gerencia de Infraestructura y Desarrollo Urbano\", avance:40},\r\n  {oei:\"OEI-03\", nombre:\"Ejecutar el mantenimiento de v\u00edas vecinales priorizadas\", gerencia:\"Gerencia de Obras\", avance:84},\r\n  {oei:\"OEI-04\", nombre:\"Modernizar la estructura org\u00e1nica (ROF) institucional\", gerencia:\"Gerencia Municipal\", avance:90},\r\n  {oei:\"OEI-04\", nombre:\"Fortalecer las capacidades del personal bajo CAS\", gerencia:\"Gerencia de Recursos Humanos\", avance:65}\r\n];\r\n\r\nconst ppList = [\r\n  {oei:\"OEI-03\", codigo:\"PP-2026-01\", nombre:\"Mejoramiento integral del parque zonal Los Jardines\", monto:450000, estado:\"ejecucion\"},\r\n  {oei:\"OEI-02\", codigo:\"PP-2026-02\", nombre:\"Instalaci\u00f3n de c\u00e1maras de videovigilancia en avenidas principales\", monto:280000, estado:\"priorizado\"},\r\n  {oei:\"OEI-01\", codigo:\"PP-2026-03\", nombre:\"Ampliaci\u00f3n del servicio de limpieza p\u00fablica en sector norte\", monto:120000, estado:\"culminado\"},\r\n  {oei:\"OEI-03\", codigo:\"PP-2026-04\", nombre:\"Construcci\u00f3n de veredas en Jr. Los \u00c1lamos\", monto:195000, estado:\"priorizado\"}\r\n];\r\n\r\nlet selectedOei = \"OEI-01\";\r\n\r\nfunction fmt(n){ return \"S\/ \" + n.toLocaleString(\"es-PE\"); }\r\nfunction statusLabel(s){ return s===\"priorizado\" ? \"Priorizado\" : s===\"ejecucion\" ? \"En ejecuci\u00f3n\" : \"Culminado\"; }\r\n\r\nfunction avgAvance(oeiCode){\r\n  const items = poiList.filter(p => p.oei === oeiCode);\r\n  if(items.length === 0) return 0;\r\n  return Math.round(items.reduce((s,p) => s+p.avance, 0) \/ items.length);\r\n}\r\n\r\nfunction renderOeiList(){\r\n  const container = document.getElementById(\"oeiList\");\r\n  container.innerHTML = \"\";\r\n  oeiList.forEach(o => {\r\n    const avg = avgAvance(o.code);\r\n    const div = document.createElement(\"div\");\r\n    div.className = \"oei-item\" + (o.code === selectedOei ? \" selected\" : \"\");\r\n    div.innerHTML = `\r\n      <div class=\"code\">${o.code}<\/div>\r\n      <div class=\"name\">${o.nombre}<\/div>\r\n      <div class=\"progress-track\"><div class=\"progress-fill\" style=\"width:${avg}%;\"><\/div><\/div>\r\n      <div class=\"pct\">${avg}% de avance en actividades POI<\/div>\r\n    `;\r\n    div.addEventListener(\"click\", () => { selectedOei = o.code; renderAll(); });\r\n    container.appendChild(div);\r\n  });\r\n}\r\n\r\nfunction renderDetail(){\r\n  const o = oeiList.find(x => x.code === selectedOei);\r\n  document.getElementById(\"oeiDetail\").innerHTML = `\r\n    <div class=\"code-big\">${o.code}<\/div>\r\n    <h2>${o.nombre}<\/h2>\r\n    <div class=\"meta-row\">\r\n      <div class=\"meta-block\"><div class=\"k\">Indicador<\/div><div class=\"v\">${o.indicador}<\/div><\/div>\r\n      <div class=\"meta-block\"><div class=\"k\">L\u00ednea base<\/div><div class=\"v\">${o.lineaBase}<\/div><\/div>\r\n      <div class=\"meta-block\"><div class=\"k\">Meta<\/div><div class=\"v\">${o.meta}<\/div><\/div>\r\n    <\/div>\r\n  `;\r\n}\r\n\r\nfunction renderPoi(){\r\n  const items = poiList.filter(p => p.oei === selectedOei);\r\n  const body = document.getElementById(\"poiBody\");\r\n  if(items.length === 0){\r\n    body.innerHTML = `<tr><td colspan=\"3\" class=\"empty-msg\">Sin actividades POI vinculadas a este objetivo.<\/td><\/tr>`;\r\n    return;\r\n  }\r\n  body.innerHTML = items.map(p => `\r\n    <tr>\r\n      <td class=\"name-cell\"><div class=\"name\">${p.nombre}<\/div><\/td>\r\n      <td>${p.gerencia}<\/td>\r\n      <td><div class=\"pct-cell\"><div class=\"pct-track\"><div class=\"pct-fill\" style=\"width:${p.avance}%;\"><\/div><\/div><span style=\"font-family:'IBM Plex Mono',monospace; font-size:0.76rem;\">${p.avance}%<\/span><\/div><\/td>\r\n    <\/tr>\r\n  `).join(\"\");\r\n}\r\n\r\nfunction renderPp(){\r\n  const items = ppList.filter(p => p.oei === selectedOei);\r\n  const body = document.getElementById(\"ppBody\");\r\n  if(items.length === 0){\r\n    body.innerHTML = `<tr><td colspan=\"3\" class=\"empty-msg\">Sin proyectos de Presupuesto Participativo vinculados a este objetivo.<\/td><\/tr>`;\r\n    return;\r\n  }\r\n  body.innerHTML = items.map(p => `\r\n    <tr>\r\n      <td class=\"name-cell\"><div class=\"name\">${p.nombre}<\/div><div class=\"sub\">${p.codigo}<\/div><\/td>\r\n      <td class=\"amount\">${fmt(p.monto)}<\/td>\r\n      <td><span class=\"status-pill ${p.estado}\">${statusLabel(p.estado)}<\/span><\/td>\r\n    <\/tr>\r\n  `).join(\"\");\r\n}\r\n\r\nfunction renderKpis(){\r\n  document.getElementById(\"kpiOEI\").textContent = oeiList.length;\r\n  document.getElementById(\"kpiPOI\").textContent = poiList.length;\r\n  const avgAll = Math.round(poiList.reduce((s,p) => s+p.avance, 0) \/ poiList.length);\r\n  document.getElementById(\"kpiAvance\").textContent = avgAll + \"%\";\r\n  document.getElementById(\"kpiPP\").textContent = ppList.length;\r\n}\r\n\r\nfunction renderAll(){\r\n  renderOeiList();\r\n  renderDetail();\r\n  renderPoi();\r\n  renderPp();\r\n  renderKpis();\r\n}\r\n\r\nrenderAll();\r\n<\/script>\r\n<\/body>\r\n<\/html>\r\n\t\t\t\t<\/div>\n\t\t\n<\/div>\n\n<\/div>\n\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>N\u00facleo \u2014 Planeamiento (PEI \u00b7 POI \u00b7 Presupuesto Participativo) N\u00facleo Gesti\u00f3n Digital 01 Tablero General 02 Atenci\u00f3n Ciudadana 03 Asistente Interno (IA) 04 Gesti\u00f3n por Resultados 05 Planeamiento y Presupuesto 06 Auditor\u00eda y Control 07 Informes y Rendici\u00f3n 08 Configuraci\u00f3n 09 Ayuda y Soporte Municipalidad Distrital de EjemploSesi\u00f3n de demostraci\u00f3n Planeamiento y Presupuesto Planeamiento Estrat\u00e9gico [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":638,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-891","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/pages\/891","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/comments?post=891"}],"version-history":[{"count":4,"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/pages\/891\/revisions"}],"predecessor-version":[{"id":896,"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/pages\/891\/revisions\/896"}],"up":[{"embeddable":true,"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/pages\/638"}],"wp:attachment":[{"href":"https:\/\/miespaciodigital.net\/auditoria\/wp-json\/wp\/v2\/media?parent=891"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}