{"id":51727,"date":"2026-05-15T12:08:52","date_gmt":"2026-05-15T17:08:52","guid":{"rendered":"https:\/\/seplan.ac.gov.br\/?page_id=51727"},"modified":"2026-05-15T12:14:54","modified_gmt":"2026-05-15T17:14:54","slug":"transferencias-especiais","status":"publish","type":"page","link":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/transferencias-especiais\/","title":{"rendered":"Transfer\u00eancias Especiais"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"51727\" class=\"elementor elementor-51727\" 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> Transfer\u00eancias Especiais<\/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\">Transfer\u00eancias Especiais<\/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 transfer\u00eancias especiais 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 items-center gap-2 mt-12 mb-8\"><\/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=\"flex flex-col 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            \r\n            \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=\"efApplyFilters(); efCloseFilterModal();\"\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=503915430&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                        ${item[\"Situa\u00e7\u00e3o da Emenda\"] || \"--\"}\r\n                      <\/span>\r\n                    <\/div>\r\n                    <div class=\"p-6 flex-1 flex flex-col justfy-between h-full\">\r\n                      <h4 class=\"font-black text-slate-800 uppercase !text-sm my-2 line-clamp-2\">\r\n                        ${item[\"T\u00edtulo\"] || item[\"Objeto Executor\"] || \"--\"}\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[\"Nome Parlamentar\"] || \"--\"}<\/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[\"Sigla 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 da Emenda\"] || \"--\"}<\/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 da Emenda Fracionada\r\n                        <\/p>\r\n                        <p class=\"text-xl font-black text-sky-900\">\r\n                          ${efMoney(item[\"Valor da Emenda\"])}\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 do Espelho da Emenda\"] || \"#\" }\" 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(\"Objeto Executor\")}\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 Executor\")}\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 da Emenda\", val(\"Origem da Emenda\")),\r\n                   campo(\"Autor\", val(\"Nome Parlamentar\")),\r\n\t\t\tcampo(\"Valor Total da Emenda\", val(\"Valor Total da Emenda\")),\r\n\t\t\t campo(\r\n                      \"Link Espelho Emenda\",\r\n                      d[\"Link do Espelho da Emenda\"]\r\n                        ? `<a href=\"${d[\"Link do Espelho da Emenda\"]}\" target=\"_blank\" class=\"text-blue-700 underline\">Link Espelho Emenda<\/a>`\r\n                        : \"---\",\r\n                    )\r\n                 ])\r\n\t\t\t\r\n\t  }\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(\"Nome Executor\", val(\"Nome Executor\")),\r\n                    campo(\"Situa\u00e7\u00e3o\", val(\"Situa\u00e7\u00e3o da Emenda\")),\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(\"Plano A\u00e7\u00e3o\")),\r\n                   \r\n                    campo(\r\n                      \"Link Plano A\u00e7\u00e3o\",\r\n                      d[\"Link Plano A\u00e7\u00e3o\"]\r\n                        ? `<a href=\"${d[\"Link Plano A\u00e7\u00e3o\"]}\" target=\"_blank\" class=\"text-blue-700 underline\">Link Plano A\u00e7\u00e3o<\/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 Custeio\"])),\r\n              campo(\"Valor Previsto GND 4\", efMoney(d[\"Valor Previsto Investimento\"])),\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 Liberado Custeio\"])),\r\n              campo(\"Valor Recebido GND 4\", efMoney(d[\"Valor Liberado Investimento\"])),\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 - EMENDAS ESPECIAIS ================= *\/\r\nfunction efRenderPagination() {\r\n  const totalPages = Math.ceil(efFilteredData.length \/ efPerPage);\r\n  const pagination = document.getElementById(\"efPagination\");\r\n\r\n  if (!pagination || totalPages <= 1) {\r\n    if (pagination) pagination.innerHTML = \"\";\r\n    return;\r\n  }\r\n\r\n  let html = `<button\r\n      onclick=\"efGoToPage(1)\"\r\n      class=\"!bg-sky-300 px-3 py-1 border !rounded  mr-2 ${\r\n        efPage === 1 ? \"opacity-50\" : \"\"\r\n      }\"\r\n    >\u00ab<\/button>`;\r\n\r\n  for (\r\n    let i = Math.max(1, efPage - 2);\r\n    i <= Math.min(totalPages, efPage + 2);\r\n    i++\r\n  ) {\r\n    html += `<button\r\n        onclick=\"efGoToPage(${i})\"\r\n        class=\"px-3 py-1 border !rounded !bg-sky-300 mr-2 ${\r\n          i === efPage ? \"!bg-sky-600 !text-white\" : \"\"\r\n        }\"\r\n      >${i}<\/button>`;\r\n  }\r\n\r\n  html += `<button\r\n      onclick=\"efGoToPage(${totalPages})\"\r\n      class=\"px-3 py-1 border !rounded !bg-sky-300 mr-2 ${\r\n        efPage === totalPages ? \"opacity-50\" : \"\"\r\n      }\"\r\n    >\u00bb<\/button>`;\r\n\r\n  pagination.innerHTML = html;\r\n}\r\n\r\nfunction efGoToPage(page) {\r\n  efPage = page;\r\n  efRender();\r\n  window.scrollTo({\r\n    top: 0,\r\n    behavior: \"smooth\",\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 da Emenda\",\r\n          \"Objeto Executor\",\r\n          \"Situa\u00e7\u00e3o\",\r\n          \"Nome Parlamentar\",\r\n          \"Situa\u00e7\u00e3o da Execu\u00e7\u00e3o\",\r\n          \"Valor Previsto Total\",\r\n          \"Nome Executor\",\r\n\t\t\t\"Sigla Executor\",\r\n          \"Link do Espelho da Emenda\",\r\n          \"Link Plano A\u00e7\u00e3o\",\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 \r\n\r\n   \r\n\r\n      function efCloseFilterModal() {\r\n        document.getElementById(\"efFilterModal\").classList.replace(\"flex\", \"hidden\");\r\n      }\r\n\r\n  function efOpenFilterModal() {\r\n  efPopulateFilters();\r\n  document.getElementById(\"efFilterModal\").classList.replace(\"hidden\", \"flex\");\r\n}\r\n\r\n\t\tfunction efPopulateFilters() {\r\n  const anoSelecionado = document.getElementById(\"filterAno\").value;\r\n  const autorSelecionado = document.getElementById(\"filterAutor\").value;\r\n  const executorSelecionado = document.getElementById(\"filterExecutor\").value;\r\n\r\n  const fillSelect = (id, values, selected) => {\r\n    const sel = document.getElementById(id);\r\n\r\n    sel.innerHTML =\r\n      '<option value=\"\">Todos<\/option>' +\r\n      [...new Set(values)]\r\n        .filter(Boolean)\r\n        .sort()\r\n        .map(v => `<option value=\"${v}\" ${v === selected ? \"selected\" : \"\"}>${v}<\/option>`)\r\n        .join(\"\");\r\n  };\r\n\r\n  fillSelect(\r\n    \"filterAno\",\r\n    efData.map(d => d[\"Ano\"]),\r\n    anoSelecionado\r\n  );\r\n\r\n  fillSelect(\r\n    \"filterAutor\",\r\n    efData.map(d => d[\"Nome Parlamentar\"]),\r\n    autorSelecionado\r\n  );\r\n\r\n  fillSelect(\r\n    \"filterExecutor\",\r\n    efData.map(d => d[\"Nome Executor\"]),\r\n    executorSelecionado\r\n  );\r\n}\r\n\r\nfunction efApplyFilters(render = true) {\r\n  const search = document.getElementById(\"efSearch\").value.toLowerCase().trim();\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\r\n  efFilteredData = efData.filter((d) => {\r\n    return (\r\n      (!search ||\r\n        Object.values(d).some(v =>\r\n          String(v ?? \"\").toLowerCase().includes(search)\r\n        )) &&\r\n      (!ano || d[\"Ano\"] === ano) &&\r\n      (!autor || d[\"Nome Parlamentar\"] === autor) &&\r\n      (!executor || d[\"Nome Executor\"] === executor)\r\n    );\r\n  });\r\n\r\n  efPage = 1;\r\n\r\n  if (render) {\r\n    efRender();\r\n  }\r\n}\r\n\t\t\r\n\t\tfunction efClearFilters() {\r\n  \/\/ Limpa pesquisa\r\n  document.getElementById(\"efSearch\").value = \"\";\r\n\r\n  \/\/ Limpa selects\r\n  document.getElementById(\"filterAno\").value = \"\";\r\n  document.getElementById(\"filterAutor\").value = \"\";\r\n  document.getElementById(\"filterExecutor\").value = \"\";\r\n\r\n  \/\/ Restaura todos os registros\r\n  efFilteredData = [...efData];\r\n\r\n  \/\/ Volta para a primeira p\u00e1gina\r\n  efPage = 1;\r\n\r\n  \/\/ Atualiza os filtros (caso tenha op\u00e7\u00f5es din\u00e2micas)\r\n  if (typeof efPopulateFilters === \"function\") {\r\n    efPopulateFilters();\r\n  }\r\n\r\n  \/\/ Atualiza a tela\r\n  efRender();\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 \/ Transfer\u00eancias Especiais Transfer\u00eancias Especiais Acesse as informa\u00e7\u00f5es detalhadas sobre as transfer\u00eancias especiais 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-51727","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Transfer\u00eancias Especiais - Seplan - Acre<\/title>\n<meta name=\"description\" content=\"Confira Transfer\u00eancias Especiais 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\/transferencias-especiais\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Transfer\u00eancias Especiais - Seplan - Acre\" \/>\n<meta property=\"og:description\" content=\"Confira Transfer\u00eancias Especiais 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\/transferencias-especiais\/\" \/>\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-15T17:14:54+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\\\/transferencias-especiais\\\/\",\"url\":\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/convenios\\\/portal-de-convenios-federais\\\/transferencias-especiais\\\/\",\"name\":\"Transfer\u00eancias Especiais - 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\\\/transferencias-especiais\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/convenios\\\/portal-de-convenios-federais\\\/transferencias-especiais\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/seplan.ac.gov.br\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/padrao-img-scaled.png\",\"datePublished\":\"2026-05-15T17:08:52+00:00\",\"dateModified\":\"2026-05-15T17:14:54+00:00\",\"description\":\"Confira Transfer\u00eancias Especiais 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\\\/transferencias-especiais\\\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/convenios\\\/portal-de-convenios-federais\\\/transferencias-especiais\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\\\/\\\/seplan.ac.gov.br\\\/gestao-estrategica-de-recursos\\\/convenios\\\/portal-de-convenios-federais\\\/transferencias-especiais\\\/#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\\\/transferencias-especiais\\\/#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\":\"Transfer\u00eancias Especiais\"}]},{\"@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":"Transfer\u00eancias Especiais - Seplan - Acre","description":"Confira Transfer\u00eancias Especiais 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\/transferencias-especiais\/","og_locale":"pt_BR","og_type":"article","og_title":"Transfer\u00eancias Especiais - Seplan - Acre","og_description":"Confira Transfer\u00eancias Especiais 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\/transferencias-especiais\/","og_site_name":"Seplan - Acre","article_publisher":"https:\/\/www.facebook.com\/seplan.acre","article_modified_time":"2026-05-15T17:14:54+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\/transferencias-especiais\/","url":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/transferencias-especiais\/","name":"Transfer\u00eancias Especiais - 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\/transferencias-especiais\/#primaryimage"},"image":{"@id":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/transferencias-especiais\/#primaryimage"},"thumbnailUrl":"https:\/\/seplan.ac.gov.br\/wp-content\/uploads\/2022\/06\/padrao-img-scaled.png","datePublished":"2026-05-15T17:08:52+00:00","dateModified":"2026-05-15T17:14:54+00:00","description":"Confira Transfer\u00eancias Especiais 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\/transferencias-especiais\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/transferencias-especiais\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/seplan.ac.gov.br\/gestao-estrategica-de-recursos\/convenios\/portal-de-convenios-federais\/transferencias-especiais\/#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\/transferencias-especiais\/#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":"Transfer\u00eancias Especiais"}]},{"@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\/51727","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=51727"}],"version-history":[{"count":9,"href":"https:\/\/seplan.ac.gov.br\/wp-json\/wp\/v2\/pages\/51727\/revisions"}],"predecessor-version":[{"id":51736,"href":"https:\/\/seplan.ac.gov.br\/wp-json\/wp\/v2\/pages\/51727\/revisions\/51736"}],"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=51727"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}