Páginas

Diárias dos Servidores

Painel de DiáriasDiárias - 2026Diárias - 2025
ver

Portal Transparência Bahia

Portal Transparência BahiaDiárias dos ServidoresRemuneração de ServidoresRelatórios de GestãoRelatórios de Auditoria Concursos
ver

EDITAL DE CHAMAMENTO PÚBLICO INOVATEC/SECTI Nº 001/2026

 ERRATA I DO EDITAL N° 01/2026 DO INOVATEC - CLIQUE ABAIXO Errata_1INOVATEC .pdf 28/08/2026 PUBLICAÇÃO DA ERRATA I DO EDITAL N° 01/2026 NO DIÁRIO OFICIAL - CLIQUE ABAIXO  PUBLICACAO_ERRATA_DOE.pdf 28/08/2026   APRESENTAÇÃO:A Secretaria de Ciência, Tecnologia e Inovação-SECTI, no uso de suas atribuições,  torna público o presente Edital e convida interessados a apresentarem propostas para obtenção de apoio financeiro do Programa Estadual de Incentivo à Inovação Tecnológica- INOVATEC, na forma e condições estabelecidas neste Edital, para a seleção de projetos de Pesquisa, Desenvolvimento e Inovação-PD&I, que apresentem soluções tecnológicas inovadoras que mitiguem e/ou enfrentem barreiras relacionadas à mobilidade, logística e condições de trabalhos dos catadores de materiais reutilizáveis e recicláveis do Estado da Bahia. Os recursos financeiros serão destinados à seleção de até 5 (cinco) projetos, com valores individuais por projeto de até R$ 600.000,00 (seiscentos mil reais), com prazo de execução em até 24 (vinte e quatro) meses.  INFORMAÇÕES ADICIONAIS:Esclarecimentos adicionais sobre esse Edital e legislação do Programa INOVATEC poderão ser obtidos pelo e-mail: selecaoinovatec@secti.ba.gov.br até a data final indicada no cronograma apresentado neste instrumento. Onde se lê:FASEDATAS*RESPONSÁVELLançamento do Edital com a sua publicação no site da SECTI e início do prazo para envio eletrônico.03/07/2026 SECTITérmino do prazo para envio eletrônico da proposta (até às 23h59min).03/09/2026 PROPONENTEETAPA IDivulgação do Resultado de enquadramento/habilitação - Etapa I do projeto no site da SECTI. 08/09/2026SECTIInterposição de Recursos contra o Resultado de inabilitação do projeto- Etapa I.09/09 a 18/09/2026 PROPONENTEDivulgação do Resultado da Etapa I contra a inabilitação da proposta com sua publicação no site da SECTI.28/09/2026SECTIETAPA IIPeríodo de análise das propostas enquadradas/habilitadas na Etapa I29/09/2026 a 23/10/2026CONSULTOR AD HOCDivulgação do Resultado Preliminar da Etapa II com sua publicação no site da SECTI.26/10/2026SECTISolicitação pelo proponente do parecer relativo ao seu projeto/proposta (e-mail).27 a 29/10/2026 PROPONENTEEncaminhamento do parecer solicitado para a Secretaria Executiva do INOVATEC.30/10 e 03/11/2026 SECTIInterposição de Recursos contra o Resultado Preliminar da Etapa II.04 a 13/11/2026 PROPONENTEAnálise dos Recursos contra o Resultado Preliminar- Etapa II.16 a 30/11/2026CONSULTOR AD HOCPublicação no site da SECTI do Resultado dos Recursos interpostos contra o Resultado Preliminar da Etapa II.   01/12/2026 SECTIDeliberação e homologação do Resultado da Etapa III pelo Conselho Deliberativo do Programa INOVATEC (Reunião extraordinária). 09/12/2026SECTIDivulgação do Resultado Final da Etapa III no site da SECTI e publicação no Diário oficial do Estado - DOE.10 e 11/12/2026SECTILeia-se:FASEDATAS*RESPONSÁVELLançamento do Edital e início do prazo para envio eletrônico.03/07/2026SECTITérmino do prazo para envio eletrônico da proposta (até às 23h59min).28/09/2026PROPONENTEETAPAIDivulgação    do        Resultado       de enquadramento/habilitação - Etapa I doprojeto no site da SECTI.05/10/2026SECTIInterposição de Recursos contrao Resultado de inabilitação do projeto- Etapa I.06/10 a 15/10/2026PROPONENTEDivulgação do Resultado da Etapa I contra a inabilitação da proposta comsua publicação no site da SECTI.26/10/2026SECTIETAPA IIPeríodo de análise das propostas enquadradas/habilitadas na Etapa I.27/10/2026 a 15/11/2026CONSULTOR AD HOCDivulgação do Resultado Preliminar da Etapa II com sua publicação no site da SECTI.16/11/2026SECTISolicitação peloproponente do parecerrelativo ao seu projeto/proposta (e-mail).17 a 19/11/2026PROPONENTEEncaminhamento do parecer solicitado para a Secretaria Executiva do INOVATEC.23/11 e 25/11/2026SECTIInterposição de Recursos contrao Resultado Preliminar da Etapa II.26/11 a 06/12/2026PROPONENTEAnálise dos Recursos contrao Resultado Preliminar- Etapa II.07 a 13/12/2026CONSULTOR AD HOCPublicação no site da SECTI do Resultado dos Recursos interpostos contra o Resultado Preliminar da Etapa II.14/12/2026SECTIDeliberação e homologação do Resultado da Etapa III pelo Conselho Deliberativo do ProgramaINOVATEC (Reunião extraordinária). 16/12/2026SECTIDivulgação do Resultado Final da Etapa III no site da SECTI e publicação no Diário Oficial do Estado - DOE.22/12/2026SECTI(*) Todas as datas poderão ser alteradas pela Secretaria Executiva, independente de aviso prévio. Quaisquer modificações no Cronograma serão divulgadas no site da SECTI, fazendo parte da participação do Edital o seu devido acompanhamento pelos proponentes.  
ver

Agenda

Confira a agenda institucional da Secretaria de Ciência, Tecnologia e Inovação da Bahia, com o registro das principais atividades realizadas.JaneiroFevereiroMarçoAbrilMaioJunhoJulhoAgostoSetembroOutubroNovembroDezembro
ver

Agenda

Confira a agenda institucional da Secretaria de Ciência, Tecnologia e Inovação da Bahia, com o registro das principais atividades realizadas.🟦 Março de 2026📅 31 de março de 2026--------------------------------------------------📍 Entre Rios agora é Território de Inovação da Bahia!🔗 Ver publicação no Instagram--------------------------------------------------📅 25 a 28 de março de 2026--------------------------------------------------📍 Salão Sebrae Cidades Empreendedoras🔗 Ver publicação no Instagram--------------------------------------------------📅 18 de março de 2026--------------------------------------------------📍 Conselho Curador da Fapesb aprova ampliação de 10% nas bolsas de mestrado e doutorado na Bahia🔗 Acessar matéria--------------------------------------------------📅 05 de março de 2026--------------------------------------------------📍 A Secti e a Fapesb se reuniram com pró-reitores(as) de graduação, pesquisa e extensão das Instituições Públicas de Ensino Superior da Bahia para discutir o fortalecimento da política de ciência, tecnologia e inovação do estado🔗 Ver publicação no Instagram--------------------------------------------------📅 02 de março de 2026--------------------------------------------------📍 Edital Fapesb, Secti e IEL incentiva fixação de pesquisadores em empresas baianas🔗 Acessar matéria-------------------------------------------------- 
ver

Lei de Acesso à Informação

