{"id":46338,"date":"2026-02-06T09:10:56","date_gmt":"2026-02-06T14:10:56","guid":{"rendered":"https:\/\/seplan.ac.gov.br\/?page_id=46338"},"modified":"2026-05-14T14:08:00","modified_gmt":"2026-05-14T19:08:00","slug":"emendas-parlamentares-federais","status":"publish","type":"page","link":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/emendas-parlamentares-federais\/","title":{"rendered":"Emendas Parlamentares Federais"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"46338\" class=\"elementor elementor-46338\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-f53a935 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"f53a935\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-030916f elementor-widget elementor-widget-text-editor\" data-id=\"030916f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><a href=\"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/\">Portal de Conv\u00eanios Federais<\/a> \/<strong> Emendas Parlamentares Federais<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-aa0e93c e-con-full e-flex wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-child\" data-id=\"aa0e93c\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-ecbae73 elementor-widget elementor-widget-heading\" data-id=\"ecbae73\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">Emendas Parlamentares Federais<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-48f30de elementor-widget elementor-widget-text-editor\" data-id=\"48f30de\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Acesse as informa\u00e7\u00f5es detalhadas sobre as emendas parlamentares federais destinadas ao Governo do Estado do Acre.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-d503e83 e-flex e-con-boxed wpr-particle-no wpr-jarallax-no wpr-parallax-no wpr-sticky-section-no wpr-column-slider-no wpr-equal-height-no e-con e-parent\" data-id=\"d503e83\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;,&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-19c96a2 elementor-widget elementor-widget-shortcode\" data-id=\"19c96a2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\"><script src=\"https:\/\/cdn.jsdelivr.net\/npm\/chart.js\"><\/script>\r\n\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/papaparse@5.4.1\/papaparse.min.js\"><\/script>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/xlsx\/0.18.5\/xlsx.full.min.js\"><\/script>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf\/2.5.1\/jspdf.umd.min.js\"><\/script>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/exceljs\/4.3.0\/exceljs.min.js\"><\/script>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/PapaParse\/5.3.2\/papaparse.min.js\"><\/script>\r\n<script src=\"https:\/\/cdn.jsdelivr.net\/npm\/@tailwindcss\/browser@4\"><\/script>\r\n    <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/exceljs\/4.4.0\/exceljs.min.js\"><\/script>\r\n    <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/jspdf-autotable\/3.8.4\/jspdf.plugin.autotable.min.js\"><\/script>\r\n    <script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/PapaParse\/5.3.2\/papaparse.min.js\"><\/script>\r\n   \r\n    <style>\r\n\t\tp{\r\n\t\t\tmargin:0;\r\n\t\t\tpadding:0;\r\n\t\t}\r\n      body {\r\n        font-family: \"Inter\", sans-serif;\r\n        background-color: #f8fafc;\r\n      }\r\n\r\n      .card-entry {\r\n        animation: slideUp 0.3s ease-out forwards;\r\n      }\r\n\r\n      @keyframes slideUp {\r\n        from {\r\n          opacity: 0;\r\n          transform: translateY(16px);\r\n        }\r\n        to {\r\n          opacity: 1;\r\n          transform: translateY(0);\r\n        }\r\n      }\r\n    <\/style>\r\n\r\n\r\n    <div class=\"h-16 flex items-center justify-end gap-2  z-10 shrink-0\">\r\n      <div class=\"flex-1\">\r\n        <div class=\"relative\">\r\n          <i class=\"fa fa-search absolute left-3 top-3 !text-gray-400 !text-xs\"><\/i>\r\n          <input\r\n            id=\"efSearch\"\r\n            type=\"text\"\r\n            placeholder=\"Pesquisar livremente...\"\r\n            class=\"w-full !bg-gray-50 border border-gray-200 rounded-xl py-2.5 pl-9 pr-3 !text-sm focus:ring-2 focus:ring-sky-500 outline-none transition-all\"\r\n            oninput=\"efApplyFilters()\"\r\n          \/>\r\n        <\/div>\r\n      <\/div>\r\n      <div class=\"flex items-center gap-3\">\r\n        <button\r\n          onclick=\"efOpenFilterModal()\"\r\n          class=\"flex items-center gap-2 px-4 py-2 !bg-slate-100 hover:!bg-slate-200 !text-slate-700 !rounded-xl transition-all font-semibold !text-sm\"\r\n        >\r\n          <i class=\"fa-solid fa-filter\"><\/i><p class=\"hidden md:flex\">\r\n\t\t\tFiltros Avan\u00e7ados\r\n\t\t\t<\/p> \r\n        <\/button>\r\n        <button\r\n          onclick=\"efOpenColumnModal('excel')\"\r\n          class=\"p-2 !text-sky-700 hover:!bg-sky-50 rounded-lg transition !bg-transparent\"\r\n        >\r\n          <i class=\"fa-solid fa-file-excel\"><\/i>\r\n        <\/button>\r\n        <button\r\n          onclick=\"efOpenColumnModal('pdf')\"\r\n          class=\"p-2 !text-red-700 hover:!bg-red-50 rounded-lg transition !bg-transparent\"\r\n        >\r\n          <i class=\"fa-solid fa-file-pdf\"><\/i>\r\n        <\/button>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- CONTE\u00daDO -->\r\n    <div class=\"flex-1 overflow-y-auto\">\r\n      <div id=\"efLoading\" class=\"flex flex-col items-center justify-center h-64 !text-sky-600\">\r\n        <div class=\"animate-spin rounded-full h-12 w-12 border-b-2 border-sky-600 mb-4\"><\/div>\r\n        <span class=\"font-medium animate-pulse\">Sincronizando dados...<\/span>\r\n      <\/div>\r\n\r\n      <div id=\"efCards\" class=\"grid grid-cols-1 md:grid-cols-2 xl:grid-cols-3 gap-3 mt-2\"><\/div>\r\n\r\n      <div id=\"efPagination\" class=\"flex justify-center mt-10\"><\/div>\r\n    <\/div>\r\n\r\n    <!-- MODAL -->\r\n    <div id=\"efModal\" class=\"fixed inset-0 bg-black\/60 hidden items-center justify-center z-100 p-4\">\r\n      <div class=\"bg-white rounded-2xl w-full max-w-4xl max-h-[90vh] overflow-y-auto p-8\">\r\n        <div id=\"efModalContent\"><\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n   \r\n\r\n   <div\r\n      id=\"efColumnModal\"\r\n      class=\"fixed inset-0 bg-black\/60 hidden items-center justify-center z-50\"\r\n    >\r\n      <div class=\"bg-white rounded-2xl w-full max-w-xl p-6\">\r\n        <div class=\"flex gap-2 w-full justify-between items-center mb-4 border-b border-sky-700\">\r\n          <h3 class=\"font-black uppercase !text-sm\">Selecionar colunas<\/h3>\r\n          <button\r\n            onclick=\"efCloseColumnModal()\"\r\n            class=\"!text-gray-400 hover:!text-gray-600 !text-xl !bg-transparent\"\r\n          >\r\n            &times;\r\n          <\/button>\r\n        <\/div>\r\n\r\n        <div id=\"efColumnList\" class=\"grid grid-cols-2 gap-2 max-h-64 overflow-y-auto mb-6\"><\/div>\r\n        <div class=\"flex justify-between items-center\">\r\n          <div class=\"flex gap-2 mt-2 mb-4\">\r\n            <button\r\n              onclick=\"efSelectAllColumns()\"\r\n              class=\"!text-xs font-bold uppercase !bg-transparent !text-sky-600 hover:!text-sky-700\"\r\n            >\r\n              Selecionar todas\r\n            <\/button>\r\n\r\n            <button\r\n              onclick=\"efClearColumns()\"\r\n              class=\"!text-xs font-bold uppercase !bg-transparent !text-red-600 hover:!text-red-700\"\r\n            >\r\n              Limpar sele\u00e7\u00e3o\r\n            <\/button>\r\n          <\/div>\r\n\r\n          <button\r\n            onclick=\"efConfirmExport()\"\r\n            class=\"px-4 py-3 !text-xs !bg-sky-700 text-white rounded-xl font-bold uppercase hover:!bg-sky-800\"\r\n          >\r\n            Exportar\r\n          <\/button>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n\r\n    <div id=\"efFilterModal\" class=\"fixed inset-0 z-[100] hidden items-center justify-center p-4\">\r\n      <div\r\n        onclick=\"efCloseFilterModal()\"\r\n        class=\"absolute inset-0 bg-black\/60 backdrop-blur-sm\"\r\n      ><\/div>\r\n\r\n      <div\r\n        class=\"relative bg-white w-full max-w-2xl rounded-3xl shadow-2xl overflow-hidden transform transition-all flex flex-col max-h-[90vh]\"\r\n        id=\"filterPanel\"\r\n      >\r\n        <div class=\"p-6 border-b flex justify-between items-center bg-white\">\r\n          <div>\r\n            <h3 class=\"font-bold text-gray-800 text-lg flex items-center gap-2\">\r\n              <i class=\"fa-solid fa-sliders text-sky-600\"><\/i> Filtros de Pesquisa\r\n            <\/h3>\r\n          <\/div>\r\n          <button\r\n            onclick=\"efCloseFilterModal()\"\r\n            class=\"w-10 !bg-transparent h-10 flex items-center justify-center rounded-full !text-gray-800 hover:!text-red-700 transition-colors\"\r\n          >\r\n            <i class=\"fa-solid fa-xmark text-xl\"><\/i>\r\n          <\/button>\r\n        <\/div>\r\n\r\n        <div class=\"flex-1 overflow-y-auto p-8 space-y-6\">\r\n          <div class=\"grid grid-cols-1 md:grid-cols-2 gap-6\">\r\n            <div class=\"space-y-1\">\r\n              <label class=\"block text-xs font-bold mb-1\">Ano<\/label>\r\n              <select\r\n                id=\"filterAno\"\r\n                class=\"w-full bg-gray-50 border border-gray-200 rounded-xl p-3 text-sm outline-none focus:border-sky-500\"\r\n                onchange=\"efApplyFilters()\"\r\n              >\r\n                <option value=\"\">Todos<\/option>\r\n              <\/select>\r\n            <\/div>\r\n            <div class=\"space-y-1\">\r\n              <label class=\"block text-xs font-bold mb-1\">Autor<\/label>\r\n              <select\r\n                id=\"filterAutor\"\r\n                class=\"w-full bg-gray-50 border border-gray-200 rounded-xl p-3 text-sm outline-none focus:border-sky-500\"\r\n                onchange=\"efApplyFilters()\"\r\n              >\r\n                <option value=\"\">Todos<\/option>\r\n              <\/select>\r\n            <\/div>\r\n            <div class=\"space-y-1\">\r\n              <label class=\"block text-xs font-bold mb-1\">Executor<\/label>\r\n              <select\r\n                id=\"filterExecutor\"\r\n                class=\"w-full bg-gray-50 border border-gray-200 rounded-xl p-3 text-sm outline-none focus:border-sky-500\"\r\n                onchange=\"efApplyFilters()\"\r\n              >\r\n                <option value=\"\">Todos<\/option>\r\n              <\/select>\r\n            <\/div>\r\n            <div class=\"space-y-1\">\r\n              <label class=\"block text-xs font-bold mb-1\">Situa\u00e7\u00e3o<\/label>\r\n              <select\r\n                id=\"filterSituacao\"\r\n                class=\"w-full bg-gray-50 border border-gray-200 rounded-xl p-3 text-sm outline-none focus:border-sky-500\"\r\n                onchange=\"efApplyFilters()\"\r\n              >\r\n                <option value=\"\">Todos<\/option>\r\n              <\/select>\r\n            <\/div>\r\n            <div class=\"space-y-1\">\r\n              <label class=\"block text-xs font-bold mb-1\">Modalidade da Aplica\u00e7\u00e3o<\/label>\r\n              <select\r\n                id=\"filterModalidade\"\r\n                class=\"w-full bg-gray-50 border border-gray-200 rounded-xl p-3 text-sm outline-none focus:border-sky-500\"\r\n                onchange=\"efApplyFilters()\"\r\n              >\r\n                <option value=\"\">Todos<\/option>\r\n              <\/select>\r\n            <\/div>\r\n            <div class=\"space-y-1\">\r\n              <label class=\"block text-xs font-bold mb-1\">Tipo do Instrumento Vinculado<\/label>\r\n              <select\r\n                id=\"filterInstrumento\"\r\n                class=\"w-full bg-gray-50 border border-gray-200 rounded-xl p-3 text-sm outline-none focus:border-sky-500\"\r\n                onchange=\"efApplyFilters()\"\r\n              >\r\n                <option value=\"\">Todos<\/option>\r\n              <\/select>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n        <div class=\"p-6 bg-gray-50 border-t flex gap-4\">\r\n          <button\r\n            onclick=\"efClearFilters()\"\r\n            class=\"px-6 py-3 text-xs font-bold !text-gray-500 hover:!text-red-600 transition-colors uppercase tracking-widest !bg-transparent\"\r\n          >\r\n            Limpar Filtros\r\n          <\/button>\r\n          <button\r\n            onclick=\"efToggleFilterModal()\"\r\n            class=\"flex-1 py-3 !bg-sky-600 !text-white rounded-xl font-bold text-sm hover:!bg-sky-700  transition-all uppercase tracking-widest\"\r\n          >\r\n            Aplicar e Visualizar\r\n          <\/button>\r\n        <\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <!-- SCRIPT -->\r\n    <script>\r\n      const efCsvUrl =\r\n        \"https:\/\/docs.google.com\/spreadsheets\/d\/e\/2PACX-1vTXL-twvUVAgOjYb6hbiOHV6XHKMan5RZB8PvoTMwEw0AhSLAymfVAce6_4TX8giJ0XtmM12oLSI6-K\/pub?gid=0&single=true&output=csv\";\r\n\r\n      let efData = [];\r\n      let efFilteredData = [];\r\n      let efPage = 1;\r\n      const efPerPage = 15;\r\n\r\n      \/* ================= INIT ================= *\/\r\n      async function efInit() {\r\n        const res = await fetch(efCsvUrl);\r\n        const csv = await res.text();\r\n\r\n        Papa.parse(csv, {\r\n          header: true,\r\n          skipEmptyLines: true,\r\n          complete: (r) => {\r\n            efData = r.data;\r\n            efFilteredData = [...efData];\r\n            document.getElementById(\"efLoading\").classList.add(\"hidden\");\r\n            efRender();\r\n          },\r\n        });\r\n      }\r\n\r\n      \/* ================= UTILS ================= *\/\r\n\r\n      function efLimitPdfColumns(el) {\r\n        const checks = document.querySelectorAll(\"#efColumnList input[type=checkbox]\");\r\n        const checked = Array.from(checks).filter((c) => c.checked);\r\n\r\n        if (checked.length > 12) {\r\n          el.checked = false;\r\n          alert(\"O PDF permite no m\u00e1ximo 12 colunas.\");\r\n        }\r\n      }\r\n\r\n      function efGetSelectedColumns() {\r\n        return Array.from(document.querySelectorAll(\".efColCheck:checked\")).map((c) => c.value);\r\n      }\r\n\r\n      function efMoney(v) {\r\n        if (!v) return \"R$ --\";\r\n        const n = Number(\r\n          String(v)\r\n            .replace(\/\\.\/g, \"\")\r\n            .replace(\",\", \".\")\r\n            .replace(\/[^\\d.-]\/g, \"\"),\r\n        );\r\n        return isNaN(n)\r\n          ? \"R$ --\"\r\n          : n.toLocaleString(\"pt-BR\", {\r\n              style: \"currency\",\r\n              currency: \"BRL\",\r\n            });\r\n      }\r\n\r\n      \/* ================= RENDER ================= *\/\r\n      function efRender() {\r\n        efRenderCards();\r\n        efRenderPagination();\r\n      }\r\n\r\n      function efRenderCards() {\r\n        const el = document.getElementById(\"efCards\");\r\n        const start = (efPage - 1) * efPerPage;\r\n        const slice = efFilteredData.slice(start, start + efPerPage);\r\n\r\n        el.innerHTML = slice\r\n          .map((item) => {\r\n            const idx = efData.indexOf(item);\r\n            return `\r\n                  <div\r\n                    class=\"card-entry !bg-white rounded-3xl overflow-hidden border-2 border-slate-100 hover:!border-sky-600 transition-all shadow-sm flex flex-col h-full\">\r\n                    <div class=\"p-5 !bg-slate-50 border-b border-slate-100 flex justify-between items-center\">\r\n                      <span class=\"!text-[12px] font-black !text-slate-500 uppercase tracking-widest\">\r\n                        Emenda ${item[\"N\u00b0 da Emenda\"] || \"--\"}\/${item[\"Ano\"] || \"--\"}\r\n                      <\/span>\r\n                      <span class=\"px-2 py-1 rounded-md !text-[9px] font-bold !bg-sky-100 !text-sky-700 uppercase\">\r\n                       Situa\u00e7\u00e3o: ${item[\"Situa\u00e7\u00e3o\"] || \"--\"}\r\n                      <\/span>\r\n                    <\/div>\r\n                    <div class=\"p-6 flex-1\">\r\n                      <h4 class=\"font-black text-slate-800 uppercase !text-sm my-2 line-clamp-2\">\r\n                        ${item[\"T\u00edtulo\"] || item[\"Objeto\"] || \"--\"}\r\n                      <\/h4>\r\n                      <div class=\"grid grid-cols-1 gap-1 mb-6\">\r\n                        <div class=\"flex items-center gap-2 !text-[12px] !text-slate-500\">\r\n                          <i class=\"fa-solid fa-user !text-sky-600 w-4\"><\/i>\r\n                          <span class=\"truncate\"><b>Autor:<\/b> ${item[\"Autor\"] || \"--\"}<\/span>\r\n                        <\/div>\r\n \t\t\t<div class=\"flex items-center gap-2 !text-[12px] !text-slate-500\">\r\n                          <i class=\"fa-solid fa-building !text-sky-600 w-4\"><\/i>\r\n                          <span class=\"truncate\"><b>Executor:<\/b> ${item[\"Executor\"] || \"--\"}<\/span>\r\n                        <\/div>\r\n\r\n                        <div class=\"flex items-center gap-2 !text-[12px] !text-slate-500\"><i\r\n                            class=\"fa-solid fa-folder-open  !text-sky-600 w-4\"><\/i>\r\n                          <span class=\"truncate\"><b>Origem:<\/b> ${item[\"Origem do Recurso\"] || \"--\"}<\/span><\/div>\r\n                      <\/div>\r\n\r\n                      <div class=\"mt-5 bg-sky-50\/50 p-4 rounded-2xl p-4 border !border-sky-100\/50\">\r\n                        <p class=\"!text-[9px] font-black !text-slate-800 uppercase mb-1\">\r\n                          Valor Previsto\r\n                        <\/p>\r\n                        <p class=\"text-xl font-black text-sky-900\">\r\n                          ${efMoney(item[\"Valor Previsto Total\"])}\r\n                        <\/p>\r\n                      <\/div>\r\n\r\n                      <div class=\"mt-4 grid grid-cols-2 gap-2\">\r\n                        <button onclick=\"efOpenModal(${idx})\"\r\n                          class=\"!bg-sky-800 !text-white py-3 !rounded-xl font-bold !text-[12px] uppercase tracking-tighter hover:!bg-sky-950 transition-all\">\r\n                          Detalhes\r\n                        <\/button>\r\n\r\n                        <a href=\"${item[\"Link de Acesso\"] || \"#\" }\" target=\"_blank\"\r\n                          class=\"flex items-center justify-center gap-1 border-2 border-slate-100 rounded-xl !text-[12px] font-bold !text-slate-600 hover:!bg-slate-50 transition-all\">\r\n                          Espelho da Emenda\r\n                        <\/a>\r\n                      <\/div>\r\n                    <\/div>\r\n                  <\/div>`;\r\n          })\r\n          .join(\"\");\r\n      }\r\n\r\n      function efOpenModal(i) {\r\n        const d = efData[i];\r\n        const val = (k) => (d[k] && d[k] !== \"null\" ? d[k] : \"---\");\r\n\r\n        const campo = (label, valor) => `\r\n                <div class=\"pb-4 border-b\">\r\n                  <span class=\"block text-[12px] font-bold uppercase text-sky-700 mb-1\">\r\n                    ${label}\r\n                  <\/span>\r\n                  <span class=\"text-sm font-medium text-slate-900\">\r\n                    ${valor}\r\n                  <\/span>\r\n                <\/div>\r\n              `;\r\n\r\n       const secao = (titulo, campos) => `\r\n                <section class=\"space-y-6\">              \r\n                  <h3 class=\"!text-xs font-black uppercase !text-sky-800 tracking-widest\">\r\n             ${titulo}\r\n          <\/h3>\r\n                    ${campos.join(\"\")}\r\n                  <\/div>\r\n                <\/section>\r\n              `;\r\n\r\n        document.getElementById(\"efModalContent\").innerHTML = `\r\n                <!-- CABE\u00c7ALHO -->\r\n                 <div class=\"flex justify-between items-start mb-6\">\r\n              <div class=\"flex-1\">\r\n                \r\n                  <h3 class=\"!text-xl font-black !text-slate-800 leading-tight uppercase\">${val(\"T\u00edtulo\")}\r\n                  <\/h3>\r\n              <\/div>\r\n              <button onclick=\"efCloseModal()\" class=\"!text-2xl !text-slate-300 hover:!text-red-500 transition-colors  !bg-transparent\">&times;<\/button>\r\n          <\/div>\r\n              <!-- ABAS -->\r\n                  <div class=\"flex !bg-slate-100 p-1 rounded-md mb-6 gap-1\">\r\n             <button class=\"tabBtn flex-1 py-2 !text-[12px] !text-sky-700 font-black uppercase !border-1 !border-sky-600 rounded-md transition-all !bg-transparent\"  onclick=\"efSwitchTab('dados')\"\r\n                    id=\"tab-dados\">Identifica\u00e7\u00e3o e Execu\u00e7\u00e3o<\/button>\r\n              <button class=\"tabBtn flex-1 py-2 !text-[12px] font-black  !text-slate-600 uppercase !border-none rounded-md transition-all !bg-transparent\" onclick=\"efSwitchTab('valores')\"\r\n                    id=\"tab-valores\">Valores<\/button>\r\n          <\/div>\r\n                 \r\n          \r\n                <\/div>\r\n\r\n                <!-- CONTE\u00daDO ABA 1 -->\r\n                <div id=\"aba-dados\" class=\"flex flex-col gap-4 w-full\">\r\n            \r\n                       <div class=\"space-y-6 gap-4\">\r\n                      <div class=\"p-5 rounded-2xl border-2 border-slate-100 !bg-slate-50\/50\">\r\n                    \r\n                 ${secao(\"Identifica\u00e7\u00e3o da Emenda\", [\r\n                   `<div class=\"grid grid-cols-1 md:grid-cols-3 gap-x-8 gap-y-6 \">\r\n        <div class=\"md:col-span-3\">\r\n          <span class=\"block text-[12px] font-bold uppercase text-sky-700 mb-1\">\r\n            Objeto\r\n          <\/span>\r\n          <span class=\"text-sm font-medium text-slate-900 !bg-slate-50\/50\">\r\n            ${val(\"Objeto\")}\r\n          <\/span>\r\n        <\/div>\r\n       \r\n        `,\r\n\r\n                   campo(\"N\u00b0 da Emenda\", val(\"N\u00b0 da Emenda\")),\r\n                   campo(\"Ano\", val(\"Ano\")),\r\n                   campo(\"Origem do Recurso\", val(\"Origem do Recurso\")),\r\n                   campo(\"Autor\", val(\"Autor\")),\r\n\t\t\t campo(\r\n                      \"Link Espelho Emenda\",\r\n                      d[\"Link Espelho Emenda\"]\r\n                        ? `<a href=\"${d[\"Link Espelho Emenda\"]}\" target=\"_blank\" class=\"text-blue-700 underline\">Link Espelho Emenda<\/a>`\r\n                        : \"---\",\r\n                    )\r\n                 ])}\r\n <\/div>\r\n  <\/div>\r\n <div class=\"p-5 rounded-2xl border-2 border-slate-100 !bg-slate-50\/50\">\r\n                  ${secao(\"Execu\u00e7\u00e3o\", [\r\n                    `\r\n                    <div class=\"grid grid-cols-1 md:grid-cols-3 gap-x-8 gap-y-6 \">`,\r\n                    campo(\"Executor\", val(\"Executor\")),\r\n                    campo(\"Situa\u00e7\u00e3o\", val(\"Situa\u00e7\u00e3o\")),\r\n                    campo(\"Modalidade da Aplica\u00e7\u00e3o\", val(\"Modalidade da Aplica\u00e7\u00e3o\")),\r\n                  ])}\r\n <\/div>\r\n \r\n <div class=\"p-5 rounded-2xl border-2 border-slate-100 !bg-slate-50\/50\">\r\n                  ${secao(\"Instrumento Vinculado\", [\r\n                    `\r\n                    <div class=\"grid grid-cols-1 md:grid-cols-3 gap-x-8 gap-y-6 \">`,\r\n                    campo(\"Tipo do Instrumento Vinculado\", val(\"Tipo do Instrumento Vinculado\")),\r\n                    campo(\"N\u00b0 do Instrumento Vinculado\", val(\"N\u00b0 do Instrumento Vinculado\")),\r\n                   \r\n                    campo(\r\n                      \"Link de Acesso\",\r\n                      d[\"Link de Acesso\"]\r\n                        ? `<a href=\"${d[\"Link de Acesso\"]}\" target=\"_blank\" class=\"text-blue-700 underline\">Link de Acesso<\/a>`\r\n                        : \"---\",\r\n                    ),\r\n                  ])}\r\n                  <\/div>\r\n                  <\/div>\r\n                \r\n\r\n     <!-- CONTE\u00daDO ABA VALORES -->\r\n      <div id=\"aba-valores\" class=\"hidden\">\r\n <div class=\"space-y-6\">\r\n                  <div class=\"p-5 rounded-2xl border-2 border-amber-100 !bg-amber-50\/40\">\r\n                      <h5 class=\"!text-[12px] font-black !text-amber-800 uppercase mb-4 flex items-center gap-2\">\r\n                          <i class=\"fa-solid fa-calculator !text-amber-600\"><\/i> Valores Previstos\r\n                      <\/h5>\r\n                      <div class=\"grid grid-cols-2 md:grid-cols-3 gap-3 !text-amber-600\">\r\n            ${[\r\n              campo(\"Valor Previsto Total\", efMoney(d[\"Valor Previsto Total\"])),\r\n              campo(\"Valor Previsto GND 3\", efMoney(d[\"Valor Previsto GND 3\"])),\r\n              campo(\"Valor Previsto GND 4\", efMoney(d[\"Valor Previsto GND 4\"])),\r\n            ].join(\"\")}\r\n        <\/div>\r\n                  <\/div>\r\n\r\n                  <div class=\"p-5 rounded-2xl border-2 !border-emerald-50 !bg-emerald-50\/20\">\r\n                      <h5 class=\"!text-[12px] font-black !text-emerald-800 uppercase mb-4 flex items-center gap-2\">\r\n                          <i class=\"fa-solid fa-hand-holding-dollar !text-emerald-600\"><\/i> Valores Recebidos\r\n                      <\/h5>\r\n                      <div class=\"grid grid-cols-1 md:grid-cols-3 gap-3\">\r\n            ${[\r\n              campo(\"Valor Recebido Total\", efMoney(d[\"Valor Recebido Total\"])),\r\n              campo(\"Valor Recebido GND 3\", efMoney(d[\"Valor Recebido GND 3\"])),\r\n              campo(\"Valor Recebido GND 4\", efMoney(d[\"Valor Recebido GND 4\"])),\r\n            ].join(\"\")}\r\n         <\/div>\r\n                  <\/div>\r\n\r\n      <\/div>\r\n\r\n              `;\r\n\r\n        document.getElementById(\"efModal\").classList.replace(\"hidden\", \"flex\");\r\n      }\r\n\r\n      function efSwitchTab(tab) {\r\n        document.getElementById(\"aba-dados\").classList.toggle(\"hidden\", tab !== \"dados\");\r\n        document.getElementById(\"aba-valores\").classList.toggle(\"hidden\", tab !== \"valores\");\r\n\r\n        document.getElementById(\"tab-dados\").className =\r\n          tab === \"dados\"\r\n            ? \" flex-1 py-2 !text-[12px] font-black uppercase !text-sky-700 !border-1 !border-sky-600 rounded-md transition-all !bg-transparent\"\r\n            : \" flex-1 py-2 !text-[12px] font-black uppercase !text-slate-600 border-none !border-0 rounded-md transition-all !bg-transparent\";\r\n\r\n        document.getElementById(\"tab-valores\").className =\r\n          tab === \"valores\"\r\n            ? \" flex-1 py-2 !text-[12px] font-black uppercase !text-sky-700 !border-1 !border-sky-600 rounded-md transition-all !bg-transparent\"\r\n            : \" flex-1 py-2 !text-[12px] font-black uppercase !text-slate-600 border-none !border-0 rounded-md transition-all !bg-transparent\";\r\n      }\r\n      document.getElementById(\"efModal\").addEventListener(\"click\", (e) => {\r\n        if (e.target.id === \"efModal\") efCloseModal();\r\n      });\r\n\r\n      function efCloseModal() {\r\n        document.getElementById(\"efModal\").classList.replace(\"flex\", \"hidden\");\r\n      }\r\n\r\n      \/* ================= PAGINA\u00c7\u00c3O ================= *\/\r\n      function efRenderPagination() {\r\n        const total = Math.ceil(efFilteredData.length \/ efPerPage);\r\n        const el = document.getElementById(\"efPagination\");\r\n        if (total <= 1) return (el.innerHTML = \"\");\r\n\r\n        el.innerHTML = Array.from({ length: total })\r\n          .map(\r\n            (_, i) => `\r\n                    <button\r\n                      onclick=\"efPage=${i + 1};efRender()\"\r\n                      class=\"px-3 py-1 border rounded ${efPage === i + 1 ? \"bg-sky-600 text-white\" : \"\"}\"\r\n                    >\r\n                      ${i + 1}\r\n                    <\/button>`,\r\n          )\r\n          .join(\"\");\r\n      }\r\n\r\n      \/* ================= EXPORTA\u00c7\u00c3O ================= *\/\r\n\r\n      let efExportType = \"excel\";\r\n      let efSelectedColumns = [];\r\n\r\n      function efExcelColumnName(index1Based) {\r\n        let n = index1Based;\r\n        let s = \"\";\r\n        while (n > 0) {\r\n          const mod = (n - 1) % 26;\r\n          s = String.fromCharCode(65 + mod) + s;\r\n          n = Math.floor((n - 1) \/ 26);\r\n        }\r\n        return s;\r\n      }\r\n\r\n      function efValidatePdfLimit(checkbox) {\r\n        if (efExportType !== \"pdf\") return;\r\n        const selectedCount = document.querySelectorAll(\".efColCheck:checked\").length;\r\n        if (selectedCount > 12) {\r\n          alert(\r\n            \"Para exporta\u00e7\u00e3o em PDF, o limite m\u00e1ximo \u00e9 de 12 colunas para garantir a legibilidade.\",\r\n          );\r\n          checkbox.checked = false;\r\n        }\r\n      }\r\n\r\n      function efTryParsePtbrNumber(val) {\r\n        if (val === null || val === undefined) return null;\r\n        if (typeof val === \"number\") return Number.isFinite(val) ? val : null;\r\n\r\n        const raw = String(val).trim();\r\n        if (!raw || raw === \"null\" || raw === \"--\" || raw === \"---\") return null;\r\n\r\n        \/\/ Ex.: \"R$ 1.234,56\" -> 1234.56\r\n        const num = parseFloat(\r\n          raw\r\n            .replace(\/\\s\/g, \"\")\r\n            .replace(\/[R$\\u00A0]\/g, \"\")\r\n            .replace(\/\\.\/g, \"\")\r\n            .replace(\",\", \".\")\r\n            .replace(\/[^\\d.-]\/g, \"\"),\r\n        );\r\n        return Number.isFinite(num) ? num : null;\r\n      }\r\n\r\n      function efOpenColumnModal(type) {\r\n        efExportType = type;\r\n        const efColumnList = document.getElementById(\"efColumnList\");\r\n        if (!efColumnList) return;\r\n        efColumnList.innerHTML = \"\";\r\n\r\n        \/\/ Colunas marcadas por padr\u00e3o (se existirem no CSV)\r\n        const colunasPadrao = [\r\n          \"N\u00b0 da Emenda\",\r\n          \"Ano\",\r\n          \"Origem do Recurso\",\r\n          \"Objeto\",\r\n          \"T\u00edtulo\",\r\n          \"Situa\u00e7\u00e3o\",\r\n          \"Autor\",\r\n          \"Situa\u00e7\u00e3o da Execu\u00e7\u00e3o\",\r\n          \"Valor Previsto Total\",\r\n          \"Executor\",\r\n          \"Link Espelho Emenda\",\r\n          \"Link de Acesso\",\r\n          \"Modalidade da Aplica\u00e7\u00e3o\",\r\n        ];\r\n\r\n        if (efData.length > 0) {\r\n          const columns = Object.keys(efData[0] || {});\r\n\r\n          columns.forEach((col) => {\r\n            const isChecked = colunasPadrao.includes(col);\r\n\r\n            const label = document.createElement(\"label\");\r\n            label.className =\r\n              \"flex items-center gap-2 text-xs text-gray-700 cursor-pointer hover:bg-gray-50 p-1 rounded\";\r\n\r\n            label.innerHTML = `\r\n              <input type=\"checkbox\" class=\"efColCheck\" value=\"${col}\" ${\r\n                isChecked ? \"checked\" : \"\"\r\n              } onchange=\"efValidatePdfLimit(this)\">\r\n              <span class=\"truncate\">${col}<\/span>\r\n            `;\r\n\r\n            efColumnList.appendChild(label);\r\n          });\r\n        }\r\n\r\n        \/\/ Se for PDF, garante no m\u00e1ximo 12 colunas j\u00e1 na abertura\r\n        if (efExportType === \"pdf\") {\r\n          const checked = Array.from(document.querySelectorAll(\".efColCheck:checked\"));\r\n          if (checked.length > 12) {\r\n            checked.slice(12).forEach((el) => (el.checked = false));\r\n          }\r\n        }\r\n\r\n        document.getElementById(\"efColumnModal\")?.classList.replace(\"hidden\", \"flex\");\r\n        document.body.style.overflow = \"hidden\";\r\n      }\r\n\r\n      function efCloseColumnModal() {\r\n        document.getElementById(\"efColumnModal\").classList.add(\"hidden\");\r\n      }\r\n\r\n      function efLooksLikeMoneyColumn(colName) {\r\n        const n = String(colName || \"\").toLowerCase();\r\n        return (\r\n          n.includes(\"valor\") ||\r\n          n.includes(\"total\") ||\r\n          n.includes(\"previsto\") ||\r\n          n.includes(\"liberado\") ||\r\n          n.includes(\"executado\") ||\r\n          n.includes(\"saldo\") ||\r\n          n.includes(\"repasse\") ||\r\n          n.includes(\"contrapartida\")\r\n        );\r\n      }\r\n\r\n      \/* ================= EXCEL ================= *\/\r\n      async function efExportExcelSelected(selectedColumns) {\r\n        if (!window.ExcelJS) {\r\n          alert(\"Biblioteca ExcelJS n\u00e3o carregou. Verifique sua conex\u00e3o e tente novamente.\");\r\n          return;\r\n        }\r\n\r\n        const workbook = new ExcelJS.Workbook();\r\n        const worksheet = workbook.addWorksheet(\"Emendas Parlamentares\");\r\n\r\n        \/\/ 1) T\u00edtulo\r\n        const title = \"Emendas Parlamentares Federais - SEPLAN\/AC\";\r\n        const titleRow = worksheet.addRow([title]);\r\n        const lastCol = efExcelColumnName(Math.max(1, selectedColumns.length));\r\n        worksheet.mergeCells(`A1:${lastCol}1`);\r\n        titleRow.font = { name: \"Arial\", size: 12, bold: true, italic: true };\r\n        worksheet.addRow([]);\r\n\r\n        \/\/ 2) Cabe\u00e7alho\r\n        const headerRow = worksheet.addRow(selectedColumns);\r\n        headerRow.eachCell((cell) => {\r\n          cell.fill = { type: \"pattern\", pattern: \"solid\", fgColor: { argb: \"FF0891B2\" } }; \/\/ sky\r\n          cell.font = { color: { argb: \"FFFFFFFF\" }, bold: true };\r\n          cell.alignment = { vertical: \"middle\", horizontal: \"center\", wrapText: true };\r\n          cell.border = {\r\n            top: { style: \"thin\" },\r\n            left: { style: \"thin\" },\r\n            bottom: { style: \"thin\" },\r\n            right: { style: \"thin\" },\r\n          };\r\n        });\r\n\r\n        \/\/ 3) Dados\r\n        efFilteredData.forEach((item) => {\r\n          const rowValues = selectedColumns.map((col) => {\r\n            const v = item?.[col];\r\n\r\n            if (efLooksLikeMoneyColumn(col)) {\r\n              const parsed = efTryParsePtbrNumber(v);\r\n              return parsed === null ? v || \"--\" : parsed;\r\n            }\r\n\r\n            const s = v === null || v === undefined || v === \"\" || v === \"null\" ? \"--\" : v;\r\n            return s;\r\n          });\r\n\r\n          const dataRow = worksheet.addRow(rowValues);\r\n\r\n          \/\/ Moeda e links clic\u00e1veis\r\n          selectedColumns.forEach((col, idx) => {\r\n            const cell = dataRow.getCell(idx + 1);\r\n\r\n            if (efLooksLikeMoneyColumn(col) && typeof cell.value === \"number\") {\r\n              cell.numFmt = '\"R$ \"#,##0.00';\r\n            }\r\n\r\n            const cellText = String(cell.value ?? \"\");\r\n            if (cellText.startsWith(\"http\")) {\r\n              cell.value = { text: \"Abrir Link\", hyperlink: cellText };\r\n              cell.font = { color: { argb: \"FF0000FF\" }, underline: true };\r\n            }\r\n          });\r\n        });\r\n\r\n        \/\/ Largura padr\u00e3o\r\n        worksheet.columns.forEach((column) => {\r\n          column.width = 22;\r\n        });\r\n\r\n        const buffer = await workbook.xlsx.writeBuffer();\r\n        const blob = new Blob([buffer], {\r\n          type: \"application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\r\n        });\r\n        const link = document.createElement(\"a\");\r\n        link.href = URL.createObjectURL(blob);\r\n        link.download = \"emendas_federais.xlsx\";\r\n        link.click();\r\n      }\r\n\r\n      async function efExportPDFSelected(selectedColumns) {\r\n        const MAX_COLUNAS_PDF = 12;\r\n\r\n        if (!window.jspdf?.jsPDF) {\r\n          alert(\"Biblioteca jsPDF n\u00e3o carregou. Verifique sua conex\u00e3o e tente novamente.\");\r\n          return;\r\n        }\r\n\r\n        if (selectedColumns.length > MAX_COLUNAS_PDF) {\r\n          alert(\r\n            `O PDF suporta no m\u00e1ximo ${MAX_COLUNAS_PDF} colunas para manter a legibilidade. Voc\u00ea selecionou ${selectedColumns.length}.\\n\\nPor favor, remova algumas colunas ou utilize a exporta\u00e7\u00e3o para Excel.`,\r\n          );\r\n          return;\r\n        }\r\n\r\n        const { jsPDF } = window.jspdf;\r\n        const doc = new jsPDF(\"landscape\", \"pt\", \"a4\");\r\n        const pageWidth = doc.internal.pageSize.getWidth();\r\n        \/\/ --- T\u00edtulo no Canto Esquerdo ---\r\n        doc.setFontSize(16);\r\n        doc.setFont(\"helvetica\", \"bold\");\r\n        doc.text(\"Emendas Parlamentares Federais\", 10, 45);\r\n        \/\/ --- Adicionando o Logotipo ---\r\n        const imgUrl =\r\n          \"https:\/\/seplan.ac.gov.br\/wp-content\/uploads\/2025\/02\/4-horizontal-verde-conjunto.png\";\r\n        const imgWidth = 120; \/\/ Largura da imagem\r\n        const imgX = pageWidth - imgWidth - 10; \/\/ Largura total - largura da imagem - margem\r\n        try {\r\n          \/\/ Usamos altura 0 para manter a propor\u00e7\u00e3o (evita achatar)\r\n          doc.addImage(imgUrl, \"PNG\", imgX, 15, imgWidth, 0);\r\n        } catch (e) {\r\n          console.warn(\"Erro ao carregar imagem:\", e);\r\n        }\r\n\r\n        const termosLongos = [\r\n          \"Link\",\r\n          \"URL\",\r\n          \"Notifica\u00e7\u00e3o\",\r\n          \"Termo\",\r\n          \"Parecer\",\r\n          \"Espelho\",\r\n          \"Descri\u00e7\u00e3o\",\r\n          \"Objeto\",\r\n          \"Plano\",\r\n          \"Nome\",\r\n        ];\r\n\r\n        const body = efFilteredData.map((item) =>\r\n          selectedColumns.map((col) => {\r\n            const v = item?.[col];\r\n\r\n            if (String(v ?? \"\").startsWith(\"http\")) return \"Abrir link\";\r\n\r\n            if (efLooksLikeMoneyColumn(col)) {\r\n              const parsed = efTryParsePtbrNumber(v);\r\n              return parsed === null ? v || \"R$ --\" : efFormatarReal(parsed);\r\n            }\r\n\r\n            return v === null || v === undefined || v === \"\" || v === \"null\" ? \"--\" : String(v);\r\n          }),\r\n        );\r\n\r\n        let columnStyles = {};\r\n        selectedColumns.forEach((name, index) => {\r\n          if (termosLongos.some((t) => name.includes(t))) {\r\n            columnStyles[index] = { cellWidth: 80 };\r\n          } else if (name.includes(\"N\u00ba\") || name.includes(\"Ano\")) {\r\n            columnStyles[index] = { cellWidth: \"auto\" };\r\n          }\r\n        });\r\n\r\n        doc.autoTable({\r\n          head: [selectedColumns],\r\n          body,\r\n          startY: 70, \/\/ Come\u00e7a abaixo da imagem e t\u00edtulo\r\n          theme: \"grid\",\r\n          headStyles: {\r\n            fillColor: [8, 145, 178], \/\/ sky\r\n            textColor: 255,\r\n            fontSize: 8,\r\n            fontStyle: \"bold\",\r\n            halign: \"left\",\r\n          },\r\n          styles: { fontSize: 7, cellPadding: 2, overflow: \"linebreak\", valign: \"middle\" },\r\n          columnStyles: columnStyles,\r\n          alternateRowStyles: { fillColor: [240, 240, 240] },\r\n          margin: { top: 20, bottom: 20, left: 10, right: 10 },\r\n          didDrawCell: (data) => {\r\n            const cellText = data.cell.text && data.cell.text[0] ? data.cell.text[0] : \"\";\r\n            if (cellText.startsWith(\"http\")) {\r\n              const rowIndex = data.row.index;\r\n              const colName = selectedColumns[data.column.index];\r\n              const urlReal = filteredData[rowIndex][colName];\r\n\r\n              if (urlReal && String(urlReal).startsWith(\"http\")) {\r\n                doc.link(data.cell.x, data.cell.y, data.cell.width, data.cell.height, {\r\n                  url: urlReal,\r\n                });\r\n                doc.setTextColor(0, 0, 255);\r\n              }\r\n            }\r\n          },\r\n        });\r\n\r\n        doc.save(\"emendas_federais.pdf\");\r\n      }\r\n\r\n      function efSelectAllColumns() {\r\n        const checks = document.querySelectorAll(\"#efColumnList input[type=checkbox]\");\r\n\r\n        let count = 0;\r\n\r\n        checks.forEach((c) => {\r\n          if (efExportType === \"pdf\") {\r\n            if (count < 12) {\r\n              c.checked = true;\r\n              count++;\r\n            } else {\r\n              c.checked = false;\r\n            }\r\n          } else {\r\n            c.checked = true;\r\n          }\r\n        });\r\n\r\n        if (efExportType === \"pdf\") {\r\n          alert(\"Para PDF, apenas as 12 primeiras colunas foram selecionadas.\");\r\n        }\r\n      }\r\n\r\n      function efFormatarReal(valor) {\r\n        if (!valor || valor === \"0\" || valor === \"null\") return \"R$ --\";\r\n        const numero =\r\n          typeof valor === \"string\"\r\n            ? Number(\r\n                valor\r\n                  .replace(\/[^\\d,-]\/g, \"\")\r\n                  .replace(\".\", \"\")\r\n                  .replace(\",\", \".\"),\r\n              )\r\n            : Number(valor);\r\n\r\n        return isNaN(numero)\r\n          ? \"R$ --\"\r\n          : numero.toLocaleString(\"pt-BR\", { style: \"currency\", currency: \"BRL\" });\r\n      }\r\n\r\n      function efClearColumns() {\r\n        const checks = document.querySelectorAll(\"#efColumnList input[type=checkbox]\");\r\n        checks.forEach((c) => (c.checked = false));\r\n      }\r\n\r\n      function efConfirmExport() {\r\n        const selected = efGetSelectedColumns();\r\n        if (!selected.length) {\r\n          alert(\"Selecione pelo menos uma coluna!\");\r\n          return;\r\n        }\r\n\r\n        efCloseColumnModal();\r\n\r\n        if (efExportType === \"excel\") efExportExcelSelected(selected);\r\n        else efExportPDFSelected(selected);\r\n      }\r\n\r\n      function efOpenFilterModal() {\r\n        \/\/ Preenche os selects \u00fanicos\r\n        const data = efData;\r\n\r\n        const uniqueValues = (key) => [...new Set(data.map((d) => d[key]).filter(Boolean))].sort();\r\n\r\n        const fillSelect = (id, values) => {\r\n          const sel = document.getElementById(id);\r\n          sel.innerHTML =\r\n            '<option value=\"\">Todos<\/option>' +\r\n            values.map((v) => `<option value=\"${v}\">${v}<\/option>`).join(\"\");\r\n        };\r\n\r\n        fillSelect(\"filterAno\", uniqueValues(\"Ano\"));\r\n        fillSelect(\"filterAutor\", uniqueValues(\"Autor\"));\r\n        fillSelect(\"filterExecutor\", uniqueValues(\"Executor\"));\r\n        fillSelect(\"filterSituacao\", uniqueValues(\"Situa\u00e7\u00e3o\"));\r\n        fillSelect(\"filterModalidade\", uniqueValues(\"Modalidade da Aplica\u00e7\u00e3o\"));\r\n        fillSelect(\"filterInstrumento\", uniqueValues(\"Tipo do Instrumento Vinculado\"));\r\n\r\n        document.getElementById(\"efFilterModal\").classList.replace(\"hidden\", \"flex\");\r\n      }\r\n\r\n      function efCloseFilterModal() {\r\n        document.getElementById(\"efFilterModal\").classList.replace(\"flex\", \"hidden\");\r\n      }\r\n\r\n      function efApplyFilters() {\r\n        const search = document.getElementById(\"efSearch\").value.toLowerCase();\r\n        const ano = document.getElementById(\"filterAno\").value;\r\n        const autor = document.getElementById(\"filterAutor\").value;\r\n        const executor = document.getElementById(\"filterExecutor\").value;\r\n        const situacao = document.getElementById(\"filterSituacao\").value;\r\n        const modalidade = document.getElementById(\"filterModalidade\").value;\r\n        const instrumento = document.getElementById(\"filterInstrumento\").value;\r\n\r\n        efFilteredData = efData.filter((d) => {\r\n          const matchesSearch = search\r\n            ? Object.values(d).some((v) => v && String(v).toLowerCase().includes(search))\r\n            : true;\r\n          const matchesAno = ano ? d[\"Ano\"] === ano : true;\r\n          const matchesAutor = autor ? d[\"Autor\"] === autor : true;\r\n          const matchesExecutor = executor ? d[\"Executor\"] === executor : true;\r\n          const matchesSituacao = situacao ? d[\"Situa\u00e7\u00e3o\"] === situacao : true;\r\n          const matchesModalidade = modalidade ? d[\"Modalidade da Aplica\u00e7\u00e3o\"] === modalidade : true;\r\n          const matchesInstrumento = instrumento\r\n            ? d[\"Tipo do Instrumento Vinculado\"] === instrumento\r\n            : true;\r\n\r\n          return (\r\n            matchesSearch &&\r\n            matchesAno &&\r\n            matchesAutor &&\r\n            matchesExecutor &&\r\n            matchesSituacao &&\r\n            matchesModalidade &&\r\n            matchesInstrumento\r\n          );\r\n        });\r\n\r\n        efPage = 1;\r\n        efRender();\r\n        efCloseFilterModal();\r\n      }\r\n\r\n      document.addEventListener(\"DOMContentLoaded\", efInit);\r\n    <\/script>\r\n\r\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Portal de Conv\u00eanios Federais \/ Emendas Parlamentares Federais Emendas Parlamentares Federais Acesse as informa\u00e7\u00f5es detalhadas sobre as emendas parlamentares federais destinadas ao Governo do Estado do Acre.<\/p>\n","protected":false},"author":30,"featured_media":49262,"parent":20970,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_eb_attr":"","neve_meta_sidebar":"","neve_meta_container":"full-width","neve_meta_enable_content_width":"on","neve_meta_content_width":90,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","h5ap_radio_sources":[],"footnotes":""},"class_list":["post-46338","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Emendas Parlamentares Federais - Seplan - Acre<\/title>\n<meta name=\"description\" content=\"Confira Emendas Parlamentares Federais no Seplan - Acre com dados atualizados e informa\u00e7\u00f5es completas.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/emendas-parlamentares-federais\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Emendas Parlamentares Federais - Seplan - Acre\" \/>\n<meta property=\"og:description\" content=\"Confira Emendas Parlamentares Federais no Seplan - Acre com dados atualizados e informa\u00e7\u00f5es completas.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/emendas-parlamentares-federais\/\" \/>\n<meta property=\"og:site_name\" content=\"Seplan - Acre\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/seplan.acre\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-14T19:08:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/seplan.ac.gov.br\/wp-content\/uploads\/2022\/06\/padrao-img-scaled.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1475\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@SeplanAcre\" \/>\n<meta name=\"twitter:label1\" content=\"Est. tempo de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuto\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/convenios\\\/portal-de-convenios-federais\\\/emendas-parlamentares-federais\\\/\",\"url\":\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/convenios\\\/portal-de-convenios-federais\\\/emendas-parlamentares-federais\\\/\",\"name\":\"Emendas Parlamentares Federais - Seplan - Acre\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/seplan.ac.gov.br\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/convenios\\\/portal-de-convenios-federais\\\/emendas-parlamentares-federais\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/convenios\\\/portal-de-convenios-federais\\\/emendas-parlamentares-federais\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/seplan.ac.gov.br\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/padrao-img-scaled.png\",\"datePublished\":\"2026-02-06T14:10:56+00:00\",\"dateModified\":\"2026-05-14T19:08:00+00:00\",\"description\":\"Confira Emendas Parlamentares Federais no Seplan - Acre com dados atualizados e informa\u00e7\u00f5es completas.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/convenios\\\/portal-de-convenios-federais\\\/emendas-parlamentares-federais\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/convenios\\\/portal-de-convenios-federais\\\/emendas-parlamentares-federais\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/convenios\\\/portal-de-convenios-federais\\\/emendas-parlamentares-federais\\\/#primaryimage\",\"url\":\"https:\\\/\\\/seplan.ac.gov.br\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/padrao-img-scaled.png\",\"contentUrl\":\"https:\\\/\\\/seplan.ac.gov.br\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/padrao-img-scaled.png\",\"width\":2560,\"height\":1475,\"caption\":\"Banner com fundo verde e a logo ao centro para ser imagem de destaque nos posts e nas paginas que n\u00e3o tiverem.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/convenios\\\/portal-de-convenios-federais\\\/emendas-parlamentares-federais\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/seplan.ac.gov.br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Gest\u00e3o Estrat\u00e9gica de Recursos\",\"item\":\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Conv\u00eanios\",\"item\":\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/convenios\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Portal de Conv\u00eanios Federais\",\"item\":\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/convenios\\\/portal-de-convenios-federais\\\/\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Emendas Parlamentares Federais\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/seplan.ac.gov.br\\\/#website\",\"url\":\"https:\\\/\\\/seplan.ac.gov.br\\\/\",\"name\":\"Seplan - Acre\",\"description\":\"Secretaria de Estado de Planejamento - Acre\",\"publisher\":{\"@id\":\"https:\\\/\\\/seplan.ac.gov.br\\\/#organization\"},\"alternateName\":\"Seplan\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/seplan.ac.gov.br\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/seplan.ac.gov.br\\\/#organization\",\"name\":\"Secretaria de Estado de Planejamento - Seplan - Acre\",\"alternateName\":\"Seplan\",\"url\":\"https:\\\/\\\/seplan.ac.gov.br\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/seplan.ac.gov.br\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Secretaria de Estado de Planejamento - Seplan - Acre\"},\"image\":{\"@id\":\"https:\\\/\\\/seplan.ac.gov.br\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/seplan.acre\",\"https:\\\/\\\/x.com\\\/SeplanAcre\",\"https:\\\/\\\/www.instagram.com\\\/seplan.acre\\\/\",\"https:\\\/\\\/www.youtube.com\\\/SeplanAcre\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Emendas Parlamentares Federais - Seplan - Acre","description":"Confira Emendas Parlamentares Federais no Seplan - Acre com dados atualizados e informa\u00e7\u00f5es completas.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/emendas-parlamentares-federais\/","og_locale":"pt_BR","og_type":"article","og_title":"Emendas Parlamentares Federais - Seplan - Acre","og_description":"Confira Emendas Parlamentares Federais no Seplan - Acre com dados atualizados e informa\u00e7\u00f5es completas.","og_url":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/emendas-parlamentares-federais\/","og_site_name":"Seplan - Acre","article_publisher":"https:\/\/www.facebook.com\/seplan.acre","article_modified_time":"2026-05-14T19:08:00+00:00","og_image":[{"width":2560,"height":1475,"url":"https:\/\/seplan.ac.gov.br\/wp-content\/uploads\/2022\/06\/padrao-img-scaled.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@SeplanAcre","twitter_misc":{"Est. tempo de leitura":"1 minuto"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/emendas-parlamentares-federais\/","url":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/emendas-parlamentares-federais\/","name":"Emendas Parlamentares Federais - Seplan - Acre","isPartOf":{"@id":"https:\/\/seplan.ac.gov.br\/#website"},"primaryImageOfPage":{"@id":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/emendas-parlamentares-federais\/#primaryimage"},"image":{"@id":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/emendas-parlamentares-federais\/#primaryimage"},"thumbnailUrl":"https:\/\/seplan.ac.gov.br\/wp-content\/uploads\/2022\/06\/padrao-img-scaled.png","datePublished":"2026-02-06T14:10:56+00:00","dateModified":"2026-05-14T19:08:00+00:00","description":"Confira Emendas Parlamentares Federais no Seplan - Acre com dados atualizados e informa\u00e7\u00f5es completas.","breadcrumb":{"@id":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/emendas-parlamentares-federais\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/emendas-parlamentares-federais\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/emendas-parlamentares-federais\/#primaryimage","url":"https:\/\/seplan.ac.gov.br\/wp-content\/uploads\/2022\/06\/padrao-img-scaled.png","contentUrl":"https:\/\/seplan.ac.gov.br\/wp-content\/uploads\/2022\/06\/padrao-img-scaled.png","width":2560,"height":1475,"caption":"Banner com fundo verde e a logo ao centro para ser imagem de destaque nos posts e nas paginas que n\u00e3o tiverem."},{"@type":"BreadcrumbList","@id":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/emendas-parlamentares-federais\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/seplan.ac.gov.br\/"},{"@type":"ListItem","position":2,"name":"Gest\u00e3o Estrat\u00e9gica de Recursos","item":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/"},{"@type":"ListItem","position":3,"name":"Conv\u00eanios","item":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/"},{"@type":"ListItem","position":4,"name":"Portal de Conv\u00eanios Federais","item":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/"},{"@type":"ListItem","position":5,"name":"Emendas Parlamentares Federais"}]},{"@type":"WebSite","@id":"https:\/\/seplan.ac.gov.br\/#website","url":"https:\/\/seplan.ac.gov.br\/","name":"Seplan - Acre","description":"Secretaria de Estado de Planejamento - Acre","publisher":{"@id":"https:\/\/seplan.ac.gov.br\/#organization"},"alternateName":"Seplan","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/seplan.ac.gov.br\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/seplan.ac.gov.br\/#organization","name":"Secretaria de Estado de Planejamento - Seplan - Acre","alternateName":"Seplan","url":"https:\/\/seplan.ac.gov.br\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/seplan.ac.gov.br\/#\/schema\/logo\/image\/","url":"","contentUrl":"","caption":"Secretaria de Estado de Planejamento - Seplan - Acre"},"image":{"@id":"https:\/\/seplan.ac.gov.br\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/seplan.acre","https:\/\/x.com\/SeplanAcre","https:\/\/www.instagram.com\/seplan.acre\/","https:\/\/www.youtube.com\/SeplanAcre"]}]}},"_links":{"self":[{"href":"https:\/\/seplan.ac.gov.br\/wp-json\/wp\/v2\/pages\/46338","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/seplan.ac.gov.br\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/seplan.ac.gov.br\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/seplan.ac.gov.br\/wp-json\/wp\/v2\/users\/30"}],"replies":[{"embeddable":true,"href":"https:\/\/seplan.ac.gov.br\/wp-json\/wp\/v2\/comments?post=46338"}],"version-history":[{"count":3,"href":"https:\/\/seplan.ac.gov.br\/wp-json\/wp\/v2\/pages\/46338\/revisions"}],"predecessor-version":[{"id":51584,"href":"https:\/\/seplan.ac.gov.br\/wp-json\/wp\/v2\/pages\/46338\/revisions\/51584"}],"up":[{"embeddable":true,"href":"https:\/\/seplan.ac.gov.br\/wp-json\/wp\/v2\/pages\/20970"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/seplan.ac.gov.br\/wp-json\/wp\/v2\/media\/49262"}],"wp:attachment":[{"href":"https:\/\/seplan.ac.gov.br\/wp-json\/wp\/v2\/media?parent=46338"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}