diff --git a/INSTRUCOES_DEPLOY_TCE.md b/INSTRUCOES_DEPLOY_TCE.md
new file mode 100644
index 000000000..2fdd334e8
--- /dev/null
+++ b/INSTRUCOES_DEPLOY_TCE.md
@@ -0,0 +1,272 @@
+# Instruções de Deploy - Módulo TCE
+
+## 📋 Resumo das Alterações
+
+O módulo TCE foi implementado com funcionalidades de:
+- Upload e organização de arquivos por processo/pasta/subpasta
+- Verificação de tamanho de arquivos (≤5MB)
+- Aplicação de OCR (preparado, mas simulado)
+- **Assinatura digital com certificado A1 (.pfx)** - IMPLEMENTADO
+- Geração de arquivos .p7s
+- Visualização de PDFs
+
+## 🔧 Instalação no Servidor de Produção
+
+### 1. Atualizar o Código
+
+```bash
+cd /caminho/do/sapl
+git pull origin 3.1.x
+```
+
+### 2. Instalar Dependências Python
+
+```bash
+# Ativar o virtualenv do SAPL (ajuste o caminho conforme necessário)
+source /opt/venv/bin/activate # ou o caminho do seu venv
+
+# Instalar bibliotecas necessárias
+pip install pyhanko==0.31.0
+pip install pyhanko-certvalidator==0.29.0
+pip install cryptography>=43.0.3
+```
+
+**OU** use o arquivo requirements:
+
+```bash
+pip install -r /caminho/para/tce_requirements.txt
+```
+
+### 3. Executar Migrações do Banco de Dados
+
+```bash
+python manage.py migrate
+```
+
+**Migrações criadas:**
+- `0001_initial.py` - Estrutura inicial (TceProcesso, TcePasta, TceArquivo, etc)
+- `0002_tcearquivo_subpasta.py` - Campo subpasta em TceArquivo
+- `0003_tcepasta_subpastas_customizadas.py` - Campo para subpastas customizadas
+
+### 4. Coletar Arquivos Estáticos
+
+```bash
+python manage.py collectstatic --noinput
+```
+
+### 5. Criar Diretórios de Upload
+
+```bash
+# Criar diretórios para arquivos TCE
+mkdir -p /caminho/do/media/tce/arquivos
+mkdir -p /caminho/do/media/tce/reduzidos
+mkdir -p /caminho/do/media/tce/ocr
+mkdir -p /caminho/do/media/tce/assinados
+mkdir -p /caminho/do/media/tce/p7s
+
+# Dar permissões adequadas (ajuste o usuário conforme necessário)
+chown -R www-data:www-data /caminho/do/media/tce
+chmod -R 755 /caminho/do/media/tce
+```
+
+### 6. Reiniciar Serviços
+
+```bash
+# Para Apache
+sudo systemctl restart apache2
+
+# OU para Nginx + Gunicorn/uWSGI
+sudo systemctl restart gunicorn # ou uwsgi
+sudo systemctl restart nginx
+```
+
+## 📁 Arquivos Criados/Modificados
+
+### Novos Arquivos:
+
+1. **Modelos:**
+ - `/sapl/tce/models.py` - Modelos TceProcesso, TcePasta, TceArquivo, TceAssinatura, TceLog
+
+2. **Views:**
+ - `/sapl/tce/admin_views.py` - Views e APIs do módulo TCE
+
+3. **URLs:**
+ - `/sapl/tce/urls.py` - Rotas do módulo
+
+4. **Templates:**
+ - `/sapl/templates/admin/tce/admin_index.html` - Dashboard TCE
+ - `/sapl/templates/admin/tce/processo_detail.html` - Detalhes do processo
+ - `/sapl/templates/admin/tce/subpasta_detail.html` - Detalhes da subpasta (com wizard de upload)
+ - `/sapl/templates/admin/tce/change_form.html` - Formulário admin
+ - `/sapl/templates/admin/tce/change_list.html` - Lista admin
+ - `/sapl/templates/admin/tce/app_index.html` - Índice do app
+
+5. **Template Filters:**
+ - `/sapl/tce/templatetags/tce_filters.py` - Filtros customizados
+
+6. **Migrações:**
+ - `/sapl/tce/migrations/0001_initial.py`
+ - `/sapl/tce/migrations/0002_tcearquivo_subpasta.py`
+ - `/sapl/tce/migrations/0003_tcepasta_subpastas_customizadas.py`
+
+### Arquivos Modificados:
+
+1. `/sapl/templates/admin/base_site.html` - Navbar do SAPL no admin
+
+## 🔐 Configurações de Segurança
+
+### Permissões de Arquivos
+
+```python
+# Em settings.py, verificar:
+MEDIA_ROOT = '/caminho/do/media'
+MEDIA_URL = '/media/'
+
+# Limite de upload (opcional)
+FILE_UPLOAD_MAX_MEMORY_SIZE = 5242880 # 5MB
+DATA_UPLOAD_MAX_MEMORY_SIZE = 5242880 # 5MB
+```
+
+### Configuração do Servidor Web
+
+**Para Apache (.htaccess ou VirtualHost):**
+
+```apache
+# Permitir upload de arquivos PDF e certificados
+
+ Options -Indexes
+ AllowOverride None
+ Require all granted
+
+ # Apenas permitir acesso a arquivos específicos
+
+ Require all granted
+
+
+```
+
+**Para Nginx:**
+
+```nginx
+location /media/tce/ {
+ alias /caminho/do/media/tce/;
+
+ # Apenas permitir download de PDFs e p7s
+ location ~ \.(pdf|p7s)$ {
+ add_header Content-Disposition "inline";
+ }
+
+ # Bloquear acesso a outros arquivos
+ location ~ \.(pfx|p12)$ {
+ deny all;
+ }
+}
+```
+
+## 🧪 Testar a Instalação
+
+### 1. Verificar se as bibliotecas foram instaladas:
+
+```bash
+python -c "from pyhanko.sign import signers; print('✓ PyHanko OK')"
+python -c "from pyhanko_certvalidator import ValidationContext; print('✓ Certvalidator OK')"
+```
+
+### 2. Acessar o módulo:
+
+```
+http://seu-servidor.com/tce/admin/
+```
+
+### 3. Testar funcionalidades:
+
+1. **Criar um processo** - Dashboard TCE > Novo Processo
+2. **Criar pastas/subpastas** - Dentro do processo
+3. **Upload de arquivo** - Com wizard de 5 abas
+4. **Assinatura digital** - Na aba 4 do wizard (requer certificado .pfx)
+5. **Geração .p7s** - Na aba 5 do wizard
+
+## ⚠️ Problemas Conhecidos e Soluções
+
+### Erro: "Biblioteca de assinatura não instalada"
+
+**Solução:**
+```bash
+pip install pyhanko pyhanko-certvalidator
+sudo systemctl restart gunicorn # ou seu servidor WSGI
+```
+
+### Erro de permissão ao fazer upload
+
+**Solução:**
+```bash
+chown -R www-data:www-data /caminho/do/media/tce
+chmod -R 755 /caminho/do/media/tce
+```
+
+### Erro 404 ao visualizar arquivo
+
+**Solução:**
+Verificar se a rota está registrada em `urls.py`:
+```python
+path('arquivo//visualizar/', admin_views.visualizar_arquivo, name='visualizar_arquivo'),
+```
+
+### JSONField não encontrado (Django < 3.1)
+
+O código já está preparado com fallback:
+```python
+try:
+ from django.db.models import JSONField
+except ImportError:
+ from django.contrib.postgres.fields import JSONField
+```
+
+## 📊 Monitoramento
+
+### Logs para verificar:
+
+```bash
+# Logs do Django
+tail -f /var/log/sapl/django.log
+
+# Logs do servidor web
+tail -f /var/log/apache2/error.log # Apache
+tail -f /var/log/nginx/error.log # Nginx
+```
+
+### Verificar uploads:
+
+```bash
+ls -lah /caminho/do/media/tce/arquivos/
+ls -lah /caminho/do/media/tce/assinados/
+ls -lah /caminho/do/media/tce/p7s/
+```
+
+## 🔄 Rollback (se necessário)
+
+Se precisar reverter as alterações:
+
+```bash
+# Reverter migrações
+python manage.py migrate tce 0000_initial # ou zero
+
+# Reverter código
+git revert
+git push
+```
+
+## 📞 Suporte
+
+Em caso de dúvidas ou problemas:
+
+1. Verificar logs do servidor
+2. Testar em ambiente de desenvolvimento primeiro
+3. Verificar se todas as dependências foram instaladas
+4. Confirmar permissões de arquivos e diretórios
+
+---
+
+**Data de criação:** 03/10/2025
+**Versão do SAPL:** 3.1.x
+**Última atualização:** Após merge com branch principal
diff --git a/RESUMO_ALTERACOES_TCE.md b/RESUMO_ALTERACOES_TCE.md
new file mode 100644
index 000000000..e11d76208
--- /dev/null
+++ b/RESUMO_ALTERACOES_TCE.md
@@ -0,0 +1,273 @@
+# Resumo das Alterações - Módulo TCE
+
+## 🎯 O que foi implementado
+
+Sistema completo de gestão de documentos para prestação de contas ao TCE (Tribunal de Contas do Estado) com:
+
+### Funcionalidades Principais:
+1. ✅ **Gestão de Processos** - Criar processos por período (trimestral, anual, etc)
+2. ✅ **Organização em Pastas** - 3 categorias padrão + pastas customizadas
+3. ✅ **Subpastas Dinâmicas** - Estrutura hierárquica com subpastas customizáveis
+4. ✅ **Upload com Wizard** - 5 etapas para preparação de documentos
+5. ✅ **Verificação de Tamanho** - Validação ≤5MB
+6. ✅ **OCR** - Preparado (simulado no frontend)
+7. ✅ **Assinatura Digital Real** - Com certificado A1 (.pfx) usando PyHanko
+8. ✅ **Geração .p7s** - Arquivo de assinatura destacada
+9. ✅ **Visualização de PDFs** - Inline no navegador
+10. ✅ **Logs e Auditoria** - Rastreamento completo de ações
+
+---
+
+## 📦 Para o Servidor de Produção
+
+### **Comando Rápido (Instalação Automática):**
+
+```bash
+cd /caminho/do/sapl
+./scripts/install_tce_module.sh
+```
+
+### **OU Manual:**
+
+```bash
+# 1. Atualizar código
+git pull origin 3.1.x
+
+# 2. Ativar virtualenv
+source /opt/venv/bin/activate
+
+# 3. Instalar dependências
+pip install pyhanko==0.31.0 pyhanko-certvalidator==0.29.0
+
+# 4. Migrar banco
+python manage.py migrate
+
+# 5. Criar diretórios
+mkdir -p media/tce/{arquivos,assinados,p7s,ocr,reduzidos}
+chown -R www-data:www-data media/tce
+chmod -R 755 media/tce
+
+# 6. Coletar estáticos
+python manage.py collectstatic --noinput
+
+# 7. Reiniciar serviço
+sudo systemctl restart gunicorn # ou apache2/nginx
+```
+
+---
+
+## 🔑 Dependências NOVAS Instaladas
+
+### Python:
+- ✅ `pyhanko==0.31.0` - Assinatura digital de PDFs
+- ✅ `pyhanko-certvalidator==0.29.0` - Validação de certificados
+- ✅ `cryptography>=43.0.3` - Criptografia
+- ✅ `tzlocal>=5.0.0` - Timezone
+- ✅ `uritools>=5.0.0` - Manipulação de URIs
+
+### Frontend (CDN):
+- ✅ Font Awesome 6.5.1 - Ícones
+- ✅ SweetAlert2 - Alertas modernos
+- ✅ Bootstrap (já existente) - UI
+
+---
+
+## 📁 Arquivos Principais Criados
+
+### Backend:
+```
+sapl/tce/
+├── models.py # 5 modelos (Processo, Pasta, Arquivo, Assinatura, Log)
+├── admin_views.py # 10+ views e APIs
+├── urls.py # Rotas do módulo
+├── admin.py # Admin Django
+└── migrations/
+ ├── 0001_initial.py
+ ├── 0002_tcearquivo_subpasta.py
+ └── 0003_tcepasta_subpastas_customizadas.py
+```
+
+### Frontend:
+```
+sapl/templates/admin/tce/
+├── admin_index.html # Dashboard principal
+├── processo_detail.html # Detalhes do processo
+├── subpasta_detail.html # Upload wizard (5 abas)
+├── change_form.html # Formulário admin
+├── change_list.html # Lista admin
+└── app_index.html # Índice do app
+```
+
+### Template Filters:
+```
+sapl/tce/templatetags/
+└── tce_filters.py # Filtros customizados
+```
+
+---
+
+## 🔄 Migrações do Banco de Dados
+
+### 3 Migrações Criadas:
+
+1. **0001_initial** - Estrutura base:
+ - TceProcesso (processos TCE)
+ - TcePasta (categorias/pastas)
+ - TceArquivo (arquivos PDF/XML)
+ - TceAssinatura (assinaturas digitais)
+ - TceLog (auditoria)
+
+2. **0002_tcearquivo_subpasta** - Campo para subpastas
+
+3. **0003_tcepasta_subpastas_customizadas** - Subpastas customizadas (JSON em TextField)
+
+### Executar:
+```bash
+python manage.py migrate tce
+```
+
+---
+
+## 🌐 URLs Adicionadas
+
+```python
+/tce/admin/ # Dashboard
+/tce/processo// # Detalhes do processo
+/tce/processo//pasta/// # Detalhes da subpasta
+/tce/arquivo//visualizar/ # Visualizar PDF
+/tce/api/arquivos/upload/ # Upload
+/tce/api/arquivos//assinar/ # Assinar
+/tce/api/arquivos//gerar-p7s/ # Gerar .p7s
+/tce/api/arquivos//delete/ # Deletar
+/tce/api/pastas/criar/ # Criar pasta
+/tce/api/subpastas/adicionar/ # Adicionar subpasta
+```
+
+---
+
+## ✅ Checklist de Deploy
+
+- [ ] Git pull executado
+- [ ] Dependências Python instaladas (`pyhanko`, `pyhanko-certvalidator`)
+- [ ] Migrações executadas (`python manage.py migrate`)
+- [ ] Diretórios de mídia criados (`media/tce/`)
+- [ ] Permissões configuradas (755, owner www-data)
+- [ ] Arquivos estáticos coletados (`collectstatic`)
+- [ ] Servidor web reiniciado
+- [ ] Teste de acesso: `http://servidor/tce/admin/`
+- [ ] Teste de upload de arquivo
+- [ ] Teste de assinatura digital (com certificado .pfx)
+
+---
+
+## 🧪 Como Testar
+
+1. **Acessar:** `http://seu-servidor/tce/admin/`
+2. **Criar processo:** Clicar em "Novo Processo TCE"
+3. **Entrar no processo:** Ver pastas e subpastas
+4. **Upload:** Clicar em "Adicionar Arquivos" em uma subpasta
+5. **Wizard (5 abas):**
+ - Aba 1: Selecionar PDF
+ - Aba 2: Verificar tamanho
+ - Aba 3: Aplicar OCR (simulado)
+ - Aba 4: **Assinar digitalmente** (usar certificado .pfx + senha)
+ - Aba 5: Gerar .p7s
+6. **Finalizar:** Arquivo aparece na lista
+7. **Visualizar:** Clicar no ícone 👁️ para ver o PDF assinado
+
+---
+
+## 🚨 Problemas Comuns
+
+### "Biblioteca de assinatura não instalada"
+```bash
+pip install pyhanko pyhanko-certvalidator
+sudo systemctl restart gunicorn
+```
+
+### Erro de permissão ao fazer upload
+```bash
+chown -R www-data:www-data /caminho/do/media/tce
+chmod -R 755 /caminho/do/media/tce
+```
+
+### Arquivo não aparece após upload
+- Verificar logs: `/var/log/sapl/` ou `/var/log/apache2/error.log`
+- Verificar se diretórios existem: `ls -la media/tce/`
+- Verificar se migrações foram aplicadas: `python manage.py showmigrations tce`
+
+---
+
+## 📊 Estrutura de Dados
+
+### Hierarquia:
+```
+TceProcesso (Prestação de Contas - 3º Tri/2025)
+ └── TcePasta (Gestão Administrativa)
+ └── Subpasta (Atos de pessoal)
+ └── TceArquivo (documento.pdf)
+ ├── arquivo_assinado.pdf
+ ├── documento.p7s
+ └── TceAssinatura (dados do certificado)
+```
+
+### Campos Principais:
+
+**TceProcesso:**
+- titulo, ano, periodo, status
+- numero_protocolo (TCE)
+- data_envio, recibo_tce
+
+**TceArquivo:**
+- arquivo (original)
+- arquivo_assinado (com assinatura)
+- arquivo_p7s (destacado)
+- tamanho_ok, ocr_ok, assinado, p7s_gerado
+- certificado_info (JSON)
+
+---
+
+## 📝 Logs e Monitoramento
+
+### Verificar logs:
+```bash
+# Django
+tail -f /var/log/sapl/django.log
+
+# Servidor web
+tail -f /var/log/apache2/error.log # ou nginx/error.log
+
+# Verificar uploads
+ls -lah media/tce/arquivos/
+ls -lah media/tce/assinados/
+```
+
+### Django shell:
+```python
+python manage.py shell
+
+from sapl.tce.models import *
+
+# Ver processos
+TceProcesso.objects.all()
+
+# Ver arquivos
+TceArquivo.objects.all()
+
+# Ver assinaturas
+TceAssinatura.objects.all()
+```
+
+---
+
+## 📞 Documentação Completa
+
+- 📄 `INSTRUCOES_DEPLOY_TCE.md` - Instruções detalhadas
+- 🔧 `scripts/install_tce_module.sh` - Script de instalação automática
+- 📋 `RESUMO_ALTERACOES_TCE.md` - Este arquivo
+
+---
+
+**Desenvolvido em:** Outubro/2025
+**Branch:** 3.1.x
+**Status:** ✅ Pronto para produção
diff --git a/scripts/install_tce_module.sh b/scripts/install_tce_module.sh
new file mode 100755
index 000000000..cf57d6659
--- /dev/null
+++ b/scripts/install_tce_module.sh
@@ -0,0 +1,246 @@
+#!/bin/bash
+
+###############################################################################
+# Script de Instalação do Módulo TCE
+# Versão: 1.0
+# Data: 03/10/2025
+###############################################################################
+
+set -e # Parar em caso de erro
+
+# Cores para output
+RED='\033[0;31m'
+GREEN='\033[0;32m'
+YELLOW='\033[1;33m'
+NC='\033[0m' # No Color
+
+# Função para log
+log_info() {
+ echo -e "${GREEN}[INFO]${NC} $1"
+}
+
+log_warn() {
+ echo -e "${YELLOW}[WARN]${NC} $1"
+}
+
+log_error() {
+ echo -e "${RED}[ERROR]${NC} $1"
+}
+
+# Verificar se está rodando como root ou com sudo
+if [ "$EUID" -eq 0 ]; then
+ log_warn "Rodando como root. Certifique-se de que as permissões estão corretas."
+fi
+
+###############################################################################
+# 1. VERIFICAÇÕES INICIAIS
+###############################################################################
+
+log_info "Verificando ambiente..."
+
+# Verificar se o Python está disponível
+if ! command -v python3 &> /dev/null; then
+ log_error "Python3 não encontrado. Instale o Python 3.8 ou superior."
+ exit 1
+fi
+
+PYTHON_VERSION=$(python3 --version | awk '{print $2}')
+log_info "Python versão: $PYTHON_VERSION"
+
+# Verificar se o virtualenv está ativado
+if [ -z "$VIRTUAL_ENV" ]; then
+ log_warn "Virtualenv não está ativado. Ativando..."
+
+ # Tentar encontrar o virtualenv
+ if [ -d "/opt/venv" ]; then
+ source /opt/venv/bin/activate
+ log_info "Virtualenv ativado: /opt/venv"
+ elif [ -d "venv" ]; then
+ source venv/bin/activate
+ log_info "Virtualenv ativado: venv"
+ else
+ log_error "Virtualenv não encontrado. Ative manualmente antes de executar."
+ exit 1
+ fi
+fi
+
+# Verificar se o Django está instalado
+if ! python3 -c "import django" &> /dev/null; then
+ log_error "Django não encontrado. Instale o Django primeiro."
+ exit 1
+fi
+
+DJANGO_VERSION=$(python3 -c "import django; print(django.get_version())")
+log_info "Django versão: $DJANGO_VERSION"
+
+###############################################################################
+# 2. INSTALAR DEPENDÊNCIAS
+###############################################################################
+
+log_info "Instalando dependências do módulo TCE..."
+
+pip install --upgrade pip
+
+# Instalar pyhanko e dependências
+log_info "Instalando pyhanko (assinatura digital)..."
+pip install pyhanko==0.31.0 pyhanko-certvalidator==0.29.0
+
+# Instalar dependências complementares
+log_info "Instalando dependências complementares..."
+pip install cryptography>=43.0.3 requests>=2.31.0 python-dateutil>=2.8.0 tzlocal>=5.0.0
+
+# Verificar instalação
+log_info "Verificando instalação das bibliotecas..."
+python3 -c "from pyhanko.sign import signers; print('✓ PyHanko instalado com sucesso')" || {
+ log_error "Falha ao instalar pyhanko"
+ exit 1
+}
+
+python3 -c "from pyhanko_certvalidator import ValidationContext; print('✓ Certvalidator instalado com sucesso')" || {
+ log_error "Falha ao instalar pyhanko-certvalidator"
+ exit 1
+}
+
+###############################################################################
+# 3. EXECUTAR MIGRAÇÕES
+###############################################################################
+
+log_info "Executando migrações do banco de dados..."
+
+python3 manage.py migrate tce
+
+log_info "Migrações concluídas com sucesso"
+
+###############################################################################
+# 4. CRIAR DIRETÓRIOS DE UPLOAD
+###############################################################################
+
+log_info "Criando diretórios para uploads..."
+
+# Detectar MEDIA_ROOT do Django
+MEDIA_ROOT=$(python3 -c "from django.conf import settings; print(settings.MEDIA_ROOT)" 2>/dev/null || echo "media")
+
+mkdir -p "$MEDIA_ROOT/tce/arquivos"
+mkdir -p "$MEDIA_ROOT/tce/reduzidos"
+mkdir -p "$MEDIA_ROOT/tce/ocr"
+mkdir -p "$MEDIA_ROOT/tce/assinados"
+mkdir -p "$MEDIA_ROOT/tce/p7s"
+
+log_info "Diretórios criados em: $MEDIA_ROOT/tce/"
+
+# Configurar permissões
+if [ -d "$MEDIA_ROOT/tce" ]; then
+ # Tentar detectar o usuário do servidor web
+ WEB_USER=""
+ if id "www-data" &>/dev/null; then
+ WEB_USER="www-data"
+ elif id "apache" &>/dev/null; then
+ WEB_USER="apache"
+ elif id "nginx" &>/dev/null; then
+ WEB_USER="nginx"
+ fi
+
+ if [ -n "$WEB_USER" ]; then
+ log_info "Configurando permissões para o usuário: $WEB_USER"
+ chown -R "$WEB_USER:$WEB_USER" "$MEDIA_ROOT/tce" 2>/dev/null || log_warn "Não foi possível alterar o owner. Execute com sudo se necessário."
+ else
+ log_warn "Usuário do servidor web não detectado. Configure as permissões manualmente."
+ fi
+
+ chmod -R 755 "$MEDIA_ROOT/tce"
+ log_info "Permissões configuradas: 755"
+fi
+
+###############################################################################
+# 5. COLETAR ARQUIVOS ESTÁTICOS
+###############################################################################
+
+log_info "Coletando arquivos estáticos..."
+
+python3 manage.py collectstatic --noinput
+
+log_info "Arquivos estáticos coletados"
+
+###############################################################################
+# 6. VERIFICAÇÕES FINAIS
+###############################################################################
+
+log_info "Realizando verificações finais..."
+
+# Verificar se o app TCE está instalado
+python3 manage.py showmigrations tce | grep -q "\[X\]" && log_info "✓ Migrações TCE aplicadas" || log_error "✗ Migrações TCE não aplicadas"
+
+# Listar URLs do módulo TCE
+log_info "URLs do módulo TCE registradas:"
+python3 manage.py show_urls 2>/dev/null | grep "tce" || log_warn "Comando show_urls não disponível"
+
+###############################################################################
+# 7. REINICIAR SERVIÇOS
+###############################################################################
+
+log_info "Preparando para reiniciar serviços..."
+
+# Detectar serviço
+SERVICE=""
+if systemctl list-units --type=service | grep -q "gunicorn"; then
+ SERVICE="gunicorn"
+elif systemctl list-units --type=service | grep -q "uwsgi"; then
+ SERVICE="uwsgi"
+elif systemctl list-units --type=service | grep -q "apache2"; then
+ SERVICE="apache2"
+elif systemctl list-units --type=service | grep -q "httpd"; then
+ SERVICE="httpd"
+fi
+
+if [ -n "$SERVICE" ]; then
+ log_info "Serviço detectado: $SERVICE"
+ read -p "Deseja reiniciar o serviço $SERVICE agora? (s/N): " -n 1 -r
+ echo
+ if [[ $REPLY =~ ^[SsYy]$ ]]; then
+ sudo systemctl restart "$SERVICE"
+ log_info "Serviço $SERVICE reiniciado"
+
+ # Reiniciar nginx se existir
+ if systemctl list-units --type=service | grep -q "nginx"; then
+ sudo systemctl restart nginx
+ log_info "Nginx reiniciado"
+ fi
+ else
+ log_warn "Lembre-se de reiniciar o serviço manualmente:"
+ log_warn " sudo systemctl restart $SERVICE"
+ fi
+else
+ log_warn "Serviço web não detectado automaticamente."
+ log_warn "Reinicie manualmente seu servidor web (Apache/Nginx/Gunicorn/uWSGI)"
+fi
+
+###############################################################################
+# 8. RESUMO
+###############################################################################
+
+echo ""
+log_info "=========================================="
+log_info "Instalação do Módulo TCE Concluída!"
+log_info "=========================================="
+echo ""
+log_info "Próximos passos:"
+echo " 1. Acesse: http://seu-servidor/tce/admin/"
+echo " 2. Crie um novo processo TCE"
+echo " 3. Faça upload de documentos"
+echo " 4. Teste a assinatura digital (aba 4 do wizard)"
+echo ""
+log_info "Dependências instaladas:"
+echo " ✓ pyhanko 0.31.0"
+echo " ✓ pyhanko-certvalidator 0.29.0"
+echo " ✓ cryptography >= 43.0.3"
+echo ""
+log_info "Diretórios criados:"
+echo " $MEDIA_ROOT/tce/"
+echo ""
+log_info "Para mais informações, consulte:"
+echo " - INSTRUCOES_DEPLOY_TCE.md"
+echo " - Logs do servidor web"
+echo ""
+log_info "=========================================="
+
+exit 0