A Lei Federal de Acesso à Informação Pública n°12.527, de 18 de novembro de 2011, regulamenta o direito constitucional de acesso às informações. Assim, a transparência passa a ser regra para a administração pública.A Lei vale para os três Poderes da União, Estados, Distrito Federal e Municípios, inclusive aos Tribunais de Conta e Ministério Público.Entidades privadas sem fins lucrativos também são obrigadas a dar publicidade a informações referentes ao recebimento e à destinação dos recursos públicos por elas recebidos.Além de definir mecanismos, prazos e procedimentos para entrega das informações – solicitadas à administração pública-, a LAI prevê ainda a transparência ativa, com a divulgação de informações básicas feita através de ambientes digitais, dos respectivos órgãos.De acordo com a LAI, os órgãos públicos terão o prazo de 20 dias para fornecer a informação solicitada pelo cidadão, podendo ser prorrogado por mais dez dias.As instituições e/ou gestores que descumprirem a Lei estão sujeitas à advertência, multa e até mesmo a rescisão do vínculo com o poder público. A LAI na BahiaNo Estado da Bahia, a Lei de Acesso à Informação foi regulamentada pela Lei nº 12.618, de 28 de dezembro de 2012.Estão subordinados ao regime da Lei os órgãos públicos integrantes da Administração Direta do Poder Executivo Estadual, as autarquias, as fundações públicas, as empresas públicas, as sociedades de economia mista e demais entidades controladas direta ou indiretamente pelo Estado.Canais de Solicitação, prazos e acompanhamento1. Forma de registro dos pedidos de acesso à informaçãoDe acordo com a Lei nº 12.618/2012, os pedidos de informação podem ser feitos à distância ou de forma presencial.Na modalidade à distância, os serviços são prestados da seguinte forma:a) Via internet: pelo site www.ba.gov.br, acessando o ícone da Ouvidoria Geral ou diretamente pela plataforma Fala.BR – Bahia;b) Via telefone: pela Central de Atendimento da Ouvidoria Geral do Estado, que atende pelo 0800-284-0011, de segunda a sexta, das 8h às 18h (ligação gratuita).Na modalidade presencial, o atendimento será prestado por meio da Rede de Ouvidorias Especializadas do Estado ou pelo Serviço de Informações instituído pelos próprios órgãos ou entidades.Cabe destacar que o Serviço de Informações ao Cidadão será exercido pelos órgãos e entidades da Administração Pública Estadual, diretamente ou por intermédio da Ouvidoria Geral do Estado.c) Sistema 'TAG' Ouvidoria2. Prazos para resposta aos pedidosO prazo legal para resposta ao pedido de acesso à informação é de até 20 dias, prorrogável por mais 10 dias, mediante justificativa expressa ao solicitante.3. Acompanhamento dos pedidosApós o registro, é fornecido um número de protocolo, que permite ao cidadão acompanhar o andamento da solicitação pela internet ou por telefone.4. Registro e prazos de recursosCaso o cidadão não obtenha resposta ou não concorde com a resposta recebida, pode apresentar recurso, observando os seguintes pontos:- O recurso pode ser registrado no mesmo canal em que foi feito o pedido original (site, telefone ou presencialmente);- O prazo para interposição de recurso é de 10 dias a contar do recebimento da resposta;- O recurso é analisado por autoridade superior àquela que emitiu a resposta anterior;- Persistindo o indeferimento, pode-se apresentar novo recurso à Autoridade de Monitoramento da LAI no órgão ou entidade;- O cidadão também pode recorrer à Ouvidoria Geral do Estado e, em última instância, à Controladoria-Geral da União (CGU), caso a resposta continue insatisfatória.Servidor designado:Gilvandro José Conceição Teixeira 📞 +55 71 3118 5890 ✉️ gilvandro.teixeira@secti.ba.gov.brPORTARIA Nº 047 DE 01 DE OUTUBRO DE 2025 
ver

APOSTILAS - CONTRATO DE GESTÃO Nº001/2020

APOSTILA Nº 001 / 2026 AO CONTRATO DE GESTÃO Nº 001 / 2020 , DE 05 DE MARÇO DE 2026APOSTILA Nº 003 / 2025 AO CONTRATO DE GESTÃO Nº 001 / 2020 , DE 10 DE DEZEMBRO DE 2025APOSTILA Nº 002 / 2025 AO CONTRATO DE GESTÃO Nº 001 / 2020 , DE 22 DE SETEMBRO DE 2025APOSTILA Nº 001 / 2025 AO CONTRATO DE GESTÃO Nº 001 / 2020 , DE 28 DE MARÇO DE 2025APOSTILA Nº 001 / 2024 AO CONTRATO DE GESTÃO Nº 001 / 2020 , DE 13 DE SETEMBRO DE 2024APOSTILA Nº 001 / 2024 AO CONTRATO DE GESTÃO Nº 001 / 2020 , DE 19 DE JUNHO DE 2024APOSTILA Nº 001 / 2023 AO CONTRATO DE GESTÃO Nº 001 / 2020 , DE 10 DE FEVEREIRO DE 2023APOSTILA Nº 001 / 2022 AO CONTRATO DE GESTÃO Nº 001 / 2020 , DE 12 DE AGOSTO DE 2022APOSTILA Nº 001 / 2022 AO CONTRATO DE GESTÃO Nº 001 / 2020 , DE 19 DE ABRIL DE 2022APOSTILA N° 001 / 2021 AO CONTRATO DE GESTÃO Nº 001 / 2020 , DE 27 DE MAIO DE 2021 
ver

TERMOS ADITIVOS AO CONTRATO Nº 001/2020

RESUMO DO QUINTO TERMO ADITIVO AO CONTRATO Nº 001/2020 - RETIFICAÇÃORESUMO DO QUINTO TERMO ADITIVO AO CONTRATO Nº 001/2020RESUMO DO QUARTO TERMO ADITIVO AO CONTRATO Nº 001/2020RESUMO DO TERCEIRO TERMO ADITIVO AO CONTRATO Nº 001/2020RESUMO DO SEGUNDO TERMO ADITIVO AO CONTRATO Nº 001/2020RESUMO DO PRIMEIRO TERMO ADITIVO AO CONTRATO Nº 001/2020 
ver

Leis e Decretos

DECRETO Nº 23.706 DE 19 DE MAIO DE 2025 – Institui o Projeto de Educação Científica e Promoção da Ciência para as Juventudes da Bahia – Projeto PopCiência Jovem, na forma que indica.DECRETO Nº 23.659 DE 2025 DE 10 DE MAIO DE 2025  – Altera a estrutura organizacional básica da SECTI.DECRETO Nº 23.660 DE 2025 DE 10 DE MAIO DE 2025 – Altera o Quadro de Cargos em Comissão da SECTI, na forma que indica.DECRETO Nº 23.661 DE 2025 DE 10 DE MAIO DE 2025 – Aprova o Regimento da SECTI e dá outras providências.DECRETO Nº 22.327 DE 16 DE OUTUBRO DE 2023 – Regulamenta a Lei nº 14.315/2021 – Marco Legal da Ciência, Tecnologia e Inovação do Estado da Bahia, que dispõe sobre estímulos ao desenvolvimento do setor.LEI Nº 14.315 DE 17 DE JUNHO DE 2021 – Dispõe sobre estímulos ao desenvolvimento científico, à pesquisa, à capacitação científica e tecnológica e à inovação do sistema produtivo no Estado.DECRETO Nº 16.531 DE 08 DE JANEIRO DE 2016 – Aprova o Regimento da Secretaria de Ciência, Tecnologia e Inovação.LEI Nº 13.204 DE 11 DE DEZEMBRO DE 2014 – Modifica a estrutura organizacional da Administração Pública do Poder Executivo Estadual e dá outras providências.DECRETO Nº 14.719 DE 26 DE AGOSTO DE 2013 – Modifica a vinculação estrutural do Centro de Pesquisas e Desenvolvimento – CEPED e do Museu de Ciência e Tecnologia – MCT, altera o Decreto nº 11.457/2009, remaneja cargos em comissão para a SECTI e dá outras providências.DECRETO Nº 11.457 DE 06 DE MARÇO DE 2009 – Aprova o Regimento da Secretaria de Ciência, Tecnologia e Inovação.LEI Nº 11.174 DE 09 DE DEZEMBRO DE 2008 – Dispõe sobre incentivos à inovação e à pesquisa científica e tecnológica em ambiente produtivo no Estado da Bahia e dá outras providências.LEI Nº 10.955 DE 21 DE DEZEMBRO DE 2007 – Modifica a estrutura organizacional e cargos em comissão da Administração Pública do Poder Executivo Estadual e disciplina fundos previdenciários estaduais.DECRETO Nº 10.456 DE 17 DE SETEMBRO DE 2007 - Aprova o Regulamento do Programa Estadual de Incentivos à Inovação Tecnológica – INOVATEC.LEI Nº 9.833 DE 05 DE DEZEMBRO DE 2005 - Institui o Programa Estadual de Incentivos à Inovação Tecnológica - INOVATECDECRETO Nº 9.369 DE 11 DE MARÇO DE 2005 – Aprova o Regimento da Secretaria de Ciência, Tecnologia e Inovação.LEI Nº 9.427 DE 01 DE FEVEREIRO DE 2005 – Altera a estrutura organizacional e de cargos em comissão da SECTI e modifica dispositivos da Lei nº 8.254/2002.DECRETO Nº 8.874 DE 12 DE JANEIRO DE 2004 – Aprova o Regimento da Secretaria de Ciência, Tecnologia e Inovação.LEI Nº 8.897 DE 17 DE DEZEMBRO DE 2003 – Cria a Secretaria de Ciência, Tecnologia e Inovação – SECTI e introduz modificações na estrutura da Administração Pública Estadual.LEI Nº 8.631 DE 12 DE JUNHO DE 2003 – Altera a estrutura organizacional e de cargos em comissão da Universidade do Estado da Bahia e determina o remanejamento de cargos da extinta Fundação CEPED.DECRETO Nº 8.427 DE 29 DE JANEIRO DE 2003 – Aprova o Regimento da Secretaria Extraordinária de Ciência, Tecnologia e Inovação.LEI Nº 6.812 DE 18 DE JANEIRO DE 1995 – Cria a Secretaria da Cultura e Turismo e modifica a estrutura organizacional da Administração Pública Estadual.LEI Nº 2.751 DE 01 DE DEZEMBRO DE 1969 – Cria a Secretaria de Ciência e Tecnologia.LEI Nº 347 DE 13 DE DEZEMBRO DE 1950 – Cria a Fundação para o Desenvolvimento da Ciência na Bahia.
ver

