{"id":22590,"date":"2026-09-16T06:31:59","date_gmt":"2026-09-16T09:31:59","guid":{"rendered":"https:\/\/ingesto.org.br\/?page_id=22590"},"modified":"2026-09-16T06:36:17","modified_gmt":"2026-09-16T09:36:17","slug":"impedimentos-livre","status":"publish","type":"page","link":"https:\/\/ingesto.org.br\/en\/painel-federal\/impedimentos-livre\/","title":{"rendered":"Impedimentos"},"content":{"rendered":"    <link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n    <link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\n    <link href=\"https:\/\/fonts.googleapis.com\/css2?family=Montserrat:wght@700;800&family=Poppins:wght@400;500;600&family=JetBrains+Mono:wght@400;500;700&display=swap\" rel=\"stylesheet\">\n    <style>\n        html, body { margin: 0; padding: 0; }\n        .ingesto-pf-dash-wrap {\n            \/* CORRE\u00c7\u00c3O (31\/08\/2026): paleta clara trocada pela paleta REAL\n               do index.html\/estatisticas.html antigos (bloco .tema-claro\n               original desses arquivos, de antes da repintura escura de\n               28\/08\/2026 -- cores lidas direto do CSS enviado por Rubens,\n               n\u00e3o inventadas). Espelha, no claro, a mesma unifica\u00e7\u00e3o que\n               o tema escuro j\u00e1 tinha desde sempre (os valores de\n               .tema-escuro logo abaixo j\u00e1 batiam com o :root escuro\n               desses mesmos arquivos). Fonte: --papel\/--linha\/--az\/--ouro\/\n               --ok de estatisticas.css .tema-claro; --danger vem de\n               index.css .tema-claro (--vmf), que estatisticas.css n\u00e3o\n               define. *\/\n            --bg-page: #FAF9F6; --bg-sidebar: #FFFFFF; --bg-card: #FFFFFF; --bg-card-hover: #F5F3EE;\n            --border: #E2DED2; --border-strong: #D4CEBE;\n            --text-primary: #1A1A1A; --text-secondary: #5B5B5B; --text-muted: #928F85;\n            --accent: #2f21b3; --accent-bg: rgba(47,33,179,0.08); --accent-hover-bg: rgba(47,33,179,0.14);\n            --success: #1B7A3E; --success-bg: #E6F4EA;\n            --warning: #B45309; --warning-bg: #FDF6EC;\n            --danger: #C62828; --danger-bg: rgba(198,40,40,0.10);\n            --row-alt: #F5F3EE;\n            --sidebar-width: 220px; --sidebar-width-fechada: 68px;\n            background: var(--bg-page); color: var(--text-primary);\n            font-family: 'Poppins', sans-serif;\n            display: flex; min-height: 100vh; width: 100%;\n            margin: 0; padding: 0;\n        }\n        .ingesto-pf-dash-wrap * { box-sizing: border-box; }\n\n        \/* ---------- Tema escuro (altern\u00e1vel) ----------\n           CORRE\u00c7\u00c3O (31\/08\/2026): Rubens pediu invers\u00e3o do padr\u00e3o --\n           antes o escuro era a base e .tema-claro era o modificador\n           opcional; agora o claro \u00e9 a base (acima) e .tema-escuro \u00e9\n           quem precisa ser ativado explicitamente. Mesmas cores de\n           antes, s\u00f3 trocou de papel (era o padr\u00e3o, virou op\u00e7\u00e3o). Estas\n           J\u00c1 batiam com o :root escuro do index.html\/estatisticas.html\n           originais desde a \"reestiliza\u00e7\u00e3o 28\/08\/2026\" mencionada nos\n           coment\u00e1rios daqueles arquivos -- s\u00f3 o claro estava\n           dessincronizado at\u00e9 agora. *\/\n        .ingesto-pf-dash-wrap.tema-escuro {\n            --bg-page: #0B0F14; --bg-sidebar: #0E1319; --bg-card: #131924; --bg-card-hover: #171E2B;\n            --border: rgba(255,255,255,0.08); --border-strong: rgba(255,255,255,0.16);\n            --text-primary: #F3F5F7; --text-secondary: #9CA8B5; --text-muted: #5C6B7A;\n            --accent: #8956e2; --accent-bg: rgba(137,86,226,0.14); --accent-hover-bg: rgba(137,86,226,0.25);\n            --success: #22C55E; --success-bg: rgba(34,197,94,0.12);\n            --warning: #F59E0B; --warning-bg: rgba(245,158,11,0.12);\n            --danger: #EF4444; --danger-bg: rgba(239,68,68,0.14);\n            --row-alt: #10161E;\n        }\n\n        .ingesto-pf-sidebar {\n            width: var(--sidebar-width); flex-shrink: 0; background: var(--bg-sidebar);\n            border-right: 1px solid var(--border); padding: 20px 14px;\n            display: flex; flex-direction: column;\n            transition: width .18s ease, padding .18s ease;\n            position: relative;\n        }\n        .ingesto-pf-sidebar.fechada { width: var(--sidebar-width-fechada); padding: 20px 10px; }\n        .ingesto-pf-brand-row { display: flex; align-items: center; justify-content: space-between; padding: 4px 6px 22px; }\n        .ingesto-pf-sidebar.fechada .ingesto-pf-brand-row { padding: 4px 0 22px; justify-content: center; }\n        .ingesto-pf-brand { display: flex; align-items: center; min-width: 0; cursor: default; }\n        .ingesto-pf-sidebar.fechada .ingesto-pf-brand { cursor: pointer; }\n        .ingesto-pf-logo-horizontal { display: block; max-width: 100%; height: 26px; width: auto; }\n        .ingesto-pf-logo-icone, .ingesto-pf-logo-icone-reserva { display: none; }\n        .ingesto-pf-logo-icone { height: 30px; width: 30px; border-radius: 50%; }\n        .ingesto-pf-logo-icone-reserva {\n            height: 30px; width: 30px; border-radius: 50%; background: var(--accent-bg); color: var(--accent);\n            align-items: center; justify-content: center; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px;\n        }\n        .ingesto-pf-sidebar.fechada .ingesto-pf-logo-horizontal { display: none; }\n        .ingesto-pf-sidebar.fechada .ingesto-pf-logo-icone { display: block; }\n        .ingesto-pf-sidebar.fechada .ingesto-pf-logo-icone-reserva { display: flex; }\n        .ingesto-pf-brand-texto { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 19px; color: var(--text-primary); white-space: nowrap; overflow: hidden; }\n        .ingesto-pf-sidebar.fechada .ingesto-pf-brand-texto { display: none; }\n        .ingesto-pf-toggle {\n            background: transparent; border: 1px solid var(--border); border-radius: 6px; color: var(--text-secondary);\n            cursor: pointer; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; flex-shrink: 0;\n        }\n        .ingesto-pf-toggle:hover { color: var(--text-primary); border-color: var(--border-strong); }\n        .ingesto-pf-sidebar.fechada .ingesto-pf-toggle { display: none; }\n        .ingesto-pf-nav-group { flex: 1; }\n        .ingesto-pf-nav-item {\n            display: flex; align-items: center; gap: 10px; padding: 9px 10px; margin-bottom: 2px; border-radius: 8px;\n            font-size: 14px; color: var(--text-secondary); text-decoration: none; white-space: nowrap; overflow: hidden;\n        }\n        .ingesto-pf-nav-item:hover { background: rgba(255,255,255,0.05); color: var(--text-primary); }\n        .ingesto-pf-nav-item.ativo { background: var(--accent-bg); color: var(--accent); font-weight: 500; }\n        .ingesto-pf-nav-item-icone { flex-shrink: 0; display: flex; align-items: center; }\n        .ingesto-pf-sidebar.fechada .ingesto-pf-nav-item { justify-content: center; padding: 9px 0; }\n        .ingesto-pf-sidebar.fechada .ingesto-pf-nav-item-texto { display: none; }\n        .ingesto-pf-nav-footer {\n            border-top: 1px solid var(--border); padding-top: 14px; margin-top: 14px;\n            display: flex; align-items: center; gap: 10px; min-width: 0;\n        }\n        .ingesto-pf-sidebar.fechada .ingesto-pf-nav-footer { justify-content: center; }\n        .ingesto-pf-sidebar.fechada .ingesto-pf-nav-footer-texto { display: none; }\n        .ingesto-pf-avatar {\n            width: 32px; height: 32px; border-radius: 50%; background: var(--accent-bg); color: var(--accent);\n            display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 600; flex-shrink: 0;\n        }\n        .ingesto-pf-logout-btn {\n            display: flex; align-items: center; justify-content: center; flex-shrink: 0;\n            width: 28px; height: 28px; border-radius: 6px; color: var(--text-muted);\n        }\n        .ingesto-pf-logout-btn:hover { background: var(--danger-bg); color: var(--danger); }\n        .ingesto-pf-sidebar.fechada .ingesto-pf-logout-btn { display: none; }\n        .ingesto-pf-nav-footer-texto { min-width: 0; overflow: hidden; }\n        .ingesto-pf-nav-footer-name {\n            font-size: 13px; font-weight: 500; color: var(--text-primary);\n            white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\n        }\n        .ingesto-pf-nav-footer-plan { font-size: 11px; color: var(--text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }\n\n        .ingesto-pf-col { flex: 1; min-width: 0; display: flex; flex-direction: column; }\n        .ingesto-pf-topbar {\n            height: 58px; flex-shrink: 0; border-bottom: 1px solid var(--border);\n            display: flex; align-items: center; gap: 16px; padding: 0 24px;\n        }\n        .ingesto-pf-search {\n            flex: 2; max-width: 640px; display: flex; align-items: center; gap: 8px;\n            background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px; padding: 6px 6px 6px 12px;\n            position: relative;\n        }\n        .ingesto-pf-search svg { flex-shrink: 0; color: var(--text-muted); }\n        .ingesto-pf-search svg.girando { animation: ingesto-pf-girar 0.8s linear infinite; }\n        @keyframes ingesto-pf-girar { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }\n        \/* Spinner gen\u00e9rico (18\/09\/2026) -- reaproveita o mesmo @keyframes\n           acima, mas aplic\u00e1vel a qualquer bot\u00e3o, n\u00e3o s\u00f3 ao \u00edcone de busca\n           da topbar. ingestoPfSpinnerOn()\/Off() (fun\u00e7\u00e3o JS global, ver\n           abaixo) injeta\/remove isso automaticamente. *\/\n        .ingesto-pf-spinner-icone { display:inline-block; vertical-align:-2px; margin-right:5px; animation: ingesto-pf-girar 0.8s linear infinite; }\n        .ingesto-pf-search input {\n            border: none; background: transparent; outline: none; color: var(--text-primary);\n            font-family: 'Poppins', sans-serif; font-size: 13px; width: 100%; flex: 1; min-width: 0;\n        }\n        .ingesto-pf-search input::placeholder { color: var(--text-muted); }\n        .ingesto-pf-search select {\n            border: none; background: var(--bg-card); outline: none; color: var(--text-secondary);\n            font-family: 'Poppins', sans-serif; font-size: 12px; flex-shrink: 0; max-width: 110px;\n            border-left: 1px solid var(--border); padding-left: 8px;\n        }\n        .ingesto-pf-search-btn {\n            flex-shrink: 0; background: var(--accent); color: #fff; border: none; border-radius: 6px;\n            padding: 7px 16px; font-size: 12.5px; font-weight: 600; cursor: pointer; font-family: 'Poppins', sans-serif;\n        }\n        .ingesto-pf-search-btn:hover { opacity: 0.9; }\n        \/* Dropdown de resultados (31\/08\/2026) -- caixa larga com bot\u00e3o\n           \"Buscar\", como o card de busca ampla original tinha. Rubens\n           pediu de volta esse layout, explicitamente, depois de eu ter\n           trocado a caixa errada na vers\u00e3o anterior. *\/\n        .ingesto-pf-autocomplete-dropdown {\n            display: none; position: absolute; top: calc(100% + 4px); left: 0; right: 0;\n            background: var(--bg-card); border: 1px solid var(--border); border-radius: 8px;\n            box-shadow: 0 8px 24px rgba(0,0,0,0.35); z-index: 50; max-height: 340px; overflow-y: auto;\n        }\n        .ingesto-pf-autocomplete-item { padding: 10px 14px; cursor: pointer; border-bottom: 1px solid var(--border); }\n        .ingesto-pf-autocomplete-item:last-child { border-bottom: none; }\n        .ingesto-pf-autocomplete-item:hover { background: rgba(255,255,255,0.04); }\n        .ingesto-pf-autocomplete-nome { font-size: 13px; font-weight: 600; color: var(--text-primary); }\n        .ingesto-pf-autocomplete-meta { font-size: 11px; color: var(--text-muted); margin-top: 2px; }\n        .ingesto-pf-autocomplete-rodape { padding: 8px 14px; font-size: 10.5px; color: var(--text-muted); font-style: italic; background: rgba(255,255,255,0.02); }\n        .ingesto-pf-contexto-ativo {\n            display: none; align-items: center; gap: 6px; background: var(--accent-bg); border: 1px solid var(--accent);\n            border-radius: 16px; padding: 3px 6px 3px 10px; font-size: 11px; color: var(--accent); white-space: nowrap;\n            max-width: 260px;\n        }\n        .ingesto-pf-contexto-ativo span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }\n        .ingesto-pf-contexto-ativo strong { font-weight: 600; }\n        .ingesto-pf-contexto-ativo.mostrar { display: flex; }\n        .ingesto-pf-contexto-limpar {\n            background: none; border: none; color: var(--accent); cursor: pointer; font-size: 13px; line-height: 1;\n            padding: 1px 3px; border-radius: 50%; opacity: 0.7; flex-shrink: 0;\n        }\n        .ingesto-pf-contexto-limpar:hover { opacity: 1; background: rgba(255,255,255,0.1); }\n        .ingesto-pf-topbar-right { margin-left: auto; display: flex; align-items: center; gap: 14px; }\n        .ingesto-pf-bell {\n            width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center;\n            color: var(--text-secondary); text-decoration: none; position: relative;\n        }\n        .ingesto-pf-bell:hover { background: rgba(255,255,255,0.05); color: var(--text-primary); }\n        .ingesto-pf-user-chip {\n            display: flex; align-items: center; gap: 8px; padding: 5px 10px; border-radius: 8px;\n            text-decoration: none; font-size: 13px; color: var(--text-primary);\n            background: none; border: none; cursor: pointer; font-family: inherit;\n        }\n        .ingesto-pf-user-chip:hover { background: rgba(255,255,255,0.05); }\n        \/* 23\/09\/2026: menu suspenso do usu\u00e1rio -- Rubens foi expl\u00edcito\n           que quer os DOIS caminhos coexistindo: sino, tema e \"Sair\" do\n           sidebar continuam exatamente onde estavam (intocados), e\n           SOMA-se um menu novo, sob o chip, com Dados Cadastrais,\n           Notifica\u00e7\u00f5es, Tema e Sair juntos -- n\u00e3o substitui nada, s\u00f3\n           adiciona um segundo caminho consolidado. *\/\n        .ingesto-pf-user-menu { position: relative; }\n        .ingesto-pf-user-dropdown {\n            display: none; position: absolute; top: calc(100% + 8px); right: 0; z-index: 250;\n            background: var(--bg-card); border: 1px solid var(--border); border-radius: 10px;\n            box-shadow: 0 8px 24px rgba(0,0,0,.18); min-width: 210px; padding: 6px;\n        }\n        .ingesto-pf-user-dropdown.aberto { display: block; }\n        .ingesto-pf-user-dropdown-item {\n            display: flex; align-items: center; gap: 10px; width: 100%; box-sizing: border-box;\n            text-align: left; padding: 9px 10px; border-radius: 7px; font-size: 13px;\n            color: var(--text-primary); text-decoration: none; background: none; border: none;\n            cursor: pointer; font-family: inherit;\n        }\n        .ingesto-pf-user-dropdown-item:hover { background: var(--bg-page); }\n        .ingesto-pf-user-dropdown-item svg { width: 16px; height: 16px; flex-shrink: 0; color: var(--text-secondary); }\n        .ingesto-pf-user-dropdown-sair { color: var(--danger); }\n        .ingesto-pf-user-dropdown-sair svg { color: var(--danger); }\n\n        \/* MOBILE (03\/09\/2026) -- pedido de Rubens: layout no celular\n           ficava p\u00e9ssimo (sidebar de 220px fixa espremendo o conte\u00fado em\n           qualquer largura de tela, zero @media queries no arquivo\n           inteiro at\u00e9 aqui). Decis\u00f5es confirmadas por Rubens: (1) menu\n           vira barra fixa embaixo, com Dashboard\/TransfereGov\/Portal da\n           Transpar\u00eancia\/Estat\u00edsticas vis\u00edveis e Dados Cadastrais\/\n           Notifica\u00e7\u00f5es\/Certifica\u00e7\u00f5es atr\u00e1s de um bot\u00e3o \"Mais\"; (2) busca\n           do topo vira \u00edcone que abre busca em tela cheia ao tocar; (3)\n           respiro extra embaixo pra n\u00e3o colar na barra de gestos do iOS\n           (safe-area-inset-bottom). *\/\n\n        \/* Barra inferior -- ESCONDIDA por padr\u00e3o (s\u00f3 aparece na media\n           query abaixo, em telas pequenas). Sidebar de desktop continua\n           sendo o menu em telas largas, sem nenhuma mudan\u00e7a de\n           comportamento pra quem usa desktop. *\/\n        .ingesto-pf-mobile-nav { display: none; }\n        .ingesto-pf-search-fechar-mobile { display: none; }\n\n        .ingesto-pf-mobile-mais-overlay {\n            display: none; position: fixed; inset: 0; background: rgba(0,0,0,.4); z-index: 190;\n        }\n        .ingesto-pf-mobile-mais-overlay.aberto { display: block; }\n        .ingesto-pf-mobile-mais-folha {\n            position: absolute; left: 0; right: 0; bottom: 0; background: var(--bg-card);\n            border-radius: 16px 16px 0 0; padding: 10px 8px calc(10px + env(safe-area-inset-bottom, 0px));\n            box-shadow: 0 -8px 30px rgba(0,0,0,.3);\n        }\n        .ingesto-pf-mobile-mais-item {\n            display: flex; align-items: center; gap: 12px; padding: 13px 14px; border-radius: 10px;\n            text-decoration: none; color: var(--text-primary); font-size: 14px;\n        }\n        .ingesto-pf-mobile-mais-item:hover { background: var(--bg-page); }\n        .ingesto-pf-mobile-mais-item svg { width: 18px; height: 18px; flex-shrink: 0; }\n\n        @media (max-width: 768px) {\n            \/* Sidebar de desktop desaparece inteira -- a barra inferior\n               assume o papel de navega\u00e7\u00e3o principal. *\/\n            .ingesto-pf-sidebar { display: none; }\n\n            \/* Respiro embaixo do conte\u00fado pra nada ficar escondido atr\u00e1s\n               da barra fixa (altura da barra + a faixa de gestos do iOS). *\/\n            .ingesto-pf-main { padding: 1.25rem 1rem calc(70px + env(safe-area-inset-bottom, 0px)); }\n\n            \/* 22\/09\/2026, achado por Rubens (print real: chip \"Vendo:\n               ORGANIZA\u00c7\u00c3O\" sobrepondo o H1 \"Ol\u00e1, Nome\"). Causa: a regra\n               base de .ingesto-pf-topbar (fora desta media query) tem\n               height: 58px FIXO -- correto em desktop, onde tudo cabe\n               numa linha s\u00f3. Aqui embaixo o flex-wrap:wrap j\u00e1 existia,\n               fazendo o chip (order:3, width:100%) quebrar pra uma\n               segunda linha quando havia contexto ativo -- mas a altura\n               do container continuava travada em 58px, sem crescer pra\n               acomodar essa segunda linha. Sem overflow:hidden, o\n               conte\u00fado simplesmente vazava pra fora da caixa, por cima\n               do H1 que vem logo depois no HTML. height:auto (com\n               min-height preservando os 58px de antes quando n\u00e3o h\u00e1\n               chip nenhum) resolve na raiz. *\/\n            .ingesto-pf-topbar { flex-wrap: wrap; height: auto; min-height: 58px; padding: 10px 14px; gap: 8px; }\n            .ingesto-pf-contexto-ativo { order: 3; width: 100%; }\n\n            \/* Busca: s\u00f3 o \u00edcone aparece por padr\u00e3o. Input\/select\/bot\u00e3o\n               ficam ocultos at\u00e9 a classe expandida-mobile ser ativada\n               (ver ingestoPfAlternarBuscaMobile() no JS) -- n\u00e3o duplica\n               elemento nenhum, s\u00f3 reorganiza a exibi\u00e7\u00e3o dos mesmos. *\/\n            .ingesto-pf-search { flex: 0 0 auto; position: static; }\n            .ingesto-pf-search input,\n            .ingesto-pf-search select,\n            .ingesto-pf-search .ingesto-pf-search-btn { display: none; }\n            \/* 21\/09\/2026: trocado inset:0 (que fixa a altura pela\n               viewport de LAYOUT, sem encolher quando o teclado virtual\n               abre) por height com fallback -- 100vh primeiro pra\n               navegador sem suporte a dvh, 100dvh depois pra quem tem\n               (cascata: a declara\u00e7\u00e3o v\u00e1lida por \u00faltimo vence). Isso j\u00e1\n               reduz o problema na raiz na maioria dos aparelhos. Mesmo\n               assim, overflow-y:auto entra como rede de seguran\u00e7a -- sem\n               isso, se o conte\u00fado ultrapassar a altura dispon\u00edvel por\n               QUALQUER motivo (teclado, fonte grande do sistema, etc.),\n               o bot\u00e3o \"Buscar\" fica inacess\u00edvel sem nenhuma forma de\n               rolar at\u00e9 ele. Rubens reportou o bot\u00e3o sumindo\n               (input.focus() dispara o teclado 50ms depois de abrir,\n               ver ingestoPfAlternarBuscaMobile()). *\/\n            .ingesto-pf-search.expandida-mobile {\n                position: fixed; top: 0; left: 0; right: 0; z-index: 210; background: var(--bg-page);\n                height: 100vh; height: 100dvh; overflow-y: auto;\n                display: flex; flex-direction: column; align-items: stretch; gap: 10px;\n                padding: calc(16px + env(safe-area-inset-top, 0px)) 16px 16px;\n            }\n            .ingesto-pf-search.expandida-mobile input,\n            .ingesto-pf-search.expandida-mobile select,\n            .ingesto-pf-search.expandida-mobile .ingesto-pf-search-btn { display: block; width: 100%; }\n            \/* 21\/09\/2026, achado por Rubens via DevTools real (Computed\n               do input mostrava height:100dvh sendo tomado quase inteiro\n               por ele): .ingesto-pf-search input tem flex:1 pensado pro\n               desktop, onde o container \u00e9 flex EM LINHA (campo cresce na\n               horizontal, entre \u00edcone e select -- comportamento certo\n               ali). Na busca em tela cheia mobile o container vira\n               flex-direction:column, e o MESMO flex:1 nunca foi\n               neutralizado pra esse contexto -- em coluna, flex:1 cresce\n               na VERTICAL, ent\u00e3o o campo engolia quase toda a altura da\n               tela e empurrava select+\"Buscar\" pra fora da \u00e1rea vis\u00edvel.\n               Ortogonal ao fix de height\/overflow-y da v3.25.0 (aquele\n               era sobre a viewport encolher com o teclado; este \u00e9 sobre\n               o campo crescer demais mesmo com a viewport correta). *\/\n            .ingesto-pf-search.expandida-mobile input { flex: 0 0 auto; }\n\n            \/* 22\/09\/2026, achado por Rubens (print real: resultado da\n               busca aparecendo \"l\u00e1 embaixo\", quase fora da tela). Causa:\n               #ingesto-pf-autocomplete-dropdown \u00e9 position:absolute; top:\n               calc(100% + 4px) -- pensado pro desktop, onde o ancestral\n               posicionado (.ingesto-pf-search) \u00e9 uma barra pequena de\n               ~40px, ent\u00e3o top:100% cai logo abaixo dela, correto ali.\n               Na busca em tela cheia mobile, .ingesto-pf-search VIROU o\n               ancestral posicionado com height:100dvh (fix da v3.25.0)\n               -- top:100% desse container cai perto do FIM da tela\n               inteira, n\u00e3o logo abaixo do campo de texto. Corrigido\n               tirando o dropdown do posicionamento absoluto s\u00f3 nesse\n               contexto e colocando em fluxo normal, logo ap\u00f3s o input,\n               via flex order (sem mexer na ordem do HTML\/DOM, que\n               continua a mesma de sempre). *\/\n            .ingesto-pf-search.expandida-mobile input { order: 1; }\n            .ingesto-pf-search.expandida-mobile #ingesto-pf-autocomplete-dropdown {\n                position: static; order: 2; margin-top: -4px;\n            }\n            .ingesto-pf-search.expandida-mobile select { order: 3; }\n            .ingesto-pf-search.expandida-mobile .ingesto-pf-search-btn { order: 4; }\n            .ingesto-pf-search-fechar-mobile {\n                display: none; position: absolute; top: 14px; right: 14px; background: none; border: none;\n                font-size: 20px; color: var(--text-secondary); cursor: pointer; z-index: 211;\n            }\n            .ingesto-pf-search.expandida-mobile .ingesto-pf-search-fechar-mobile { display: block; }\n            .ingesto-pf-search.expandida-mobile #ingesto-pf-icone-busca { display: none; }\n\n            \/* Barra inferior fixa -- 4 itens vis\u00edveis + \"Mais\". *\/\n            .ingesto-pf-mobile-nav {\n                display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 180;\n                background: var(--bg-card); border-top: 1px solid var(--border);\n                padding: 6px 4px calc(6px + env(safe-area-inset-bottom, 0px));\n            }\n            .ingesto-pf-mobile-nav-item {\n                flex: 1; display: flex; flex-direction: column; align-items: center; gap: 3px;\n                padding: 6px 2px; border: none; background: none; cursor: pointer;\n                text-decoration: none; color: var(--text-muted); font-size: 10px; font-family: inherit;\n            }\n            .ingesto-pf-mobile-nav-item svg { width: 20px; height: 20px; }\n            .ingesto-pf-mobile-nav-item.ativo { color: var(--accent); }\n\n            \/* \u00cdcone flutuante do WhatsApp (plugin Joinchat) colidia com a\n               barra inferior nova -- Rubens reportou, e a vers\u00e3o free do\n               Joinchat n\u00e3o tem op\u00e7\u00e3o de reposicionar pelo pr\u00f3prio painel\n               dele. Usa a vari\u00e1vel CSS OFICIAL do Joinchat (--bottom,\n               documentada em docs.join.chat) pra empurrar o bot\u00e3o pra\n               cima da nossa barra -- n\u00e3o mexe em nada interno do\n               plugin deles, s\u00f3 ajusta o par\u00e2metro que j\u00e1 \u00e9 feito pra\n               isso. Altura da nossa barra (~55-60px) + margem de\n               seguran\u00e7a + safe-area do iOS. *\/\n            .joinchat { --bottom: calc(64px + env(safe-area-inset-bottom, 0px)); }\n\n            \/* 21\/09\/2026: o --bottom acima resolve a posi\u00e7\u00e3o, mas n\u00e3o a\n               ORDEM de empilhamento -- o Joinchat usa z-index alto o\n               bastante pra desenhar por cima do nosso overlay \"Mais\"\n               (z-index 190) mesmo estando na posi\u00e7\u00e3o vertical certa.\n               170 fica abaixo tanto do overlay \"Mais\" (190) quanto da\n               barra de navega\u00e7\u00e3o (180) -- nunca mais cobre nenhum dos\n               dois, sem tocar em nada interno do plugin deles. *\/\n            .joinchat { z-index: 170 !important; }\n\n            \/* Bot\u00e3o \"voltar ao topo\" do tema Trydo (#scrollUp) usa\n               z-index: 2147483647 no pr\u00f3prio HTML dele (o maior inteiro\n               de 32 bits -- decis\u00e3o do tema pra ficar sempre acima de\n               tudo, sem exce\u00e7\u00e3o), o que o torna imposs\u00edvel de disciplinar\n               por z-index nosso. Confirmado com Rubens (21\/09\/2026): a\n               barra de navega\u00e7\u00e3o fixa j\u00e1 cobre o papel de \"voltar r\u00e1pido\"\n               no mobile, ent\u00e3o o bot\u00e3o do tema \u00e9 removido s\u00f3 nessa\n               largura de tela -- sidebar de desktop e o resto do tema\n               continuam intocados. *\/\n            #scrollUp { display: none !important; }\n\n            \/* O footer institucional do TEMA (fora deste plugin, fora do\n               nosso .ingesto-pf-main) n\u00e3o tinha nenhuma compensa\u00e7\u00e3o pra\n               barra de navega\u00e7\u00e3o fixa nova -- ficava parcialmente\n               inacess\u00edvel ao rolar at\u00e9 o fim da p\u00e1gina (Rubens reportou,\n               21\/09\/2026). Como n\u00e3o temos visibilidade do seletor exato\n               do footer do tema, a corre\u00e7\u00e3o vai no <body> em vez de mirar\n               um elemento espec\u00edfico do tema -- garante espa\u00e7o no fim de\n               QUALQUER p\u00e1gina que carregue este CSS, sem depender de\n               conhecer a estrutura interna do tema\/Elementor. Mesmo\n               c\u00e1lculo de altura do .ingesto-pf-main, deliberadamente\n               !important porque o CSS do tema carrega depois do nosso e\n               podia sobrescrever um padding sem prioridade. *\/\n            body { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)) !important; }\n        }\n\n        .ingesto-pf-main { flex: 1; min-width: 0; padding: 2rem 2.25rem; }\n        .ingesto-pf-main h1 { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 26px; margin: 0 0 4px; color: var(--text-primary); }\n        .ingesto-pf-main .ingesto-pf-sub { color: var(--text-secondary); font-size: 14px; margin: 0 0 24px; }\n\n        .ingesto-pf-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }\n        .ingesto-pf-card {\n            background: var(--bg-card); border: 1px solid var(--border); border-radius: 12px;\n            padding: 18px 20px; transition: transform .25s cubic-bezier(.4,0,.2,1), border-color .25s ease, background .25s ease, box-shadow .25s ease;\n        }\n        \/* Efeito de destaque no hover (18\/09\/2026, decis\u00e3o com Rubens): cresce\n           levemente NO PR\u00d3PRIO LUGAR (scale, n\u00e3o largura) -- a maioria dos\n           cards vive dentro de .ingesto-pf-grid (CSS grid, quantidade\n           vari\u00e1vel de colunas por p\u00e1gina), ent\u00e3o crescer largura como no\n           mockup de refer\u00eancia quebraria alinhamento\/sobreporia cards.\n           Usa var(--accent) na borda e no fundo, n\u00e3o hex fixo -- acompanha\n           qualquer troca futura de cor de destaque automaticamente. *\/\n        .ingesto-pf-card:hover {\n            transform: scale(1.03);\n            border-color: var(--accent);\n            background: var(--accent-hover-bg);\n            box-shadow: 0 12px 28px rgba(0,0,0,.18);\n            z-index: 1;\n            position: relative;\n        }\n        .ingesto-pf-card-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 14px; }\n        .ingesto-pf-icon-box {\n            width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center;\n            justify-content: center; background: var(--accent-bg);\n        }\n        .ingesto-pf-icon-box svg { width: 18px; height: 18px; }\n        .ingesto-pf-badge { font-size: 11px; font-weight: 500; padding: 4px 10px; border-radius: 6px; }\n        .ingesto-pf-badge.pending { background: var(--warning-bg); color: var(--warning); }\n        .ingesto-pf-badge.active { background: var(--success-bg); color: var(--success); }\n        .ingesto-pf-badge.perigo { background: var(--danger-bg); color: var(--danger); }\n        .ingesto-pf-badge.accent { background: var(--accent-bg); color: var(--accent); }\n        .ingesto-pf-badge.relator { background: rgba(167,139,250,0.14); color: #A78BFA; }\n        .ingesto-pf-badge.neutro { background: rgba(255,255,255,0.06); color: var(--text-secondary); }\n        \/* v3.43.0 (decis\u00e3o de Rubens, 25\/09\/2026): dourado reservado a ASSINATURA e ORIENTA\u00c7\u00c3O (tour).\n           Dourado s\u00f3 como FUNDO, com texto escuro fixo -- nunca como cor de texto (contraste 1,4:1 no modo claro). *\/\n        .ingesto-pf-badge.assinatura { background: #FFD700; color: #1A1A1A; font-weight: 700; }\n        .ingesto-pf-card.ingesto-pf-card-assinatura { background: #FFD700 !important; border-color: #E6C200 !important; }\n        .ingesto-pf-card-assinatura h3, .ingesto-pf-card-assinatura p { color: #1A1A1A !important; }\n        .ingesto-pf-card-assinatura .ingesto-pf-link { color: #1A1A1A !important; text-decoration: underline; }\n        .ingesto-pf-card h3 { font-weight: 600; font-size: 15px; margin: 0 0 8px; color: var(--text-primary); }\n        .ingesto-pf-card p { font-size: 13px; color: var(--text-secondary); line-height: 1.6; margin: 0 0 4px; }\n        .ingesto-pf-card a.ingesto-pf-link { font-size: 13px; color: var(--accent); text-decoration: none; display: inline-block; margin-top: 8px; }\n        .ingesto-pf-card a.ingesto-pf-link:hover { text-decoration: underline; }\n        .ingesto-pf-mono { font-family: 'JetBrains Mono', monospace; }\n\n        .ingesto-pf-form-label { display: block; font-weight: 600; margin-bottom: 6px; color: var(--text-primary); font-size: 14px; }\n        .ingesto-pf-form-input {\n            width: 100%; padding: 10px 12px; box-sizing: border-box; background: var(--bg-sidebar);\n            border: 1px solid var(--border); border-radius: 8px; color: var(--text-primary); font-family: 'Poppins', sans-serif;\n        }\n        .ingesto-pf-form-input:focus { outline: none; border-color: var(--accent); }\n        .ingesto-pf-checkbox-label { display: flex; align-items: center; margin-bottom: 12px; font-size: 14px; color: var(--text-secondary); cursor: pointer; }\n        .ingesto-pf-checkbox-label input[type=\"checkbox\"] {\n            -webkit-appearance: checkbox; -moz-appearance: checkbox; appearance: checkbox;\n            opacity: 1; position: static; width: 16px; height: 16px; margin: 0 10px 0 0; vertical-align: middle;\n        }\n        .ingesto-pf-btn {\n            font-family: 'Poppins', sans-serif; font-size: 14px; font-weight: 500; color: #ffffff;\n            background: var(--accent); border: none; border-radius: 8px; padding: 10px 20px; cursor: pointer;\n        }\n        .ingesto-pf-btn:hover { opacity: 0.9; }\n        .ingesto-pf-mensagem-ok { background: var(--success-bg); color: var(--success); padding: 10px 14px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; }\n        .ingesto-pf-mensagem-erro { background: var(--warning-bg); color: var(--warning); padding: 10px 14px; border-radius: 8px; margin-bottom: 16px; font-size: 14px; }\n        .ingesto-pf-tabela { width: 100%; border-collapse: collapse; font-size: 14px; color: var(--text-secondary); }\n        .ingesto-pf-tabela th { padding: 10px 8px; border-bottom: 2px solid var(--border); text-align: left; color: var(--text-primary); font-weight: 600; }\n        .ingesto-pf-tabela td { padding: 10px 8px; border-bottom: none; }\n        .ingesto-pf-tabela tbody tr:nth-child(even) { background: var(--row-alt); }\n        .ingesto-pf-tema-btn {\n            width: 32px; height: 32px; border-radius: 8px; display: flex; align-items: center; justify-content: center;\n            color: var(--text-secondary); background: transparent; border: none; cursor: pointer;\n        }\n        .ingesto-pf-tema-btn:hover { background: rgba(255,255,255,0.05); color: var(--text-primary); }\n        .ingesto-pf-tabela-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 0 -2px; }\n        .ingesto-pf-tabela-scroll .ingesto-pf-tabela { min-width: 720px; }\n        .ingesto-pf-tabela tbody tr:hover { background: var(--bg-card-hover); }\n        .ingesto-pf-tabela a.ingesto-pf-link-cruzado { color: var(--text-secondary); text-decoration: none; }\n        .ingesto-pf-tabela a.ingesto-pf-link-cruzado:hover { color: var(--accent); text-decoration: underline; }\n        .ingesto-pf-aviso { background: #131924; color: #F3F5F7; padding: 24px; border-radius: 12px; font-family: 'Poppins', sans-serif; }\n        .ingesto-pf-aviso a { color: #8956e2; }\n    <\/style>\n    <script>\n        function ingestoPfAtualizarLogosSidebar(fechada) {\n            \/\/ Visibilidade das logos via JS direto (n\u00e3o via classe CSS) --\n            \/\/ parte da corre\u00e7\u00e3o definitiva do bug do logo gigante\n            \/\/ (31\/08\/2026): tornar isso imune a ferramentas de \"CSS n\u00e3o\n            \/\/ usado\" que removiam a regra externa .ingesto-pf-sidebar.fechada\n            \/\/ .logo-x, mesmo ela existindo certa no c\u00f3digo-fonte.\n            var horizontal = document.getElementById('ingesto-pf-logo-horizontal');\n            var icone = document.getElementById('ingesto-pf-logo-icone');\n            if (horizontal) horizontal.style.display = fechada ? 'none' : 'block';\n            if (icone) icone.style.display = fechada ? 'flex' : 'none';\n        }\n\n        function ingestoPfAlternarSidebar() {\n            var sb = document.getElementById('ingesto-pf-sidebar');\n            if (!sb) return;\n            sb.classList.toggle('fechada');\n            var fechada = sb.classList.contains('fechada');\n            ingestoPfAtualizarLogosSidebar(fechada);\n            try { localStorage.setItem('ingesto_pf_sidebar_fechada', fechada ? '1' : '0'); } catch (e) {}\n        }\n\n        \/\/ Busca em tela cheia no mobile (03\/09\/2026, pedido de Rubens:\n        \/\/ \u00edcone em vez da barra larga o tempo todo no celular). Reaproveita\n        \/\/ os MESMOS elementos\/ids da busca de desktop -- n\u00e3o duplica\n        \/\/ input\/select\/bot\u00e3o, s\u00f3 expande o pr\u00f3prio container via classe\n        \/\/ CSS (ver media query em .ingesto-pf-search.expandida-mobile).\n        \/\/ Isso evita ids duplicados e mant\u00e9m toda a l\u00f3gica JS de busca\n        \/\/ j\u00e1 existente funcionando sem altera\u00e7\u00e3o.\n        function ingestoPfAlternarBuscaMobile(abrir) {\n            var busca = document.getElementById('ingesto-pf-search');\n            if (!busca) return;\n            busca.classList.toggle('expandida-mobile', abrir);\n            if (abrir) {\n                var input = document.getElementById('ingesto-pf-contexto-input');\n                if (input) setTimeout(function() { input.focus(); }, 50);\n            }\n        }\n\n        \/\/ Menu \"Mais\" da barra inferior mobile.\n        function ingestoPfAlternarMaisMobile() {\n            var overlay = document.getElementById('ingesto-pf-mobile-mais-overlay');\n            if (overlay) overlay.classList.toggle('aberto');\n        }\n\n        var INGESTO_PF_ICONE_SOL = '<circle cx=\"12\" cy=\"12\" r=\"4\"\/><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\"\/>';\n        var INGESTO_PF_ICONE_LUA = '<path d=\"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\"\/>';\n\n        function ingestoPfAtualizarIconeTema(escuro) {\n            var icone = document.getElementById('ingesto-pf-icone-tema');\n            if (!icone) return;\n            \/\/ Mostra o \u00edcone do modo que o clique VAI ativar -- em claro\n            \/\/ (padr\u00e3o), mostra lua (clique escurece); em escuro, mostra\n            \/\/ sol (clique clareia).\n            icone.innerHTML = escuro ? INGESTO_PF_ICONE_SOL : INGESTO_PF_ICONE_LUA;\n        }\n\n        function ingestoPfAlternarTema() {\n            var wrap = document.getElementById('ingesto-pf-wrap');\n            if (!wrap) return;\n            wrap.classList.toggle('tema-escuro');\n            var escuro = wrap.classList.contains('tema-escuro');\n            try { localStorage.setItem('ingesto_pf_tema', escuro ? 'escuro' : 'claro'); } catch (e) {}\n            ingestoPfAtualizarIconeTema( escuro );\n        }\n\n        \/\/ 23\/09\/2026: menu suspenso do chip do usu\u00e1rio -- coexiste com\n        \/\/ sino\/tema\/Sair j\u00e1 existentes, n\u00e3o substitui nada.\n        function ingestoPfAlternarMenuUsuario(evt) {\n            if (evt) evt.stopPropagation();\n            var dd = document.getElementById('ingesto-pf-user-dropdown');\n            if (dd) dd.classList.toggle('aberto');\n        }\n        document.addEventListener('click', function (e) {\n            var dd = document.getElementById('ingesto-pf-user-dropdown');\n            if (!dd || !dd.classList.contains('aberto')) return;\n            if (!dd.contains(e.target) && !e.target.closest('.ingesto-pf-user-chip')) {\n                dd.classList.remove('aberto');\n            }\n        });\n\n        document.addEventListener('DOMContentLoaded', function() {\n            try {\n                var sidebarFechada = localStorage.getItem('ingesto_pf_sidebar_fechada') === '1';\n                if (sidebarFechada) {\n                    var sb = document.getElementById('ingesto-pf-sidebar');\n                    if (sb) sb.classList.add('fechada');\n                }\n                ingestoPfAtualizarLogosSidebar(sidebarFechada);\n                \/\/ CORRE\u00c7\u00c3O (31\/08\/2026): Rubens pediu invers\u00e3o do padr\u00e3o --\n                \/\/ dashboard passa a abrir CLARO por padr\u00e3o; escuro vira a\n                \/\/ op\u00e7\u00e3o que o usu\u00e1rio escolhe (salva em localStorage,\n                \/\/ igual antes, s\u00f3 que com o sentido trocado -- s\u00f3 ativa\n                \/\/ .tema-escuro quando a prefer\u00eancia salva for\n                \/\/ explicitamente 'escuro', em vez de checar 'claro').\n                var wrap = document.getElementById('ingesto-pf-wrap');\n                var temaEscuro = localStorage.getItem('ingesto_pf_tema') === 'escuro';\n                if ( temaEscuro && wrap ) {\n                    wrap.classList.add('tema-escuro');\n                }\n                ingestoPfAtualizarIconeTema( temaEscuro );\n            } catch (e) {}\n\n            \/\/ Busca da topbar (31\/08\/2026) -- layout do card de busca\n            \/\/ ampla original (caixa larga, seletor de UF, bot\u00e3o \"Buscar\"\n            \/\/ expl\u00edcito), na topbar, no lugar da caixa estreita de CNPJ\n            \/\/ exato que existia antes.\n            \/\/\n            \/\/ CORRE\u00c7\u00c3O (31\/08\/2026): a vers\u00e3o anterior removeu a busca ao\n            \/\/ vivo enquanto digita -- Rubens NUNCA pediu isso, eu assumi\n            \/\/ por conta pr\u00f3pria que \"bot\u00e3o de buscar\" significava \"s\u00f3\n            \/\/ busca no clique\". Errado. Os dois convivem: digitar\n            \/\/ continua buscando sozinho (debounce 300ms, m\u00ednimo 2\n            \/\/ caracteres -- mesmo padr\u00e3o do estatisticas.html, j\u00e1 pedido\n            \/\/ explicitamente antes), e o bot\u00e3o\/Enter continuam existindo\n            \/\/ como gatilho expl\u00edcito adicional -- \u00fatil sobretudo depois\n            \/\/ de trocar o filtro de UF, quando n\u00e3o necessariamente se\n            \/\/ digitou nada novo.\n            var inputContexto = document.getElementById('ingesto-pf-contexto-input');\n            var selectUfContexto = document.getElementById('ingesto-pf-contexto-uf');\n            var btnBuscarContexto = document.getElementById('ingesto-pf-contexto-buscar-btn');\n            var dropdownAuto = document.getElementById('ingesto-pf-autocomplete-dropdown');\n            var debounceTimerTopbar = null;\n            \/\/ Conte\u00fado original do \u00edcone de lupa (id ingesto-pf-icone-busca),\n            \/\/ capturado uma vez pra poder restaurar depois de us\u00e1-lo como\n            \/\/ spinner na pr\u00e9via por digita\u00e7\u00e3o (18\/09\/2026) -- sem isso, o\n            \/\/ \u00edcone ficaria permanentemente como c\u00edrculo de spinner depois\n            \/\/ da primeira busca, j\u00e1 que aqui (diferente de\n            \/\/ ingestoPfDefinirContexto) a p\u00e1gina n\u00e3o recarrega.\n            var INGESTO_PF_SVG_LUPA_ORIGINAL = '<circle cx=\"11\" cy=\"11\" r=\"7\"\/><path d=\"M21 21l-4.3-4.3\"\/>';\n            \/\/ CORRE\u00c7\u00c3O (31\/08\/2026): \"digito uma coisa, aparece outra\" --\n            \/\/ condi\u00e7\u00e3o de corrida cl\u00e1ssica de busca-enquanto-digita. Cada\n            \/\/ tecla dispara uma requisi\u00e7\u00e3o nova; se uma requisi\u00e7\u00e3o de um\n            \/\/ termo MAIS CURTO (ex.: \"brasil\") demorar mais que a\n            \/\/ requisi\u00e7\u00e3o do termo final (\"brasil digital\"), ela pode\n            \/\/ voltar DEPOIS e sobrescrever o resultado certo com um\n            \/\/ errado -- exatamente o que a screenshot de Rubens mostrou.\n            \/\/ Corrigido com um contador de sequ\u00eancia: cada busca ganha um\n            \/\/ n\u00famero; s\u00f3 a resposta que corresponde ao n\u00famero MAIS\n            \/\/ RECENTE \u00e9 aplicada na tela -- respostas atrasadas de\n            \/\/ buscas j\u00e1 superadas s\u00e3o descartadas.\n            var ingestoPfSeqBusca = 0;\n\n            function ingestoPfEscTopbar(t) {\n                if (t === null || t === undefined) return '';\n                var d = document.createElement('div');\n                d.textContent = String(t);\n                return d.innerHTML;\n            }\n\n            function ingestoPfFecharDropdown() {\n                if (dropdownAuto) { dropdownAuto.style.display = 'none'; dropdownAuto.innerHTML = ''; }\n            }\n\n            \/\/ CORRE\u00c7\u00c3O (31\/08\/2026): Rubens apontou -- corretamente --\n            \/\/ que o bot\u00e3o \"Buscar\" fazia a MESMA busca (limite 8) que j\u00e1\n            \/\/ tinha sido feita ao digitar, ent\u00e3o clicar nele n\u00e3o mudava\n            \/\/ nada vis\u00edvel, parecia \"n\u00e3o funcionar\". E se a organiza\u00e7\u00e3o\n            \/\/ n\u00e3o estivesse nos 8 primeiros resultados, n\u00e3o havia como\n            \/\/ ver o resto -- teria que refinar a busca \u00e0s cegas.\n            \/\/\n            \/\/ Corrigido reproduzindo o padr\u00e3o exato do estatisticas.html\n            \/\/ antigo, que Rubens apontou como correto: ENQUANTO DIGITA\n            \/\/ (debounce) mostra s\u00f3 uma PR\u00c9VIA de 8 itens, com aviso\n            \/\/ expl\u00edcito de que \u00e9 pr\u00e9via. Clicar em BUSCAR, apertar\n            \/\/ ENTER, ou trocar a UF dispara a busca COMPLETA (limite\n            \/\/ bem maior, 80) -- a\u00e7\u00e3o genuinamente diferente agora, n\u00e3o\n            \/\/ repeti\u00e7\u00e3o da mesma consulta.\n            function ingestoPfExecutarBuscaTopbar(buscaCompleta) {\n                var termo = inputContexto.value.trim();\n                var iconeBuscaTopbar = document.getElementById('ingesto-pf-icone-busca');\n                \/\/ 22\/09\/2026, achado por Rubens: no mobile (busca em tela\n                \/\/ cheia), #ingesto-pf-icone-busca \u00e9 escondido via\n                \/\/ display:none (substitu\u00eddo pelo bot\u00e3o \"X\" de fechar) --\n                \/\/ o spinner da PR\u00c9VIA por digita\u00e7\u00e3o, que reaproveita esse\n                \/\/ mesmo \u00edcone, ficava invis\u00edvel, sem nenhum feedback\n                \/\/ visual enquanto digitava. offsetParent === null \u00e9 a\n                \/\/ forma padr\u00e3o de checar \"est\u00e1 de fato escondido\" (por\n                \/\/ display:none em si ou em qualquer ancestral) sem\n                \/\/ precisar duplicar a media query em JS.\n                var iconeVisivel = !!iconeBuscaTopbar && iconeBuscaTopbar.offsetParent !== null;\n                if (termo.length < 2) {\n                    ingestoPfFecharDropdown();\n                    if (iconeBuscaTopbar) { iconeBuscaTopbar.classList.remove('girando'); iconeBuscaTopbar.innerHTML = INGESTO_PF_SVG_LUPA_ORIGINAL; }\n                    return;\n                }\n\n                ingestoPfSeqBusca++;\n                var minhaSeq = ingestoPfSeqBusca;\n                var limiteBusca = buscaCompleta ? 80 : 8;\n\n                \/\/ Spinner no bot\u00e3o \"Buscar\" pra busca COMPLETA (clique,\n                \/\/ Enter, ou troca de UF); spinner no pr\u00f3prio \u00edcone de lupa\n                \/\/ pra PR\u00c9VIA por digita\u00e7\u00e3o (buscaCompleta = false) -- essa\n                \/\/ dispara a cada letra, n\u00e3o faz sentido desabilitar o\n                \/\/ bot\u00e3o inteiro pra isso, mas o usu\u00e1rio pediu feedback\n                \/\/ visual tamb\u00e9m enquanto digita (18\/09\/2026). Reaproveita\n                \/\/ o mesmo mecanismo de girando+circle j\u00e1 usado em\n                \/\/ ingestoPfDefinirContexto, s\u00f3 que restaurando o \u00edcone\n                \/\/ original depois (l\u00e1 n\u00e3o precisa restaurar -- a p\u00e1gina\n                \/\/ recarrega em caso de sucesso).\n                \/\/\n                \/\/ 22\/09\/2026: quando o \u00edcone est\u00e1 escondido (mobile),\n                \/\/ cai pro spinner do bot\u00e3o \"Buscar\" tamb\u00e9m na pr\u00e9via --\n                \/\/ \u00fanico jeito de dar feedback vis\u00edvel nesse contexto.\n                \/\/ Efeito colateral conhecido, aceito: o bot\u00e3o fica\n                \/\/ desabilitado por uma fra\u00e7\u00e3o de segundo a cada tecla\n                \/\/ digitada (mesmo comportamento do ingestoPfSpinnerOn na\n                \/\/ busca completa), n\u00e3o s\u00f3 no clique\/Enter.\n                if ( buscaCompleta && btnBuscarContexto ) {\n                    ingestoPfSpinnerOn( btnBuscarContexto, 'Buscando...' );\n                } else if ( iconeVisivel ) {\n                    iconeBuscaTopbar.classList.add('girando');\n                    iconeBuscaTopbar.innerHTML = '<circle cx=\"12\" cy=\"12\" r=\"9\" stroke-dasharray=\"42\" stroke-dashoffset=\"14\" fill=\"none\"\/>';\n                } else if ( btnBuscarContexto ) {\n                    ingestoPfSpinnerOn( btnBuscarContexto, 'Buscando...' );\n                }\n\n                var dados = new FormData();\n                dados.append('action', 'ingesto_pf_busca_ampla');\n                dados.append('nonce', 'ace80b5256');\n                dados.append('termo', termo);\n                dados.append('uf', selectUfContexto ? selectUfContexto.value : '');\n                dados.append('limite', String(limiteBusca));\n\n                fetch('https:\/\/ingesto.org.br\/wp-admin\/admin-ajax.php', {\n                    method: 'POST', body: dados, credentials: 'same-origin'\n                })\n                .then(function(r) { return r.json(); })\n                .then(function(resposta) {\n                    \/\/ Descarta se j\u00e1 existe uma busca mais nova em\n                    \/\/ andamento -- essa resposta chegou atrasada.\n                    if (minhaSeq !== ingestoPfSeqBusca) return;\n\n                    if (!resposta.success) { ingestoPfFecharDropdown(); return; }\n                    var resultados = resposta.data.resultados || [];\n                    if (resultados.length === 0) {\n                        dropdownAuto.innerHTML = '<div class=\"ingesto-pf-autocomplete-rodape\">Nenhuma organiza\u00e7\u00e3o ou fundo encontrado.<\/div>';\n                        dropdownAuto.style.display = 'block';\n                        return;\n                    }\n\n                    var html = resultados.map(function(r) {\n                        var ehFundo = r.tipo === 'fundo';\n                        var cnpjDigitos = (r.cnpj || '').replace(\/\\D\/g, '');\n                        return '<div class=\"ingesto-pf-autocomplete-item\" data-cnpj=\"' + ingestoPfEscTopbar(cnpjDigitos) + '\">'\n                            + '<div class=\"ingesto-pf-autocomplete-nome\">' + ingestoPfEscTopbar(r.nome || '\u2014') + (ehFundo ? ' <span class=\"ingesto-pf-badge accent\" style=\"font-size:8px;padding:1px 5px;\">FUNDO<\/span>' : '') + '<\/div>'\n                            + '<div class=\"ingesto-pf-autocomplete-meta\">' + ingestoPfEscTopbar(r.municipio || '') + (r.uf ? ' - ' + ingestoPfEscTopbar(r.uf) : '') + '<\/div>'\n                            + '<\/div>';\n                    }).join('');\n\n                    if (!buscaCompleta && resultados.length >= limiteBusca) {\n                        html += '<div class=\"ingesto-pf-autocomplete-rodape\">Esta \u00e9 s\u00f3 uma pr\u00e9via (at\u00e9 8 itens). Aperte Buscar ou Enter para ver a lista completa.<\/div>';\n                    } else if (buscaCompleta && resultados.length >= limiteBusca) {\n                        html += '<div class=\"ingesto-pf-autocomplete-rodape\">' + resultados.length + '+ resultados. Refine a busca (nome mais espec\u00edfico, ou filtro de UF) pra ver todos.<\/div>';\n                    }\n\n                    dropdownAuto.innerHTML = html;\n                    dropdownAuto.style.display = 'block';\n\n                    dropdownAuto.querySelectorAll('.ingesto-pf-autocomplete-item').forEach(function(item) {\n                        item.addEventListener('click', function() {\n                            ingestoPfFecharDropdown();\n                            if (item.dataset.cnpj) ingestoPfDefinirContexto(item.dataset.cnpj);\n                        });\n                    });\n                })\n                .catch(function() { ingestoPfFecharDropdown(); })\n                .finally(function() {\n                    \/\/ S\u00f3 restaura se ainda for a busca mais recente -- uma\n                    \/\/ busca antiga n\u00e3o pode \"desligar\" o spinner de uma\n                    \/\/ busca mais nova que j\u00e1 est\u00e1 rodando.\n                    if ( minhaSeq !== ingestoPfSeqBusca ) return;\n                    if ( buscaCompleta && btnBuscarContexto ) {\n                        ingestoPfSpinnerOff( btnBuscarContexto, 'Buscar' );\n                    } else if ( !buscaCompleta && iconeVisivel ) {\n                        iconeBuscaTopbar.classList.remove('girando');\n                        iconeBuscaTopbar.innerHTML = INGESTO_PF_SVG_LUPA_ORIGINAL;\n                    } else if ( !buscaCompleta && btnBuscarContexto ) {\n                        ingestoPfSpinnerOff( btnBuscarContexto, 'Buscar' );\n                    }\n                });\n            }\n\n            if ( inputContexto ) {\n                inputContexto.addEventListener('input', function() {\n                    clearTimeout(debounceTimerTopbar);\n                    var termo = inputContexto.value.trim();\n                    if (termo.length < 2) { ingestoPfFecharDropdown(); return; }\n                    debounceTimerTopbar = setTimeout(function() { ingestoPfExecutarBuscaTopbar(false); }, 300);\n                });\n                inputContexto.addEventListener('keydown', function(e) {\n                    if (e.key !== 'Enter') return;\n                    clearTimeout(debounceTimerTopbar);\n                    ingestoPfExecutarBuscaTopbar(true);\n                });\n            }\n            if ( btnBuscarContexto ) {\n                btnBuscarContexto.addEventListener('click', function() {\n                    clearTimeout(debounceTimerTopbar);\n                    ingestoPfExecutarBuscaTopbar(true);\n                });\n            }\n            if ( selectUfContexto ) {\n                \/\/ Trocar o filtro de UF tamb\u00e9m dispara busca de novo, se\n                \/\/ j\u00e1 houver termo digitado -- sen\u00e3o o filtro fica \"mudo\"\n                \/\/ at\u00e9 o usu\u00e1rio mexer no texto.\n                selectUfContexto.addEventListener('change', function() {\n                    if ( inputContexto && inputContexto.value.trim().length >= 2 ) {\n                        clearTimeout(debounceTimerTopbar);\n                        ingestoPfExecutarBuscaTopbar(true);\n                    }\n                });\n            }\n            document.addEventListener('click', function(e) {\n                if (dropdownAuto && !dropdownAuto.contains(e.target) && e.target !== inputContexto && e.target !== btnBuscarContexto) {\n                    ingestoPfFecharDropdown();\n                }\n            });\n        });\n\n        \/\/ CORRE\u00c7\u00c3O (31\/08\/2026): Rubens reportou que o X do indicador de\n        \/\/ contexto funciona logado, mas N\u00c3O funciona pra visitante\n        \/\/ an\u00f4nimo -- a organiza\u00e7\u00e3o n\u00e3o some. Diagn\u00f3stico com base no que\n        \/\/ j\u00e1 est\u00e1 PROVADO nesta sess\u00e3o, n\u00e3o suposi\u00e7\u00e3o nova: definir\n        \/\/ contexto (busca) j\u00e1 funciona pra an\u00f4nimo, confirmado com log\n        \/\/ de debug real em sess\u00e3o anterior (mesmo ID de sess\u00e3o antes e\n        \/\/ depois, contexto encontrado com sucesso) -- ent\u00e3o o mecanismo\n        \/\/ de sess\u00e3o em si est\u00e1 s\u00f3lido pros dois casos. Limpar usa o\n        \/\/ MESMO mecanismo (unset() na mesma sess\u00e3o), sem raz\u00e3o t\u00e9cnica\n        \/\/ pra falhar onde definir funciona. Isso aponta pra fora do PHP:\n        \/\/ cache de p\u00e1gina que trata visitante an\u00f4nimo diferente de\n        \/\/ logado -- comportamento PADR\u00c3O de praticamente todo cache no\n        \/\/ WordPress (nunca cacheia logado, quase sempre cacheia\n        \/\/ an\u00f4nimo, de prop\u00f3sito). nocache_headers() (v3.1.1) n\u00e3o\n        \/\/ resolve isso se o cache for de um tipo que serve arquivo\n        \/\/ est\u00e1tico ANTES do PHP\/WordPress rodar (comum em cache de\n        \/\/ borda\/plugins agressivos) -- nesse caso o cabe\u00e7alho nunca\n        \/\/ chega a ser lido, porque o PHP nem executa. Contramedida\n        \/\/ CONCRETA (n\u00e3o \u00e9 s\u00f3 esperan\u00e7a): recarregar pra uma URL com\n        \/\/ par\u00e2metro novo a cada vez -- um cache que funciona por URL\n        \/\/ exata (o tipo mais comum) nunca viu essa URL antes, ent\u00e3o n\u00e3o\n        \/\/ tem como servir vers\u00e3o antiga -- \u00e9 obrigado a gerar de novo.\n        function ingestoPfRecarregarSemCache() {\n            var url = new URL(window.location.href);\n            url.searchParams.set('_ic', Date.now());\n            window.location.href = url.toString();\n        }\n\n        function ingestoPfDefinirContexto(valorDigitado) {\n            var input = document.getElementById('ingesto-pf-contexto-input');\n            var icone = document.getElementById('ingesto-pf-icone-busca');\n\n            if (input) input.disabled = true;\n            if (icone) {\n                icone.classList.add('girando');\n                icone.innerHTML = '<circle cx=\"12\" cy=\"12\" r=\"9\" stroke-dasharray=\"42\" stroke-dashoffset=\"14\" fill=\"none\"\/>';\n            }\n\n            var dados = new FormData();\n            dados.append('action', 'ingesto_pf_definir_contexto');\n            dados.append('nonce', 'ace80b5256');\n            dados.append('cnpj', valorDigitado);\n\n            fetch('https:\/\/ingesto.org.br\/wp-admin\/admin-ajax.php', {\n                method: 'POST', body: dados, credentials: 'same-origin'\n            })\n            .then(function(r) { return r.json(); })\n            .then(function(resposta) {\n                if (!resposta.success) {\n                    alert((resposta.data && resposta.data.message) ? resposta.data.message : 'Erro ao buscar organiza\u00e7\u00e3o.');\n                    return;\n                }\n                \/\/ Recarrega a p\u00e1gina inteira -- o conte\u00fado de cada p\u00e1gina\n                \/\/ (cards, tabelas) \u00e9 montado pelo PHP no carregamento,\n                \/\/ lendo o contexto da sess\u00e3o. S\u00f3 atualizar o indicador via\n                \/\/ JS, sem recarregar, deixava a p\u00e1gina com o conte\u00fado\n                \/\/ antigo -- bug real pego por Rubens em teste (29\/08\/2026).\n                ingestoPfRecarregarSemCache();\n            })\n            .catch(function() { alert('Erro de conex\u00e3o. Tente novamente.'); })\n            .finally(function() {\n                if (input) input.disabled = false;\n                if (icone) {\n                    icone.classList.remove('girando');\n                    icone.innerHTML = '<circle cx=\"11\" cy=\"11\" r=\"7\"\/><path d=\"M21 21l-4.3-4.3\"\/>';\n                }\n            });\n        }\n\n        function ingestoPfLimparContexto(botao) {\n            var textoOriginal = botao ? botao.innerHTML : null;\n            if ( botao ) ingestoPfSpinnerOn( botao, '' );\n\n            var dados = new FormData();\n            dados.append('action', 'ingesto_pf_limpar_contexto');\n\n            fetch('https:\/\/ingesto.org.br\/wp-admin\/admin-ajax.php', {\n                method: 'POST', body: dados, credentials: 'same-origin'\n            })\n            .then(function() {\n                ingestoPfRecarregarSemCache();\n                \/\/ Sem .finally aqui de prop\u00f3sito: a p\u00e1gina recarrega em\n                \/\/ caso de sucesso (ingestoPfRecarregarSemCache), ent\u00e3o\n                \/\/ restaurar o bot\u00e3o antes disso s\u00f3 causaria um piscar\n                \/\/ sem sentido -- s\u00f3 restaura no catch, quando a p\u00e1gina\n                \/\/ N\u00c3O vai recarregar.\n            })\n            .catch(function() {\n                if ( botao ) ingestoPfSpinnerOff( botao, textoOriginal );\n            });\n        }\n\n        \/\/ \u2500\u2500 SPINNER GEN\u00c9RICO (18\/09\/2026) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n        \/\/ Fun\u00e7\u00f5es globais, reaproveitadas por todo bot\u00e3o do plugin que\n        \/\/ dispara consulta ao banco -- antes cada ponto reimplementava\n        \/\/ \"disabled = true + trocar texto\" na m\u00e3o, sem \u00edcone visual\n        \/\/ nenhum (13 pontos de fetch() sem indicador algum, achado real\n        \/\/ ao levantar o escopo desse pedido). Guarda o conte\u00fado original\n        \/\/ do bot\u00e3o em data-texto-original pra restaurar depois, mesmo\n        \/\/ que a chamada de Off() aconte\u00e7a numa fun\u00e7\u00e3o diferente da que\n        \/\/ chamou On() (padr\u00e3o comum no plugin -- On no in\u00edcio do fetch,\n        \/\/ Off dentro do .then()\/.catch()).\n        function ingestoPfSpinnerOn( elemento, textoCarregando ) {\n            if ( ! elemento ) return;\n            if ( elemento.dataset.textoOriginal === undefined ) {\n                elemento.dataset.textoOriginal = elemento.innerHTML;\n            }\n            elemento.disabled = true;\n            var spinnerSvg = '<svg class=\"ingesto-pf-spinner-icone\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\"><circle cx=\"12\" cy=\"12\" r=\"9\" stroke-dasharray=\"42\" stroke-dashoffset=\"14\"\/><\/svg>';\n            elemento.innerHTML = spinnerSvg + ( textoCarregando || '' );\n        }\n        function ingestoPfSpinnerOff( elemento, textoFinal ) {\n            if ( ! elemento ) return;\n            elemento.disabled = false;\n            elemento.innerHTML = ( textoFinal !== null && textoFinal !== undefined ) ? textoFinal : ( elemento.dataset.textoOriginal || '' );\n        }\n    <\/script>\n    <svg width=\"0\" height=\"0\" style=\"position:absolute;\"><defs>\n        <linearGradient id=\"ingesto-pf-gradiente\" x1=\"0%\" y1=\"0%\" x2=\"100%\" y2=\"100%\">\n            <stop offset=\"0%\" stop-color=\"#7DB3FF\"\/>\n            <stop offset=\"100%\" stop-color=\"#1D4ED8\"\/>\n        <\/linearGradient>\n    <\/defs><\/svg>    <div class=\"ingesto-pf-dash-wrap\" id=\"ingesto-pf-wrap\">\n        <aside class=\"ingesto-pf-sidebar\" id=\"ingesto-pf-sidebar\">\n            <div class=\"ingesto-pf-brand-row\">\n                <div class=\"ingesto-pf-brand\" onclick=\"if(document.getElementById('ingesto-pf-sidebar').classList.contains('fechada')) ingestoPfAlternarSidebar();\">\n                                                                <img decoding=\"async\" src=\"https:\/\/ingesto.org.br\/wp-content\/uploads\/2020\/11\/cropped-icone-ingesto-banner_menor.png\" alt=\"Ingesto\" class=\"ingesto-pf-logo-horizontal\" id=\"ingesto-pf-logo-horizontal\" style=\"display:block;max-width:100%;height:26px;width:auto;\">\n                                                                <img decoding=\"async\" src=\"https:\/\/ingesto.org.br\/wp-content\/uploads\/2020\/11\/cropped-cropped-icone.png\" alt=\"Ingesto\" class=\"ingesto-pf-logo-icone\" id=\"ingesto-pf-logo-icone\" style=\"display:none;height:30px;width:30px;border-radius:50%;flex-shrink:0;\">\n                                    <\/div>\n                <button type=\"button\" class=\"ingesto-pf-toggle\" onclick=\"ingestoPfAlternarSidebar()\" title=\"Recolher menu\">\n                    <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M15 18l-6-6 6-6\"\/><\/svg>\n                <\/button>\n            <\/div>\n            <div class=\"ingesto-pf-nav-group\">\n                                    <a href=\"https:\/\/ingesto.org.br\/en\/painel-federal\/\" class=\"ingesto-pf-nav-item\" title=\"Dashboard\" data-slug=\"dashboard\">\n                        <span class=\"ingesto-pf-nav-item-icone\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"\/><\/svg><\/span>\n                        <span class=\"ingesto-pf-nav-item-texto\">Dashboard<\/span>\n                    <\/a>\n                                    <a href=\"https:\/\/ingesto.org.br\/en\/painel-federal\/impedimentos-livre\/\" class=\"ingesto-pf-nav-item ativo\" title=\"Impedimentos\" data-slug=\"impedimentos-livre\">\n                        <span class=\"ingesto-pf-nav-item-icone\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10.3 3.3a2 2 0 0 1 3.4 0l8 14A2 2 0 0 1 20 20.5H4a2 2 0 0 1-1.7-3.2z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg><\/span>\n                        <span class=\"ingesto-pf-nav-item-texto\">Impedimentos<\/span>\n                    <\/a>\n                                    <a href=\"https:\/\/ingesto.org.br\/en\/painel-federal\/certificacoes\/\" class=\"ingesto-pf-nav-item\" title=\"Certifica\u00e7\u00f5es\" data-slug=\"certificacoes\">\n                        <span class=\"ingesto-pf-nav-item-icone\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"9\" r=\"6\"\/><path d=\"M9 14.5L7 22l5-3 5 3-2-7.5\"\/><\/svg><\/span>\n                        <span class=\"ingesto-pf-nav-item-texto\">Certifica\u00e7\u00f5es<\/span>\n                    <\/a>\n                                    <a href=\"https:\/\/ingesto.org.br\/en\/painel-federal\/portal-transparencia\/\" class=\"ingesto-pf-nav-item\" title=\"Transpar\u00eancia\" data-slug=\"portal-transparencia\">\n                        <span class=\"ingesto-pf-nav-item-icone\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 2L2 8v2h20V8L12 2z\"\/><line x1=\"4\" y1=\"10\" x2=\"4\" y2=\"19\"\/><line x1=\"9\" y1=\"10\" x2=\"9\" y2=\"19\"\/><line x1=\"15\" y1=\"10\" x2=\"15\" y2=\"19\"\/><line x1=\"20\" y1=\"10\" x2=\"20\" y2=\"19\"\/><line x1=\"2\" y1=\"21\" x2=\"22\" y2=\"21\"\/><\/svg><\/span>\n                        <span class=\"ingesto-pf-nav-item-texto\">Transpar\u00eancia<\/span>\n                    <\/a>\n                                    <a href=\"https:\/\/ingesto.org.br\/en\/painel-federal\/estatisticas-livre\/\" class=\"ingesto-pf-nav-item\" title=\"Estat\u00edsticas Livres\" data-slug=\"estatisticas-livre\">\n                        <span class=\"ingesto-pf-nav-item-icone\"><svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 9h18l-2 10H5L3 9z\"\/><path d=\"M3 9l3-5h12l3 5\"\/><line x1=\"9\" y1=\"13\" x2=\"9\" y2=\"16\"\/><line x1=\"15\" y1=\"13\" x2=\"15\" y2=\"16\"\/><\/svg><\/span>\n                        <span class=\"ingesto-pf-nav-item-texto\">Estat\u00edsticas Livres<\/span>\n                    <\/a>\n                            <\/div>\n            <div class=\"ingesto-pf-nav-footer\">\n                <div class=\"ingesto-pf-avatar\">V<\/div>\n                <div class=\"ingesto-pf-nav-footer-texto\">\n                    <div class=\"ingesto-pf-nav-footer-name\">Visitante<\/div>\n                    <div class=\"ingesto-pf-nav-footer-plan\">Painel Federal<\/div>\n                <\/div>\n                            <\/div>\n        <\/aside>\n        <div class=\"ingesto-pf-col\">\n            <div class=\"ingesto-pf-topbar\">\n                <div class=\"ingesto-pf-search\" id=\"ingesto-pf-search\">\n                    <svg id=\"ingesto-pf-icone-busca\" width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" onclick=\"ingestoPfAlternarBuscaMobile(true)\" style=\"cursor:pointer;\"><circle cx=\"11\" cy=\"11\" r=\"7\"\/><path d=\"M21 21l-4.3-4.3\"\/><\/svg>\n                    <input type=\"text\" id=\"ingesto-pf-contexto-input\" placeholder=\"Buscar por nomes ou CNPJs\" autocomplete=\"off\">\n                    <select id=\"ingesto-pf-contexto-uf\">\n                        <option value=\"\">Todas UFs<\/option>\n                                                    <option value=\"AC\">AC<\/option>\n                                                    <option value=\"AL\">AL<\/option>\n                                                    <option value=\"AP\">AP<\/option>\n                                                    <option value=\"AM\">AM<\/option>\n                                                    <option value=\"BA\">BA<\/option>\n                                                    <option value=\"CE\">CE<\/option>\n                                                    <option value=\"DF\">DF<\/option>\n                                                    <option value=\"ES\">ES<\/option>\n                                                    <option value=\"GO\">GO<\/option>\n                                                    <option value=\"MA\">MA<\/option>\n                                                    <option value=\"MT\">MT<\/option>\n                                                    <option value=\"MS\">MS<\/option>\n                                                    <option value=\"MG\">MG<\/option>\n                                                    <option value=\"PA\">PA<\/option>\n                                                    <option value=\"PB\">PB<\/option>\n                                                    <option value=\"PR\">PR<\/option>\n                                                    <option value=\"PE\">PE<\/option>\n                                                    <option value=\"PI\">PI<\/option>\n                                                    <option value=\"RJ\">RJ<\/option>\n                                                    <option value=\"RN\">RN<\/option>\n                                                    <option value=\"RS\">RS<\/option>\n                                                    <option value=\"RO\">RO<\/option>\n                                                    <option value=\"RR\">RR<\/option>\n                                                    <option value=\"SC\">SC<\/option>\n                                                    <option value=\"SP\">SP<\/option>\n                                                    <option value=\"SE\">SE<\/option>\n                                                    <option value=\"TO\">TO<\/option>\n                                            <\/select>\n                    <button type=\"button\" id=\"ingesto-pf-contexto-buscar-btn\" class=\"ingesto-pf-search-btn\">Buscar<\/button>\n                    <button type=\"button\" class=\"ingesto-pf-search-fechar-mobile\" onclick=\"ingestoPfAlternarBuscaMobile(false)\">\u2715<\/button>\n                    <div id=\"ingesto-pf-autocomplete-dropdown\" class=\"ingesto-pf-autocomplete-dropdown\"><\/div>\n                <\/div>\n                <div class=\"ingesto-pf-contexto-ativo\" id=\"ingesto-pf-contexto-ativo\">\n                    <span>Vendo: <strong id=\"ingesto-pf-contexto-nome\"><\/strong><\/span>\n                    <button type=\"button\" class=\"ingesto-pf-contexto-limpar\" onclick=\"ingestoPfLimparContexto(this)\" title=\"Trocar organiza\u00e7\u00e3o\">\u00d7<\/button>\n                <\/div>\n                <div class=\"ingesto-pf-topbar-right\">\n                    <button type=\"button\" class=\"ingesto-pf-tema-btn\" onclick=\"ingestoPfAlternarTema()\" title=\"Alternar tema claro\/escuro\">\n                        <svg id=\"ingesto-pf-icone-tema\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"4\"\/><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\"\/><\/svg>\n                    <\/button>\n                                            <a href=\"https:\/\/ingesto.org.br\/en\/painel-federal\/notificacoes\/\" class=\"ingesto-pf-bell\" title=\"Notifica\u00e7\u00f5es\">\n                            <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9\"\/><path d=\"M13.7 21a2 2 0 0 1-3.4 0\"\/><\/svg>\n                        <\/a>\n                                        <div class=\"ingesto-pf-user-menu\">\n                        <button type=\"button\" class=\"ingesto-pf-user-chip\" onclick=\"ingestoPfAlternarMenuUsuario(event)\">\n                            <div class=\"ingesto-pf-avatar\" style=\"width:24px;height:24px;font-size:10px;\">V<\/div>\n                            <span>Visitante<\/span>\n                        <\/button>\n                        <div class=\"ingesto-pf-user-dropdown\" id=\"ingesto-pf-user-dropdown\">\n                                                        <a href=\"https:\/\/ingesto.org.br\/en\/painel-federal\/dados-cadastrais\/\" class=\"ingesto-pf-user-dropdown-item\">\n                                <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"4\" y=\"3\" width=\"16\" height=\"18\" rx=\"1\"\/><line x1=\"9\" y1=\"8\" x2=\"9\" y2=\"8\"\/><line x1=\"15\" y1=\"8\" x2=\"15\" y2=\"8\"\/><line x1=\"9\" y1=\"13\" x2=\"9\" y2=\"13\"\/><line x1=\"15\" y1=\"13\" x2=\"15\" y2=\"13\"\/><\/svg> Dados Cadastrais\n                            <\/a>\n                                                                                    <a href=\"https:\/\/ingesto.org.br\/en\/painel-federal\/notificacoes\/\" class=\"ingesto-pf-user-dropdown-item\">\n                                <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M18 8a6 6 0 0 0-12 0c0 7-3 9-3 9h18s-3-2-3-9\"\/><path d=\"M13.7 21a2 2 0 0 1-3.4 0\"\/><\/svg> Notifica\u00e7\u00f5es\n                            <\/a>\n                                                        <button type=\"button\" class=\"ingesto-pf-user-dropdown-item\" onclick=\"ingestoPfAlternarTema()\">\n                                <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"4\"\/><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\"\/><\/svg>\n                                Tema: claro\/escuro\n                            <\/button>\n                                                    <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n            <div class=\"ingesto-pf-main\">\n                <h1>Impedimentos <span class=\"ingesto-pf-badge active\" style=\"vertical-align:middle;font-size:9px;padding:2px 7px;\">LIVRE<\/span><\/h1>\n                <p class=\"ingesto-pf-sub\">Cadastro de Entidades Impedidas (CEPIM) \u2014 livre, busque por nome, CNPJ, motivo ou \u00f3rg\u00e3o<\/p>        <div class=\"ingesto-pf-card\" style=\"margin-bottom:20px;\">\n        <label style=\"display:block;font-size:12px;color:var(--text-secondary);margin-bottom:6px;\">Buscar por nome de organiza\u00e7\u00e3o, CNPJ, motivo ou \u00f3rg\u00e3o<\/label>\n        <div style=\"display:flex;gap:10px;flex-wrap:wrap;\">\n            <input type=\"text\" id=\"ingesto-pf-imp-busca-input\" placeholder=\"Ex.: presta\u00e7\u00e3o de contas, Minist\u00e9rio da Sa\u00fade\u2026\" autocomplete=\"off\" class=\"ingesto-pf-form-input\" style=\"flex:1;min-width:220px;\">\n            <button type=\"button\" id=\"ingesto-pf-imp-btn-buscar\" class=\"ingesto-pf-btn\">Buscar<\/button>\n        <\/div>\n        <p style=\"font-size:11px;color:var(--text-muted);margin:10px 0 0;\">\n            Nem toda organiza\u00e7\u00e3o impedida tem nome dispon\u00edvel nesta busca (cobertura de ~61% do total) \u2014 as demais aparecem s\u00f3 pelo CNPJ, ainda busc\u00e1veis por motivo ou \u00f3rg\u00e3o. Fonte: Portal da Transpar\u00eancia (CEPIM).\n        <\/p>\n    <\/div>\n\n    <p id=\"ingesto-pf-imp-contagem\" style=\"font-size:12px;color:var(--text-muted);margin-bottom:12px;\"><\/p>\n    <div id=\"ingesto-pf-imp-resultado\"><\/div>\n    <div id=\"ingesto-pf-imp-paginacao\" style=\"display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px;\"><\/div>\n\n    <script>\n    (function() {\n        var NONCE = 'ace80b5256';\n        var AJAX_URL = 'https:\/\/ingesto.org.br\/wp-admin\/admin-ajax.php';\n        var TAMANHO_PAGINA = 20;\n        var resultadoDiv = document.getElementById('ingesto-pf-imp-resultado');\n        var contagemDiv = document.getElementById('ingesto-pf-imp-contagem');\n        var paginacaoDiv = document.getElementById('ingesto-pf-imp-paginacao');\n        var inputBusca = document.getElementById('ingesto-pf-imp-busca-input');\n        var btnBuscar = document.getElementById('ingesto-pf-imp-btn-buscar');\n\n        \/\/ Estado da p\u00e1gina atual -- guardado aqui pra Anterior\/Pr\u00f3xima\n        \/\/ saberem o offset certo sem precisar reler o DOM.\n        var estado = { termo: '', offset: 0 };\n\n        function esc(t) { if (t === null || t === undefined) return ''; var d = document.createElement('div'); d.textContent = String(t); return d.innerHTML; }\n\n        var ROTULO_FASE = { administrativo: 'Fase administrativa', tcu: 'Via administrativa esgotada \u2014 TCU', indefinido: 'Fase n\u00e3o determinada' };\n\n        function montarLista(resultados) {\n            if (!resultados || resultados.length === 0) {\n                return '<p style=\"font-size:13px;color:var(--text-muted);\">Nenhum impedimento encontrado com esse termo.<\/p>';\n            }\n            var html = '';\n            resultados.forEach(function(r) {\n                var nomeExibicao = r.nome_organizacao || ('CNPJ ' + (r.cnpj || '\u2014'));\n                html += '<div class=\"ingesto-pf-card\" style=\"margin-bottom:12px;border-color:var(--danger);\">'\n                    + '<p style=\"font-size:14px;color:var(--text-primary);font-weight:600;margin-bottom:4px;\">' + esc(nomeExibicao) + '<\/p>'\n                    + '<p style=\"font-size:13px;color:var(--text-secondary);margin-bottom:2px;\">' + esc(r.motivo || 'Motivo n\u00e3o especificado') + '<\/p>'\n                    + '<p style=\"font-size:12px;color:var(--text-secondary);margin-bottom:2px;\">' + esc(ROTULO_FASE[r.fase_processual] || 'Fase n\u00e3o determinada') + '<\/p>'\n                    + '<p style=\"font-size:12px;color:var(--text-secondary);\">\u00d3rg\u00e3o: ' + esc(r.orgao_superior_nome || '\u2014') + '<\/p>'\n                    + (r.numero_convenio_publico ? '<p style=\"font-size:12px;color:var(--text-secondary);\">Conv\u00eanio: <span class=\"ingesto-pf-mono\">' + esc(r.numero_convenio_publico) + '<\/span><\/p>' : '')\n                    + '<p style=\"font-size:11px;color:var(--text-muted);margin-top:6px;\">\u00daltima confirma\u00e7\u00e3o: ' + esc(r.data_referencia || '\u2014') + '<\/p>'\n                    + '<\/div>';\n            });\n            return html;\n        }\n\n        function montarContagem(total, offset, qtdNestaPagina) {\n            if (total === 0) return '';\n            var inicio = offset + 1;\n            var fim = offset + qtdNestaPagina;\n            return inicio + '\u2013' + fim + ' de ' + total + ' impedimento(s) encontrado(s).';\n        }\n\n        function montarPaginacao(total, offset) {\n            if (total <= TAMANHO_PAGINA) return ''; \/\/ 1 p\u00e1gina s\u00f3, n\u00e3o precisa de controle nenhum\n            var paginaAtual = Math.floor(offset \/ TAMANHO_PAGINA) + 1;\n            var totalPaginas = Math.ceil(total \/ TAMANHO_PAGINA);\n            var html = '';\n            html += '<button type=\"button\" class=\"ingesto-pf-btn\" id=\"ingesto-pf-imp-btn-anterior\"' + (offset <= 0 ? ' disabled style=\"opacity:.4;cursor:not-allowed;\"' : '') + '>\u2190 Anterior<\/button>';\n            html += '<span style=\"font-size:13px;color:var(--text-secondary);\">P\u00e1gina ' + paginaAtual + ' de ' + totalPaginas + '<\/span>';\n            html += '<button type=\"button\" class=\"ingesto-pf-btn\" id=\"ingesto-pf-imp-btn-proxima\"' + (offset + TAMANHO_PAGINA >= total ? ' disabled style=\"opacity:.4;cursor:not-allowed;\"' : '') + '>Pr\u00f3xima \u2192<\/button>';\n            return html;\n        }\n\n        function renderizar(dados) {\n            resultadoDiv.innerHTML = montarLista(dados.resultados);\n            contagemDiv.textContent = montarContagem(dados.total, dados.offset, (dados.resultados || []).length);\n            paginacaoDiv.innerHTML = montarPaginacao(dados.total, dados.offset);\n\n            var btnAnterior = document.getElementById('ingesto-pf-imp-btn-anterior');\n            var btnProxima = document.getElementById('ingesto-pf-imp-btn-proxima');\n            if (btnAnterior) btnAnterior.addEventListener('click', function() { irPara(Math.max(0, estado.offset - TAMANHO_PAGINA)); });\n            if (btnProxima) btnProxima.addEventListener('click', function() { irPara(estado.offset + TAMANHO_PAGINA); });\n\n            \/\/ Rola at\u00e9 o topo da lista ao trocar de p\u00e1gina -- sem isso,\n            \/\/ trocar de p\u00e1gina com a lista comprida deixa o usu\u00e1rio\n            \/\/ \"no mesmo lugar da tela\", sem ver que algo mudou.\n            resultadoDiv.scrollIntoView({ behavior: 'smooth', block: 'start' });\n        }\n\n        renderizar({\n            resultados: [{\"cnpj\":\"00002444000166\",\"nome_organizacao\":\"SINDICATO DOS TRABALHADORES RURAIS DE DIANOPOLIS\",\"motivo\":\"NAO APRESENTACAO DA PRESTACAO DE CONTAS\",\"orgao_superior_nome\":\"Minist\\u00e9rio da Agricultura e Pecu\\u00e1ria - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"administrativo\",\"numero_convenio_publico\":\"CR.NR.0281759-92\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00002444000166\",\"nome_organizacao\":\"SINDICATO DOS TRABALHADORES RURAIS DE DIANOPOLIS\",\"motivo\":\"NAO EXECUTOU TOTALMENTE O OBJETO PACTUADO\",\"orgao_superior_nome\":\"Minist\\u00e9rio da Agricultura e Pecu\\u00e1ria - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"administrativo\",\"numero_convenio_publico\":\"CR.NR.0264532-90\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00008098000204\",\"nome_organizacao\":null,\"motivo\":\"NAO EXECUTOU TOTALMENTE O OBJETO PACTUADO\",\"orgao_superior_nome\":\"Minist\\u00e9rio da Agricultura e Pecu\\u00e1ria - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"administrativo\",\"numero_convenio_publico\":\"GO-074700\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00028621000183\",\"nome_organizacao\":\"CASA DE CORA CORALINA\",\"motivo\":\"IRREGULARIDADE NA EXECUCAO FISICA DO OBJETO\",\"orgao_superior_nome\":\"Minist\\u00e9rio do Turismo - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"administrativo\",\"numero_convenio_publico\":\"01228\\\/2008\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00028621000183\",\"nome_organizacao\":\"CASA DE CORA CORALINA\",\"motivo\":\"IRREGULARIDADE NA EXECUCAO FINANCEIRA\",\"orgao_superior_nome\":\"Minist\\u00e9rio do Turismo - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"administrativo\",\"numero_convenio_publico\":\"00797\\\/2009\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00077568000100\",\"nome_organizacao\":null,\"motivo\":\"NAO APRESENTACAO DE DOCUMENTACAO COMPLEMENTAR\",\"orgao_superior_nome\":\"Minist\\u00e9rio dos Direitos Humanos e Cidadania - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"administrativo\",\"numero_convenio_publico\":\"169\\\/2000\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00077568000100\",\"nome_organizacao\":null,\"motivo\":\"UTILIZOU OS RECURSOS EM DESACORDO C\\\/PROG TRAB\",\"orgao_superior_nome\":\"Minist\\u00e9rio da Cultura - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"administrativo\",\"numero_convenio_publico\":\"2002CV00033\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00084400000122\",\"nome_organizacao\":\"OBRAS DE ASSISTENCIA SOCIAL SAO RAFAEL\",\"motivo\":\"INSTAURACAO DE TOMADA DE CONTAS ESPECIAL\",\"orgao_superior_nome\":\"Minist\\u00e9rio da Sa\\u00fade - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"tcu\",\"numero_convenio_publico\":null,\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00088022000155\",\"nome_organizacao\":\"UNIAO PAULISTA DE KARAOKE\",\"motivo\":\"NAO EXECUTOU TOTALMENTE O OBJETO PACTUADO\",\"orgao_superior_nome\":\"Minist\\u00e9rio do Turismo - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"administrativo\",\"numero_convenio_publico\":\"01655\\\/2009\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00092199000125\",\"nome_organizacao\":\"FUNDACAO ENSINO TECNICO E PESQUISA INFORMATICA UBERABA\",\"motivo\":\"MOTIVO N\\u00c3O ESPECIFICADO\",\"orgao_superior_nome\":\"Minist\\u00e9rio da Cultura - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"indefinido\",\"numero_convenio_publico\":\"00112\\\/2010\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00093821000110\",\"nome_organizacao\":\"INSTITUTO BRASILEIRO DA FLORICULTURA IBRAFLOR\",\"motivo\":\"UTILIZOU OS RECURSOS EM DESACORDO C\\\/PROG TRAB\",\"orgao_superior_nome\":\"Minist\\u00e9rio da Agricultura e Pecu\\u00e1ria - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"administrativo\",\"numero_convenio_publico\":null,\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00102763000143\",\"nome_organizacao\":\"ASSOCIACAO ESPACO DE PREVENCAO E ATENCAO HUMANIZADA\",\"motivo\":\"IRREGULARIDADE NA EXECUCAO FINANCEIRA\",\"orgao_superior_nome\":\"Minist\\u00e9rio do Turismo - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"administrativo\",\"numero_convenio_publico\":\"01228\\\/2009\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00113233000109\",\"nome_organizacao\":\"IGREJA TABERNACULO EVANGELICO DE JESUS\",\"motivo\":\"MOTIVO N\\u00c3O ESPECIFICADO\",\"orgao_superior_nome\":\"Minist\\u00e9rio do Turismo - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"indefinido\",\"numero_convenio_publico\":\"00726\\\/2009\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00113233000109\",\"nome_organizacao\":\"IGREJA TABERNACULO EVANGELICO DE JESUS\",\"motivo\":\"IRREGULARIDADE NA EXECUCAO FIS. E FINANCEIRA\",\"orgao_superior_nome\":\"Minist\\u00e9rio do Turismo - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"administrativo\",\"numero_convenio_publico\":\"54001257200801038\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00117144000122\",\"nome_organizacao\":null,\"motivo\":\"INSTAURACAO DE TOMADA DE CONTAS ESPECIAL\",\"orgao_superior_nome\":\"Minist\\u00e9rio da Educa\\u00e7\\u00e3o - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"tcu\",\"numero_convenio_publico\":\"501254\\\/2002\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00118073000182\",\"nome_organizacao\":null,\"motivo\":\"INSTAURACAO DE TOMADA DE CONTAS ESPECIAL\",\"orgao_superior_nome\":\"Minist\\u00e9rio da Agricultura e Pecu\\u00e1ria - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"tcu\",\"numero_convenio_publico\":\"CE-034300\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00162034000182\",\"nome_organizacao\":null,\"motivo\":\"IRREGULARIDADE NA EXECUCAO FINANCEIRA\",\"orgao_superior_nome\":\"Minist\\u00e9rio da Educa\\u00e7\\u00e3o - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"administrativo\",\"numero_convenio_publico\":\"816308\\\/2006\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00163867000168\",\"nome_organizacao\":\"CCA-SP COOPERATIVA CENTRAL REFORMA AGRARIA EST S PAULO\",\"motivo\":\"TEVE A PRESTACAO DE CONTAS IMPUGNADA\",\"orgao_superior_nome\":\"Minist\\u00e9rio do Desenvolvimento Agr\\u00e1rio e Agricultura Familiar - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"administrativo\",\"numero_convenio_publico\":\"90000\\\/2004\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00163867000168\",\"nome_organizacao\":\"CCA-SP COOPERATIVA CENTRAL REFORMA AGRARIA EST S PAULO\",\"motivo\":\"TEVE A PRESTACAO DE CONTAS IMPUGNADA\",\"orgao_superior_nome\":\"Minist\\u00e9rio do Desenvolvimento Agr\\u00e1rio e Agricultura Familiar - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"administrativo\",\"numero_convenio_publico\":\"CRT\\\/SP 30000\\\/2003\",\"data_referencia\":\"2026-09-14\"},{\"cnpj\":\"00178371000168\",\"nome_organizacao\":\"COLONIA DE PESCADORES Z 25\",\"motivo\":\"O CONVENENTE TEVE SUA P.C. APROVADA\",\"orgao_superior_nome\":\"Minist\\u00e9rio da Agricultura e Pecu\\u00e1ria - Unidades com v\\u00ednculo direto\",\"fase_processual\":\"indefinido\",\"numero_convenio_publico\":\"00835\\\/2010\",\"data_referencia\":\"2026-09-14\"}],\n            total: 3530,\n            offset: 0\n        });\n\n        function irPara(novoOffset) {\n            estado.offset = novoOffset;\n            buscar();\n        }\n\n        function buscar() {\n            resultadoDiv.innerHTML = '<p style=\"font-size:13px;color:var(--text-muted);\">Buscando\u2026<\/p>';\n            contagemDiv.textContent = '';\n            paginacaoDiv.innerHTML = '';\n            var dados = new FormData();\n            dados.append('action', 'ingesto_pf_buscar_cepim');\n            dados.append('nonce', NONCE);\n            dados.append('termo', estado.termo);\n            dados.append('limite', TAMANHO_PAGINA);\n            dados.append('offset', estado.offset);\n            fetch(AJAX_URL, { method: 'POST', body: dados, credentials: 'same-origin' })\n                .then(function(r) { return r.json(); })\n                .then(function(d) {\n                    if (!d.success) { resultadoDiv.innerHTML = '<p style=\"font-size:13px;color:var(--danger);\">' + esc(d.data.message) + '<\/p>'; return; }\n                    renderizar(d.data);\n                })\n                .catch(function() { resultadoDiv.innerHTML = '<p style=\"font-size:13px;color:var(--danger);\">Erro de conex\u00e3o. Tente de novo.<\/p>'; })\n                .finally(function() { ingestoPfSpinnerOff( btnBuscar, null ); });\n        }\n\n        function novaBusca() {\n            estado.termo = inputBusca.value.trim();\n            estado.offset = 0; \/\/ toda busca nova volta pra primeira p\u00e1gina\n            \/\/ Spinner s\u00f3 aqui, n\u00e3o em irPara() (pagina\u00e7\u00e3o) -- buscar() j\u00e1\n            \/\/ apaga paginacaoDiv.innerHTML de imediato, ent\u00e3o um spinner\n            \/\/ nos bot\u00f5es Anterior\/Pr\u00f3xima desapareceria instantaneamente\n            \/\/ junto com eles, sem chegar a ser vis\u00edvel. O feedback da\n            \/\/ pagina\u00e7\u00e3o j\u00e1 existe via \"Buscando\u2026\" no resultadoDiv.\n            ingestoPfSpinnerOn( btnBuscar, 'Buscando...' );\n            buscar();\n        }\n\n        btnBuscar.addEventListener('click', novaBusca);\n        inputBusca.addEventListener('keydown', function(e) { if (e.key === 'Enter') novaBusca(); });\n    })();\n    <\/script>\n    <\/div><\/div>    <nav class=\"ingesto-pf-mobile-nav\" id=\"ingesto-pf-mobile-nav\">\n                    <a href=\"https:\/\/ingesto.org.br\/en\/painel-federal\/\" class=\"ingesto-pf-mobile-nav-item\" data-slug=\"dashboard\">\n                <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"\/><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"\/><\/svg>                <span>Dashboard<\/span>\n            <\/a>\n                    <a href=\"https:\/\/ingesto.org.br\/en\/painel-federal\/portal-transparencia\/\" class=\"ingesto-pf-mobile-nav-item\" data-slug=\"portal-transparencia\">\n                <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 2L2 8v2h20V8L12 2z\"\/><line x1=\"4\" y1=\"10\" x2=\"4\" y2=\"19\"\/><line x1=\"9\" y1=\"10\" x2=\"9\" y2=\"19\"\/><line x1=\"15\" y1=\"10\" x2=\"15\" y2=\"19\"\/><line x1=\"20\" y1=\"10\" x2=\"20\" y2=\"19\"\/><line x1=\"2\" y1=\"21\" x2=\"22\" y2=\"21\"\/><\/svg>                <span>Transpar\u00eancia<\/span>\n            <\/a>\n                    <a href=\"https:\/\/ingesto.org.br\/en\/painel-federal\/estatisticas-livre\/\" class=\"ingesto-pf-mobile-nav-item\" data-slug=\"estatisticas-livre\">\n                <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 9h18l-2 10H5L3 9z\"\/><path d=\"M3 9l3-5h12l3 5\"\/><line x1=\"9\" y1=\"13\" x2=\"9\" y2=\"16\"\/><line x1=\"15\" y1=\"13\" x2=\"15\" y2=\"16\"\/><\/svg>                <span>Estat\u00edsticas Livres<\/span>\n            <\/a>\n                            <button type=\"button\" class=\"ingesto-pf-mobile-nav-item\" onclick=\"ingestoPfAlternarMaisMobile()\">\n                <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"1\"\/><circle cx=\"19\" cy=\"12\" r=\"1\"\/><circle cx=\"5\" cy=\"12\" r=\"1\"\/><\/svg>\n                <span>Mais<\/span>\n            <\/button>\n            <\/nav>\n        <div class=\"ingesto-pf-mobile-mais-overlay\" id=\"ingesto-pf-mobile-mais-overlay\" onclick=\"ingestoPfAlternarMaisMobile()\">\n        <div class=\"ingesto-pf-mobile-mais-folha\" onclick=\"event.stopPropagation()\">\n                            <a href=\"https:\/\/ingesto.org.br\/en\/painel-federal\/impedimentos-livre\/\" class=\"ingesto-pf-mobile-mais-item\" data-slug=\"impedimentos-livre\">\n                    <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10.3 3.3a2 2 0 0 1 3.4 0l8 14A2 2 0 0 1 20 20.5H4a2 2 0 0 1-1.7-3.2z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg>                    <span>Impedimentos<\/span>\n                <\/a>\n                            <a href=\"https:\/\/ingesto.org.br\/en\/painel-federal\/certificacoes\/\" class=\"ingesto-pf-mobile-mais-item\" data-slug=\"certificacoes\">\n                    <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"9\" r=\"6\"\/><path d=\"M9 14.5L7 22l5-3 5 3-2-7.5\"\/><\/svg>                    <span>Certifica\u00e7\u00f5es<\/span>\n                <\/a>\n                    <\/div>\n    <\/div>\n        <\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":22260,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"give_campaign_id":0,"_joinchat":[],"footnotes":""},"class_list":["post-22590","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Impedimentos - Ingesto<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/ingesto.org.br\/en\/painel-federal\/impedimentos-livre\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Impedimentos - Ingesto\" \/>\n<meta property=\"og:url\" content=\"https:\/\/ingesto.org.br\/en\/painel-federal\/impedimentos-livre\/\" \/>\n<meta property=\"og:site_name\" content=\"Ingesto\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/institutoingesto\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-16T09:36:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ingesto.org.br\/wp-content\/uploads\/2023\/03\/icone-ingesto-banner_menor-1-removebg-preview.png\" \/>\n\t<meta property=\"og:image:width\" content=\"302\" \/>\n\t<meta property=\"og:image:height\" content=\"107\" \/>\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=\"@Ingestos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/ingesto.org.br\\\/painel-federal\\\/impedimentos-livre\\\/\",\"url\":\"https:\\\/\\\/ingesto.org.br\\\/painel-federal\\\/impedimentos-livre\\\/\",\"name\":\"Impedimentos - Ingesto\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/ingesto.org.br\\\/en\\\/#website\"},\"datePublished\":\"2026-09-16T09:31:59+00:00\",\"dateModified\":\"2026-09-16T09:36:17+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/ingesto.org.br\\\/painel-federal\\\/impedimentos-livre\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/ingesto.org.br\\\/painel-federal\\\/impedimentos-livre\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/ingesto.org.br\\\/painel-federal\\\/impedimentos-livre\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/ingesto.org.br\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Painel Federal\",\"item\":\"https:\\\/\\\/ingesto.org.br\\\/painel-federal\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Impedimentos\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/ingesto.org.br\\\/en\\\/#website\",\"url\":\"http:\\\/\\\/ingesto.org.br\\\/en\\\/\",\"name\":\"Instituto\",\"description\":\"Instituto para Gest\u00e3o do Terceiro Setor\",\"publisher\":{\"@id\":\"http:\\\/\\\/ingesto.org.br\\\/en\\\/#organization\"},\"alternateName\":\"Ingesto\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/ingesto.org.br\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\\\/\\\/ingesto.org.br\\\/en\\\/#organization\",\"name\":\"Ingesto\",\"url\":\"http:\\\/\\\/ingesto.org.br\\\/en\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/ingesto.org.br\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/ingesto.org.br\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/cropped-cropped-icone.png\",\"contentUrl\":\"https:\\\/\\\/ingesto.org.br\\\/wp-content\\\/uploads\\\/2020\\\/11\\\/cropped-cropped-icone.png\",\"width\":512,\"height\":512,\"caption\":\"Ingesto\"},\"image\":{\"@id\":\"http:\\\/\\\/ingesto.org.br\\\/en\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/institutoingesto\",\"https:\\\/\\\/x.com\\\/Ingestos\",\"https:\\\/\\\/www.instagram.com\\\/institutoingesto\\\/\",\"https:\\\/\\\/www.youtube.com\\\/@institutoingesto\",\"https:\\\/\\\/www.linkedin.com\\\/in\\\/instituto-ingesto\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Impedimentos - Ingesto","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:\/\/ingesto.org.br\/en\/painel-federal\/impedimentos-livre\/","og_locale":"en_US","og_type":"article","og_title":"Impedimentos - Ingesto","og_url":"https:\/\/ingesto.org.br\/en\/painel-federal\/impedimentos-livre\/","og_site_name":"Ingesto","article_publisher":"https:\/\/www.facebook.com\/institutoingesto","article_modified_time":"2026-09-16T09:36:17+00:00","og_image":[{"width":302,"height":107,"url":"https:\/\/ingesto.org.br\/wp-content\/uploads\/2023\/03\/icone-ingesto-banner_menor-1-removebg-preview.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_site":"@Ingestos","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/ingesto.org.br\/painel-federal\/impedimentos-livre\/","url":"https:\/\/ingesto.org.br\/painel-federal\/impedimentos-livre\/","name":"Impedimentos - Ingesto","isPartOf":{"@id":"http:\/\/ingesto.org.br\/en\/#website"},"datePublished":"2026-09-16T09:31:59+00:00","dateModified":"2026-09-16T09:36:17+00:00","breadcrumb":{"@id":"https:\/\/ingesto.org.br\/painel-federal\/impedimentos-livre\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/ingesto.org.br\/painel-federal\/impedimentos-livre\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/ingesto.org.br\/painel-federal\/impedimentos-livre\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/ingesto.org.br\/"},{"@type":"ListItem","position":2,"name":"Painel Federal","item":"https:\/\/ingesto.org.br\/painel-federal\/"},{"@type":"ListItem","position":3,"name":"Impedimentos"}]},{"@type":"WebSite","@id":"http:\/\/ingesto.org.br\/en\/#website","url":"http:\/\/ingesto.org.br\/en\/","name":"Institute","description":"Institute for Third Sector Management","publisher":{"@id":"http:\/\/ingesto.org.br\/en\/#organization"},"alternateName":"Ingesto","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/ingesto.org.br\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/ingesto.org.br\/en\/#organization","name":"Ingesto","url":"http:\/\/ingesto.org.br\/en\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/ingesto.org.br\/en\/#\/schema\/logo\/image\/","url":"https:\/\/ingesto.org.br\/wp-content\/uploads\/2020\/11\/cropped-cropped-icone.png","contentUrl":"https:\/\/ingesto.org.br\/wp-content\/uploads\/2020\/11\/cropped-cropped-icone.png","width":512,"height":512,"caption":"Ingesto"},"image":{"@id":"http:\/\/ingesto.org.br\/en\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/institutoingesto","https:\/\/x.com\/Ingestos","https:\/\/www.instagram.com\/institutoingesto\/","https:\/\/www.youtube.com\/@institutoingesto","https:\/\/www.linkedin.com\/in\/instituto-ingesto"]}]}},"campaignId":"","jetpack_shortlink":"https:\/\/wp.me\/Peji5g-5Sm","acf":[],"_links":{"self":[{"href":"https:\/\/ingesto.org.br\/en\/wp-json\/wp\/v2\/pages\/22590","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ingesto.org.br\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ingesto.org.br\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ingesto.org.br\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ingesto.org.br\/en\/wp-json\/wp\/v2\/comments?post=22590"}],"version-history":[{"count":2,"href":"https:\/\/ingesto.org.br\/en\/wp-json\/wp\/v2\/pages\/22590\/revisions"}],"predecessor-version":[{"id":22592,"href":"https:\/\/ingesto.org.br\/en\/wp-json\/wp\/v2\/pages\/22590\/revisions\/22592"}],"up":[{"embeddable":true,"href":"https:\/\/ingesto.org.br\/en\/wp-json\/wp\/v2\/pages\/22260"}],"wp:attachment":[{"href":"https:\/\/ingesto.org.br\/en\/wp-json\/wp\/v2\/media?parent=22590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}