<?php
include 'verifica_login.php'; // Verificar se está logado
include 'conexao.php';
include 'funcoes_classificacao.php';
$conn = conectar_banco();

// 1. VERIFICA SE É EDIÇÃO: Captura o ID da URL se existir
$id_edicao = $_GET['edit'] ?? null;
$dados = [];
$status_anterior_texto = '';
$classificacao_lead = null;

if ($id_edicao) {
    $stmt = $conn->prepare("SELECT q.*, s.nome_status as status_nome FROM qualificacao_belgo q LEFT JOIN statusdoquestionario s ON q.id_status_fk = s.id_status WHERE q.id = ?");
    $stmt->bind_param('i', $id_edicao);
    $stmt->execute();
    $dados = $stmt->get_result()->fetch_assoc();
    $status_anterior_texto = $dados['status_nome'] ?? '';
    
    // Buscar classificação do lead
    if (isset($dados['nota_total'])) {
        $classificacao_lead = obter_classificacao_lead($dados['nota_total'], $conn);
    }
}

// 2. BUSCA OS STATUS NA TABELA statusdoquestionario para o Select
$sql_status = "SELECT * FROM statusdoquestionario ORDER BY id_status";
$result_status = $conn->query($sql_status);
// Departamentos para seleção de área dos contatos (se existir a tabela)
$result_departamentos = null;
try {
    $result_departamentos = $conn->query("SELECT nome_departamento FROM departamentos WHERE ativo='S' ORDER BY nome_departamento");
} catch(Exception $e) {}
// Status de contato para seleção no modal de contatos
$result_contato_status = null;
try {
    $result_contato_status = $conn->query("SELECT idcontato_status, contato_status FROM contato_status ORDER BY contato_status");
} catch(Exception $e) {}
// Buscar nome da empresa da tabela config
$empresa = 'Belgo Arames';
$sql_config = "SELECT empresa FROM config LIMIT 1";
$res_config = $conn->query($sql_config);
if ($res_config && $res_config->num_rows > 0) {
    $row_config = $res_config->fetch_assoc();
    $empresa = $row_config['empresa'];
}
?>
<!DOCTYPE html>
<html lang="pt-br">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title><?= $id_edicao ? 'Editar' : 'Novo' ?> Questionário <?= htmlspecialchars($empresa) ?></title>
    <style>
        body { font-family: Arial, sans-serif; background-color: #f4f4f4; margin: 0; padding: 20px; }
        .container { max-width: 800px; margin: 0 auto; background: white; padding: 30px; border-radius: 8px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); }
        h1 { color: #004d99; border-bottom: 2px solid #ccc; padding-bottom: 10px; }
        h2 { color: #333; margin-top: 30px; }
        .form-group { margin-bottom: 20px; border: 1px solid #ddd; padding: 15px; border-radius: 4px; }
        label { display: block; font-weight: bold; margin-bottom: 5px; color: #555; }
        input[type="text"], input[type="email"], input[type="date"], input[type="time"], select, textarea { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
        .radio-option { margin-bottom: 5px; }
        .radio-option label { font-weight: normal; display: inline-block; margin-left: 5px; }
        .checkbox-option { margin-bottom: 5px; }
        .checkbox-option label { font-weight: normal; display: inline-block; margin-left: 5px; }
        button { background-color: #004d99; color: white; padding: 8.4px 14px; border: none; border-radius: 4px; cursor: pointer; font-size: 0.875em; }
        button:hover { background-color: #003366; }
        .nota { color: gray; font-size: 0.8em; }
        .section-title { background-color: #f0f8ff; padding: 10px; border-radius: 4px; margin-bottom: 15px; }
        .inline-fields { display: flex; gap: 10px; }
        .inline-fields > div { flex: 1; }
        .btn-voltar { background-color: #6c757d; text-decoration: none; padding: 8.4px 14px; border-radius: 4px; color: white; display: inline-block; margin-top: 10px; font-size: 0.875em; }

        /* Destaque visual para campos obrigatórios faltantes */
        .field-error { border: 2px solid #e74c3c !important; box-shadow: 0 0 6px rgba(231,76,60,0.25); }
        .radio-error { outline: 2px solid #e74c3c !important; border-radius: 4px; box-shadow: 0 0 6px rgba(231,76,60,0.18); }
    </style>
</head>
<body>

<div class="container">
    <h1><?= htmlspecialchars($empresa) ?> – <?= $id_edicao ? 'Edição de Questionário #' . $id_edicao : 'Qualificação e Oportunidades' ?></h1>
    
    <form action="processa_formulario.php" method="POST">
        <input type="hidden" name="id_update" value="<?= $id_edicao ?>">
        <input type="hidden" name="status_anterior" value="<?= $dados['id_status_fk'] ?? '' ?>" data-status-texto="<?= htmlspecialchars($status_anterior_texto) ?>">
        <?php 
        // Preservar filtros da consulta
        $filter_params = $_GET;
        unset($filter_params['edit']);
        if (!empty($filter_params)) {
            echo '<input type="hidden" name="filter_params" value="' . htmlspecialchars(http_build_query($filter_params)) . '">';
        }
        ?>

        <div style="display:flex; justify-content:flex-end; gap:10px; margin-bottom:15px;">
            <button type="submit"><?= $id_edicao ? 'Atualizar Registro' : 'Salvar Questionário' ?></button>
            <button type="button" id="btn-clear-form" style="background-color:#9e9e9e;">Limpar Questionário</button>
            <?php 
            $back_params = $_GET;
            unset($back_params['edit']);
            $back_query = http_build_query($back_params);
            ?>
            <a href="consulta.php<?= $back_query ? '?' . $back_query : '' ?>" class="btn-voltar">Voltar para Consulta</a>
        </div>

        <div class="form-group" style="background-color: #ffe0b2;">
            <h2 class="section-title" style="background-color: #ffcc80;">Controle da Entrevista</h2>
            
            <label>Quem entrevistou?:</label>
            <input type="text" name="quem_entrevistou" value="<?= $dados['quem_entrevistou'] ?? '' ?>">

            <div class="inline-fields">
                <div>
                    <label>Data da entrevista:</label>
                    <input type="date" name="data_entrevista" value="<?= $dados['data_entrevista'] ?? '' ?>">
                </div>
                <div>
                    <label>Hora da entrevista:</label>
                    <input type="time" name="hora_entrevista" value="<?= $dados['hora_entrevista'] ?? '' ?>">
                </div>
            </div>

            <div class="inline-fields">
                <div>
                    <label>Data de retorno agendada:</label>
                    <input type="date" name="agendamento_data_retorno" value="<?= $dados['agendamento_data_retorno'] ?? '' ?>">
                </div>
                <div>
                    <label>Hora de retorno agendada:</label>
                    <input type="time" name="agendamento_hora_retorno" value="<?= $dados['agendamento_hora_retorno'] ?? '' ?>">
                </div>
            </div><br>

            <label>Situação do Questionário:</label>
            <select name="id_status_fk">
                <option value="">Selecione o status...</option>
                <?php while($st = $result_status->fetch_assoc()): ?>
                    <option value="<?= $st['id_status'] ?>" data-salvarvazio="<?= $st['salvarvazio'] ?? 'N' ?>" <?= (isset($dados['id_status_fk']) && $dados['id_status_fk'] == $st['id_status']) ? 'selected' : '' ?>>
                        <?= $st['nome_status'] ?>
                    </option>
                <?php endwhile; ?>
            </select>
            
            <?php if ($id_edicao && isset($dados['nota_total'])): ?>
            <div style="margin-top: 15px; padding: 10px; background-color: #e3f2fd; border-radius: 4px; border: 1px solid #90caf9;">
                <div style="display: flex; align-items: center; gap: 15px;">
                    <div>
                        <strong>Nota Total:</strong> 
                        <span style="font-size: 18px; font-weight: bold; color: #1976d2;"><?= $dados['nota_total'] ?></span>
                    </div>
                    <?php if ($classificacao_lead): ?>
                    <div>
                        <strong>Classificação:</strong>
                        <span style="padding: 5px 15px; background-color: <?= htmlspecialchars($classificacao_lead['cor']) ?>; color: white; border-radius: 4px; font-weight: bold;">
                            <?= htmlspecialchars($classificacao_lead['classificacao']) ?>
                        </span>
                    </div>
                    <?php endif; ?>
                </div>
            </div>
            <?php endif; ?>
        </div>

        <div class="form-group">
            <h2 class="section-title">DADOS CADASTRAIS</h2>
            <label>Razão Social:</label><input type="text" name="razao_social" value="<?= $dados['razao_social'] ?? '' ?>">
            <label>Nome Fantasia:</label><input type="text" name="nome_fantasia" value="<?= $dados['nome_fantasia'] ?? '' ?>">
            <label>CNAE:</label><input type="text" name="cnae" value="<?= $dados['cnae'] ?? '' ?>">
            <label>Descrição da atividade:</label><input type="text" name="descricao_atividade" value="<?= $dados['descricao_atividade'] ?? '' ?>">
            
            <div style="display:flex; gap:10px; margin-top:10px;">
                <div style="flex:1;"><label>CNPJ:</label><input type="text" name="cnpj" value="<?= $dados['cnpj'] ?? '' ?>"></div>
                <div style="flex:0.5;"><label>DDD:</label><input type="text" name="ddd" maxlength="2" value="<?= $dados['ddd'] ?? '' ?>"></div>
                <div style="flex:1;"><label>Fone:</label><input type="text" name="fone" value="<?= $dados['fone'] ?? '' ?>"></div>
            </div>
            
            <div style="display:flex; gap:10px; margin-top:10px;">
                <div style="flex:2;"><label>Endereço:</label><input type="text" name="endereco" value="<?= $dados['endereco'] ?? '' ?>"></div>
                <div style="flex:1;"><label>Cidade:</label><input type="text" name="cidade" value="<?= $dados['cidade'] ?? '' ?>"></div>
                <div style="flex:0 0 80px;"><label>UF:</label><input type="text" name="uf" maxlength="2" value="<?= $dados['uf'] ?? '' ?>"></div>
            </div>
            
            <label>Número de Funcionários:</label>
            <input type="text" name="numerodefuncionarios" value="<?= $dados['numerodefuncionarios'] ?? '' ?>">
            <label>Site:</label><input type="text" name="site" maxlength="150" value="<?= $dados['site'] ?? '' ?>">
        </div>

        
        
        <div class="form-group">
            <h2 class="section-title">Contatos do Questionário</h2>
            <?php if(!$id_edicao): ?>
                <p style="color:#666;">Salve o questionário para adicionar contatos.</p>
            <?php else: ?>
                <div style="display:flex; justify-content:space-between; align-items:center; margin-bottom:10px;">
                    <button type="button" id="btn-novo-contato" style="background:#2e7d32;">+ Novo Contato</button>
                    <span style="color:#666;">Questionário #<?= (int)$id_edicao ?></span>
                </div>
                <table id="grid-contatos" style="width:100%; border-collapse:collapse; font-size:1.05em;">
                    <thead>
                        <tr style="background:#004d99;color:#fff;">
                            <th style="padding:6px; text-align:left;">Área</th>
                            <th style="padding:6px; text-align:left;">Nome</th>
                            <th style="padding:6px; text-align:left;">Sobrenome</th>
                            <th style="padding:6px; text-align:left;">Cargo</th>
                            <th style="padding:6px; text-align:left;">DDD</th>
                            <th style="padding:6px; text-align:left;">Fone</th>
                            <th style="padding:6px; text-align:left;">Celular</th>
                            <th style="padding:6px; text-align:left;">Status</th>
                            <th style="padding:6px; text-align:left;">Entrevistado</th>
                            <th style="padding:6px; text-align:left;">Ações</th>
                        </tr>
                    </thead>
                    <tbody></tbody>
                </table>
            <?php endif; ?>
        </div>

        <div class="form-group">
            <h2 class="section-title">INTRODUÇÃO</h2>
            <div class="script-text">
                <strong>Bom dia / boa tarde, Sr.(a) [Nome].</strong><br>
                Meu nome é [Seu nome], falo da PAIPE.<br><br>
                Somos uma empresa de tecnologia focada em desenvolvimento de sistemas, alocação de especialistas e otimização de custos em projetos de TI.<br><br>
                O motivo do meu contato é rápido: entender como vocês trabalham hoje com tecnologia e avaliar se faz sentido uma conversa mais estratégica. Posso fazer algumas perguntas rápidas?
            </div>
            
            <label>O entrevistado aceitou participar?</label>
            <div class="radio-option">
                <input type="radio" name="aceite_pesquisa" value="Sim" <?= (isset($dados['aceite_pesquisa']) && $dados['aceite_pesquisa'] == 'Sim') ? 'checked' : '' ?>> Sim – Vá para P.1 
            </div>
            <div class="radio-option">
                <input type="radio" name="aceite_pesquisa" value="Nao" <?= (isset($dados['aceite_pesquisa']) && $dados['aceite_pesquisa'] == 'Nao') ? 'checked' : '' ?>> Não – Veja a que horas pode retornar a ligação 
            </div>
        </div>

        <div class="form-group">
            <h2 class="section-title">QUESTÕES DE QUALIFICAÇÃO</h2>

            <h3>1. TOMADOR DE DECISÃO (Peso alto)</h3>
            <p>Hoje, o Sr.(a) é responsável ou participa da decisão sobre projetos de tecnologia?</p>
            <div class="radio-option">
                <input type="radio" name="p1_tomador_decisao" value="Sim" <?= (isset($dados['p1_tomador_decisao']) && $dados['p1_tomador_decisao'] == 'Sim') ? 'checked' : '' ?>> 
                Sim → +20 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p1_tomador_decisao" value="Influencia" <?= (isset($dados['p1_tomador_decisao']) && $dados['p1_tomador_decisao'] == 'Influencia') ? 'checked' : '' ?>> 
                Influencia → +10 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p1_tomador_decisao" value="Nao" <?= (isset($dados['p1_tomador_decisao']) && $dados['p1_tomador_decisao'] == 'Nao') ? 'checked' : '' ?>> 
                Não → 0 pontos
            </div>
        </div>

        <div class="form-group">
            <h3>2. MODELO ATUAL DE DESENVOLVIMENTO</h3>
            <p>Como funciona hoje o desenvolvimento de sistemas e projetos?</p>
            <div class="radio-option">
                <input type="radio" name="p2_modelo_desenvolvimento" value="Terceirizado" <?= (isset($dados['p2_modelo_desenvolvimento']) && $dados['p2_modelo_desenvolvimento'] == 'Terceirizado') ? 'checked' : '' ?>> 
                Totalmente terceirizado → +15 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p2_modelo_desenvolvimento" value="Hibrido" <?= (isset($dados['p2_modelo_desenvolvimento']) && $dados['p2_modelo_desenvolvimento'] == 'Hibrido') ? 'checked' : '' ?>> 
                Modelo híbrido → +10 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p2_modelo_desenvolvimento" value="Interno" <?= (isset($dados['p2_modelo_desenvolvimento']) && $dados['p2_modelo_desenvolvimento'] == 'Interno') ? 'checked' : '' ?>> 
                Interno → +5 pontos
            </div>
        </div>

        <div class="form-group">
            <h3>3. EXPERIÊNCIA COM FORNECEDORES</h3>
            <p>Hoje, existe algo que poderia melhorar nos parceiros de tecnologia? (Marcar todos que se aplicam)</p>
            <div class="checkbox-option">
                <input type="checkbox" name="p3_prazo" value="1" <?= (isset($dados['p3_prazo']) && $dados['p3_prazo'] == 1) ? 'checked' : '' ?>> 
                Prazo → +5 pontos
            </div>
            <div class="checkbox-option">
                <input type="checkbox" name="p3_qualidade" value="1" <?= (isset($dados['p3_qualidade']) && $dados['p3_qualidade'] == 1) ? 'checked' : '' ?>> 
                Qualidade → +5 pontos
            </div>
            <div class="checkbox-option">
                <input type="checkbox" name="p3_comunicacao" value="1" <?= (isset($dados['p3_comunicacao']) && $dados['p3_comunicacao'] == 1) ? 'checked' : '' ?>> 
                Comunicação → +5 pontos
            </div>
            <div class="checkbox-option">
                <input type="checkbox" name="p3_custos" value="1" <?= (isset($dados['p3_custos']) && $dados['p3_custos'] == 1) ? 'checked' : '' ?>> 
                Custos elevados → +10 pontos
            </div>
            <div class="checkbox-option">
                <input type="checkbox" name="p3_escalabilidade" value="1" <?= (isset($dados['p3_escalabilidade']) && $dados['p3_escalabilidade'] == 1) ? 'checked' : '' ?>> 
                Escalabilidade → +5 pontos
            </div>
            <p style="color:#666; font-size:0.9em;">Máximo: 30 pontos</p>
        </div>

        <div class="form-group">
            <h3>4. TIPO DE DEMANDA</h3>
            <p>Quais dessas demandas fazem mais sentido hoje para vocês?</p>
            <div class="radio-option">
                <input type="radio" name="p4_tipo_demanda" value="Desenvolvimento" <?= (isset($dados['p4_tipo_demanda']) && $dados['p4_tipo_demanda'] == 'Desenvolvimento') ? 'checked' : '' ?>> 
                Desenvolvimento de sistemas sob medida → +15 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p4_tipo_demanda" value="Fabrica" <?= (isset($dados['p4_tipo_demanda']) && $dados['p4_tipo_demanda'] == 'Fabrica') ? 'checked' : '' ?>> 
                Fábrica de software → +10 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p4_tipo_demanda" value="Alocacao" <?= (isset($dados['p4_tipo_demanda']) && $dados['p4_tipo_demanda'] == 'Alocacao') ? 'checked' : '' ?>> 
                Alocação de especialistas → +10 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p4_tipo_demanda" value="Nenhuma" <?= (isset($dados['p4_tipo_demanda']) && $dados['p4_tipo_demanda'] == 'Nenhuma') ? 'checked' : '' ?>> 
                Nenhuma no momento → 0 pontos
            </div>
        </div>

        <div class="form-group">
            <h3>5. PROJETOS EM PIPELINE (Intenção clara)</h3>
            <p>Existe algum projeto previsto ou em discussão?</p>
            <div class="radio-option">
                <input type="radio" name="p5_projetos_pipeline" value="Curto" <?= (isset($dados['p5_projetos_pipeline']) && $dados['p5_projetos_pipeline'] == 'Curto') ? 'checked' : '' ?>> 
                Sim – curto prazo (até 3 meses) → +20 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p5_projetos_pipeline" value="Medio" <?= (isset($dados['p5_projetos_pipeline']) && $dados['p5_projetos_pipeline'] == 'Medio') ? 'checked' : '' ?>> 
                Sim – médio prazo (3 a 6 meses) → +15 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p5_projetos_pipeline" value="Longo" <?= (isset($dados['p5_projetos_pipeline']) && $dados['p5_projetos_pipeline'] == 'Longo') ? 'checked' : '' ?>> 
                Sim – longo prazo (6+ meses) → +10 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p5_projetos_pipeline" value="Nao" <?= (isset($dados['p5_projetos_pipeline']) && $dados['p5_projetos_pipeline'] == 'Nao') ? 'checked' : '' ?>> 
                Não → 0 pontos
            </div>
        </div>

        <div class="form-group">
            <h3>6. TAMANHO DA OPERAÇÃO DE TI</h3>
            <p>Quantas pessoas atuam hoje na área de tecnologia?</p>
            <div class="radio-option">
                <input type="radio" name="p6_tamanho_operacao_ti" value="Ate10" <?= (isset($dados['p6_tamanho_operacao_ti']) && $dados['p6_tamanho_operacao_ti'] == 'Ate10') ? 'checked' : '' ?>> 
                Até 10 (startup) → +10 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p6_tamanho_operacao_ti" value="De11a30" <?= (isset($dados['p6_tamanho_operacao_ti']) && $dados['p6_tamanho_operacao_ti'] == 'De11a30') ? 'checked' : '' ?>> 
                11 a 30 → +15 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p6_tamanho_operacao_ti" value="De31a100" <?= (isset($dados['p6_tamanho_operacao_ti']) && $dados['p6_tamanho_operacao_ti'] == 'De31a100') ? 'checked' : '' ?>> 
                31 a 100 → +20 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p6_tamanho_operacao_ti" value="Acima100" <?= (isset($dados['p6_tamanho_operacao_ti']) && $dados['p6_tamanho_operacao_ti'] == 'Acima100') ? 'checked' : '' ?>> 
                Acima de 100 → +25 pontos
            </div>
        </div>

        <div class="form-group">
            <h3>7. ABERTURA PARA CONVERSA</h3>
            <p>Se fizer sentido, estaria aberto(a) a conversar com um executivo da PAIPE para avaliar redução de custos e ganho de eficiência?</p>
            <div class="radio-option">
                <input type="radio" name="p7_abertura_conversa" value="Sim" <?= (isset($dados['p7_abertura_conversa']) && $dados['p7_abertura_conversa'] == 'Sim') ? 'checked' : '' ?>> 
                Sim → +15 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p7_abertura_conversa" value="Talvez" <?= (isset($dados['p7_abertura_conversa']) && $dados['p7_abertura_conversa'] == 'Talvez') ? 'checked' : '' ?>> 
                Talvez → +5 pontos
            </div>
            <div class="radio-option">
                <input type="radio" name="p7_abertura_conversa" value="Nao" <?= (isset($dados['p7_abertura_conversa']) && $dados['p7_abertura_conversa'] == 'Nao') ? 'checked' : '' ?>> 
                Não → 0 pontos
            </div>
        </div>

        <div class="form-group">
            <h2 class="section-title">FECHAMENTO (SE LEAD QUENTE OU MORNO)</h2>
            <p>Perfeito, [Nome].</p>
            <p>Com base no que você comentou, acredito que uma conversa rápida com nosso especialista pode gerar bons insights, inclusive sobre redução de custos de até 25%.</p>
            <p style="font-weight:bold;">Podemos agendar uma reunião online nos seguintes horários?</p>
            
            <div style="display:flex; gap:10px; margin-top:10px;">
                <div style="flex:1;">
                    <label>Data da Reunião:</label>
                    <input type="date" name="fechamento_reuniao_data" value="<?= $dados['fechamento_reuniao_data'] ?? '' ?>">
                </div>
                <div style="flex:0.5;">
                    <label>Horário 1:</label>
                    <input type="time" name="fechamento_reuniao_hora1" value="<?= $dados['fechamento_reuniao_hora1'] ?? '' ?>">
                </div>
                <div style="flex:0.5;">
                    <label>Horário 2:</label>
                    <input type="time" name="fechamento_reuniao_hora2" value="<?= $dados['fechamento_reuniao_hora2'] ?? '' ?>">
                </div>
            </div>
            
            <div style="display:flex; gap:10px; margin-top:10px;">
                <div style="flex:1;">
                    <label>Qual e-mail posso usar para enviar o convite?</label>
                    <input type="email" name="fechamento_email" value="<?= $dados['fechamento_email'] ?? '' ?>">
                </div>
                <div style="flex:1;">
                    <label>E um telefone para contato?</label>
                    <input type="text" name="fechamento_telefone" value="<?= $dados['fechamento_telefone'] ?? '' ?>">
                </div>
            </div>
        </div>

        <div class="form-group">
            <h2 class="section-title">ENCERRAMENTO</h2>
            <p>Agradeço muito pelo seu tempo e pelas informações.<br>Tenha um excelente dia / tarde.</p>

            <label>Observações do Encerramento:</label>
            <textarea name="observacao_encerramento" rows="4"><?= $dados['observacao_encerramento'] ?? '' ?></textarea>
        </div>

        <div class="form-group">
            <h2 class="section-title">OBSERVAÇÕES INTERNAS</h2>
            <label>Observações Internas:</label>
            <textarea name="observacoesinternas" rows="5" placeholder="Anotações internas sobre o questionário..."><?= $dados['observacoesinternas'] ?? '' ?></textarea>
        </div>

        <button type="submit"><?= $id_edicao ? 'Atualizar Registro' : 'Salvar Questionário' ?></button>
        <?php 
        $back_params = $_GET;
        unset($back_params['edit']);
        $back_query = http_build_query($back_params);
        ?>
        <a href="consulta.php<?= $back_query ? '?' . $back_query : '' ?>" class="btn-voltar">Voltar para Consulta</a>
    </form>

    <!-- Modal Contato (FORA do form principal) -->
    <div id="modalContato" class="modal" style="display:none; position:fixed; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index:200;">
        <div class="modal-content" style="background:white; margin:3% auto; padding:20px; border-radius:8px; width:70%;">
            <span id="modalContatoClose" class="close" style="float:right; font-size:24px; cursor:pointer;">&times;</span>
            <h2 id="modalContatoTitle" style="font-size:1.1em; margin-bottom:15px;">Contato</h2>
            <form id="formContato">
                <input type="hidden" name="idcontatos_questionario" value="">
                <input type="hidden" name="id" value="<?= (int)$id_edicao ?>">
                <div style="display:flex; gap:10px;">
                    <div style="flex:1;">
                        <label style="font-size:0.85em;">Status do Contato (opcional)</label>
                        <select name="idcontato_status">
                            <option value="">-- Nenhum --</option>
                            <?php if($result_contato_status && $result_contato_status->num_rows): 
                                $result_contato_status->data_seek(0); // Reset pointer
                                while($cs = $result_contato_status->fetch_assoc()): ?>
                                <option value="<?= $cs['idcontato_status'] ?>"><?= htmlspecialchars($cs['contato_status']) ?></option>
                            <?php endwhile; endif; ?>
                        </select>
                    </div>
                    <div style="flex:1;">
                        <label style="font-size:0.85em;">Área</label>
                        <select name="area">
                            <?php if($result_departamentos && $result_departamentos->num_rows): while($dp = $result_departamentos->fetch_assoc()): ?>
                                <option value="<?= htmlspecialchars($dp['nome_departamento']) ?>"><?= htmlspecialchars($dp['nome_departamento']) ?></option>
                            <?php endwhile; else: ?>
                                <option value="Principal">Principal</option>
                                <option value="Comercial">Comercial</option>
                                <option value="Financeiro">Financeiro</option>
                                <option value="Compras">Compras</option>
                                <option value="TI">TI</option>
                                <option value="Telecom">Telecom</option>
                                <option value="Marketing">Marketing</option>
                                <option value="RH">RH</option>
                                <option value="Industrial/Operações">Industrial/Operações</option>
                            <?php endif; ?>
                        </select>
                    </div>
                    <div style="flex:1;">
                        <label style="font-size:0.85em;">Entrevistado</label>
                        <select name="entrevistado"><option value="S">Sim</option><option value="N">Não</option></select>
                    </div>
                    <div style="flex:0.5;">
                        <label style="font-size:0.85em;">Sexo</label>
                        <select name="sexo"><option value="">--</option><option value="M">M</option><option value="F">F</option><option value="O">O</option></select>
                    </div>
                </div>
                <div style="display:flex; gap:10px; margin-top:10px;">
                    <div style="flex:1;"><label style="font-size:0.85em;">Nome</label><input type="text" name="nome"></div>
                    <div style="flex:1;"><label style="font-size:0.85em;">Sobrenome</label><input type="text" name="sobrenome"></div>
                    <div style="flex:1;"><label style="font-size:0.85em;">Cargo</label><input type="text" name="cargo"></div>
                </div>
                <div style="display:flex; gap:10px; margin-top:10px;">
                    <div style="flex:0 0 80px;"><label style="font-size:0.85em;">DDD</label><input type="text" name="ddd" maxlength="3"></div>
                    <div style="flex:0.5;"><label style="font-size:0.85em;">Fone</label><input type="text" name="telefone1" id="tel1_contato" maxlength="10" placeholder="99999-9999"></div>
                    <div style="flex:0.5;"><label style="font-size:0.85em;">Celular</label><input type="text" name="telefone2" id="celular_contato" maxlength="15" placeholder="99999-9999"></div>
                    <div style="flex:0 0 80px;"><label style="font-size:0.85em;">Ramal</label><input type="text" name="ramal" maxlength="10" placeholder="123"></div>
                </div>
                <div style="display:flex; gap:10px; margin-top:10px;">
                    <div style="flex:1;"><label style="font-size:0.85em;">Email</label><input type="email" name="email"></div>
                    <div style="flex:1;"><label style="font-size:0.85em;">LinkedIn</label><input type="text" name="linkedin" placeholder="URL do perfil LinkedIn"></div>
                </div>
                <div style="display:flex; gap:10px; margin-top:10px; align-items:center;">
                    <div style="flex:0 0 auto; display:flex; align-items:center; gap:5px;">
                        <input type="checkbox" name="endereco_mesmo" id="endereco_mesmo_contato" value="S">
                        <label for="endereco_mesmo_contato" style="font-size:0.85em; margin:0;">Mesmo endereço da empresa</label>
                    </div>
                </div>
                <div style="display:flex; gap:10px; margin-top:10px;">
                    <div style="flex:2;"><label style="font-size:0.85em;">Endereço</label><input type="text" name="endereco"></div>
                    <div style="flex:0.5;"><label style="font-size:0.85em;">Número</label><input type="text" name="numero"></div>
                    <div style="flex:1;"><label style="font-size:0.85em;">Complemento</label><input type="text" name="complemento"></div>
                </div>
                <div style="display:flex; gap:10px; margin-top:10px;">
                    <div style="flex:1;"><label style="font-size:0.85em;">Bairro</label><input type="text" name="bairro"></div>
                    <div style="flex:1;"><label style="font-size:0.85em;">Cidade</label><input type="text" name="cidade"></div>
                    <div style="flex:0 0 100px;"><label style="font-size:0.85em;">UF</label>
                        <select name="uf" style="width:100%;">
                            <option value="">--</option>
                            <option value="AC">AC</option>
                            <option value="AL">AL</option>
                            <option value="AP">AP</option>
                            <option value="AM">AM</option>
                            <option value="BA">BA</option>
                            <option value="CE">CE</option>
                            <option value="DF">DF</option>
                            <option value="ES">ES</option>
                            <option value="GO">GO</option>
                            <option value="MA">MA</option>
                            <option value="MT">MT</option>
                            <option value="MS">MS</option>
                            <option value="MG">MG</option>
                            <option value="PA">PA</option>
                            <option value="PB">PB</option>
                            <option value="PR">PR</option>
                            <option value="PE">PE</option>
                            <option value="PI">PI</option>
                            <option value="RJ">RJ</option>
                            <option value="RN">RN</option>
                            <option value="RS">RS</option>
                            <option value="RO">RO</option>
                            <option value="RR">RR</option>
                            <option value="SC">SC</option>
                            <option value="SP">SP</option>
                            <option value="SE">SE</option>
                            <option value="TO">TO</option>
                        </select>
                    </div>
                    <div style="flex:1;"><label style="font-size:0.85em;">CEP</label><input type="text" name="cep" id="cep_contato" maxlength="11" placeholder="99.999-999"></div>
                </div>
                <div style="margin-top:15px; display:flex; justify-content:space-between; align-items:center;">
                    <div style="display:flex; gap:10px;">
                        <button type="button" id="btnSalvarContato" style="background:#004d99; color:white; padding:8px 12px; border:none; border-radius:4px;">Salvar</button>
                        <button type="button" id="btnCancelarContato" style="background:#9e9e9e; color:white; padding:8px 12px; border:none; border-radius:4px;">Cancelar</button>
                    </div>
                    <button type="button" id="btnExcluirContato" style="background:#d32f2f; color:white; padding:8px 12px; border:none; border-radius:4px; display:none;">Excluir Contato</button>
                </div>
            </form>
        </div>
    </div>
</div>

<script>
document.addEventListener('DOMContentLoaded', function(){
    const form = document.querySelector('form');
    if(!form) return;
    
    // Prevenir envio do formulário ao pressionar Enter em campos de input
    form.addEventListener('keydown', function(e){
        if(e.key === 'Enter' && e.target.tagName === 'INPUT'){
            e.preventDefault();
            return false;
        }
    });
    
    const statusSelect = form.querySelector('select[name="id_status_fk"]');
    const clearBtn = document.getElementById('btn-clear-form');
    const contatosTable = document.getElementById('grid-contatos');
    const btnNovoContato = document.getElementById('btn-novo-contato');
    const modalContato = document.getElementById('modalContato');
    const modalContatoClose = document.getElementById('modalContatoClose');
    const btnSalvarContato = document.getElementById('btnSalvarContato');
    const btnCancelarContato = document.getElementById('btnCancelarContato');
    const btnExcluirContato = document.getElementById('btnExcluirContato');

    // Controle de alterações não salvas
    const getSnapshot = () => JSON.stringify(Array.from(new FormData(form).entries()));
    let initialSnapshot = getSnapshot();
    let isDirty = false;

    const markDirty = () => { isDirty = (getSnapshot() !== initialSnapshot); };
    const beforeUnloadHandler = (event) => {
        if(isDirty){ event.preventDefault(); event.returnValue = ''; }
    };
    window.addEventListener('beforeunload', beforeUnloadHandler);

    // Monitora mudanças no formulário
    form.addEventListener('input', markDirty, true);
    form.addEventListener('change', markDirty, true);

    function clearErrors(){
        form.querySelectorAll('.field-error').forEach(el=>el.classList.remove('field-error'));
        form.querySelectorAll('.radio-error').forEach(el=>el.classList.remove('radio-error'));
    }

    // Permitir desmarcar radios clicando novamente
    const radios = form.querySelectorAll('input[type="radio"]');
    radios.forEach(radio => {
        radio.addEventListener('click', function(){
            if(this.dataset.wasChecked === 'true'){
                this.checked = false;
                this.dataset.wasChecked = 'false';
                this.dispatchEvent(new Event('change'));
            } else {
                // desmarca outros do mesmo grupo
                form.querySelectorAll(`input[name="${this.name}"]`).forEach(r => r.dataset.wasChecked = 'false');
                this.dataset.wasChecked = 'true';
            }
        });
    });

    // Botão limpar questionário
    if(clearBtn){
        clearBtn.addEventListener('click', function(){
            if(!confirm('Deseja limpar o questionário?')) return;
            clearErrors();
            const fields = form.querySelectorAll('input, select, textarea');
            fields.forEach(el => {
                if(el.type === 'hidden'){
                    if(el.name === 'id_update') el.value = '';
                    return;
                }
                if(el.type === 'radio' || el.type === 'checkbox'){
                    el.checked = false;
                    el.dataset.wasChecked = 'false';
                } else if(el.tagName.toLowerCase() === 'select'){
                    el.selectedIndex = 0;
                } else {
                    el.value = '';
                }
            });
            const first = form.querySelector('input:not([type="hidden"]):not([type="radio"]):not([type="checkbox"])');
            if(first){ try{ first.focus(); }catch(err){} }
            markDirty();
        });
    }

    // Pergunta antes de sair se houve alterações
    const navLinks = document.querySelectorAll('a');
    navLinks.forEach(link => {
        link.addEventListener('click', function(e){
            if(!isDirty) return;
            const proceed = confirm('Existem alterações não salvas. Deseja sair sem salvar?');
            if(!proceed){ e.preventDefault(); }
            else { window.removeEventListener('beforeunload', beforeUnloadHandler); }
        });
    });

    // Ao submeter, evita alerta de saída
    form.addEventListener('submit', function(){
        isDirty = false;
        window.removeEventListener('beforeunload', beforeUnloadHandler);
    });

    // ===== Contatos do Questionário =====
    function getFormContato(){
        // Always look up fresh to handle dynamically added elements
        const el = document.getElementById('formContato');
        if(!el){
            console.warn('formContato getElementById returned null, trying querySelector');
            const el2 = document.querySelector('form[id="formContato"]');
            if(!el2){
                console.error('Form not found in DOM. Available forms:', document.querySelectorAll('form').length);
                document.querySelectorAll('form').forEach((f, i) => console.log(`Form ${i}:`, f.id));
            }
            return el2;
        }
        return el;
    }
    
    function openContatoModal(data){
        console.log('openContatoModal called with:', data);
        const formContato = getFormContato();
        const modalContato = document.getElementById('modalContato');
        console.log('Modal found:', !!modalContato, 'Form found:', !!formContato);
        if(!modalContato){ console.error('Modal element not found'); return; }
        if(!formContato){ console.error('Form element not found'); return; }
        
        // Sincronizar o ID do questionário do formulário principal
        const mainForm = document.querySelector('form');
        const idInput = mainForm ? mainForm.querySelector('[name="id_update"]') : null;
        const idQuestionario = idInput ? idInput.value : '';
        if(formContato['id']) formContato['id'].value = idQuestionario;
        
        const titleEl = document.getElementById('modalContatoTitle');
        if(titleEl) titleEl.textContent = data && data.idcontatos_questionario ? 'Editar Contato' : 'Novo Contato';
        
        // Controlar visibilidade do botão excluir
        const btnExcluir = document.getElementById('btnExcluirContato');
        if(btnExcluir){
            if(data && data.idcontatos_questionario){
                btnExcluir.style.display = 'block';
                btnExcluir.dataset.idcontato = data.idcontatos_questionario;
            } else {
                btnExcluir.style.display = 'none';
            }
        }
        
        Array.from(formContato.elements).forEach(el => { 
            if(el.name){
                if(el.type === 'checkbox'){
                    el.checked = false;
                } else {
                    el.value = '';
                }
            }
        });
        if(data){ 
            Object.keys(data).forEach(k => { 
                if(formContato[k] !== undefined){
                    if(formContato[k].type === 'checkbox'){
                        formContato[k].checked = (data[k] === 'S' || data[k] === '1' || data[k] === 1);
                    } else {
                        formContato[k].value = data[k] ?? '';
                    }
                }
            }); 
        }
        
        modalContato.style.display = 'block';
        console.log('Modal display set to block');
    }
    function closeContatoModal(){ 
        const modalContato = document.getElementById('modalContato');
        if(modalContato) modalContato.style.display = 'none'; 
    }
    
    if(modalContatoClose) modalContatoClose.addEventListener('click', closeContatoModal);
    if(btnCancelarContato) btnCancelarContato.addEventListener('click', closeContatoModal);
    window.addEventListener('click', (e)=>{ 
        const m = document.getElementById('modalContato');
        if(e.target === m) closeContatoModal(); 
    });

    async function carregarContatos(){
        const contatosTable = document.getElementById('grid-contatos');
        if(!contatosTable) return;
        // Busca o ID do questionário no formulário principal, não no modal
        const mainForm = document.querySelector('form');
        const idInput = mainForm ? mainForm.querySelector('[name="id_update"]') : null;
        const id = idInput ? idInput.value : '';
        if(!id){ console.warn('Nenhum ID de questionário encontrado para carregar contatos'); return; }
        const tbody = contatosTable.querySelector('tbody');
        tbody.innerHTML = '<tr><td colspan="9" style="color:#666;">Carregando...</td></tr>';
        try{
            const res = await fetch(`contatos_questionario.php?action=list&id=${encodeURIComponent(id)}`);
            const json = await res.json();
            if(json.success){
                tbody.innerHTML = '';
                if(json.data.length === 0){
                    tbody.innerHTML = '<tr><td colspan="10" style="color:#999; text-align:center;">Nenhum contato cadastrado.</td></tr>';
                } else {
                    json.data.forEach(row => {
                        const tr = document.createElement('tr');
                        tr.style.fontSize = '0.7em';
                        tr.innerHTML = `
                            <td style="padding:6px;">${row.area}</td>
                            <td style="padding:6px;">${row.nome}</td>
                            <td style="padding:6px;">${row.sobrenome}</td>
                            <td style="padding:6px;">${row.cargo}</td>
                            <td style="padding:6px;">${row.ddd}</td>
                            <td style="padding:6px;">${row.telefone1}</td>
                            <td style="padding:6px;">${row.telefone2}</td>
                            <td style="padding:6px;">${row.status_nome || '-'}</td>
                            <td style="padding:6px;">${row.entrevistado}</td>
                            <td style="padding:6px;">
                                <button type="button" class="btn-edit" data-id="${row.idcontatos_questionario}">Editar</button>
                            </td>
                        `;
                        tbody.appendChild(tr);
                    });
                }
            } else {
                tbody.innerHTML = '<tr><td colspan="10" style="color:#b71c1c;">Erro ao carregar contatos.</td></tr>';
            }
        }catch(err){
            const tbody = contatosTable.querySelector('tbody');
            tbody.innerHTML = '<tr><td colspan="10" style="color:#b71c1c;">Falha de rede ao carregar.</td></tr>';
        }
    }

    if(btnNovoContato){ 
        btnNovoContato.addEventListener('click', function(e){
            e.preventDefault();
            e.stopPropagation();
            console.log('New contact button clicked');
            openContatoModal(null);
        }); 
    } else { 
        console.warn('btnNovoContato element not found'); 
    }

    if(contatosTable){
        contatosTable.addEventListener('click', async (e)=>{
            const btn = e.target.closest('button');
            if(!btn) return;
            const idcq = btn.dataset.id;
            const formContato = getFormContato();
            if(btn.classList.contains('btn-edit')){
                // buscar dados individuais
                const idInput = formContato ? formContato.querySelector('[name="id"]') : null;
                const id = idInput ? idInput.value : '';
                const res = await fetch(`contatos_questionario.php?action=get&idcq=${encodeURIComponent(idcq)}`);
                const json = await res.json();
                if(json.success){ openContatoModal(json.data); }
            } else if(btn.classList.contains('btn-delete')){
                if(!confirm('Excluir este contato?')) return;
                const fd = new FormData();
                fd.append('idcontatos_questionario', idcq);
                const res = await fetch('contatos_questionario.php?action=delete', { method:'POST', body: fd });
                const json = await res.json();
                if(json.success){ carregarContatos(); }
                else alert('Erro ao excluir.');
            }
        });
    }

    if(btnSalvarContato){
        btnSalvarContato.addEventListener('click', async ()=>{
            const formContato = getFormContato();
            console.log('Formulário encontrado:', !!formContato);
            
            if(!formContato){
                alert('Erro: Formulário de contato não encontrado.');
                return;
            }
            
            // Garantir que o ID do questionário está preenchido
            const mainForm = document.querySelector('form');
            const idInput = mainForm ? mainForm.querySelector('[name="id_update"]') : null;
            const idQuestionario = idInput ? idInput.value : '';
            
            console.log('ID do questionário:', idQuestionario);
            
            if(!idQuestionario){
                alert('Salve o questionário antes de adicionar contatos.');
                return;
            }
            
            // Atualizar o campo id no formulário de contato
            if(formContato['id']) formContato['id'].value = idQuestionario;
            
            const fd = new FormData(formContato);
            
            // Debug: mostrar dados sendo enviados
            console.log('Dados a enviar:');
            for (let pair of fd.entries()) {
                console.log(pair[0] + ': ' + pair[1]);
            }
            
            try {
                const res = await fetch('contatos_questionario.php?action=save', { method:'POST', body: fd });
                console.log('Response status:', res.status);
                
                // Capturar o texto da resposta primeiro
                const responseText = await res.text();
                console.log('Response text:', responseText);
                
                try {
                    const json = JSON.parse(responseText);
                    console.log('Response JSON:', json);
                    if(json.success){ 
                        alert('Contato salvo com sucesso!');
                        closeContatoModal(); 
                        carregarContatos(); 
                    } else {
                        alert('Erro ao salvar contato: ' + (json.message || 'Erro desconhecido'));
                    }
                } catch(parseError) {
                    console.error('Erro ao fazer parse do JSON:', parseError);
                    console.error('Resposta recebida:', responseText);
                    alert('Erro no servidor. Resposta: ' + responseText.substring(0, 200));
                }
            } catch(error) {
                console.error('Erro ao salvar:', error);
                alert('Erro ao salvar contato. Verifique o console para detalhes.');
            }
        });
    }

    if(btnExcluirContato){
        btnExcluirContato.addEventListener('click', async ()=>{
            if(!confirm('Tem certeza que deseja excluir este contato?')) return;
            
            const idcq = btnExcluirContato.dataset.idcontato;
            if(!idcq){
                alert('ID do contato não encontrado.');
                return;
            }
            
            const fd = new FormData();
            fd.append('idcontatos_questionario', idcq);
            const res = await fetch('contatos_questionario.php?action=delete', { method:'POST', body: fd });
            const json = await res.json();
            if(json.success){ 
                closeContatoModal(); 
                carregarContatos(); 
            } else {
                alert('Erro ao excluir contato.');
            }
        });
    }

    // Máscaras para telefone e CEP no formulário de contatos
    function mascaraTelefone(valor) {
        valor = valor.replace(/\D/g, '');
        if (valor.length > 5) {
            return valor.substring(0, 5) + '-' + valor.substring(5, 9);
        }
        return valor;
    }
    
    function mascaraCEP(valor) {
        valor = valor.replace(/\D/g, '');
        if (valor.length > 5) {
            return valor.substring(0, 2) + '.' + valor.substring(2, 5) + '-' + valor.substring(5, 8);
        } else if (valor.length > 2) {
            return valor.substring(0, 2) + '.' + valor.substring(2);
        }
        return valor;
    }
    
    // Aplicar máscaras aos campos
    const tel1 = document.getElementById('tel1_contato');
    const tel2 = document.getElementById('tel2_contato');
    const celular = document.getElementById('celular_contato');
    const cep = document.getElementById('cep_contato');
    const checkboxEnderecoMesmo = document.getElementById('endereco_mesmo_contato');
    
    if(tel1) tel1.addEventListener('input', function(e) { e.target.value = mascaraTelefone(e.target.value); });
    if(tel2) tel2.addEventListener('input', function(e) { e.target.value = mascaraTelefone(e.target.value); });
    if(celular) celular.addEventListener('input', function(e) { e.target.value = mascaraTelefone(e.target.value); });
    if(cep) cep.addEventListener('input', function(e) { e.target.value = mascaraCEP(e.target.value); });
    
    // Função para buscar endereço da empresa
    if(checkboxEnderecoMesmo){
        checkboxEnderecoMesmo.addEventListener('change', async function(){
            if(this.checked){
                // Buscar CNPJ do formulário principal
                const mainForm = document.querySelector('form');
                const cnpjInput = mainForm ? mainForm.querySelector('[name="cnpj"]') : null;
                const cnpj = cnpjInput ? cnpjInput.value.trim() : '';
                
                if(!cnpj){
                    alert('CNPJ não informado no questionário. Preencha o CNPJ da empresa primeiro.');
                    this.checked = false;
                    return;
                }
                
                try {
                    const res = await fetch(`buscar_empresa.php?cnpj=${encodeURIComponent(cnpj)}`);
                    const json = await res.json();
                    
                    if(json.success && json.data){
                        const formContato = getFormContato();
                        if(formContato){
                            if(formContato['endereco']) formContato['endereco'].value = json.data.endereco || '';
                            if(formContato['numero']) formContato['numero'].value = json.data.numero || '';
                            if(formContato['complemento']) formContato['complemento'].value = json.data.complemento || '';
                            if(formContato['bairro']) formContato['bairro'].value = json.data.bairro || '';
                            if(formContato['cidade']) formContato['cidade'].value = json.data.cidade || '';
                            if(formContato['uf']) formContato['uf'].value = json.data.uf || '';
                            if(formContato['cep']) formContato['cep'].value = json.data.cep || '';
                        }
                    } else {
                        alert('Empresa não encontrada no cadastro. Verifique o CNPJ.');
                        this.checked = false;
                    }
                } catch(error){
                    console.error('Erro ao buscar empresa:', error);
                    alert('Erro ao buscar dados da empresa.');
                    this.checked = false;
                }
            }
        });
    }

    // Carrega contatos ao abrir se houver ID
    (function(){
        const mainForm = document.querySelector('form');
        const idInput = mainForm ? mainForm.querySelector('[name="id_update"]') : null;
        if(idInput && idInput.value){
            console.log('Carregando contatos para questionário ID:', idInput.value);
            carregarContatos();
        }
    })();

    form.addEventListener('submit', function(e){
        clearErrors();
        const selectedOpt = statusSelect ? statusSelect.selectedOptions[0] : null;
        const salvar = selectedOpt && selectedOpt.dataset ? (selectedOpt.dataset.salvarvazio || 'N') : 'N';
        
        // Validar mudança para "Não trabalhados"
        const idUpdate = form.querySelector('[name="id_update"]');
        const statusAnterior = form.querySelector('[name="status_anterior"]');
        const statusAtual = form.querySelector('[name="id_status_fk"]');
        
        if(idUpdate && idUpdate.value && statusAnterior && statusAtual){
            const statusAnteriorTexto = statusAnterior.dataset.statusTexto || '';
            const statusAtualTexto = selectedOpt ? selectedOpt.textContent.trim() : '';
            
            // Se está mudando PARA "Não trabalhados" e o anterior NÃO ERA "Não trabalhados"
            if(statusAtualTexto.toLowerCase().includes('não trabalhad') && 
               !statusAnteriorTexto.toLowerCase().includes('não trabalhad') &&
               statusAnterior.value !== statusAtual.value){
                e.preventDefault();
                alert('Não é possível alterar o status para "Não trabalhados" quando o status anterior não era "Não trabalhados".');
                return false;
            }
        }
        
        if(salvar === 'S') return; // permite salvar mesmo com campos vazios

        const missing = [];

        // Campos de controle que devem ser preenchidos quando salvarvazio != 'S'
        const quem = form.querySelector('[name="quem_entrevistou"]');
        if(!quem || !quem.value.trim()){ missing.push(quem || null); if(quem) quem.classList.add('field-error'); }

        const data = form.querySelector('[name="data_entrevista"]');
        if(!data || !data.value.trim()){ missing.push(data || null); if(data) data.classList.add('field-error'); }

        const status = form.querySelector('[name="id_status_fk"]');
        if(!status || !status.value){ missing.push(status || null); if(status) status.classList.add('field-error'); }

        const aceiteChecked = form.querySelector('input[name="aceite_pesquisa"]:checked');
        if(!aceiteChecked){
            const radios = form.querySelectorAll('input[name="aceite_pesquisa"]');
            radios.forEach(r=>r.classList.add('radio-error'));
            if(radios.length) missing.push(radios[0]);
        }

        if(missing.length){
            e.preventDefault();
            const first = missing.find(m=>m);
            if(first){
                try{ first.focus(); }catch(err){}
                try{ first.scrollIntoView({behavior:'smooth', block:'center'}); }catch(err){}
            }
            alert('Preencha os campos obrigatórios da área de controle. Campos faltantes foram destacados em vermelho.');
        }
    });
});
</script>

</body>
</html>