<?php
session_start();

// Verificar se o usuário está logado
if (!isset($_SESSION['logado']) || $_SESSION['logado'] !== true) {
    header('Location: login.php');
    exit;
}

// Verificar tenant_id
$tenant_id = $_SESSION['tenant_id'] ?? null;
if (!$tenant_id) {
    die("Tenant não identificado.");
}

// Verificar permissões do usuário atual
$usuario_id = $_SESSION['usuario_id'] ?? null;
$permissao = $_SESSION['permissao'] ?? 'usuario';
$is_admin = ($permissao === 'admin');

// CSRF token
if (!isset($_SESSION['csrf_token'])) {
    $_SESSION['csrf_token'] = bin2hex(random_bytes(32));
}

require_once 'conexao.php';

// ========== FUNÇÕES DE CONTROLE DE ACESSO ========== //

function usuarioPodeVisualizarFunil($conn, $usuario_id, $funil_id) {
    global $is_admin;
    if ($is_admin) return true;
    
    $stmt = $conn->prepare("SELECT 1 FROM permissoes_funis WHERE usuario_id = ? AND funil_id = ? AND visualizar = 1");
    $stmt->bind_param("ii", $usuario_id, $funil_id);
    $stmt->execute();
    return $stmt->get_result()->num_rows > 0;
}

$clienteId = (int)$_GET['id'];

// Busca os dados do cliente com verificação de tenant_id
$sql = "SELECT * FROM clientes WHERE id = ? AND tenant_id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("ii", $clienteId, $tenant_id);
$stmt->execute();
$resultado = $stmt->get_result();

if ($resultado->num_rows === 0) {
    header('Location: lista_clientes.php?erro=cliente_nao_encontrado');
    exit;
}

$cliente = $resultado->fetch_assoc();
$stmt->close();

// Buscar logs do cliente com tenant_id
$sqlLogs = "SELECT * FROM cliente_logs WHERE cliente_id = ? AND tenant_id = ? ORDER BY id DESC";
$stmtLogs = $conn->prepare($sqlLogs);
$stmtLogs->bind_param("is", $clienteId, $tenant_id); // 's' para string (char(36))
$stmtLogs->execute();
$resultadoLogs = $stmtLogs->get_result();
$logs = $resultadoLogs->fetch_all(MYSQLI_ASSOC);
$stmtLogs->close();

// Buscar produtos do cliente com tenant_id
$sqlProdutos = "SELECT cp.*, lp.nome as nome_original, lp.descricao as descricao_original 
               FROM cliente_produtos cp
               LEFT JOIN lista_produtos lp ON cp.lista_produto_id = lp.id
               WHERE cp.cliente_id = ? AND cp.tenant_id = ?
               ORDER BY cp.data_cadastro DESC";
$stmtProdutos = $conn->prepare($sqlProdutos);
$stmtProdutos->bind_param("is", $clienteId, $tenant_id); // 's' para string (char(36))
$stmtProdutos->execute();
$resultadoProdutos = $stmtProdutos->get_result();
$produtos = $resultadoProdutos->fetch_all(MYSQLI_ASSOC);
$stmtProdutos->close();

// Buscar atividades do cliente com tenant_id
$filtroStatus = $_GET['status'] ?? 'todos';

$sqlAtividades = "SELECT *, 
                 CASE 
                   WHEN concluida = 1 THEN 'concluida'
                   WHEN data_agendada < NOW() THEN 'atrasada'
                   ELSE 'pendente'
                 END AS status
                 FROM atividades 
                 WHERE cliente_id = ? AND tenant_id = ?";

if ($filtroStatus !== 'todos') {
    if ($filtroStatus === 'concluida') {
        $sqlAtividades .= " AND concluida = 1";
    } elseif ($filtroStatus === 'pendente') {
        $sqlAtividades .= " AND concluida = 0 AND data_agendada >= NOW()";
    } elseif ($filtroStatus === 'atrasada') {
        $sqlAtividades .= " AND concluida = 0 AND data_agendada < NOW()";
    }
}

$sqlAtividades .= " ORDER BY data_agendada ASC";

$stmtAtividades = $conn->prepare($sqlAtividades);
$stmtAtividades->bind_param("ii", $clienteId, $tenant_id);
$stmtAtividades->execute();
$resultadoAtividades = $stmtAtividades->get_result();
$atividades = $resultadoAtividades->fetch_all(MYSQLI_ASSOC);
$stmtAtividades->close();

// Buscar arquivos do cliente
$sqlArquivos = "SELECT * FROM cliente_arquivos WHERE cliente_id = ? ORDER BY data_upload DESC";
$stmtArquivos = $conn->prepare($sqlArquivos);
$stmtArquivos->bind_param("i", $clienteId);
$stmtArquivos->execute();
$resultadoArquivos = $stmtArquivos->get_result();
$arquivos = $resultadoArquivos->fetch_all(MYSQLI_ASSOC);
$stmtArquivos->close();

// Buscar lista de atividades padrão com tenant_id
$listaAtividades = [];
$sqlListaAtividades = "SELECT * FROM lista_atividades WHERE ativo = 1 AND tenant_id = ? ORDER BY nome";
$stmtListaAtividades = $conn->prepare($sqlListaAtividades);
$stmtListaAtividades->bind_param("i", $tenant_id);
$stmtListaAtividades->execute();
$resultadoListaAtividades = $stmtListaAtividades->get_result();
if ($resultadoListaAtividades) {
    $listaAtividades = $resultadoListaAtividades->fetch_all(MYSQLI_ASSOC);
}
$stmtListaAtividades->close();

// Calcular valor total de todos os produtos e quantidade total
$valorTotalProdutos = 0;
$quantidadeTotalProdutos = 0;
foreach ($produtos as $produto) {
    $valorTotalProdutos += $produto['valor'];
    $quantidadeTotalProdutos += $produto['quantidade'];
}

// Buscar lista de produtos disponíveis com tenant_id
$listaProdutos = [];
$sqlListaProdutos = "SELECT * FROM lista_produtos WHERE ativo = 1 AND tenant_id = ? ORDER BY nome";
$stmtListaProdutos = $conn->prepare($sqlListaProdutos);
$stmtListaProdutos->bind_param("s", $tenant_id); // 's' para string (char(36))
$stmtListaProdutos->execute();
$resultadoListaProdutos = $stmtListaProdutos->get_result();
if ($resultadoListaProdutos) {
    $listaProdutos = $resultadoListaProdutos->fetch_all(MYSQLI_ASSOC);
}
$stmtListaProdutos->close();

$campos = [
    'Nome_Cliente', 'Email', 'Telefone', 'Telefone2','Endereco', 'Cidade', 'Estado',
    'CEP', 'Bairro', 'Complemento', 'instagram', 'Linkedin','Observacoes', 
];

// Buscar formulários disponíveis
$formularios = [];
$query = "SELECT id, nome, criado_em FROM formularios WHERE tenant_id = ? ORDER BY criado_em DESC";
$stmt = $conn->prepare($query);
if ($stmt) {
    $stmt->bind_param("i", $tenant_id);
    $stmt->execute();
    $result = $stmt->get_result();
    $formularios = $result->fetch_all(MYSQLI_ASSOC);
    $stmt->close();
}

// Buscar respostas de formulários para este cliente
$sqlRespostas = "SELECT rf.id, f.nome as formulario_nome, rf.data_resposta 
                FROM respostas_formulario rf
                JOIN formularios f ON rf.formulario_id = f.id
                WHERE rf.cliente_id = ?";