TESTE 2026

<!doctype html><html lang="pt-br"><head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Rede BAH.IA — Materiais e Portal Educacional</title> <meta name="description" content="Portal educacional da Rede BAH.IA: módulos, aulas e recursos em PPTX/DOCX, com orientações de uso e termo de licença." />  <style>   :root{ /* Base (claro, como o ba.gov.br) */ --bg: #ffffff; --text: #0f172a;              /* texto principal (escuro) */ --muted: #475569;             /* texto secundário */ --line: rgba(15, 23, 42, .12); /* Cards e superfícies */ --card: #ffffff; --card2: #f8fafc;             /* leve cinza */ --shadow: 0 10px 30px rgba(2, 6, 23, .10); /* Destaques (azul do site) */ --accent: #0b5fa5;            /* azul principal (ajuste fino se quiser) */ --accent2: #0b5fa5;           /* pode manter igual ao azul para padronizar */ --ok: #16a34a; --warn: #d97706; --radius: 18px; --radius2: 26px; --max: 1120px; --pad: 18px;}.text-justify{ text-align: justify; text-justify: inter-word;   /* melhora o espaçamento */}   *{ box-sizing:border-box; }   html,body{ margin:0; padding:0; background: var(--bg); color: var(--text); font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif; }   a{ color:inherit; }   .container{ max-width: var(--max); margin:0 auto; padding: 0 var(--pad); }   .sr-only{     position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;   }   /* Skip link */   .skip{ position:absolute; left:-999px; top:12px; background:#fff; color:#000; padding:10px 12px; border-radius:12px; z-index:9999; }   .skip:focus{ left:12px; outline: 3px solid #000; }   /* Header */   header{     position: sticky; top:0; z-index:100; background: #ffffff; border-bottom: 1px solid var(--line);   }   .topbar{     display:flex; align-items:center; justify-content:space-between; gap:14px;     padding: 14px 0;   }   .brand{     display:flex; align-items:center; gap:12px; min-width: 220px;   }   .brand img{ height:42px; width:auto; display:block; }   .brand .title{     display:flex; flex-direction:column; line-height:1.05;   }   .brand .title strong{ font-size:14px; letter-spacing:.3px; }   .brand .title span{ font-size:12px; color:var(--muted); }   nav ul{ list-style:none; display:flex; gap:14px; padding:0; margin:0; flex-wrap:wrap; justify-content:flex-end; }   nav a{     text-decoration:none;     color: var(--muted);     font-size: 13px;     padding:10px 10px;     border-radius: 999px;     border: 1px solid transparent;     transition: .2s ease;   }   nav a:hover, nav a:focus{     color: var(--text);     border-color: var(--line);     outline:none;     background: rgba(255,255,255,.05);   }   /* Hero */   .hero{     padding: 28px 0 10px;   }   .heroCard{     border: 1px solid var(--line);     background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));     border-radius: var(--radius2);     box-shadow: var(--shadow);     overflow:hidden;     position:relative;   }   .heroMedia{     min-height: 260px;     background:       radial-gradient(900px 300px at 40% 10%, rgba(59,130,246,.28), transparent 55%),       radial-gradient(900px 300px at 70% 40%, rgba(239,68,68,.22), transparent 55%),       url("assets/Banner-BAH.IA.svg");     background-size: cover;     background-position: center;     border-bottom: 1px solid var(--line);   }   .heroBody{     display:grid;     grid-template-columns: 1.2fr .8fr;     gap: 18px;     padding: 18px;   }   @media (max-width: 900px){     .heroBody{ grid-template-columns: 1fr; }     .brand .title{ display:none; }   }   .heroBody h1{     margin:0;     font-size: clamp(22px, 3.2vw, 34px);     letter-spacing: -.3px;   }   .heroBody p{ margin:10px 0 0; color: var(--muted); line-height:1.5; }   .ctaRow{     display:flex; flex-wrap:wrap; gap:10px; margin-top: 14px;   }   .heroBodyLine{     gap: 18px;     padding: 18px;   }     .heroBodyLine h1{     margin:0;     font-size: clamp(22px, 3.2vw, 34px);     letter-spacing: -.3px;   }   .heroBodyLine p{ margin:10px 0 0; color: var(--muted); line-height:1.5; }   .ctaRow{     display:flex; flex-wrap:wrap; gap:10px; margin-top: 14px;   }   .btn{     display:inline-flex; align-items:center; justify-content:center; gap:10px;     border-radius: 999px;     padding: 10px 14px;     text-decoration:none;     border: 1px solid var(--line);     background: rgba(255,255,255,.06);     color: var(--text);     font-weight: 600;     font-size: 13px;     cursor:pointer;     transition: .2s ease;   }   .btn:hover{ background: rgba(255,255,255,.10); transform: translateY(-1px); }   .btn.primary{ border-color: rgba(11, 95, 165, .55); background: rgba(11, 95, 165, .12); color: var(--text); }   .btn.primary:hover{ background: rgba(11, 95, 165, .18); }   .btn.danger{ border-color: rgba(239,68,68,.55); background: rgba(239,68,68,.16); }   .btn.danger:hover{ background: rgba(239,68,68,.22); }   .pill{     display:inline-flex; align-items:center; gap:8px;     padding: 7px 10px;     border-radius: 999px;     border: 1px solid var(--line);     background: rgba(255,255,255,.05);     color: var(--muted);     font-size: 12px;   }   .pill strong{ color: var(--text); font-weight:700; }   /* Sections */   section{ padding: 28px 0; }   .sectionHead{     display:flex; align-items:flex-end; justify-content:space-between; gap:12px;     margin-bottom: 14px;   }   .sectionHead h2{ margin:0; font-size: 20px; letter-spacing:-.2px; }   .sectionHead p{ margin:0; color: var(--muted); font-size: 13px; line-height:1.4; max-width: 780px; }   .grid2{ display:grid; grid-template-columns: 1fr 1fr; gap: 14px; }   @media (max-width: 900px){ .grid2{ grid-template-columns: 1fr; } }   .card{     border: 1px solid var(--line);     background: rgba(255,255,255,.04);     border-radius: var(--radius);     padding: 14px;   }   .card h3{ margin:0 0 6px; font-size: 15px; }   .card p{ margin:0; color: var(--muted); font-size: 13px; line-height:1.5; }   /* Search + modules */   .toolbar{     display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between;     margin: 10px 0 14px;   }   .search{     display:flex; align-items:center; gap:10px; flex: 1;     border: 1px solid var(--line);     border-radius: 999px;     padding: 10px 12px;     background: rgba(255,255,255,.04);     min-width: 260px;   }   .search input{     width:100%;     border:0;     outline:none;     background:transparent;     color: var(--text);     font-size: 13px;   }   .search input::placeholder{ color: rgba(255,255,255,.55); }   .smallNote{ color: var(--muted); font-size: 12px; }   .modules{     display:grid;     grid-template-columns: repeat(12, 1fr);     gap: 12px;   }   .moduleCard{     grid-column: span 12;     border: 1px solid var(--line);     background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.03));     border-radius: var(--radius);     overflow:hidden;   }   @media (max-width: 900px){ .moduleCard{ grid-column: span 12; } }   .moduleHeader{     padding: 14px;     display:flex; align-items:flex-start; justify-content:space-between; gap:12px;     border-bottom: 1px solid var(--line);   }   .moduleHeader h3{ margin:0; font-size: 15px; }   .moduleHeader .meta{ color: var(--muted); font-size: 12px; margin-top: 2px; }   .tagRow{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; justify-content:flex-end; }   .tag{     font-size: 11px;     padding: 6px 8px;     border-radius: 999px;     border: 1px solid var(--line);     background: rgba(255,255,255,.05);     color: var(--muted);     white-space:nowrap;   }   details{ padding: 0; }   details summary{     cursor:pointer;     list-style:none;     padding: 12px 14px;     display:flex; align-items:center; justify-content:space-between;     gap: 10px;     user-select:none;   }   details summary::-webkit-details-marker{ display:none; }   .summaryLeft{     display:flex; flex-direction:column;   }   .summaryLeft strong{ font-size: 13px; }   .summaryLeft span{ color: var(--muted); font-size: 12px; margin-top:2px; }   .lessonList{ padding: 0 14px 14px; display:grid; gap: 10px; }   .lesson{     border: 1px solid var(--line);     border-radius: 14px;     background: rgba(0,0,0,.18);     padding: 10px 10px;     display:flex; align-items:flex-start; justify-content:space-between; gap:10px;   }   .lesson .info{ display:flex; flex-direction:column; gap:2px; }   .lesson .info strong{ font-size: 13px; }   .lesson .info span{ font-size: 12px; color: var(--muted); }   .lesson .actions{ display:flex; flex-wrap:wrap; gap:8px; justify-content:flex-end; }   .btnSm{     padding: 8px 10px;     border-radius: 999px;     border: 1px solid var(--line);     background: rgba(255,255,255,.06);     color: var(--text);     font-size: 12px;     font-weight: 700;     text-decoration:none;     cursor:pointer;     transition:.2s ease;   }   .btnSm:hover{ background: rgba(255,255,255,.10); transform: translateY(-1px); }   .btnSm.ppt{ border-color: rgba(59,130,246,.55); }   .btnSm.doc{ border-color: rgba(239,68,68,.55); }   .btnSm.pdf{ border-color: rgba(245,158,11,.55); }   .btnSm.zip{ border-color: rgba(34,197,94,.55); }   /* Downloads */   .downloadGrid{ display:grid; grid-template-columns: repeat(12,1fr); gap:12px; }   .downloadGrid .card{ grid-column: span 6; }   @media(max-width:900px){ .downloadGrid .card{ grid-column: span 12; } }   .list{ margin:10px 0 0; padding-left: 18px; color: var(--muted); font-size: 13px; line-height:1.5; }   .list li{ margin: 6px 0; }   /* Modal */   .modalBackdrop{     position: fixed; inset:0;     background: rgba(0,0,0,.55);     display:none;     align-items:center; justify-content:center;     padding: 18px;     z-index: 999;   }   .modal{     width: min(720px, 100%);     border: 1px solid var(--line);     background: rgba(11,16,32,.92);     border-radius: 22px;     box-shadow: var(--shadow);     overflow:hidden;   }   .modalHead{     padding: 14px 16px;     border-bottom: 1px solid var(--line);     display:flex; align-items:center; justify-content:space-between; gap:10px;   }   .modalHead strong{ font-size: 14px; }   .x{     border: 1px solid var(--line);     background: rgba(255,255,255,.06);     color: var(--text);     border-radius: 12px;     padding: 8px 10px;     cursor:pointer;   }   .modalBody{ padding: 14px 16px; }   .modalBody p{ margin:0 0 10px; color: var(--muted); font-size: 13px; line-height:1.5; }   .termBox{     border: 1px solid var(--line);     background: rgba(255,255,255,.04);     border-radius: 14px;     padding: 12px;     max-height: 220px;     overflow:auto;     color: rgba(255,255,255,.78);     font-size: 13px;     line-height:1.5;   }   .modalFoot{     padding: 12px 16px;     border-top: 1px solid var(--line);     display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between;   }   .checkRow{ display:flex; align-items:flex-start; gap:10px; color: var(--muted); font-size: 13px; }   .checkRow input{ margin-top: 3px; }   .modalFoot .btn{ padding: 10px 14px; }   .hint{ font-size: 12px; color: var(--muted); }   /* Footer */   footer{     padding: 26px 0 40px;     border-top: 1px solid var(--line);     background: rgba(0,0,0,.12);   }   .foot{     display:flex; flex-wrap:wrap; gap:14px;     align-items:flex-start; justify-content:space-between;   }   .foot p{ margin:0; color: var(--muted); font-size: 12px; line-height:1.5; max-width: 760px; }   .foot .miniLinks{ display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }   .foot .miniLinks a{ color: var(--muted); text-decoration:none; border-bottom:1px dashed rgba(255,255,255,.25); }   .foot .miniLinks a:hover{ color: var(--text); }   /* Focus */   :focus-visible{ outline: 2px solid rgba(59,130,246,.9); outline-offset: 2px; border-radius: 10px; } </style></head><body> <a class="skip" href="#main">Pular para o conteúdo principal</a> <header>   <div class="container">     <div class="topbar">       <div class="brand">         <img src="/secti/assets/logo_fundo_transparente.png" alt="Logo da Rede BAH.IA" />         <div class="title">           <strong>Rede BAH.IA</strong>           <span>Portal educacional e materiais</span>         </div>       </div>       <nav aria-label="Navegação principal">         <ul>           <li><a href="#sobre">Sobre</a></li>           <li><a href="#como-usar">Como usar</a></li>           <li><a href="#modulos">Módulos e aulas</a></li>           <li><a href="#downloads">Downloads</a></li>           <li><a href="#contato">Contato</a></li>         </ul>       </nav>     </div>   </div> </header> <main id="main">   <section class="hero">     <div class="container">       <div class="heroCard">         <div class="heroMedia" role="img" aria-label="Banner da Rede BAH.IA"></div>         <div class="heroBody">           <div class="text-justify">             <p>               Este portal reúne os materiais da Rede BAH.IA, uma iniciativa colaborativa de instituições baianas voltada à produção de <b>conteúdos educacionais gratuitos sobre Inteligência Artificial</b>.</p><p>Os materiais são organizados em módulos e podem ser usados de forma <b>flexível e adaptável</b>, apoiando o trabalho docente em diferentes níveis de ensino.</p><p>A proposta do BAH.IA valoriza a <b>contextualização regional, a inclusão e a diversidade</b>, aproximando a Inteligência Artificial da realidade educacional da Bahia.</p>             <div class="ctaRow">               <a class="btn primary" href="#modulos">Acessar módulos</a>               <button class="btn danger" type="button" data-download="https://drive.google.com/file/d/11zT1qfBrmAQ_CtgI_wwBtOrEuR8T6taU/view?…">                 Baixar pacote completo (ZIP)               </button>               <a class="btn primary" href="#como-usar">Como usar o material</a>             </div>           </div>           <div class="card" style="height:fit-content;">             <h3 style="margin:0 0 8px;">Acesso rápido</h3>             <p style="margin:0 0 10px;">               Use a busca abaixo para localizar rapidamente uma aula por tema, módulo ou palavra-chave.             </p>             <div class="search" role="search" aria-label="Buscar conteúdo">               <span aria-hidden="true">🔎</span>               <input id="q" type="search" placeholder="Ex.: 'Ética', 'PLN', 'Aprendizado supervisionado'..." />             </div>             <p class="smallNote" style="margin-top:10px;">               Dica: você pode baixar os materiais por aula (PPTX/DOCX) ou por módulo (ZIP).             </p>           </div>         </div>       </div>     </div>   </section>   <!-- SOBRE -->   <section id="sobre">     <div class="container">       <div class="heroCard">         <div class="heroBodyLine">           <h2>Sobre o portal</h2>           <p class="text-justify">             Este portal consolida a Rede BAH.IA, que reúne professores, pesquisadores e estudantes de sete instituições baianas para produzir e organizar materiais didáticos gratuitos sobre Inteligência Artificial.           </p><p class="text-justify">Os materiais produzidos foram pensados para facilitar o acesso, a navegação e o uso em sala de aula. Os conteúdos são organizados em módulos, o que permite que cada professor use o material de forma flexível, sem precisar seguir uma ordem fixa.</p><p class="text-justify">A identidade visual dos materiais segue princípios que orientam toda a proposta da Rede BAH.IA: regionalização, inclusão, diversidade, personalização do ensino e proximidade com professores e estudantes, além de manter coerência com a identidade do Estado da Bahia. Esses princípios guiam o uso de cores, personagens, ícones, ilustrações e exemplos presentes nos slides e recursos educacionais.</p><p class="text-justify">Os elementos visuais foram inspirados na cultura baiana para aproximar os conteúdos da realidade dos estudantes e fortalecer o sentimento de pertencimento, como uma forma de contextualizar o ensino, sem favorecer nenhum grupo específico.</p><br /><div >         <div class="card">           <h3>O que você encontra aqui</h3>           <p>             Módulos e aulas com <strong>slides editáveis (PPTX)</strong>, <strong>planos de aula (DOCX)</strong>             e PDFs para consulta rápida.           </p>           <ul class="list">             <li>Materiais por aula e por módulo</li>             <li>Orientações de uso e dependências entre módulos</li>             <li>Termo de uso para manter integridade e atribuição</li>           </ul>         </div><br />         <div class="card">           <h3>Para quem é</h3>           <p>             Educadores, gestores e pessoas interessadas em aprender e aplicar conceitos de IA na educação.             O conteúdo foi desenhado para adaptação conforme o contexto e o nível da turma.           </p>           <ul class="list">             <li>Ensino médio e técnico (uso sugerido)</li>             <li>Formação continuada de docentes</li>             <li>Uso institucional/educacional</li>           </ul>         </div>       </div>     </div>         </div>       </div>          </section>   <!-- COMO USAR -->   <section id="como-usar">     <div class="container">       <div class="heroCard">         <div class="heroBodyLine">           <h2>Como usar o material</h2>           <p class="text-justify">             O material apresenta uma organização conceitual progressiva, do Módulo 1 (M1) ao Módulo 7 (M7), mas admite conexões entre módulos, permitindo ajustes ao nível e ao contexto da turma, bem como a definição de diferentes trilhas de aprendizagem, conforme sugerido a seguir.           </p>                <br />       <div >       <div class="card">                   <h3>Trilhas sugeridas</h3>                   <ul class="list">                     <li><strong>Trilha essencial (rápida):</strong> M1 → M2 → M3 → M7</li>                     <li><strong>Trilha completa:</strong> M1 → M2 → M3 → M4 → M5 → M6 → M7</li>                     <li><strong>Trilha ética e cidadania digital:</strong> M1 → M3 → M4 (opcional: M7)</li>                   </ul>                   <p class="text-justify">                     Você pode iniciar pelos módulos que preferir, desde que respeite os pré-requisitos (por exemplo, os Módulos 5 (M5) e 7 (M7) dependem dos Módulos 1 (M1) e 3 (M3)). A estrutura geral, as dependências entre módulos e também o alinhamento com a Base Nacional Comum Curricular (BNCC) estão detalhados no link “Como usar o material”.                   </p>       <p class="text-justify" style="margin-top:10px; color:var(--muted); font-size:13px; line-height:1.5;">       Nesse link, cada módulo é associado às competências da BNCC. Por exemplo, o Módulo 1 está ligado às competências que possuem foco em pensamento científico e cultura digital, enquanto o Módulo 4 se conecta às competências voltadas à cidadania digital e responsabilidade.       </p>                 </div>       <br />                 <div class="card">                   <h3>Boas práticas em sala</h3>                   <ul class="list">                     <li>Use os <strong>PPTX</strong> para adaptar linguagem, exemplos e duração.</li>                     <li>Consulte o plano de aula em <strong>DOCX</strong> para ver os objetivos e atividades e adaptá-los conforme sua necessidade.</li>                     <li>Se for reutilizar/redistribuir, mantenha <strong>créditos</strong> e cite a origem (Rede BAH.IA).</li>                   </ul>                   <p class="text-justify">                     O portal não exige cadastro nem realiza coleta obrigatória de dados pessoais. No entanto, para acessar e utilizar os materiais, é necessário aceitar um termo de uso que assegura a integridade, a correta distribuição e o uso responsável do conteúdo. O descumprimento dessas regras pode resultar em penalidades previstas no próprio termo.                   </p>                 </div></div>       </div>       </div>     </div>   </section>   <!-- MÓDULOS -->   <section id="modulos">     <div class="container">       <div class="heroCard">           <div class="heroBodyLine text-justify">         <div>           <h2>Módulos e aulas</h2>           <p class="text-justify">             Clique em um módulo para ver as aulas. Cada aula pode ter: <strong>PPTX</strong> (slides editáveis), <strong>DOCX</strong> (plano de aula) e <strong>PDF</strong> (visualização).           </p>         </div>              <div class="toolbar">         <div class="smallNote" id="resultNote">Mostrando todos os módulos.</div>         <div class="smallNote">Precisa de algo específico? Use a busca no topo.</div>       </div>       <div class="modules" id="modulesRoot" aria-live="polite"></div>       </div>       </div>     </div>   </section>   <!-- DOWNLOADS -->   <section id="downloads">     <div class="container">       <div class="heroCard">           <div class="heroBodyLine text-justify">         <div>           <h2>Recursos para download</h2>           <p>             Para preservar a integridade do conteúdo e garantir a atribuição, os downloads exibem um termo de responsabilidade de uso antes do arquivo ser disponibilizado.           </p>         </div>       <br />       <div>         <div class="card">           <h3>Pacote completo</h3>           <p>Baixe todos os módulos e recursos em um único arquivo.</p>           <div class="ctaRow">             <button class="btn danger" type="button" data-download="https://drive.google.com/file/d/11zT1qfBrmAQ_CtgI_wwBtOrEuR8T6taU/view?…">               Baixar pacote completo (ZIP)             </button>           </div>           <p class="smallNote" style="margin-top:10px;">             Sugestão: mantenha o “versão/data” do pacote no nome do arquivo.           </p>         </div><br />         <div class="card">           <h3>Licença e uso correto</h3>           <p>O material pode ser usado e adaptado para fins educacionais, com atribuição e preservação de créditos.</p>           <ul class="list">             <li>Mantenha a referência: “Rede BAH.IA – Governo do Estado da Bahia / SECTI”.</li>             <li>Não remova marcas/logos e não atribua autoria indevida.</li>             <li>Ao adaptar, sinalize que se trata de uma versão derivada.</li>           </ul>         </div>       </div>       </div>       </div>            </div>   </section>   <!-- Créditos -->   <section id="creditos">     <div class="container">       <div class="heroCard">           <div class="heroBodyLine text-justify">         <div>           <h2>Créditos de elaboração</h2>         </div>           <div class="card">           <h3>Instituições </h3>           <p>Este material foi desenvolvido por professores, pesquisadores e estudantes da área de Inteligência Artificial das seguintes instituições:</p>           <ul class="list">             <li>Universidade Federal da Bahia (UFBA).</li>             <li>Universidade do Estado da Bahia (UNEB).</li>             <li>Universidade SENAI/CIMATEC.</li>          <li>Universidade Estadual de Feira de Santana (UEFS).</li>             <li>Universidade Estadual do Sudoeste da Bahia (UESB).</li>             <li>Universidade Estadual de Santa Cruz (UESC).</li>             <li>Instituto Federal Baiano (IF Baiano).</li>           </ul>         </div><br />       <div class="card">           <h3>Coordenação</h3>           <p>Essas instituições integram a Rede BAH.IA, sob a coordenação de:</p>           <ul class="list">             <li>Tatiane Nogueira Rios (Coordenadora Geral).</li>             <li>Ricardo Araújo Rios (Coordenador de Conteúdo).</li>             <li>Oberdan Rocha Pinheiro (Coordenador de Armazenamento e Portal).</li>          <li>Josemar Rodrigues de Souza (Coordenador de Disseminação).</li>           </ul>         </div></div></div>                </div>   </section>   <!-- CONTATO -->   <section id="contato">     <div class="container">       <div class="heroCard">           <div class="heroBodyLine text-justify">         <div>           <h2>Contato e Informações</h2>           <p>             Para mais informações sobre a Rede Bah.IA e outros projetos da SECTI, entre em contato:           </p>           <p>              Endereço: 5ª Avenida, Plataforma II, Ala B, 1º Andar, nº 550, CAB, Salvador, BA, CEP: 41745-004            </p>         </div>       <br />       <div class="grid2">         <div class="card">           <h3>Contato</h3>           <p>             Contato: <a href="/secti/fale-conosco">https://www.ba.gov.br/secti/fale-conosco</a>           </p>                     </div>         <div class="card">           <h3>Feedback rápido</h3>           <div class="ctaRow">             <a class="btn" href="https://forms.gle/jMfPmUpxEFdwF2vh6" target="_blank" rel="noopener">Formulário</a>           </div>         </div>       </div>       </div>              </div>     </div>   </section> </main> <footer>   <div class="container">     <div class="foot">       <p>         <strong>Rede BAH.IA</strong> — Portal educacional. Materiais para uso e adaptação com atribuição e preservação de créditos.         <br/>         Observação: links externos devem ser identificados e o conteúdo deve ser auditável institucionalmente.       </p>       <div class="miniLinks" aria-label="Links complementares">         <a href="#sobre">Sobre</a>         <a href="#como-usar">Como usar</a>         <a href="#modulos">Módulos</a>         <a href="#downloads">Downloads</a>         <a href="#contato">Contato</a>       </div>     </div>   </div> </footer> <!-- Modal de termo --> <div class="modalBackdrop" id="modalBackdrop" role="dialog" aria-modal="true" aria-labelledby="modalTitle">   <div class="modal">     <div class="modalHead">       <strong id="modalTitle">Termo de uso e licença — Rede BAH.IA</strong>       <button class="x" id="closeModal" type="button" aria-label="Fechar">✕</button>     </div>     <div class="modalBody">       <p>         Antes de baixar, confirme que você leu e concorda com o termo abaixo.         (Não há exigência de cadastro e não há coleta obrigatória de dados.)       </p>       <div class="termBox" tabindex="0" aria-label="Termo de uso">         <p style="margin:0 0 10px;"><strong>Resumo do termo</strong></p>         <ol style="margin:0; padding-left:18px;">           <li>Este material é disponibilizado para <strong>fins educacionais</strong>.</li>           <li>É permitido <strong>baixar, usar e adaptar</strong>, desde que sejam mantidos <strong>créditos e referências</strong> à origem: “Rede BAH.IA – Governo do Estado da Bahia / SECTI”.</li>           <li>É vedada a <strong>remoção de marcas/logos</strong>, a redistribuição que induza <strong>autoria indevida</strong> e o uso que desvirtue o contexto educacional.</li>           <li>Ao adaptar, sinalize claramente que se trata de uma <strong>versão derivada</strong>.</li>         </ol>         <p style="margin:10px 0 0; color:rgba(255,255,255,.7); font-size:12px;">           Se vocês preferirem, substituam este termo por uma licença formal (ex.: Creative Commons) e adicionem o selo correspondente.         </p>       </div>     </div>     <div class="modalFoot">       <label class="checkRow">         <input id="agree" type="checkbox" />         <span>Li e concordo com o termo de uso e com a preservação de créditos e integridade do conteúdo.</span>       </label>       <div style="display:flex; gap:10px; align-items:center; flex-wrap:wrap;">         <span class="hint" id="modalHint">Marque a caixa para liberar o download.</span>         <button class="btn primary" id="confirmDownload" type="button" disabled>Baixar arquivo</button>       </div>     </div>   </div> </div> <script>   /**    * ✅ Como editar os conteúdos:    * - Atualize "modulesData" com as aulas e links reais.    * - Para cada aula: pptx/docx/pdf.    * - Para cada módulo: zip.    *    * Observação: o portal suporta PPTX/DOCX como materiais principais;    * PDF fica como visualização, se desejarem.    */   const modulesData = [     {       id: "m1",       title: "Módulo 1 — Introdução à IA",       subtitle: "Este módulo estabelece os pilares conceituais da Inteligência Artificial e da Computação, servindo como base para os demais módulos.",       prereq: "Sem pré-requisitos",       tags: ["Fundamentos", "Computação", "Base"],       zip: "https://drive.google.com/file/d/1tWzPcSdD33akVkcmH40FzdbNXtN3v8hq/view?…",       lessons: [         { code: "Aula 01", title: "Aspectos Filosóficos da IA", pptx:"https://docs.google.com/presentation/d/1C7xpFUGliurrftEZdm2sA_qX8eQbrnW…", docx:"https://docs.google.com/document/d/1vjqgkwtshbfH3VAef92TLrPc2ONMRXQY/ed…", pdf:"https://drive.google.com/file/d/12YfljwuEUM6BgUGjkWWGyjjZkmbz8r2X/view?…" },         { code: "Aula 02", title: "Histórico da IA",               pptx:"https://docs.google.com/presentation/d/1hqigKMLHUBausNXWp67TU5IvUOtaq4V…", docx:"https://docs.google.com/document/d/1kMT6Xkzf9PrRlFEVHDDrG0SoW6qDrhAV/ed…", pdf:"https://drive.google.com/file/d/1-jtg-xljRlZgfU7QH5dFwsh1cDic2qGs/view?…" },         { code: "Aula 03", title: "Computação Básica",            pptx:"https://docs.google.com/presentation/d/1GZ3d8NK2iyuuV_TfMvOgbtWwrnlNwfY…", docx:"https://docs.google.com/document/d/1wO3GnCDAHoYB0K65elfg24aWdAUVpvo1/ed…", pdf:"https://drive.google.com/file/d/1nnD3HNvrdeMXE_3VFxBoTCvIFIHutOxw/view?…" },         { code: "Aula 04", title: "Aplicações Institucionais (Bahia)", pptx:"https://docs.google.com/presentation/d/1A9_4F3MoEyR36_KSM-bxNYA1cz3vrqk…", docx:"https://docs.google.com/document/d/14i56k6W6juVc79HR4ajdyxoihMDR-yx5/ed…", pdf:"https://drive.google.com/file/d/1Cqaf6PbN_1NMkqnD3KUoSZMu83lnYsB7/view?…" },       ]     },     {       id: "m2",       title: "Módulo 2 — Dados",       subtitle: "Este módulo foca no manuseio, organização e qualidade dos dados, com dependências diretas do Módulo 1 e conexões com o Módulo 2.",       prereq: "M1",       tags: ["Dados", "Ciência de Dados"],       zip: "https://drive.google.com/file/d/1cTRLPPjdjfa-79xHRfEmo7Q-dSIl8hfV/view?…",       lessons: [         { code:"Aula 05", title:"Coleta de Dados",                     pptx:"https://docs.google.com/presentation/d/1V7sUf5E2N8dIacHZMlNlyKuxJzI7ZD3…", docx:"https://docs.google.com/document/d/164jLBpb2RteZLMWv00QZ1Jb5-vHJE0pb/ed…", pdf:"https://drive.google.com/file/d/1HMXe9ClzHxrG0GGBJWwGhOk0PaLt0cTu/view?…" },         { code:"Aula 06", title:"Tratamento de Dados não Estruturados",pptx:"https://docs.google.com/presentation/d/1hml3YJFgBDv7LZnLxPno3Ns4IQDyENu…", docx:"https://docs.google.com/document/d/1VHtAbKxM-us4DUPPeI666jMKoPYA5gK1/ed…", pdf:"https://drive.google.com/file/d/1vUjjKwEiUw2Tzl4t8otpu4kc3GfqBUzM/view?…" },         { code:"Aula 07", title:"Trabalhando com Dados Estruturados",  pptx:"https://docs.google.com/presentation/d/1Ou7KYY_Ec-7cxX9UoH0ICL1rG7ICLOt…", docx:"https://docs.google.com/document/d/1nwMnANziY0AlyGqzM8HF-AGk9SRFuGOZ/ed…", pdf:"https://drive.google.com/file/d/1spZj0d8XyJGkEpBMYxeCZ3HnC63xfErk/view?…" },         { code:"Aula 08", title:"Introdução à Ciência de Dados",       pptx:"https://docs.google.com/presentation/d/1bk--boCADVIcX57i1mJCFof1tO0MhK-…", docx:"https://docs.google.com/document/d/1OzXy8qfXttZacwIFWGjp38M4aGODkotF/ed…", pdf:"https://drive.google.com/file/d/1xXm4AYNXscB9DHNPjekaslj2djaSyXDZ/view?…" },       ]     },     {       id:"m3",       title:"Módulo 3 — Aprendizado de Máquina",       subtitle:"Este é um módulo central, essencial para os Módulos 2, 5 e 7, pois introduz e diferencia os principais tipos de aprendizado de máquina: supervisionado, não supervisionado e por reforço.",       prereq: "M1 e conhecimentos básicos de Matemática",       tags:["ML", "Redes Neurais"],       zip:"https://drive.google.com/file/d/1Xqw2-0wxQj7mT3xbqMAeumg-vCbjqMst/view?…",       lessons:[         { code:"Aula 09", title:"Aprendizado Supervisionado",    pptx:"https://docs.google.com/presentation/d/1IbPVxI-hObdXbJCMgwDGq_ffOB2z-Du…", docx:"https://docs.google.com/document/d/1odWx6j7sFQ2DZ0hEPGdnaQ6eW3rtE9oe/ed…", pdf:"https://drive.google.com/file/d/1UEZBoVBwVPEMcge6mX1bIFYv0fqmm7kc/view?…" },         { code:"Aula 10", title:"Aprendizado Não Supervisionado",pptx:"https://docs.google.com/presentation/d/1Y6Jhrmh9sM-BW2KO_UsM2w09wcgdc1m…", docx:"https://docs.google.com/document/d/1GrQaAdiDrFem1Onh4EGuoZK2aE7tNKc7/ed…", pdf:"https://drive.google.com/file/d/1bw1hgS5HKblR5vrepPtXB1ZWZJfASCaL/view?…" },         { code:"Aula 11", title:"Aprendizado por Reforço",       pptx:"https://docs.google.com/presentation/d/14PC7vU76RHOhK0vJ3caMI6ODiupxxs7…", docx:"https://docs.google.com/document/d/1oe7h6AxuIa3-dLM28-I9jVWKXWPvZpes/ed…", pdf:"https://drive.google.com/file/d/1H1BXF-xYNkHqtjVToBCfErQ3IsbUE45h/view?…" },         { code:"Aula 12", title:"Aprendizado Evolutivo",         pptx:"https://docs.google.com/presentation/d/1fPjQUZ8063sS_AkLuvrIY64eV6rFREu…", docx:"https://docs.google.com/document/d/1_iOJyzC90SbfPjyRHolaHgyLTU4brm8j/ed…", pdf:"https://drive.google.com/file/d/1k0MzShQqjGv7RrR5Wgitz4f-B1NBA8Fo/view?…" },         { code:"Aula 13", title:"Redes Neurais",                 pptx:"https://docs.google.com/presentation/d/1VM1zisV9Ig1NCVV0lr3EoGJOqXO93-m…", docx:"https://docs.google.com/document/d/1SMjXQN1sWohK1S5EmqAXa4zoC9f-qjIX/ed…", pdf:"https://drive.google.com/file/d/1lZRL1Day2r3SV0qgERDuM_F_jBV_iJKw/view?…" },       ]     },     {       id:"m4",       title:"Módulo 4 — Ética e Impacto Social",       subtitle:"Este módulo aborda os impactos sociais, legais e éticos da IA, articulando conceitos técnicos com responsabilidade social.",       prereq:"M1 e M3 (para aprofundar)",       tags:["Ética", "Governança"],       zip:"https://drive.google.com/file/d/1llYk7NGmKA_oZ6BNPv-vaGEeCFMJqfzQ/view?…",       lessons:[         { code:"Aula 14", title:"Ética em IA",                      pptx:"https://docs.google.com/presentation/d/1VGgi8IX6BZtGC7iR4x1Dr5NLX2fPGvx…", docx:"https://docs.google.com/document/d/18YPxc6EiAu19uuAPfpar6wkmDojOqSxE/ed…", pdf:"https://drive.google.com/file/d/1i08ROhz0HDQ4bDyX2Qksgq5UhRKjttBS/view?…" },         { code:"Aula 15", title:"Governança: Regulamentação da IA", pptx:"https://docs.google.com/presentation/d/1TCqrET5p-y8LaIxnH7U5iRAbcUHFvXq…", docx:"https://docs.google.com/document/d/1SzA-uEX5FMyuJpDnRi9ti4xX5yee1sde/ed…", pdf:"https://drive.google.com/file/d/1wK0oYkZtAFzHnEwZR6rLSejqgZI5_TLP/view?…" },         { code:"Aula 16", title:"Viés Algorítmico e Discriminação", pptx:"https://docs.google.com/presentation/d/1i97GSUVnzjIFqrVruccBwTo2PybzeZ6…", docx:"https://docs.google.com/document/d/1CEGDre6QmpwJFELMUza6oTcUbWrFq81O/ed…", pdf:"https://drive.google.com/file/d/1Wlv1iAZsMX_jvO6cBhNtjqF7D8gJ14zK/view?…" },         { code:"Aula 17", title:"Transparência e Responsabilidade",  pptx:"https://docs.google.com/presentation/d/1jA9jRa5LCSIuf6V-AatxsP4umo78yml…", docx:"https://docs.google.com/document/d/1X-ZIp_nBssuMaTKGkLa5IKPxsCQqYrJl/ed…", pdf:"https://drive.google.com/file/d/1mkJFefG7LxhGCJDf2Mzrbq_IlfZbwNf0/view?…" },       ]     },     {       id:"m5",       title:"Módulo 5 — Processamento de Linguagem Natural (PLN)",       subtitle:"Este módulo trata da interpretação e geração de textos por computadores.",       prereq:"M3",       tags:["PLN", "Texto"],       zip:"https://drive.google.com/file/d/1moOn2KaqKFkDLLMYr8df2LLHjQL3sLTP/view?…",       lessons:[         { code:"Aula 18", title:"Introdução ao PLN",                   pptx:"https://docs.google.com/presentation/d/1oIpQhBUEOAt5E4AydAHeMXYFxYrKNYS…", docx:"https://docs.google.com/document/d/1oWbpptvQHeTjmwWqsujeOKTD8opSi1QO/ed…", pdf:"https://drive.google.com/file/d/1-etqm4Qf7jPlohAdn840bedSuMFthTTC/view?…" },         { code:"Aula 19", title:"Modelos de Representação de Dados",    pptx:"https://docs.google.com/presentation/d/1TcmHq0CWVpLRfu45n77hLnwcWF36hZd…", docx:"https://docs.google.com/document/d/19r_INEo-XkRE9a-2J9FKOasQj6fsnpdx/ed…", pdf:"https://drive.google.com/file/d/1zkdUebwFyeral6Bs7X3rHtzqWLyHFo0l/view?…" },         { code:"Aula 20", title:"Técnicas de Representação Semântica",  pptx:"https://docs.google.com/presentation/d/1z229qybT9wytuQl3OsI4eH-eF8fOzEI…", docx:"https://docs.google.com/document/d/1s_sLCsfRHrgUkJmQCPmg6KuuWcRq9eby/ed…", pdf:"https://drive.google.com/file/d/11wMnVyKaNiPuEHHTOjKFqXdhrKrjaY9n/view?…" },         { code:"Aula 21", title:"Aplicações Práticas de PLN",           pptx:"https://docs.google.com/presentation/d/1NFJfzUMl5J10RZjIk2fU65ZkXimonq7…", docx:"https://docs.google.com/document/d/13wUGm4Q9VpkBN0ts8ejAcZWHvBXlMsKr/ed…", pdf:"https://drive.google.com/file/d/189Ksz6NyGehNtBFqfO4qaoSbCIN8d0LL/view?…" },       ]     },     {       id:"m6",       title:"Módulo 6 — Visão Computacional e Robótica",       subtitle:"Este módulo explora como máquinas interpretam imagens e vídeos.",       prereq:"conhecimentos básicos de Física e Matemática",       tags:["Visão Computacional", "Robótica"],       zip:"https://drive.google.com/file/d/1GILVTUHEGX0JSPsityl2UVe0qf4PeWjn/view?…",       lessons:[         { code:"Aula 22", title:"Fundamentos de Visão Computacional", pptx:"https://docs.google.com/presentation/d/1P_rgm98py24eKD2IX3L4ORpnKzdMSNG…", docx:"https://docs.google.com/document/d/1aRhrOYNu15sQk8xbEBxY2jxTxu2LqAK_/ed…", pdf:"https://drive.google.com/file/d/1Q3LP6HcC5ySCGik6fhaPb-gdhs-6DXva/view?…" },         { code:"Aula 23", title:"Aplicações de Visão Computacional",  pptx:"https://docs.google.com/presentation/d/1LDfENkevRejOn9wZEmnhM6ipo96Xitj…", docx:"https://docs.google.com/document/d/1ADLy6JfBDGH1g3onQavpwE45W-omhu4m/ed…", pdf:"https://drive.google.com/file/d/1ByIcDJhwMhJwUp32b2XoaPPv4AS42I_2/view?…" },         { code:"Aula 24", title:"Robótica",                          pptx:"https://docs.google.com/presentation/d/1OlptUnAO6_2ctPwJ8R37DC7hUvzsywb…", docx:"https://docs.google.com/document/d/1nbDw8ZdscdtwYgAg18pGCe8zi5iE9TEW/ed…", pdf:"https://drive.google.com/file/d/1OxeOz0CXpOuq-CW6yUMGZsvlfXYLCzNU/view?…" },       ]     },     {       id:"m7",       title:"Módulo 7 — IA na Educação",       subtitle:"Este módulo consolida o aprendizado dos módulos anteriores com aplicações práticas e educacionais da IA.",    prereq: "M3",    tags:["Educação", "IA Generativa", "Prompt"],       zip:"https://drive.google.com/file/d/16_EWlwN_r5rWckJfZ_o1p-uvsmPxHGut/view?…",       lessons:[         { code:"Aula 25", title:"Plataformas de IA para Alunos e Professores", pptx:"https://docs.google.com/presentation/d/1Jn21R3T8kXCOynuEgk2S5fvSId-BfBT…", docx:"https://docs.google.com/document/d/1S4KLoemn0p0bW3cdffEMCcinG0hfOUz9/ed…", pdf:"https://drive.google.com/file/d/1euNstjR3sHvT-jnE5dYIfSp8AHSJghnd/view?…" },         { code:"Aula 26", title:"Como Estimular a Criatividade com IA",       pptx:"https://docs.google.com/presentation/d/1VkM2KELgM9yMotQ-5_LazpuiycZzviz…", docx:"https://docs.google.com/document/d/17tnj66hNO9PBSnYBEb5hVPYetnAH_fQk/ed…", pdf:"https://drive.google.com/file/d/1_Ux5SrCl_WhqCM5jqLkhzqbISFgt_MeF/view?…" },         { code:"Aula 27", title:"Introdução à Engenharia de Prompt",          pptx:"https://docs.google.com/presentation/d/1Gv2-CO-PTM1pqLaSi3invLImEIex6Fq…", docx:"https://docs.google.com/document/d/1naGccS7pOkrggxBFWXBqQZkjDl_iGXdB/ed…", pdf:"https://drive.google.com/file/d/14nfYy8XLp_pO-3Vt00vORKsOsb9Gcqe8/view?…" },         { code:"Aula 28", title:"Como Verificar Informações Usando IA",       pptx:"https://docs.google.com/presentation/d/17gBm8G7awYNWJR1R-WMsH4hP5vYdcfg…", docx:"https://docs.google.com/document/d/1aBShuqKg4T5qNNSb-DLjQli6Pou_4o8W/ed…", pdf:"https://drive.google.com/file/d/1kCPiYSDZIjAMaa9OTd4CmKVTWTIvAKhQ/view?…" },       ]     },   ];   const modulesRoot = document.getElementById("modulesRoot");   const q = document.getElementById("q");   const resultNote = document.getElementById("resultNote");   function escapeHtml(s){     return String(s).replace(/[&<>"']/g, m => ({ "&":"&","<":"<",">":">",'"':""","'":"'" }[m]));   }   function includesQuery(obj, query){     const hay = [       obj.title, obj.subtitle, obj.prereq,       ...(obj.tags||[]),       ...(obj.lessons||[]).flatMap(l => [l.code, l.title])     ].join(" ").toLowerCase();     return hay.includes(query.toLowerCase());   }   function renderModules(filter=""){     modulesRoot.innerHTML = "";     const data = filter ? modulesData.filter(m => includesQuery(m, filter)) : modulesData.slice();     resultNote.textContent = filter       ? `Resultados para: "${filter}" — ${data.length} módulo(s).`       : "Mostrando todos os módulos.";     data.forEach(m => {       const el = document.createElement("article");       el.className = "moduleCard";       el.setAttribute("aria-label", m.title);       const tagsHtml = (m.tags||[]).map(t => `<span class="tag">${escapeHtml(t)}</span>`).join("");       el.innerHTML = `         <div class="moduleHeader">           <div>             <h3>${escapeHtml(m.title)}</h3>             <div class="meta">${escapeHtml(m.subtitle)} • <strong>Pré-requisito:</strong> ${escapeHtml(m.prereq)}</div>           </div>           <div class="tagRow">             ${tagsHtml}             <button class="btnSm zip" type="button" data-download="${escapeHtml(m.zip)}" aria-label="Baixar módulo em ZIP">Baixar módulo (ZIP)</button>           </div>         </div>         <details>           <summary>             <span class="summaryLeft">               <strong>Ver aulas e materiais</strong>               <span>${m.lessons.length} aula(s)</span>             </span>             <span aria-hidden="true">▾</span>           </summary>           <div class="lessonList">             ${m.lessons.map(l => `               <div class="lesson">                 <div class="info">                   <strong>${escapeHtml(l.code)} — ${escapeHtml(l.title)}</strong>                                    </div>                 <div class="actions">                   <button class="btnSm ppt" type="button" data-download="${escapeHtml(l.pptx)}">Aula</button>                   <button class="btnSm doc" type="button" data-download="${escapeHtml(l.docx)}">Plano de Aula</button>                   <button class="btnSm pdf" type="button"       data-download="${escapeHtml(l.pdf)}"       aria-label="Visualizar PDF"       title="Visualizar PDF"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none"      xmlns="http://www.w3.org/2000/svg" aria-hidden="true">   <path d="M12 5C7 5 3.1 8 1.5 12C3.1 16 7 19 12 19C17 19 20.9 16 22.5 12C20.9 8 17 5 12 5Z"         stroke="currentColor" stroke-width="2"/>   <circle cx="12" cy="12" r="3" stroke="currentColor" stroke-width="2"/> </svg></button>                 </div>               </div>             `).join("")}           </div>                    </details>                `;       modulesRoot.appendChild(el);     });   }   // Termo / download gating   const modalBackdrop = document.getElementById("modalBackdrop");   const closeModalBtn = document.getElementById("closeModal");   const confirmBtn = document.getElementById("confirmDownload");   const agree = document.getElementById("agree");   const modalHint = document.getElementById("modalHint");   let pendingUrl = null;   function openModal(url){     pendingUrl = url;     agree.checked = false;     confirmBtn.disabled = true;     modalHint.textContent = "Marque a caixa para liberar o download.";     modalBackdrop.style.display = "flex";     // foco no modal     closeModalBtn.focus();   }   function closeModal(){     modalBackdrop.style.display = "none";     pendingUrl = null;   }   agree.addEventListener("change", () => {     const ok = agree.checked;     confirmBtn.disabled = !ok;     modalHint.textContent = ok ? "Pronto. Clique em “Baixar arquivo”." : "Marque a caixa para liberar o download.";   });   confirmBtn.addEventListener("click", () => {     if(!pendingUrl) return;     // Opcional: guardar consentimento local (não é dado pessoal)     localStorage.setItem("bahia_terms_accepted", "yes");     // Disparar download     const a = document.createElement("a");     a.href = pendingUrl;     a.download = "";     document.body.appendChild(a);     a.click();     a.remove();     closeModal();   });   closeModalBtn.addEventListener("click", closeModal);   modalBackdrop.addEventListener("click", (e) => {     if(e.target === modalBackdrop) closeModal();   });   document.addEventListener("keydown", (e) => {     if(e.key === "Escape" && modalBackdrop.style.display === "flex") closeModal();   });   // Delegação para botões com data-download   document.addEventListener("click", (e) => {     const btn = e.target.closest("[data-download]");     if(!btn) return;     const url = btn.getAttribute("data-download");     if(!url) return;     // Se quiser liberar sem termo quando já aceitou:     // if(localStorage.getItem("bahia_terms_accepted") === "yes"){ window.location.href = url; return; }     openModal(url);   });   // Busca   q.addEventListener("input", () => {     const value = q.value.trim();     renderModules(value);   });   // Inicial   renderModules(); </script></body></html> 
ver