PATCH V51 - GESTÃO DE REVENDEDORES RESPONSIVA E ORGANIZADA
================================================================

PACOTE DE ORIGEM ANALISADO
--------------------------
launcher(20260818-085258).zip
SHA-256: 0825dda2a23b3a1f12a1cea6ec2a81233f7c1e6fb81dfefcb36f205402a4ec45

Este patch reorganiza a área administrativa de revendedores e permissões sem
alterar clientes, vencimentos, créditos, APKs, pagamentos ou dados existentes.

COMO INSTALAR O PATCH
---------------------
1. Faça um backup da pasta launcher e principalmente de launcher/api/max.db.
2. Extraia o ZIP do patch DIRETAMENTE DENTRO da pasta launcher atual.
3. Confirme a substituição dos arquivos existentes.
4. Não apague nem substitua launcher/api/max.db.
5. Atualize a página do painel. Se necessário, use Ctrl+F5 no computador.

Não precisa configurar Cron Job e não precisa executar migração manual.

NOVA GESTÃO DE REVENDEDORES
---------------------------
1. Página centralizada
   - Cadastro, busca, edição e principais ações ficam em revendedores.php.
   - O atalho antigo Gerenciar Usuários foi retirado do menu principal para não
     manter duas telas fazendo quase o mesmo trabalho.
   - A página usuarios.php continua no pacote para compatibilidade.

2. Visual responsivo
   - Cada revendedor aparece em um cartão individual.
   - Os botões possuem área maior para toque no celular.
   - No computador os cartões são distribuídos em colunas.
   - No celular os cartões e botões se reorganizam sem rolagem lateral.

3. Busca, ordenação e resumo
   - Busca por usuário, nome, WhatsApp ou ID.
   - Ordenação por nome, clientes, créditos ou data de criação.
   - Resumo de revendedores, clientes vinculados, créditos disponíveis e
     permissões liberadas.

4. Ações organizadas por revendedor
   - Entrar no painel mantém exatamente o fluxo seguro do PATCH V50.
   - Permissões abre diretamente o revendedor escolhido.
   - Créditos abre o ajuste manual já selecionando o revendedor.
   - Editar permite atualizar usuário, nome, WhatsApp e, opcionalmente, senha.
   - Remover é bloqueado quando ainda existem clientes ou saldo disponível,
     evitando deixar dados sem responsável por um toque acidental.

NOVA TELA DE PERMISSÕES
-----------------------
1. Uma única fonte oficial
   - As duas telas antigas tinham listas diferentes de permissões.
   - editar_permissoes.php agora encaminha para permissoes_menu.php.
   - A interface carrega todas as opções do catálogo central do servidor.

2. Organização por categorias
   - Acesso principal.
   - Clientes e ativações.
   - Automação e cobrança.
   - Comunicação e identidade.
   - Pagamentos e resultados.

3. Operação mais clara
   - Cada opção mostra Liberado ou Bloqueado.
   - Cada permissão possui uma explicação curta.
   - Permissões sensíveis recebem marcação de Atenção.
   - Existem botões para marcar todas, desmarcar todas e desfazer alterações.
   - A barra Salvar permanece acessível no final da tela, inclusive no celular.
   - O sistema avisa antes de trocar de revendedor com alterações não salvas.

PROTEÇÕES ADICIONADAS
---------------------
- Token contra CSRF nas alterações de revendedores e permissões.
- Saída HTML protegida ao renderizar nomes, usuários e WhatsApp.
- Consultas com parâmetros e transações nas gravações.
- Respostas de erro sem expor detalhes internos do banco.
- Proteção contra remoção de revendedor com clientes ou créditos disponíveis.
- O catálogo de permissões é validado no servidor antes de salvar.

O QUE FOI PRESERVADO
--------------------
- Todos os revendedores, clientes, códigos, datas e saldos atuais.
- Puxar e cadastrar um cliente pela primeira vez.
- Cliente duplicado, ponto adicional e troca de aparelho do PATCH V48.
- Renovação automática pelo sistema bancário.
- Permissão separada de renovação manual do PATCH V49.
- Permissão para editar data de vencimento.
- Mercado Pago próprio, métricas, Nexxa e todas as demais permissões.
- Acesso do ADM ao painel do revendedor e retorno seguro do PATCH V50.
- Bloqueio, launcher, atualizações, domínios, anúncios, notificações e Cron Jobs.

ARQUIVOS ALTERADOS
------------------
- revendedores.php
- permissoes_menu.php
- editar_permissoes.php
- actions/reseller_actions.php
- actions/permissions_actions.php
- includes/reseller_permissions.php
- includes/sidebar.php
- LEIA-ME_PATCH_V51_GESTAO_REVENDEDORES_RESPONSIVA.txt

VALIDAÇÕES EXECUTADAS
---------------------
- Integridade completa do ZIP de origem: 1.843 entradas sem erro.
- Nenhum caminho inseguro e nenhum link simbólico no pacote.
- Todos os 16 IDs do catálogo conferidos com as proteções reais do servidor.
- Nenhuma permissão usada pelo sistema ficou fora do catálogo.
- JavaScript das duas novas telas aprovado pelo verificador de sintaxe.
- IDs HTML, labels, botões e estrutura do DOM conferidos.
- Balanceamento de blocos PHP, CSS e JavaScript conferido.
- Consultas de resumo testadas contra uma cópia do banco.
- Fluxos de criar, editar, salvar permissões e remover foram simulados em uma
  cópia temporária, com rollback; o banco original permaneceu intacto.
- O arquivo launcher/api/max.db não foi modificado.

OBSERVAÇÃO
----------
O ZIP do patch não contém banco de dados, APKs, clientes, saldos ou credenciais.
Ele substitui somente os arquivos de código listados acima.