$stmtRespostas = $conn->prepare($sqlRespostas);
$stmtRespostas->bind_param("i", $clienteId);
$stmtRespostas->execute();
$resultadoRespostas = $stmtRespostas->get_result();
$respostas = $resultadoRespostas->fetch_all(MYSQLI_ASSOC);
$stmtRespostas->close();

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Verifica se é para cadastrar produto
    if (isset($_POST['cadastrar_produto'])) {
        $tipoCadastro = $_POST['tipo_cadastro'] ?? 'lista';
        $listaProdutoId = null;
        $nomeProduto = '';
        $descricao = '';
        $valorUnitario = 0;
        $quantidade = (int)($_POST['quantidade'] ?? 1);
        $observacoes = trim($_POST['observacoes'] ?? '');

        // Verificar CSRF token
        if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
            $_SESSION['mensagem'] = "Token de segurança inválido!";
            header("Location: editar_cliente.php?id=$clienteId");
            exit;
        }

        if ($tipoCadastro === 'lista') {
            $listaProdutoId = (int)$_POST['lista_produto_id'];
            
            // Verificar se o produto existe
            $sqlVerifica = "SELECT * FROM lista_produtos WHERE id = ? AND tenant_id = ?";
            $stmtVerifica = $conn->prepare($sqlVerifica);
            $stmtVerifica->bind_param("is", $listaProdutoId, $tenant_id);
            $stmtVerifica->execute();
            $produto = $stmtVerifica->get_result()->fetch_assoc();
            $stmtVerifica->close();
            
            if (!$produto) {
                $_SESSION['mensagem'] = "Produto selecionado não encontrado!";
                header("Location: editar_cliente.php?id=$clienteId");
                exit;
            }
            
            $nomeProduto = $produto['nome'];
            $descricao = $produto['descricao'];
            $valorUnitario = $produto['valor'];
        } else {
            // Cadastro manual
            $nomeProduto = trim($_POST['nome_produto'] ?? '');
            $descricao = trim($_POST['descricao_produto'] ?? '');
            $valorUnitario = (float)str_replace(['R$', '.', ','], ['', '', '.'], trim($_POST['valor_produto'] ?? '0'));
            
            if (empty($nomeProduto)) {
                $_SESSION['mensagem'] = "Nome do produto é obrigatório!";
                header("Location: editar_cliente.php?id=$clienteId");
                exit;
            }
        }

        $valorTotal = $valorUnitario * $quantidade;
        $usuarioId = $_SESSION['usuario_id'] ?? 0;
        $nomeUsuario = $_SESSION['usuario_nome'] ?? 'Sistema';
        
        // Inserir produto com tenant_id
        $sqlInsert = "INSERT INTO cliente_produtos 
            (cliente_id, lista_produto_id, nome_produto, descricao, valor, quantidade, observacoes, usuario_id, nome_usuario, tenant_id)
            VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)";
        $stmtInsert = $conn->prepare($sqlInsert);
        $stmtInsert->bind_param("iissdisisi", 
            $clienteId, 
            $listaProdutoId,
            $nomeProduto,
            $descricao,
            $valorTotal,
            $quantidade,
            $observacoes,
            $usuarioId,
            $nomeUsuario,
            $tenant_id
        );

        if ($stmtInsert->execute()) {
            // Log da ação
            $detalhes = "Produto cadastrado:\n";
            $detalhes .= "- Tipo: " . ($tipoCadastro === 'lista' ? 'Da lista' : 'Manual') . "\n";
            $detalhes .= "- Nome: $nomeProduto\n";
            $detalhes .= "- Quantidade: $quantidade\n";
            $detalhes .= "- Valor unitário: R$ " . number_format($valorUnitario, 2, ',', '.') . "\n";
            $detalhes .= "- Valor total: R$ " . number_format($valorTotal, 2, ',', '.') . "\n";
            $detalhes .= "- Observações: $observacoes";
            
            $sqlLog = "INSERT INTO cliente_logs (cliente_id, usuario_id, nome_usuario, acao, detalhes, tenant_id)
                       VALUES (?, ?, ?, 'cadastro_produto', ?, ?)";
            $stmtLog = $conn->prepare($sqlLog);
            $stmtLog->bind_param("iisss", $clienteId, $usuarioId, $nomeUsuario, $detalhes, $tenant_id);
            $stmtLog->execute();
            $stmtLog->close();
            
            $_SESSION['mensagem'] = "Produto cadastrado com sucesso!";
            header("Location: editar_cliente.php?id=$clienteId");
            exit;
        } else {
            $_SESSION['mensagem'] = "Erro ao cadastrar produto: " . $conn->error;
            header("Location: editar_cliente.php?id=$clienteId");
            exit;
        }
    } 
    // Verifica se é para cadastrar atividade
    elseif (isset($_POST['cadastrar_atividade'])) {
        // Verificar CSRF token
        if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
            $_SESSION['mensagem'] = "Token de segurança inválido!";
            header("Location: editar_cliente.php?id=$clienteId");
            exit;
        }

        $tipoCadastro = $_POST['tipo_cadastro_atividade'] ?? 'lista';
        $descricao = '';
        $listaAtividadeId = null;
        $nomeAtividade = '';
        $notificar = isset($_POST['notificar']) ? 1 : 0;
        $tempo_notificacao = isset($_POST['tempo_notificacao']) ? (int)$_POST['tempo_notificacao'] : 0;
        $unidade_tempo = $_POST['unidade_tempo'] ?? 'minutos';

        if ($tipoCadastro === 'lista') {
            $listaAtividadeId = (int)$_POST['lista_atividade_id'];

            // Verificar se a atividade da lista existe
            $sqlVerifica = "SELECT * FROM lista_atividades WHERE id = ? AND tenant_id = ?";
            $stmtVerifica = $conn->prepare($sqlVerifica);
            $stmtVerifica->bind_param("ii", $listaAtividadeId, $tenant_id);
            $stmtVerifica->execute();
            $atividade = $stmtVerifica->get_result()->fetch_assoc();
            $stmtVerifica->close();

            if (!$atividade) {
                $_SESSION['mensagem'] = "Atividade selecionada não encontrada!";
                header("Location: editar_cliente.php?id=$clienteId#atividades");
                exit;
            }

            $nomeAtividade = $atividade['nome'];
            $descricao = $atividade['nome'];
            if (!empty($atividade['descricao'])) {
                $descricao .= ": " . $atividade['descricao'];
            }
        } else {
            // Cadastro manual
            $descricao = trim($_POST['descricao_atividade'] ?? '');
            $nomeAtividade = $descricao;
        }

        // Validar e formatar data
        $dataInput = trim($_POST['data_atividade'] ?? '');
        $dataObj = DateTime::createFromFormat('Y-m-d\TH:i', $dataInput);
        if (!$dataObj) {
            $_SESSION['mensagem'] = "Data da atividade inválida!";
            header("Location: editar_cliente.php?id=$clienteId#atividades");
            exit;
        }

        $dataMySQL = $dataObj->format('Y-m-d H:i:s');

        // Calcular data de notificação
        $dataNotificacao = null;
        if ($notificar && $tempo_notificacao > 0) {
            $minutos = $tempo_notificacao;
            if ($unidade_tempo === 'horas') $minutos *= 60;
            elseif ($unidade_tempo === 'dias') $minutos *= 1440;

            $dataNotificacao = $dataObj->modify("-{$minutos} minutes")->format('Y-m-d H:i:s');
        }

        $usuarioId = $_SESSION['usuario_id'] ?? 0;
        $nomeUsuario = $_SESSION['usuario_nome'] ?? 'Sistema';

        // Inserção no banco com tenant_id
        $sqlInsert = "INSERT INTO atividades 
            (cliente_id, descricao, lista_atividade_id, data_agendada, notificar, data_notificacao, 
             usuario_id, nome_usuario, data_cadastro, tenant_id)
            VALUES (?, ?, ?, ?, ?, ?, ?, ?, NOW(), ?)";

        $stmtInsert = $conn->prepare($sqlInsert);
        $stmtInsert->bind_param(
            "issssissi",
            $clienteId,
            $descricao,
            $listaAtividadeId,
            $dataMySQL,
            $notificar,
            $dataNotificacao,
            $usuarioId,
            $nomeUsuario,
            $tenant_id
        );

        if ($stmtInsert->execute()) {
            // Log da ação
            $detalhes = "Atividade cadastrada:\n";
            $detalhes .= "- Descrição: $descricao\n";
            $detalhes .= "- Data agendada: $dataMySQL\n";
            if ($notificar && $tempo_notificacao > 0) {
                $detalhes .= "- Notificação: $tempo_notificacao $unidade_tempo antes\n";
            }

            $sqlLog = "INSERT INTO cliente_logs (cliente_id, usuario_id, nome_usuario, acao, detalhes, tenant_id)
                       VALUES (?, ?, ?, 'cadastro_atividade', ?, ?)";
            $stmtLog = $conn->prepare($sqlLog);
            $stmtLog->bind_param("iisss", $clienteId, $usuarioId, $nomeUsuario, $detalhes, $tenant_id);
            $stmtLog->execute();
            $stmtLog->close();

            $_SESSION['mensagem'] = "Atividade cadastrada com sucesso!";
            header("Location: editar_cliente.php?id=$clienteId#atividades");
            exit;
        } else {
            $_SESSION['mensagem'] = "Erro ao cadastrar atividade: " . $stmtInsert->error;
            header("Location: editar_cliente.php?id=$clienteId#atividades");
            exit;
        }
    }
    // Verifica se é para concluir atividade
    elseif (isset($_POST['concluir_atividade'])) {
        $atividadeId = (int)$_POST['atividade_id'];
        
        // Verificar CSRF token
        if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
            $_SESSION['mensagem'] = "Token de segurança inválido!";
            header("Location: editar_cliente.php?id=$clienteId");
            exit;
        }
        
        // Atualizar atividade como concluída
        $sqlUpdate = "UPDATE atividades SET concluida = 1, data_conclusao = NOW() 
                     WHERE id = ? AND cliente_id = ? AND tenant_id = ?";
        $stmtUpdate = $conn->prepare($sqlUpdate);
        $stmtUpdate->bind_param("iii", $atividadeId, $clienteId, $tenant_id);
        
        if ($stmtUpdate->execute()) {
            // Log da ação
            $usuarioId = $_SESSION['usuario_id'] ?? 0;
            $nomeUsuario = $_SESSION['usuario_nome'] ?? 'Sistema';
            
            $sqlSelect = "SELECT descricao FROM atividades WHERE id = ?";
            $stmtSelect = $conn->prepare($sqlSelect);
            $stmtSelect->bind_param("i", $atividadeId);
            $stmtSelect->execute();
            $resultado = $stmtSelect->get_result();
            $atividade = $resultado->fetch_assoc();
            $stmtSelect->close();
            
            $detalhes = "Atividade concluída:\n";
            $detalhes .= "- Descrição: " . $atividade['descricao'];
            
            $sqlLog = "INSERT INTO cliente_logs (cliente_id, usuario_id, nome_usuario, acao, detalhes, tenant_id)
                       VALUES (?, ?, ?, 'conclusao_atividade', ?, ?)";
            $stmtLog = $conn->prepare($sqlLog);
            $stmtLog->bind_param("iisss", $clienteId, $usuarioId, $nomeUsuario, $detalhes, $tenant_id);
            $stmtLog->execute();
            $stmtLog->close();
            
            $_SESSION['mensagem'] = "Atividade marcada como concluída!";
            header("Location: editar_cliente.php?id=$clienteId#atividades");
            exit;
        } else {
            $_SESSION['mensagem'] = "Erro ao concluir atividade: " . $conn->error;
            header("Location: editar_cliente.php?id=$clienteId");
            exit;
        }
    } 
    // Verifica se é para excluir atividade
    elseif (isset($_POST['excluir_atividade'])) {
        $atividadeId = (int)$_POST['atividade_id'];
        
        // Verificar CSRF token
        if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
            $_SESSION['mensagem'] = "Token de segurança inválido!";
            header("Location: editar_cliente.php?id=$clienteId");
            exit;
        }
        
        // Excluir atividade
        $sqlDelete = "DELETE FROM atividades WHERE id = ? AND cliente_id = ? AND tenant_id = ?";
        $stmtDelete = $conn->prepare($sqlDelete);
        $stmtDelete->bind_param("iii", $atividadeId, $clienteId, $tenant_id);
        
        if ($stmtDelete->execute()) {
            // Log da ação
            $usuarioId = $_SESSION['usuario_id'] ?? 0;
            $nomeUsuario = $_SESSION['usuario_nome'] ?? 'Sistema';
            
            $detalhes = "Atividade excluída:\n";
            $detalhes .= "- ID: $atividadeId";
            
            $sqlLog = "INSERT INTO cliente_logs (cliente_id, usuario_id, nome_usuario, acao, detalhes, tenant_id)
                       VALUES (?, ?, ?, 'exclusao_atividade', ?, ?)";
            $stmtLog = $conn->prepare($sqlLog);
            $stmtLog->bind_param("iisss", $clienteId, $usuarioId, $nomeUsuario, $detalhes, $tenant_id);
            $stmtLog->execute();
            $stmtLog->close();
            
            $_SESSION['mensagem'] = "Atividade excluída com sucesso!";
            header("Location: editar_cliente.php?id=$clienteId#atividades");
            exit;
        } else {
            $_SESSION['mensagem'] = "Erro ao excluir atividade: " . $conn->error;
            header("Location: editar_cliente.php?id=$clienteId");
            exit;
        }
    }
    // Verifica se é para enviar arquivo
    elseif (isset($_POST['enviar_arquivo'])) {
        // Verificar CSRF token
        if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
            $_SESSION['mensagem'] = "Token de segurança inválido!";
            header("Location: editar_cliente.php?id=$clienteId");
            exit;
        }

        if (isset($_FILES['arquivo']) && $_FILES['arquivo']['error'] === UPLOAD_ERR_OK) {
            $nomeArquivo = $_FILES['arquivo']['name'];
            $tamanhoArquivo = $_FILES['arquivo']['size'];
            $tipoArquivo = $_FILES['arquivo']['type'];
            $tmpArquivo = $_FILES['arquivo']['tmp_name'];
            
            // Validar tamanho do arquivo (limite de 10MB)
            $tamanhoMaximo = 10 * 1024 * 1024; // 10MB
            if ($tamanhoArquivo > $tamanhoMaximo) {
                $_SESSION['mensagem'] = "O arquivo é muito grande. O tamanho máximo permitido é 10MB.";
                header("Location: editar_cliente.php?id=$clienteId#arquivos");
                exit;
            }
            
            // Validar tipo de arquivo
            $tiposPermitidos = ['application/pdf', 'image/jpeg', 'image/png', 'application/msword', 
                               'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
                               'application/vnd.ms-excel', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'];
            
            if (!in_array($tipoArquivo, $tiposPermitidos)) {
                $_SESSION['mensagem'] = "Tipo de arquivo não permitido. Apenas PDF, JPG, PNG, DOC, DOCX, XLS e XLSX são permitidos.";
                header("Location: editar_cliente.php?id=$clienteId#arquivos");
                exit;
            }
            
            // Criar diretório de uploads
            $diretorioUploads = 'uploads/clientes/' . $clienteId . '/';
            if (!file_exists($diretorioUploads)) {
                mkdir($diretorioUploads, 0777, true);
            }
            
            // Gerar nome único para o arquivo
            $extensao = pathinfo($nomeArquivo, PATHINFO_EXTENSION);
            $nomeUnico = uniqid() . '.' . $extensao;
            $caminhoCompleto = $diretorioUploads . $nomeUnico;
            
            // Mover arquivo para o diretório de uploads
            if (move_uploaded_file($tmpArquivo, $caminhoCompleto)) {
                $descricao = trim($_POST['descricao_arquivo'] ?? '');
                $usuarioId = $_SESSION['usuario_id'] ?? 0;
                $nomeUsuario = $_SESSION['usuario_nome'] ?? 'Sistema';
                
                // Inserir informações do arquivo no banco de dados
                $sqlInsert = "INSERT INTO cliente_arquivos 
                             (cliente_id, nome_arquivo, caminho_arquivo, tipo_arquivo, tamanho_arquivo, 
                              descricao, usuario_id, nome_usuario, tenant_id)
                             VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)";
                $stmtInsert = $conn->prepare($sqlInsert);
                $stmtInsert->bind_param("issssissi", 
                    $clienteId,
                    $nomeArquivo,
                    $caminhoCompleto,
                    $tipoArquivo,
                    $tamanhoArquivo,
                    $descricao,
                    $usuarioId,
                    $nomeUsuario,
                    $tenant_id
                );
                
                if ($stmtInsert->execute()) {
                    // Log da ação
                    $detalhes = "Arquivo enviado:\n";
                    $detalhes .= "- Nome: $nomeArquivo\n";
                    $detalhes .= "- Tamanho: " . number_format($tamanhoArquivo / 1024, 2) . " KB\n";
                    $detalhes .= "- Descrição: $descricao";
                    
                    $sqlLog = "INSERT INTO cliente_logs (cliente_id, usuario_id, nome_usuario, acao, detalhes, tenant_id)
                               VALUES (?, ?, ?, 'upload_arquivo', ?, ?)";
                    $stmtLog = $conn->prepare($sqlLog);
                    $stmtLog->bind_param("iisss", $clienteId, $usuarioId, $nomeUsuario, $detalhes, $tenant_id);
                    $stmtLog->execute();
                    $stmtLog->close();
                    
                    $_SESSION['mensagem'] = "Arquivo enviado com sucesso!";
                    header("Location: editar_cliente.php?id=$clienteId#arquivos");
                    exit;
                } else {
                    // Se falhar ao inserir no banco, remove o arquivo enviado
                    unlink($caminhoCompleto);
                    $_SESSION['mensagem'] = "Erro ao registrar arquivo no banco de dados: " . $conn->error;
                    header("Location: editar_cliente.php?id=$clienteId#arquivos");
                    exit;
                }
            } else {
                $_SESSION['mensagem'] = "Erro ao enviar arquivo. Tente novamente.";
                header("Location: editar_cliente.php?id=$clienteId#arquivos");
                exit;
            }
        } else {
            $_SESSION['mensagem'] = "Nenhum arquivo foi enviado ou ocorreu um erro no upload.";
            header("Location: editar_cliente.php?id=$clienteId#arquivos");
            exit;
        }
    }
    // Verifica se é para enviar formulário por e-mail
   // Verifica se é para enviar formulário por e-mail
elseif (isset($_POST['enviar_formulario_email'])) {
    // Verificar CSRF token
    if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
        $_SESSION['mensagem'] = "Token de segurança inválido!";
        header("Location: editar_cliente.php?id=$clienteId");
        exit;
    }

    $formulario_id = (int)$_POST['formulario_email_id'];
    $email_cliente = trim($_POST['email_cliente']);
    $mensagem_personalizada = trim($_POST['mensagem_email'] ?? '');

    // Verificar se o e-mail do cliente é válido
    if (empty($email_cliente) || !filter_var($email_cliente, FILTER_VALIDATE_EMAIL)) {
        $_SESSION['mensagem'] = "E-mail do cliente inválido ou não informado!";
        header("Location: editar_cliente.php?id=$clienteId#formularios");
        exit;
    }

    // Verificar se o formulário existe
    $sqlVerifica = "SELECT * FROM formularios WHERE id = ? AND tenant_id = ?";
    $stmtVerifica = $conn->prepare($sqlVerifica);
    $stmtVerifica->bind_param("ii", $formulario_id, $tenant_id);
    $stmtVerifica->execute();
    $formulario = $stmtVerifica->get_result()->fetch_assoc();
    $stmtVerifica->close();

    if (!$formulario) {
        $_SESSION['mensagem'] = "Formulário selecionado não encontrado!";
        header("Location: editar_cliente.php?id=$clienteId#formularios");
        exit;
    }

    // Generate unique token
    $token = bin2hex(random_bytes(16));

    // Insert token for tracking
    $sqlInsert = "INSERT INTO envios_formulario (cliente_id, formulario_id, token, data_envio, tenant_id) 
                 VALUES (?, ?, ?, NOW(), ?)";
    $stmtInsert = $conn->prepare($sqlInsert);
    $stmtInsert->bind_param("iisi", $clienteId, $formulario_id, $token, $tenant_id);
    
    if ($stmtInsert->execute()) {
        // Create the form link
        $link = "https://".$_SERVER['HTTP_HOST']."/formulario_responder.php?cliente_id=".$clienteId."&formulario_id=".$formulario_id."&token=".$token;
        
        // Prepare email message
        $assunto = "Preenchimento de Formulário: ".htmlspecialchars($formulario['nome']);
        $mensagem = "Olá ".htmlspecialchars($cliente['Nome_Cliente']).",\n\n";
        $mensagem .= !empty($mensagem_personalizada) ? $mensagem_personalizada."\n\n" : "Por favor, preencha o formulário no link abaixo:\n";
        $mensagem .= $link."\n\nAtenciosamente,\n".$_SESSION['usuario_nome'];
        
        // Send email
        $headers = "From: ".$_SESSION['email_usuario']."\r\n";
        $headers .= "Reply-To: ".$_SESSION['email_usuario']."\r\n";
        $headers .= "Content-Type: text/plain; charset=UTF-8\r\n";
        
        if (mail($email_cliente, $assunto, $mensagem, $headers)) {
            $_SESSION['mensagem'] = "Formulário enviado com sucesso para o e-mail do cliente!";
            
            // Log the action
            $usuarioId = $_SESSION['usuario_id'] ?? 0;
            $nomeUsuario = $_SESSION['usuario_nome'] ?? 'Sistema';
            $detalhes = "Formulário enviado por e-mail:\n";
            $detalhes .= "- Formulário: ".htmlspecialchars($formulario['nome'])."\n";
            $detalhes .= "- E-mail: $email_cliente\n";
            $detalhes .= "- Link: $link";
            
            $sqlLog = "INSERT INTO cliente_logs (cliente_id, usuario_id, nome_usuario, acao, detalhes, tenant_id)
                       VALUES (?, ?, ?, 'envio_formulario', ?, ?)";
            $stmtLog = $conn->prepare($sqlLog);
            $stmtLog->bind_param("iisss", $clienteId, $usuarioId, $nomeUsuario, $detalhes, $tenant_id);
            $stmtLog->execute();
            $stmtLog->close();
        } else {
            $_SESSION['mensagem'] = "Formulário registrado, mas houve um erro ao enviar o e-mail.";
        }
        
        header("Location: editar_cliente.php?id=$clienteId#formularios");
        exit;
    } else {
        $_SESSION['mensagem'] = "Erro ao registrar envio do formulário: ".$conn->error;
        header("Location: editar_cliente.php?id=$clienteId#formularios");
        exit;
    }
}
    else {
        // Processar atualização dos dados do cliente
        $atualizacoes = [];
        $dadosAlterados = [];

        foreach ($campos as $campo) {
            if (isset($_POST[$campo])) {
                $novoValor = trim($_POST[$campo]);
                $valorAntigo = trim($cliente[$campo] ?? '');

                if ($novoValor !== $valorAntigo) {
                    $atualizacoes[$campo] = $novoValor;
                    $dadosAlterados[] = [
                        'campo' => $campo,
                        'de' => $valorAntigo,
                        'para' => $novoValor
                    ];
                }
            }
        }

        if (!empty($atualizacoes)) {
            $setPartes = [];
            $tipos = '';
            $valores = [];

            foreach ($atualizacoes as $campo => $valor) {
                $setPartes[] = "$campo = ?";
                $tipos .= 's';
                $valores[] = $valor;
            }

            $sqlUpdate = "UPDATE clientes SET " . implode(', ', $setPartes) . " WHERE id = ? AND tenant_id = ?";
            $stmtUpdate = $conn->prepare($sqlUpdate);
            $valores[] = $clienteId;
            $valores[] = $tenant_id;
            $stmtUpdate->bind_param($tipos . 'ii', ...$valores);
            $stmtUpdate->execute();
            $stmtUpdate->close();

            // Log das alterações
            $usuarioId = $_SESSION['usuario_id'] ?? 0;
            $nomeUsuario = $_SESSION['usuario_nome'] ?? 'Sistema';
            $detalhes = "Alterações realizadas:\n";

            foreach ($dadosAlterados as $alteracao) {
                $detalhes .= "- {$alteracao['campo']}: de '{$alteracao['de']}' para '{$alteracao['para']}'\n";
            }

            $sqlLog = "INSERT INTO cliente_logs (cliente_id, usuario_id, nome_usuario, acao, detalhes, tenant_id)
                       VALUES (?, ?, ?, 'atualizacao', ?, ?)";
            $stmtLog = $conn->prepare($sqlLog);
            $stmtLog->bind_param("iisss", $clienteId, $usuarioId, $nomeUsuario, $detalhes, $tenant_id);
            $stmtLog->execute();
            $stmtLog->close();

            $_SESSION['mensagem'] = "Cliente atualizado com sucesso!";
            header("Location: editar_cliente.php?id=$clienteId");
            exit;
        } else {
            $_SESSION['mensagem'] = "Nenhuma alteração foi feita.";
        }
    }
}

// Funções auxiliares para formatação de datas
function formatarData($data) {
    if (!empty($data) && $data !== '0000-00-00 00:00:00') {
        try {
            $dt = new DateTime($data, new DateTimeZone('America/Sao_Paulo'));
            return $dt->format('d/m/Y H:i');
        } catch (Exception $e) {
            return '';
        }
    }
    return '';
}

function dataParaISO($data) {
    if (empty($data) || $data === '0000-00-00 00:00:00') return null;
    try {
        $dt = new DateTime($data, new DateTimeZone('America/Sao_Paulo'));
        return $dt->format('Y-m-d\TH:i:s');
    } catch (Exception $e) {
        return null;
    }
}
?>

<!DOCTYPE html>
<html lang="pt-BR">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>SON - Editar Cliente</title>
    <meta name="csrf-token" content="<?= $_SESSION['csrf_token'] ?>">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css">
    <script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
    <style>
        body {
            font-family: Arial, sans-serif;
            margin: 0;
            padding: 0;
            background-color: #f5f5f5;
        }

        .header-fixed {
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            background-color: #f5f5f5;
            padding: 15px 20px;
            z-index: 1000;
            box-shadow: 0 2px 5px rgba(0,0,0,0.1);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .header-fixed img {
            height: 50px;
            margin-right: 15px;
        }

        .header-fixed h2 {
            margin: 0;
            flex-grow: 1;
            text-align: center;
        }

       /* Menu Hamburger */
        .menu-container {
            position: relative;
            display: inline-block;
        }
        
        .hamburger-btn {
            background: none;
            border: none;
            font-size: 24px;
            cursor: pointer;
            padding: 10px;
            color: #333;
        }
        
        .dropdown-menu {
            display: none;
            position: absolute;
            right: 0;
            background-color: white;
            min-width: 200px;
            box-shadow: 0 8px 16px rgba(0,0,0,0.2);
            z-index: 1;
            border-radius: 4px;
            overflow: hidden;
        }
        
        .dropdown-menu a {
            color: #333;
            padding: 12px 16px;
            text-decoration: none;
            display: block;
            text-align: left;
            transition: background-color 0.3s;
        }
        
        .dropdown-menu a:hover {
            background-color: #f1f1f1;
        }
        
        .dropdown-menu.show {
            display: block;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            background: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 0 10px rgba(0,0,0,0.1);
        }

        h1 {
            color: #333;
            border-bottom: 1px solid #eee;
            padding-bottom: 10px;
        }

        .container-flex {
            display: flex;
            gap: 20px;
            align-items: flex-start;
        }

        .form-container, .timeline-container, .produtos-container, .atividades-container, .arquivos-container {
            background-color: #fff;
            padding: 25px;
            border-radius: 8px;
            box-shadow: 0 0 8px rgba(0,0,0,0.1);
        }

        .form-container {
            flex: 2;
        }

        .timeline-container, .produtos-container, .atividades-container, .arquivos-container {
            flex: 1;
            max-height: 600px;
            overflow-y: auto;
        }

        .timeline-entry {
            border-left: 3px solid #3498db;
            padding-left: 10px;
            margin-bottom: 15px;
        }

        .produto-entry {
            border-left: 3px solid #2ecc71;
            padding-left: 10px;
            margin-bottom: 15px;
            position: relative;
        }

        .atividade-entry {
            border-left: 3px solid #f39c12;
            padding-left: 10px;
            margin-bottom: 15px;
            position: relative;
            background-color: #fffaf0;
            border-radius: 4px;
            padding: 10px;
        }

        .arquivo-entry {
            border-left: 3px solid #9b59b6;
            padding-left: 10px;
            margin-bottom: 15px;
            position: relative;
            background-color: #f8f5ff;
            border-radius: 4px;
            padding: 10px;
        }

        .formulario-entry {
            border-left: 3px solid #3498db;
            padding-left: 10px;
            margin-bottom: 15px;
            position: relative;
            background-color: #f0f8ff;
            border-radius: 4px;
            padding: 10px;
        }

        .atividade-entry.concluida {
            border-left-color: #27ae60;
            background-color: #f0fff0;
        }

        .atividade-entry.atrasada {
            border-left-color: #e74c3c;
            background-color: #ffebee;
        }

        .produto-entry .valor {
            font-weight: bold;
            color: #27ae60;
        }

        .produto-entry .quantidade {
            color: #3498db;
            font-weight: bold;
        }

        .produto-entry .delete-btn,
        .atividade-entry .delete-btn,
        .arquivo-entry .delete-btn,
        .formulario-entry .delete-btn {
            position: absolute;
            top: 5px;
            right: 5px;
            color: #e74c3c;
            cursor: pointer;
            background: none;
            border: none;
            font-size: 14px;
        }

        .atividade-entry .concluir-btn {
            position: absolute;
            top: 5px;
            right: 30px;
            color: #27ae60;
            cursor: pointer;
            background: none;
            border: none;
            font-size: 14px;
        }

        small {
            color: #888;
            display: block;
            margin-top: 5px;
        }

        label {
            font-weight: bold;
            display: block;
            margin-top: 10px;
        }

        input, select, textarea {
            width: 100%;
            padding: 8px;
            margin-top: 4px;
            margin-bottom: 15px;
            border: 1px solid #ccc;
            border-radius: 4px;
        }

        button {
            background-color: #3498db;
            color: white;
            padding: 10px 18px;
            border: none;
            border-radius: 4px;
            cursor: pointer;
        }

        .btn-voltar {
            display: inline-block;
            margin-bottom: 20px;
            padding: 10px 15px;
            background-color: #7f8c8d;
            color: white;
            text-decoration: none;
            border-radius: 4px;
        }

        .btn-voltar:hover {
            opacity: 0.9;
        }

        .tab-container {
            margin-bottom: 20px;
        }

        .tab-buttons {
            display: flex;
            border-bottom: 1px solid #ddd;
        }

        .tab-button {
            padding: 10px 20px;
            background:rgb(153, 145, 145);
            border: none;
            cursor: pointer;
            transition: 0.3s;
        }

        .tab-button.active {
            background: #3498db;
            color: white;
        }

        .tab-content {
            display: none;
            padding: 20px 0;
        }

        .tab-content.active {
            display: block;
        }

        .form-produto, .form-atividade, .form-arquivo, .form-formulario {
            background: #f9f9f9;
            padding: 15px;
            border-radius: 5px;
            margin-bottom: 20px;
        }

        .tipo-cadastro {
            margin-bottom: 15px;
        }
        
        .tipo-cadastro label {
            display: inline-block;
            margin-right: 15px;
            cursor: pointer;
        }
        
        .form-cadastro {
            display: none;
        }
        
        .form-cadastro.active {
            display: block;
        }
        
        .produto-info {
            background: #f5f5f5;
            padding: 10px;
            border-radius: 4px;
            margin-bottom: 15px;
        }
        
        .valor-total {
            font-weight: bold;
            margin-top: 10px;
            font-size: 1.1em;
        }
        
        .total-geral {
            background-color: #34495e;
            color: white;
            padding: 10px 15px;
            border-radius: 4px;
            margin-top: 20px;
            text-align: right;
            font-size: 1.2em;
        }
        
        .resumo-produtos, .resumo-atividades,
        .resumo-arquivos, .resumo-formularios {
            background-color: #3498db;
            color: white;
            padding: 10px 15px;
            border-radius: 4px;
            margin-bottom: 20px;
            font-size: 1.1em;
        }

        .resumo-atividades {
            background-color: #f39c12;
        }

        .resumo-arquivos {
            background-color: #9b59b6;
        }

        .resumo-formularios {
            background-color: #3498db;
        }

        .status-atividade {
            display: inline-block;
            padding: 3px 8px;
            border-radius: 3px;
            font-size: 0.8em;
            font-weight: bold;
            margin-left: 5px;
        }

        .status-pendente {
            background-color:rgb(205, 231, 60);
            color: white;
        }

        .status-concluida {
            background-color: #27ae60;
            color: white;
        }

        .status-atrasada {
            background-color: #e74c3c;
            color: white;
        }

        .data-atividade {
            font-weight: bold;
            color: #333;
        }

        .data-passada {
            color: #e74c3c;
        }

        .data-futura {
            color: #f39c12;
        }

        .data-hoje {
            color: #27ae60;
        }

        .filtro-status {
            margin-bottom: 15px;
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
        }

        .filtro-status a {
            padding: 5px 10px;
            border-radius: 3px;
            text-decoration: none;
            color: #333;
            background-color: #f0f0f0;
            border: 1px solid #ddd;
        }

        .filtro-status a.active {
            background-color: #3498db;
            color: white;
            border-color: #3498db;
        }

        .arquivo-info {
            display: flex;
            align-items: center;
            margin-bottom: 5px;
        }

        .arquivo-icon {
            margin-right: 10px;
            font-size: 20px;
        }

        .arquivo-tamanho {
            color: #7f8c8d;
            font-size: 0.8em;
            margin-left: 5px;
        }

        .arquivo-descricao {
            margin-top: 5px;
            color: #555;
        }

        .notificacao-container {
            background-color: #f8f9fa;
            padding: 15px;
            border-radius: 5px;
            margin-top: 15px;
            border: 1px solid #dee2e6;
        }

        .notificacao-container label {
            margin-bottom: 5px;
        }

        .notificacao-fields {
            display: flex;
            gap: 10px;
            align-items: center;
        }

        .notificacao-fields input {
            width: 80px;
            margin-bottom: 0;
        }

        .notificacao-fields select {
            width: auto;
            margin-bottom: 0;
        }

        /* Submenus */
        .submenu {
            display: none;
            padding-left: 20px;
            margin-top: 10px;
            background-color: #f9f9f9;
        }
        
        .submenu a {
            display: block;
            padding: 8px 16px;
            text-decoration: none;
            color: #333;
            font-size: 0.9em;
        }
        
        .submenu a:hover {
            background-color: #f1f1f1;
        }
        
        .menu-item {
            position: relative;
        }
        
        .menu-item > a {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        
        .menu-item > a:after {
            content: "▶";
            font-size: 0.8em;
            transition: transform 0.3s;
        }
        
        .menu-item.open > a:after {
            transform: rotate(90deg);
        }

        /* Classes para menu */
        .menu-btn-success {
            color: #6B8E23;
        }
        
        .menu-btn-primary {
            color: #0000FF;
        }
        
        .menu-btn-danger {
            color: #e74c3c;
        }

        .pergunta-formulario {
            margin-bottom: 15px;
            padding: 10px;
            background-color: #f9f9f9;
            border-radius: 4px;
        }

        .opcoes-resposta {
            margin-top: 5px;
        }

        .opcao-resposta {
            margin-right: 10px;
        }
    </style>
</head>
<body>
  <div class="header-fixed">
    <img src="tvitec.png" alt="Logo TVITEC" style="height:40px; margin-right: 15px;">

    <div style="flex-grow: 1; display: flex; align-items: center; justify-content: center; gap: 12px;">
      <h2 style="margin: 0;">Sistema de Organização de Negócios</h2>

      <button onclick="abrirTelefone()" 
              style="background:none; border:none; cursor:pointer; padding:6px; color:#007bff; display:flex; align-items:center; justify-content:center;"
              title="Abrir telefone" aria-label="Abrir telefone">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="0 0 24 24">
          <path d="M6.62 10.79a15.091 15.091 0 006.59 6.59l2.2-2.2a1 1 0 011.11-.21 11.36 11.36 0 003.55.57 1 1 0 011 1v3.5a1 1 0 01-1 1A17 17 0 013 5a1 1 0 011-1h3.5a1 1 0 011 1 11.36 11.36 0 00.57 3.55 1 1 0 01-.21 1.11l-2.24 2.13z"/>
        </svg>
      </button>
    </div>

    <div class="user-info" style="display:flex; align-items:center; gap:10px;">
      <?php if (!empty($_SESSION['foto_perfil'])): ?>
        <img src="<?php echo htmlspecialchars($_SESSION['foto_perfil']); ?>" class="user-photo" alt="Foto do usuário" style="width:40px; height:40px; border-radius:50%;">
      <?php else: ?>
        <div class="user-initial" style="width:40px; height:40px; border-radius:50%; background:#ccc; display:flex; align-items:center; justify-content:center; font-weight:bold; font-size:1.2em;">
          <?php echo strtoupper(substr($_SESSION['nome_usuario'] ?? 'U', 0, 1)); ?>
        </div>
      <?php endif; ?>
      <div style="text-align:left;">
        <div style="font-weight: bold; color: #333; font-size: 1.1em;">
          <?php echo htmlspecialchars($_SESSION['nome_usuario'] ?? 'Usuário'); ?>
        </div>
        <div style="font-size: 0.9em; color: #555;">
          <?php echo htmlspecialchars($_SESSION['email_usuario'] ?? ''); ?>
        </div>
      </div>
    </div>
    
    <!-- Menu Hamburger -->
    <div class="menu-container">
        <button class="hamburger-btn" onclick="toggleMenu()">☰</button>
        <div class="dropdown-menu" id="dropdownMenu">
            <a href="index.php" class="menu-btn-primary">← Início</a>

            <?php if (in_array($_SESSION['permissao'], ['usuario', 'vendedor', 'admin', 'super_admin'])): ?>
                <div class="menu-item">
                    <a href="javascript:void(0);" class="menu-btn-primary" onclick="toggleSubmenu('clientesSubmenu')">👥 Clientes</a>
                    <div id="clientesSubmenu" class="submenu">
                        <a href="cadastrar_cliente.php" class="menu-btn-success">➕ Novo Cliente</a>
                        <a href="lista_clientes.php" class="menu-btn-primary">📋 Listar Clientes</a>
                    </div>
                </div>
            <?php endif; ?>

            <div class="menu-item">
                <a href="javascript:void(0);" class="menu-btn-primary" onclick="toggleSubmenu('produtosSubmenu')">📦 Produtos</a>
                <div id="produtosSubmenu" class="submenu">
                    <a href="lista_produtos.php" class="menu-btn-primary">📋 Lista de Produtos</a>
                    <a href="cadastrar_produto.php" class="menu-btn-primary">➕ Novo Produto</a>
                </div>
            </div>

            <div class="menu-item">
                <a href="javascript:void(0);" class="menu-btn-primary" onclick="toggleSubmenu('atividadesSubmenu')">📝 Atividades</a>
                <div id="atividadesSubmenu" class="submenu">
                    <a href="lista_atividades.php" class="menu-btn-primary">📋 Listar Atividades</a>
                    <a href="cadastrar_atividade.php" class="menu-btn-primary">✍️ Cadastrar Tipo de Atividade</a>
                    <a href="consulta_atividades.php" class="menu-btn-primary">🔍 Consulta atividades</a>
                </div>
            </div>

            <!-- Seção de Origens -->
            <div class="menu-item">
                <a href="javascript:void(0);" class="menu-btn-primary" onclick="toggleSubmenu('origensSubmenu')">🌐 Origens</a>
                <div id="origensSubmenu" class="submenu">
                    <a href="cadastrar_origem.php" class="menu-btn-primary">➕ Cadastrar Origem</a>
                    <a href="lista_origens.php" class="menu-btn-primary">📋 Listar Origens</a>
                </div>
            </div>

            <div class="menu-item">
                <a href="javascript:void(0);" class="menu-btn-primary" onclick="toggleSubmenu('emailSubmenu')">📧 E-mail & Configurações</a>
                <div id="emailSubmenu" class="submenu">
                    <a href="email_app.php" class="menu-btn-primary">⚙️ Configurar E-mail</a>
                    <a href="email.php" class="menu-btn-primary">📨 Enviar E-mail</a>
                </div>
            </div>

            <?php if (in_array($_SESSION['permissao'], ['admin', 'super_admin'])): ?>
                <div class="menu-item">
                    <a href="javascript:void(0);" class="menu-btn-primary" onclick="toggleSubmenu('adminSubmenu')">👤 Administração</a>
                    <div id="adminSubmenu" class="submenu">
                        <a href="cadastrar_usuario.php" class="menu-btn-primary">➕ Cadastrar Usuário</a>
                        <a href="gerenciar_usuarios.php" class="menu-btn-primary">👥 Gerenciar Usuários</a>
                    </div>
                </div>
            <?php endif; ?>

            <!-- Novo submenu: Análise -->
            <div class="menu-item">
                <a href="javascript:void(0);" class="menu-btn-primary" onclick="toggleSubmenu('analiseSubmenu')">📈 Análise</a>
                <div id="analiseSubmenu" class="submenu">
                    <a href="dashboard_clientes.php" class="menu-btn-primary">📊 Gráfica</a>
                    <a href="mapa_vendas.php" class="menu-btn-primary">📍 Georreferenciada</a>
                </div>
            </div>
            <a href="formulario.php" class="menu-btn-primary">📝 Formulários</a>
            <a href="calendario.php" class="menu-btn-primary">📅 Calendário</a>
            <a href="funis.php" class="menu-btn-primary">🔽 Gerenciar Funis</a>
            <a href="chat.php" class="menu-btn-success">💬 Chat</a>
            <a href="perfil_usuario.php" class="menu-btn-primary">🪪 Perfil</a>
            <a href="logout.php" class="menu-btn-danger">🚪 Sair</a>
            <h6 class="version-info">Tvitecnologia SON v1.0</h6>
        </div>
    </div>
  </div>

  <div class="content-wrapper" style="margin-top: 80px;">
    <div class="container">
        <h1><?php echo htmlspecialchars($cliente['Nome_Cliente']); ?></h1>
     
        <div class="tab-container">
            <div class="tab-buttons">
                <button class="tab-button active" onclick="openTab(event, 'dados-cliente')">Dados do Cliente</button>
                <button class="tab-button" onclick="openTab(event, 'produtos')">Produtos</button>
                <button class="tab-button" onclick="openTab(event, 'atividades')">Atividades</button>
                <button class="tab-button" onclick="openTab(event, 'arquivos')">Arquivos</button>
                <button class="tab-button" onclick="openTab(event, 'formularios')">Formulários</button>
                <button class="tab-button" onclick="openTab(event, 'historico')">Histórico</button>
            </div>

            <div id="dados-cliente" class="tab-content active">
                <div class="form-container">
                    <form method="POST">
                        <input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
                        <?php foreach ($campos as $campo): ?>
                            <label for="<?= $campo ?>"><?= ucfirst($campo) ?></label>
                            <?php if ($campo === 'Observacoes'): ?>
                                <textarea name="<?= $campo ?>" id="<?= $campo ?>"><?= htmlspecialchars($cliente[$campo] ?? '') ?></textarea>
                            <?php elseif ($campo === 'status'): ?>
                                <select name="status" id="status">
                                    <?php $statusOptions = [ 1 => 'Contactar', 2 => 'Contactado', 3 => 'Negociação', 4 => 'Agendado', 5 => 'Visitado', 6 => 'Vendido', 7 => 'Perdido' ]; 
                                    foreach ($statusOptions as $key => $label) { 
                                        $selected = ($cliente['status'] == $key) ? 'selected' : ''; 
                                        echo "<option value=\"$key\" $selected>$label</option>"; 
                                    } ?>
                                </select>
                            <?php else: ?>
                                <input type="text" name="<?= $campo ?>" id="<?= $campo ?>" value="<?= htmlspecialchars($cliente[$campo] ?? '') ?>">
                            <?php endif; ?>
                        <?php endforeach; ?>
                        <button type="submit">Salvar Alterações</button>
                    </form>
                </div>
            </div>

            <div id="produtos" class="tab-content">
                <div class="form-produto">
                    <h3>Cadastrar Novo Produto</h3>
                    <form method="POST">
                        <input type="hidden" name="cadastrar_produto" value="1">
                        <input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
                        
                        <div class="tipo-cadastro">
                            <label>
                                <input type="radio" name="tipo_cadastro" value="lista" checked onchange="mudarTipoCadastro(this.value)"> 
                                Selecionar da lista de produtos
                            </label>
                            <label>
                                <input type="radio" name="tipo_cadastro" value="manual" onchange="mudarTipoCadastro(this.value)"> 
                                Cadastrar manualmente
                            </label>
                        </div>
                        
                        <div id="form-lista" class="form-cadastro active">
                            <label for="lista_produto_id">Produto</label>
                            <select name="lista_produto_id" id="lista_produto_id" onchange="carregarDetalhesProduto(this.value)">
                                <option value="">-- Selecione um produto --</option>
                                <?php foreach ($listaProdutos as $produto): ?>
                                    <option value="<?= $produto['id'] ?>" 
                                            data-valor="<?= $produto['valor'] ?>" 
                                            data-descricao="<?= htmlspecialchars($produto['descricao']) ?>">
                                        <?= htmlspecialchars($produto['nome']) ?> - R$ <?= number_format($produto['valor'], 2, ',', '.') ?>
                                    </option>
                                <?php endforeach; ?>
                            </select>
                            
                            <div id="detalhes-produto" class="produto-info" style="display: none;">
                                <p><strong>Descrição:</strong> <span id="descricao-produto"></span></p>
                                <p><strong>Valor unitário:</strong> R$ <span id="valor-unitario"></span></p>
                            </div>
                            
                            <label for="quantidade">Quantidade</label>
                            <input type="number" name="quantidade" id="quantidade" min="1" value="1" onchange="calcularValorTotal()">
                            
                            <div class="valor-total">
                                <strong>Valor total:</strong> R$ <span id="valor-total">0,00</span>
                            </div>
                        </div>
                        
                        <div id="form-manual" class="form-cadastro">
                            <label for="nome_produto">Nome do Produto</label>
                            <input type="text" name="nome_produto" id="nome_produto">
                            
                            <label for="descricao_produto">Descrição</label>
                            <textarea name="descricao_produto" id="descricao_produto"></textarea>
                            
                            <label for="valor_produto">Valor unitário (R$)</label>
                            <input type="text" name="valor_produto" id="valor_produto" placeholder="0,00" onkeyup="formatarMoeda(this)">
                            
                            <label for="quantidade_manual">Quantidade</label>
                            <input type="number" name="quantidade" id="quantidade_manual" min="1" value="1">
                            
                            <div class="valor-total">
                                <strong>Valor total:</strong> R$ <span id="valor-total-manual">0,00</span>
                            </div>
                        </div>
                        
                        <label for="observacoes">Observações</label>
                        <textarea name="observacoes" id="observacoes" rows="2"></textarea>
                        
                        <button type="submit" class="btn">
                            <i class="fas fa-save"></i> Cadastrar Produto
                        </button>
                    </form>
                </div>

                <div class="produtos-container">
                    <div class="resumo-produtos">
                        Resumo: 
                        <span><?= count($produtos) ?> produto(s) adquirido(s)</span> | 
                        <span><?= $quantidadeTotalProdutos ?> item(s) no total</span> | 
                        <span>R$ <?= number_format($valorTotalProdutos, 2, ',', '.') ?> em valor total</span>
                    </div>
                    
                    <h3>Produtos Cadastrados</h3>
                    <?php if (!empty($produtos)): ?>
                        <?php foreach ($produtos as $produto): ?>
                            <div class="produto-entry">
                                <button class="delete-btn" onclick="confirmarExclusaoProduto(<?= $produto['id'] ?>)">
                                    <i class="fas fa-trash"></i>
                                </button>
                                <strong><?= htmlspecialchars($produto['nome_produto']) ?></strong>
                                <p><?= nl2br(htmlspecialchars($produto['descricao'])) ?></p>
                                <span class="quantidade">Quantidade: <?= $produto['quantidade'] ?></span>
                                <span class="valor">Total: R$ <?= number_format($produto['valor'], 2, ',', '.') ?></span>
                                <?php if (!empty($produto['observacoes'])): ?>
                                    <p><strong>Observações:</strong> <?= nl2br(htmlspecialchars($produto['observacoes'])) ?></p>
                                <?php endif; ?>
                                <small>
                                    Cadastrado por <?= htmlspecialchars($produto['nome_usuario']) ?> em 
                                    <?= date('d/m/Y H:i', strtotime($produto['data_cadastro'])) ?>
                                    <?php if ($produto['lista_produto_id']): ?>
                                        <br>(Produto padrão)
                                    <?php endif; ?>
                                </small>
                            </div>
                        <?php endforeach; ?>
                    <?php else: ?>
                        <p>Nenhum produto cadastrado para este cliente.</p>
                    <?php endif; ?>
                </div>
            </div>

            <div id="formularios" class="tab-content">
                <div class="form-arquivo">
                    <h3>Enviar Formulário para o Cliente</h3>
                    <form method="POST" id="form-enviar-formulario">
                        <input type="hidden" name="enviar_formulario_email" value="1">
                        <input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">

                        <label for="formulario_email_id">Selecione o Formulário</label>
                        <select name="formulario_email_id" id="formulario_email_id" required>
                            <option value="">-- Selecione um formulário --</option>
                            <?php foreach ($formularios as $formulario): ?>
                                <option value="<?= $formulario['id'] ?>">
                                    <?= htmlspecialchars($formulario['nome']) ?>
                                </option>
                            <?php endforeach; ?>
                        </select>

                        <label for="email_cliente">E-mail do Cliente</label>
                        <input type="email" name="email_cliente" id="email_cliente"
                               value="<?= htmlspecialchars($cliente['Email'] ?? '') ?>" required>

                        <label for="mensagem_email">Mensagem Personalizada (opcional)</label>
                        <textarea name="mensagem_email" id="mensagem_email" rows="3"
                                  placeholder="Olá [Nome], por favor preencha o formulário no link abaixo:"></textarea>

                        <button type="submit" class="btn" style="margin-top: 10px;">
                            <i class="fas fa-paper-plane"></i> Enviar Formulário por E-mail
                        </button>
                    </form>
                </div>

                <div class="arquivos-container">
                    <div class="resumo-formularios">
                        Resumo:
                        <span><?= count($respostas) ?> formulário(s) respondido(s)</span>
                    </div>

                    <h3>Formulários Respondidos</h3>
                    <?php if (!empty($respostas)): ?>
                        <?php foreach ($respostas as $resposta): ?>
                            <div class="formulario-entry">
                                <button class="delete-btn" onclick="confirmarExclusaoFormulario(<?= $resposta['id'] ?>)">
                                    <i class="fas fa-trash"></i>
                                </button>

                                <strong><?= htmlspecialchars($resposta['formulario_nome']) ?></strong>
                                <small>
                                    Respondido em <?= date('d/m/Y H:i', strtotime($resposta['data_resposta'])) ?>
                                </small>

                                <div style="margin-top: 10px;">
                                    <a href="visualizar_formulario.php?id=<?= $resposta['id'] ?>" class="btn" style="padding: 5px 10px; font-size: 0.9em;">
                                        <i class="fas fa-eye"></i> Visualizar Respostas
                                    </a>
                                </div>
                            </div>
                        <?php endforeach; ?>
                    <?php else: ?>
                        <p>Nenhum formulário respondido para este cliente.</p>
                    <?php endif; ?>
                </div>
            </div>

            <div id="atividades" class="tab-content">
                <div class="form-atividade">
                    <h3>Nova Atividade</h3>
                    <form method="POST">
                        <input type="hidden" name="cadastrar_atividade" value="1">
                        <input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
                        <input type="hidden" name="cliente_id" value="<?= $clienteId ?>">

                        <div class="tipo-cadastro">
                            <label>
                                <input type="radio" name="tipo_cadastro_atividade" value="lista" checked onchange="mudarTipoCadastroAtividade(this.value)"> 
                                Selecionar da lista de atividades
                            </label>
                            <label>
                                <input type="radio" name="tipo_cadastro_atividade" value="manual" onchange="mudarTipoCadastroAtividade(this.value)"> 
                                Cadastrar manualmente
                            </label>
                        </div>

                        <div id="form-atividade-lista" class="form-cadastro active">
                            <label for="lista_atividade_id">Atividade</label>
                            <select name="lista_atividade_id" id="lista_atividade_id" required>
                                <option value="">-- Selecione uma atividade --</option>
                                <?php foreach ($listaAtividades as $atividade): ?>
                                    <option value="<?= $atividade['id'] ?>">
                                        <?= htmlspecialchars($atividade['nome']) ?>
                                    </option>
                                <?php endforeach; ?>
                            </select>
                        </div>

                        <div id="form-atividade-manual" class="form-cadastro">
                            <label for="descricao_atividade">Descrição da Atividade</label>
                            <textarea name="descricao_atividade" id="descricao_atividade" rows="3"></textarea>
                        </div>

                        <label for="data_atividade">Data e Hora para Conclusão</label>
                        <input type="datetime-local" name="data_atividade" id="data_atividade" required>

                        <div class="notificacao-container">
                            <label>
                                <input type="checkbox" name="notificar" id="notificar" onchange="toggleNotificacao(this.checked)">
                                Notificar antes da atividade
                            </label>

                            <div id="campos-notificacao" style="display: none;">
                                <div class="notificacao-fields">
                                    <label for="tempo_notificacao">Notificar</label>
                                    <input type="number" name="tempo_notificacao" id="tempo_notificacao" min="1" value="15">
                                    <select name="unidade_tempo" id="unidade_tempo">
                                        <option value="minutos">minutos antes</option>
                                        <option value="horas">horas antes</option>
                                        <option value="dias">dias antes</option>
                                    </select>
                                </div>
                            </div>
                        </div>

                        <button type="submit" class="btn">
                            <i class="fas fa-calendar-plus"></i> Agendar Atividade
                        </button>
                    </form>
                </div>

                <div class="atividades-container">
                    <div class="resumo-atividades">
                        Resumo: 
                        <span><?= count($atividades) ?> atividade(s)</span> | 
                        <span><?= count(array_filter($atividades, function($a) { return $a['concluida'] == 1; })) ?> concluída(s)</span> |
                        <span><?= count(array_filter($atividades, function($a) { return $a['status'] == 'atrasada'; })) ?> atrasada(s)</span>
                    </div>

                    <div class="filtro-status">
                        <a href="editar_cliente.php?id=<?= $clienteId ?>#atividades" class="<?= $filtroStatus === 'todos' ? 'active' : '' ?>">Todas</a>
                        <a href="editar_cliente.php?id=<?= $clienteId ?>&status=pendente#atividades" class="<?= $filtroStatus === 'pendente' ? 'active' : '' ?>">Pendentes</a>
                        <a href="editar_cliente.php?id=<?= $clienteId ?>&status=concluida#atividades" class="<?= $filtroStatus === 'concluida' ? 'active' : '' ?>">Concluídas</a>
                        <a href="editar_cliente.php?id=<?= $clienteId ?>&status=atrasada#atividades" class="<?= $filtroStatus === 'atrasada' ? 'active' : '' ?>">Atrasadas</a>
                    </div>

                    <h3>Atividades Agendadas</h3>
                    <?php if (!empty($atividades)): ?>
                        <?php foreach ($atividades as $atividade): 
                            $dataAtividade = new DateTime($atividade['data_agendada'], new DateTimeZone('America/Sao_Paulo'));
                            $hoje = new DateTime('now', new DateTimeZone('America/Sao_Paulo'));
                            $classeData = '';

                            if ($atividade['concluida'] != 1) {
                                if ($dataAtividade->format('Y-m-d') == $hoje->format('Y-m-d')) {
                                    $classeData = 'data-hoje';
                                } elseif ($dataAtividade < $hoje) {
                                    $classeData = 'data-passada';
                                } else {
                                    $classeData = 'data-futura';
                                }
                            }
                        ?>
                            <div class="atividade-entry <?= $atividade['status'] ?>">
                                <?php if ($atividade['concluida'] != 1): ?>
                                    <button class="concluir-btn" onclick="concluirAtividade(<?= $atividade['id'] ?>)">
                                        <i class="fas fa-check"></i>
                                    </button>
                                <?php endif; ?>
                                <button class="delete-btn" onclick="confirmarExclusaoAtividade(<?= $atividade['id'] ?>)">
                                    <i class="fas fa-trash"></i>
                                </button>

                                <strong><?= htmlspecialchars($atividade['descricao']) ?></strong>
                                <p class="data-atividade <?= $classeData ?>">
                                    <i class="far fa-calendar-alt"></i> 
                                    <?= formatarData($atividade['data_agendada']) ?>
                                    <span class="status-atividade status-<?= $atividade['status'] ?>">
                                        <?= strtoupper($atividade['status']) ?>
                                    </span>
                                </p>

                                <?php if ($atividade['notificar'] == 1 && !empty($atividade['data_notificacao'])): ?>
                                    <p><i class="fas fa-bell"></i> Notificação agendada para <?= formatarData($atividade['data_notificacao']) ?></p>
                                <?php endif; ?>

                                <small>
                                    Criada por <?= htmlspecialchars($atividade['nome_usuario']) ?> em 
                                    <?= date('d/m/Y H:i', strtotime($atividade['data_cadastro'])) ?>
                                </small>

                                <?php if ($atividade['concluida'] == 1): ?>
                                    <p><i class="fas fa-check-circle"></i> Concluída em <?= formatarData($atividade['data_conclusao']) ?></p>
                                <?php endif; ?>
                            </div>
                        <?php endforeach; ?>
                    <?php else: ?>
                        <p>Nenhuma atividade agendada para este cliente.</p>
                    <?php endif; ?>
                </div>
            </div>

            <div id="arquivos" class="tab-content">
                <div class="form-arquivo">
                    <h3>Enviar Novo Arquivo</h3>
                    <form method="POST" enctype="multipart/form-data">
                        <input type="hidden" name="enviar_arquivo" value="1">
                        <input type="hidden" name="csrf_token" value="<?= $_SESSION['csrf_token'] ?>">
                        
                        <label for="arquivo">Selecione o arquivo (máx. 10MB)</label>
                        <input type="file" name="arquivo" id="arquivo" required accept=".pdf,.jpg,.jpeg,.png,.doc,.docx,.xls,.xlsx">
                        
                        <label for="descricao_arquivo">Descrição (opcional)</label>
                        <textarea name="descricao_arquivo" id="descricao_arquivo" rows="2"></textarea>
                        
                        <button type="submit" class="btn">
                            <i class="fas fa-upload"></i> Enviar Arquivo
                        </button>
                    </form>
                </div>

                <div class="arquivos-container">
                    <div class="resumo-arquivos">
                        Resumo: 
                        <span><?= count($arquivos) ?> arquivo(s)</span> | 
                        <span><?= round(array_sum(array_column($arquivos, 'tamanho_arquivo')) / (1024 * 1024), 2) ?> MB no total</span>
                    </div>
                    
                    <h3>Arquivos Anexados</h3>
                    <?php if (!empty($arquivos)): ?>
                        <?php foreach ($arquivos as $arquivo): 
                            $extensao = pathinfo($arquivo['nome_arquivo'], PATHINFO_EXTENSION);
                            $icone = '';
                            $tamanho = '';
                            
                            switch(strtolower($extensao)) {
                                case 'pdf':
                                    $icone = 'fa-file-pdf';
                                    break;
                                case 'jpg':
                                case 'jpeg':
                                case 'png':
                                    $icone = 'fa-file-image';
                                    break;
                                case 'doc':
                                case 'docx':
                                    $icone = 'fa-file-word';
                                    break;
                                case 'xls':
                                case 'xlsx':
                                    $icone = 'fa-file-excel';
                                    break;
                                default:
                                    $icone = 'fa-file';
                            }
                            
                            $tamanhoKB = number_format($arquivo['tamanho_arquivo'] / 1024, 2);
                            $tamanhoMB = number_format($arquivo['tamanho_arquivo'] / (1024 * 1024), 2);
                        ?>
                            <div class="arquivo-entry">
                                <button class="delete-btn" onclick="confirmarExclusaoArquivo(<?= $arquivo['id'] ?>)">
                                    <i class="fas fa-trash"></i>
                                </button>
                                
                                <div class="arquivo-info">
                                    <i class="fas <?= $icone ?> arquivo-icon"></i>
                                    <a href="<?= $arquivo['caminho_arquivo'] ?>" target="_blank" download="<?= htmlspecialchars($arquivo['nome_arquivo']) ?>">
                                        <?= htmlspecialchars($arquivo['nome_arquivo']) ?>
                                    </a>
                                    <span class="arquivo-tamanho">(<?= $tamanhoMB ?> MB)</span>
                                </div>
                                
                                <?php if (!empty($arquivo['descricao'])): ?>
                                    <div class="arquivo-descricao">
                                        <?= nl2br(htmlspecialchars($arquivo['descricao'])) ?>
                                    </div>
                                <?php endif; ?>
                                
                                <small>
                                    Enviado por <?= htmlspecialchars($arquivo['nome_usuario']) ?> em 
                                    <?= date('d/m/Y H:i', strtotime($arquivo['data_upload'])) ?>
                                </small>
                            </div>
                        <?php endforeach; ?>
                    <?php else: ?>
                        <p>Nenhum arquivo anexado para este cliente.</p>
                    <?php endif; ?>
                </div>
            </div>

            <div id="historico" class="tab-content">
                <div class="timeline-container">
                    <h3>Cronologia</h3>
                    <?php foreach ($logs as $log): ?>
                        <div class="timeline-entry">
                            <strong><?= htmlspecialchars($log['nome_usuario'] ?? 'Usuário #' . $log['usuario_id']) ?> - 
                            
                                <i class="far fa-clock"></i> <?= date('d/m/Y H:i', strtotime($log['data_hora'])) ?>
                            </strong>
                            <p><?= nl2br(htmlspecialchars($log['acao'])) ?></p>
                            <small><?= nl2br(htmlspecialchars($log['detalhes'])) ?></small>
                        </div>
                    <?php endforeach; ?>
                </div>
            </div>
        </div>
    </div>
  </div>

  <script>
    function openTab(evt, tabName) {
        var i, tabcontent, tabbuttons;
        
        tabcontent = document.getElementsByClassName("tab-content");
        for (i = 0; i < tabcontent.length; i++) {
            tabcontent[i].className = tabcontent[i].className.replace(" active", "");
        }
        
        tabbuttons = document.getElementsByClassName("tab-button");
        for (i = 0; i < tabbuttons.length; i++) {
            tabbuttons[i].className = tabbuttons[i].className.replace(" active", "");
        }
        
        document.getElementById(tabName).className += " active";
        evt.currentTarget.className += " active";
        
        // Atualiza o hash na URL para permitir bookmarking
        window.location.hash = tabName;
    }

    // Função para alternar a visibilidade do submenu
    function toggleSubmenu(submenuId) {
        var submenu = document.getElementById(submenuId);
        if (submenu.style.display === "block") {
            submenu.style.display = "none";
        } else {
            submenu.style.display = "block";
        }
    }

    // Função para alternar a visibilidade do menu
    function toggleMenu() {
        var menu = document.getElementById('dropdownMenu');
        if (menu.style.display === "block") {
            menu.style.display = "none";
        } else {
            menu.style.display = "block";
        }
    }

    function formatarMoeda(input) {
        var valor = input.value.replace(/\D/g, '');
        valor = (valor / 100).toFixed(2) + '';
        valor = valor.replace(".", ",");
        valor = valor.replace(/(\d)(\d{3})(\d{3}),/g, "$1.$2.$3,");
        valor = valor.replace(/(\d)(\d{3}),/g, "$1.$2,");
        input.value = valor;
    }

    function confirmarExclusaoProduto(produtoId) {
        Swal.fire({
            title: 'Tem certeza?',
            text: "Você não poderá reverter isso!",
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: 'Sim, excluir!',
            cancelButtonText: 'Cancelar'
        }).then((result) => {
            if (result.isConfirmed) {
                window.location.href = 'excluir_produto.php?id=' + produtoId + '&cliente_id=<?= $clienteId ?>';
            }
        })
    }

    function confirmarExclusaoAtividade(atividadeId) {
        Swal.fire({
            title: 'Tem certeza?',
            text: "Você não poderá reverter isso!",
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: 'Sim, excluir!',
            cancelButtonText: 'Cancelar'
        }).then((result) => {
            if (result.isConfirmed) {
                // Criar um formulário dinâmico para enviar a requisição
                const form = document.createElement('form');
                form.method = 'POST';
                form.action = 'editar_cliente.php?id=<?= $clienteId ?>#atividades';
                
                const csrfInput = document.createElement('input');
                csrfInput.type = 'hidden';
                csrfInput.name = 'csrf_token';
                csrfInput.value = '<?= $_SESSION['csrf_token'] ?>';
                form.appendChild(csrfInput);
                
                const atividadeInput = document.createElement('input');
                atividadeInput.type = 'hidden';
                atividadeInput.name = 'atividade_id';
                atividadeInput.value = atividadeId;
                form.appendChild(atividadeInput);
                
                const methodInput = document.createElement('input');
                methodInput.type = 'hidden';
                methodInput.name = 'excluir_atividade';
                methodInput.value = '1';
                form.appendChild(methodInput);
                
                document.body.appendChild(form);
                form.submit();
            }
        })
    }

    function confirmarExclusaoArquivo(arquivoId) {
        Swal.fire({
            title: 'Tem certeza?',
            text: "Você não poderá reverter isso! O arquivo será permanentemente excluído.",
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: 'Sim, excluir!',
            cancelButtonText: 'Cancelar'
        }).then((result) => {
            if (result.isConfirmed) {
                window.location.href = 'excluir_arquivo.php?id=' + arquivoId + '&cliente_id=<?= $clienteId ?>';
            }
        })
    }

    function confirmarExclusaoFormulario(respostaId) {
        Swal.fire({
            title: 'Tem certeza?',
            text: "Você não poderá reverter isso!",
            icon: 'warning',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: 'Sim, excluir!',
            cancelButtonText: 'Cancelar'
        }).then((result) => {
            if (result.isConfirmed) {
                window.location.href = 'excluir_formulario.php?id=' + respostaId + '&cliente_id=<?= $clienteId ?>';
            }
        })
    }

    function concluirAtividade(atividadeId) {
        Swal.fire({
            title: 'Concluir Atividade',
            text: "Deseja marcar esta atividade como concluída?",
            icon: 'question',
            showCancelButton: true,
            confirmButtonColor: '#3085d6',
            cancelButtonColor: '#d33',
            confirmButtonText: 'Sim, concluir!',
            cancelButtonText: 'Cancelar'
        }).then((result) => {
            if (result.isConfirmed) {
                // Criar um formulário dinâmico para enviar a requisição
                const form = document.createElement('form');
                form.method = 'POST';
                form.action = 'editar_cliente.php?id=<?= $clienteId ?>#atividades';
                
                const csrfInput = document.createElement('input');
                csrfInput.type = 'hidden';
                csrfInput.name = 'csrf_token';
                csrfInput.value = '<?= $_SESSION['csrf_token'] ?>';
                form.appendChild(csrfInput);
                
                const atividadeInput = document.createElement('input');
                atividadeInput.type = 'hidden';
                atividadeInput.name = 'atividade_id';
                atividadeInput.value = atividadeId;
                form.appendChild(atividadeInput);
                
                const methodInput = document.createElement('input');
                methodInput.type = 'hidden';
                methodInput.name = 'concluir_atividade';
                methodInput.value = '1';
                form.appendChild(methodInput);
                
                document.body.appendChild(form);
                form.submit();
            }
        })
    }

    function mudarTipoCadastro(tipo) {
        document.getElementById('form-lista').style.display = tipo === 'lista' ? 'block' : 'none';
        document.getElementById('form-manual').style.display = tipo === 'manual' ? 'block' : 'none';
        
        // Atualizar valor total ao mudar o tipo
        if (tipo === 'lista') {
            calcularValorTotal();
        } else {
            calcularValorTotalManual();
        }
    }
    
    function mudarTipoCadastroAtividade(tipo) {
        document.getElementById('form-atividade-manual').style.display = tipo === 'manual' ? 'block' : 'none';
        document.getElementById('form-atividade-lista').style.display = tipo === 'lista' ? 'block' : 'none';
    }
    
    function toggleNotificacao(habilitado) {
        document.getElementById('campos-notificacao').style.display = habilitado ? 'block' : 'none';
    }
    
    function carregarDetalhesProduto(produtoId) {
        const detalhesDiv = document.getElementById('detalhes-produto');
        const descricaoSpan = document.getElementById('descricao-produto');
        const valorUnitarioSpan = document.getElementById('valor-unitario');
        
        if (!produtoId) {
            detalhesDiv.style.display = 'none';
            document.getElementById('valor-total').textContent = '0,00';
            return;
        }
        
        const produtoSelecionado = document.querySelector(`#lista_produto_id option[value="${produtoId}"]`);
        const valorUnitario = parseFloat(produtoSelecionado.getAttribute('data-valor'));
        const descricao = produtoSelecionado.getAttribute('data-descricao');
        
        descricaoSpan.textContent = descricao;
        valorUnitarioSpan.textContent = valorUnitario.toFixed(2).replace('.', ',');
        detalhesDiv.style.display = 'block';
        
        calcularValorTotal();
    }
    
    function calcularValorTotal() {
        const select = document.getElementById('lista_produto_id');
        const quantidade = parseInt(document.getElementById('quantidade').value) || 0;
        
        if (select.value && quantidade > 0) {
            const selectedOption = select.options[select.selectedIndex];
            const valorUnitario = parseFloat(selectedOption.getAttribute('data-valor'));
            const valorTotal = valorUnitario * quantidade;
            
            document.getElementById('valor-total').textContent = valorTotal.toFixed(2).replace('.', ',');
        } else {
            document.getElementById('valor-total').textContent = '0,00';
        }
    }
    
    function calcularValorTotalManual() {
        const valorUnitario = parseFloat(
            document.getElementById('valor_produto').value
                .replace('R$', '')
                .replace('.', '')
                .replace(',', '.')
        ) || 0;
        const quantidade = parseInt(document.getElementById('quantidade_manual').value) || 0;
        const valorTotal = valorUnitario * quantidade;
        
        document.getElementById('valor-total-manual').textContent = valorTotal.toFixed(2).replace('.', ',');
    }
    
    // Atualizar o valor total manual quando os campos mudam
    document.getElementById('valor_produto').addEventListener('input', function() {
        formatarMoeda(this);
        calcularValorTotalManual();
    });
    
    document.getElementById('quantidade_manual').addEventListener('input', calcularValorTotalManual);
    
    // Menu Hamburger
    document.querySelector('.hamburger-btn').addEventListener('click', function() {
        document.getElementById('dropdownMenu').classList.toggle('show');
    });

    // Fechar menu quando clicar fora
    window.addEventListener('click', function(event) {
        if (!event.target.matches('.hamburger-btn')) {
            const dropdowns = document.getElementsByClassName('dropdown-menu');
            for (let i = 0; i < dropdowns.length; i++) {
                const openDropdown = dropdowns[i];
                if (openDropdown.classList.contains('show')) {
                    openDropdown.classList.remove('show');
                }
            }
        }
    });

    // Configurar data/hora padrão para o campo de atividade
    document.addEventListener('DOMContentLoaded', function() {
        const now = new Date();
        // Adicionar 1 hora como padrão
        now.setHours(now.getHours() + 1);
        
        // Formatando para o input datetime-local
        const year = now.getFullYear();
        const month = String(now.getMonth() + 1).padStart(2, '0');
        const day = String(now.getDate()).padStart(2, '0');
        const hours = String(now.getHours()).padStart(2, '0');
        const minutes = String(now.getMinutes()).padStart(2, '0');
        
        document.getElementById('data_atividade').value = `${year}-${month}-${day}T${hours}:${minutes}`;
        
        // Verificar se há hash na URL e abrir a aba correspondente
        if (window.location.hash) {
            const tabName = window.location.hash.substring(1);
            if (tabName) {
                // Encontrar o botão correspondente e simular o clique
                const tabButtons = document.getElementsByClassName('tab-button');
                for (let i = 0; i < tabButtons.length; i++) {
                    if (tabButtons[i].getAttribute('onclick').includes(tabName)) {
                        tabButtons[i].click();
                        break;
                    }
                }
            }
        }
    });

    function abrirModalAlterarSenha() {
        Swal.fire({
            title: 'Alterar Senha',
            html: `
                <form id="formSenha">
                    <div class="form-group">
                        <label for="senha_atual">Senha Atual</label>
                        <input type="password" id="senha_atual" class="swal2-input" required>
                    </div>
                    <div class="form-group">
                        <label for="nova_senha">Nova Senha</label>
                        <input type="password" id="nova_senha" class="swal2-input" required>
                    </div>
                    <div class="form-group">
                        <label for="confirmar_senha">Confirmar Nova Senha</label>
                        <input type="password" id="confirmar_senha" class="swal2-input" required>
                    </div>
                </form>
            `,
            showCancelButton: true,
            confirmButtonText: 'Alterar',
            cancelButtonText: 'Cancelar',
            preConfirm: () => {
                const senhaAtual = document.getElementById('senha_atual').value;
                const novaSenha = document.getElementById('nova_senha').value;
                const confirmarSenha = document.getElementById('confirmar_senha').value;
                
                if (!senhaAtual || !novaSenha || !confirmarSenha) {
                    Swal.showValidationMessage('Todos os campos são obrigatórios');
                    return false;
                }
                
                if (novaSenha !== confirmarSenha) {
                    Swal.showValidationMessage('As senhas não coincidem');
                    return false;
                }
                
                return { senhaAtual, novaSenha };
            }
        }).then((result) => {
            if (result.isConfirmed) {
                // Enviar requisição para alterar a senha
                const formData = new FormData();
                formData.append('senha_atual', result.value.senhaAtual);
                formData.append('nova_senha', result.value.novaSenha);
                formData.append('csrf_token', '<?= $_SESSION['csrf_token'] ?>');
                
                fetch('alterar_senha.php', {
                    method: 'POST',
                    body: formData
                })
                .then(response => response.json())
                .then(data => {
                    if (data.success) {
                        Swal.fire('Sucesso!', 'Senha alterada com sucesso.', 'success');
                    } else {
                        Swal.fire('Erro!', data.message || 'Erro ao alterar senha.', 'error');
                    }
                })
                .catch(error => {
                    Swal.fire('Erro!', 'Ocorreu um erro ao tentar alterar a senha.', 'error');
                });
            }
        });
    }

    function abrirTelefone() {
        const telefone = '<?= htmlspecialchars($cliente["Telefone"] ?? "") ?>';
        if (telefone) {
            window.open(`tel:${telefone}`);
        } else {
            Swal.fire('Aviso', 'Nenhum telefone cadastrado para este cliente.', 'info');
        }
    }

    // Notificações de atividades agendadas
    document.addEventListener('DOMContentLoaded', function () {
        if (Notification.permission !== 'granted') {
            Notification.requestPermission();
        }

        setInterval(() => {
            fetch('/verificar_notificacoes.php')
                .then(response => response.json())
                .then(atividades => {
                    const agora = new Date();

                    atividades.forEach(atividade => {
                        const dataNotificacao = new Date(atividade.data_notificacao);
                        const diferenca = Math.abs(dataNotificacao - agora);

                        if (
                            diferenca <= 60000 // diferença de até 1 minuto
                        ) {
                            new Notification("Lembrete de atividade", {
                                body: atividade.descricao + " às " + atividade.data_agendada
                            });

                            // Opcional: marcar como notificada
                            fetch('/marcar_como_notificada.php', {
                                method: 'POST',
                                headers: {
                                    'Content-Type': 'application/json'
                                },
                                body: JSON.stringify({ id: atividade.id })
                            });
                        }
                    });
                });
        }, 60000); // Verifica a cada minuto
    });
  </script>
</body>
</html>