<?php
require '../conexao/conexao.php';
//require '../sessao.php';
require '../conexao/acesso.php';
require '../configuacoes.php';
require '../configuracao/get_config.php';
require '../logs/gera-log.php';

gerarLog(
    1, // tipo de log (acesso)
    $basePath, // módulo
    $_SESSION['CodUsuario'],
    $_SESSION['NomeUsuario']
);

//recuperando combo filial
$filial = $_GET['filial'] ?? null;
require '../querys/query-filiais.php';
$filiais = new Filiais($connectionmysql);
$configuracoes = new Configuracoes;

$operacoes = $configuracoes->get_operacoes_em_uso(); // Supondo que já seja um array
if (!empty($operacoes)) {
    sort($operacoes);
    $operacoes = implode(',', array_map('intval', $operacoes));
} else {
    $operacoes = 'NULL';
}



function getBadgeClass($status)
{
    $lowerStatus = strtolower($status);

    if (strpos($lowerStatus, 'rejeitado') !== false) {
        return 'badge-danger';
    } elseif (strpos($lowerStatus, 'aprovado') !== false) {
        return 'badge-success';
    } else {
        return 'badge-secondary';  // ou qualquer outra classe padrão
    }
}


$filial = 'Todos';

$hasResults = false;


$query_representante = "SELECT MR.codigo_funcionario, RP.nomefuncionario 
    FROM MEDICO_REPRESENTANTE MR
    INNER JOIN FUNCIONARIO RP ON MR.CODIGO_FUNCIONARIO = RP.CODIGO
    WHERE RP.ATIVO = '-1'
    GROUP BY MR.codigo_funcionario, RP.nomefuncionario";
$result_representante = ibase_query($connection, $query_representante);

if (!$result_representante) {
    die('Erro na consulta: ' . ibase_errmsg());
}

$representante = [];
while ($row = ibase_fetch_assoc($result_representante)) {
    $representante[] = $row;
}

if (isset($_GET['pesquisar'])) {

    gerarLog(
        5, // tipo de log (acesso)
        $basePath, // módulo
        $_SESSION['CodUsuario'],
        $_SESSION['NomeUsuario']
    );

    $nome_relatorio = 'Médicos';

    // Obtendo os parâmetros
    //$nome_consulta = 'fun.nomefun';
    $nomeMedico = $_GET['nomeMedico'] ?? null;
    $nomeVisitador = $_GET['nomeVisitador'] ?? null;
    $DataInicial = $_GET['DataInicial'] ?? null;
    $DataFinal = $_GET['DataFinal'] ?? null;
    $situacao = $_GET['situacao'] ?? null;

    $filial = $_GET['filial'] ?? null;

    $representantes = $_GET['visitador'] ?? [];

    // Iniciando a construção do SQL BASE

    $sql_grid_medicos = "WITH A2_SUM AS (
    SELECT
        A2.CODIGO_ATEND_A1 AS A1_CODIGO,
        COUNT(A2.CODIGO_ATEND_A1) AS QTD_FORMULAS
    FROM ATENDIMENTO_A2 A2
    WHERE A2.CONCLUIDOFORMULA <> '0'
    GROUP BY A2.CODIGO_ATEND_A1
)
SELECT
    ME.NOMEMEDICO AS NOMEMED,
    CR.SIGLA || '-' || ME.CR_ESTADO || '-' || ME.CRM AS CRM_CONCAT,
    ESPEC.NOMEESPECIALIDADE AS PARAMETRO,
    RP.CODIGO,
    MIN(RP.NOMEFUNCIONARIO) AS VISITADOR,
    SUM(CASE WHEN A1.STATUS_MOV = '-1' THEN CAST(A1.VALORVENDA_DESC AS NUMERIC(18,2)) ELSE 0 END) AS total_venda_aprovado,
    SUM(CASE WHEN A1.STATUS_MOV = '-1' THEN COALESCE(A2S.QTD_FORMULAS, 0) ELSE 0 END) AS quantidade_aprovado,
    ROUND(
        100 * SUM(CASE WHEN A1.STATUS_MOV = '-1' THEN COALESCE(A2S.QTD_FORMULAS, 0) ELSE 0 END)
        / NULLIF(SUM(COALESCE(A2S.QTD_FORMULAS, 0)), 0),
        2
    ) AS porcentagem_aprovado,
    SUM(CASE WHEN A1.STATUS_MOV = '0' THEN CAST(A1.VALORVENDA_DESC AS NUMERIC(18,2)) ELSE 0 END) AS total_venda_reprovado,
    SUM(CASE WHEN A1.STATUS_MOV = '0' THEN COALESCE(A2S.QTD_FORMULAS, 0) ELSE 0 END) AS quantidade_reprovado,
    ROUND(
        100 * SUM(CASE WHEN A1.STATUS_MOV = '0' THEN COALESCE(A2S.QTD_FORMULAS, 0) ELSE 0 END)
        / NULLIF(SUM(COALESCE(A2S.QTD_FORMULAS, 0)), 0),
        2
    ) AS porcentagem_reprovado,
    REPLACE(
        CAST(
            CAST(
                SUM(CASE WHEN A1.STATUS_MOV = '-1' THEN A1.VALORVENDA_DESC ELSE 0 END)
                / NULLIF(SUM(CASE WHEN A1.STATUS_MOV = '-1' THEN COALESCE(A2S.QTD_FORMULAS, 0) ELSE 0 END), 0)
                AS DECIMAL(10,2)
            ) AS VARCHAR(20)
        ),
        '.', ','
    ) AS ticket_medio_aprovado
FROM ATENDIMENTO_A1 A1
LEFT JOIN A2_SUM A2S ON A2S.A1_CODIGO = A1.CODIGO
INNER JOIN CLIENTE CL ON CL.CODIGO = A1.CODIGO_CLIENTE
INNER JOIN MEDICO ME ON ME.CODIGO = A1.CODIGO_MEDICO
LEFT JOIN MEDICO_CR CR ON ME.CODIGO_CONSELHO_REGIONAL = CR.CODIGO
LEFT JOIN MEDICO_ESPECIALIDADE ESPEC ON ESPEC.CODIGO = ME.CODIGO_MEDICO_ESPECIALIDADE
INNER JOIN FUNCIONARIO FU ON FU.CODIGO = IIF(A1.STATUS_MOV = 0, A1.CADASTRO_LJ, A1.AVIADA_CF)
LEFT JOIN (
    SELECT
        MR.CODIGO_MEDICO,
        MIN(RP.CODIGO) AS CODIGO,
        MIN(RP.NOMEFUNCIONARIO) AS NOMEFUNCIONARIO
    FROM MEDICO_REPRESENTANTE MR
    LEFT JOIN FUNCIONARIO RP ON MR.CODIGO_FUNCIONARIO = RP.CODIGO";

if (!empty($representantes)) {
    $representantes_str = implode(',', array_map('intval', $representantes));
    $sql_grid_medicos .= " WHERE RP.CODIGO IN ($representantes_str)";
}

$sql_grid_medicos .= "
    GROUP BY MR.CODIGO_MEDICO
) RP ON ME.CODIGO = RP.CODIGO_MEDICO
WHERE
    A1.TIPO_ATENDIMENTO = 1";

if ($filial && $filial != "Todos") {
    $sql_grid_medicos .= " AND A1.CADASTRO_LJ IN (" . $filial . ")";
}

if (!empty($operacoes)) {
    $sql_grid_medicos .= " AND A1.CODIGO_TIPOOPERACAO NOT IN ($operacoes)";
}

if (!empty($nomeMedico)) {
    $sql_grid_medicos .= " AND ME.NOMEMEDICO LIKE '%$nomeMedico%'";
}

if ($DataInicial && $DataFinal) {
    $DataInicial = mysqli_real_escape_string($connectionmysql, $DataInicial);
    $DataFinal = mysqli_real_escape_string($connectionmysql, $DataFinal);
    $sql_grid_medicos .= " AND CAST(A1.CADASTRO_DT AS DATE) BETWEEN '$DataInicial' AND '$DataFinal'";
}

$sql_grid_medicos .= "
GROUP BY
    ME.NOMEMEDICO,
    CR.SIGLA,
    ME.CR_ESTADO,
    ME.CRM,
    ESPEC.NOMEESPECIALIDADE,
    RP.CODIGO
ORDER BY porcentagem_reprovado DESC";

    //echo $sql_grid_medicos; exit;


    $result_grid_medicos = ibase_query($connection, $sql_grid_medicos);

    if (!$result_grid_medicos) {
        die('Erro na consulta ' . $sql_grid_medicos . ' Firebird/InterBase: ' . ibase_errmsg());
    }
}

function firebird_escape_string($value)
{
    return str_replace(["'", "\""], ["''", "\"\""], $value);
}



?>


<!DOCTYPE html>
<html lang="pt-br">
<?php
$pageTitle = "Médicos Orçamentos"; // Definir o título da página aqui
include('../geral/header.php');
?>

<body>

    <!-- Navigation Bar-->
    <?php
    include('../geral/menu.php');
    ?>
    <!-- End Navigation Bar-->

    <!-- ============================================================== -->
    <!-- Start Page Content here -->
    <!-- ============================================================== -->

    <div class="wrapper candidato">
        <div class="container-fluid">

            <div class="card-box mt-3">
                <div class="row">

                    <div class="col-6 text-left">
                        <h4 class="page-title">Consultar Orçamentos de <?php echo !empty($nome_relatorio) ? $nome_relatorio : 'Relatórios'; ?></h4>

                    </div>


                    <div class="col-12">
                        <hr>
                    </div>

                    <div class="col-12">
                        <form method="get" action="" onsubmit="return validarFormulario()">
                            <div class="form-row mb-3">


                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="filial" class="col-form-label">Filial</label>
                                    <select name="filial" class="form-control">
                                        <option value="Todos" <?php if ($filial == 'Todos') echo 'selected'; ?>>Todos</option>
                                        <?php
                                        $listagemFiliais = $filiais->listarFiliais();
                                        foreach ($listagemFiliais as $itens) { ?>
                                            <option value="<?php echo $itens['id']; ?>" <?php if ($itens['id'] == $filial) {
                                                                                            echo 'selected';
                                                                                        } ?>>
                                                <?php echo $itens['nome_filial']; ?>
                                            </option>
                                        <?php } ?>
                                    </select>
                                </div>


                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="DataInicial" class="col-form-label">Data Inicial</label>
                                    <input type="date" id="DataInicial" name="DataInicial" class="form-control" value="<?php echo isset($DataInicial) ? $DataInicial : ''; ?>">
                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-2">

                                    <label for="DataFinal" class="col-form-label">Data Final</label>
                                    <input type="date" id="DataFinal" name="DataFinal" class="form-control" value="<?php echo isset($DataFinal) ? $DataFinal : ''; ?>">
                                </div>

                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="nomeMedico" class="col-form-label">Médico</label>
                                    <input type="text" class="form-control" id="nomeMedico" name="nomeMedico" placeholder="Médico" value="<?php echo isset($nomeMedico) ? htmlspecialchars($nomeMedico) : ''; ?>">

                                </div>


                                <div class="form-group col-6 col-md-4 col-lg-2">
                                    <label for="nomeVisitador" class="col-form-label">Representante</label>
                                    <select name="visitador[]" id="nomeVisitador" class="form-control select2" multiple="multiple">
                                        <?php
                                        $selectedVisitadores = isset($_GET['visitador']) ? (is_array($_GET['visitador']) ? $_GET['visitador'] : [$_GET['visitador']]) : [];
                                        foreach ($representante as $itens) {
                                            $selected = in_array($itens['CODIGO_FUNCIONARIO'], $selectedVisitadores) ? 'selected' : '';
                                        ?>
                                            <option value="<?php echo $itens['CODIGO_FUNCIONARIO']; ?>" <?php echo $selected; ?>>
                                                <?php echo $itens['NOMEFUNCIONARIO'] ?>
                                            </option>
                                        <?php } ?>
                                    </select>
                                </div>


                                <div class="col-6 col-md-4 col-lg-12 d-flex mt-3" style="align-items:center;justify-content: end;">
                                    <div>
                                        <a href="index.php" class="btn btn-warning mr-2"><i class="mdi mdi-plus"></i> Limpar</a>
                                    </div>
                                    <div>
                                        <button name="pesquisar" type="submit" class="btn btn-primary"><i class="mdi mdi-magnify"></i> Pesquisar</button>
                                    </div>
                                </div>


                        </form>
                    </div>
                </div>
                <?php if (isset($_GET['pesquisar'])) { ?>
                    <div class="col-12">
                        <h6>Tabela de Orçamentos por Médicos</h6>
                        <div class="row">
                            <div class="col-12">
                                <table id="minhaTabela" class="table table-bordered table-hover table-sm" style="width:100%;">
                                    <thead class="thead-light">
                                        <tr>
                                            <th scope="col">Médico</th>
                                            <th escope="col">Especialidade</th>
                                            <th scope="col">Aprovado</th>
                                            <th scope="col" style="text-align: center;">%</th>
                                            <th scope="col">Qtd</th>
                                            <th scope="col">Ticket Médio</th>
                                            <th scope="col">Reprovado</th>
                                            <th scope="col" style="text-align: center;">%</th>
                                            <th scope="col">Qtd</th>
                                            <th scope="col">Total Geral</th>
                                            <th scope="col">Qtd Geral</th>
                                            <th scope="col">Visitador</th>
                                            <th scope="col">Ações</th>
                                        </tr>
                                    </thead>
                                    <tbody>
                                        <?php
                                        $totalVendaAprovadoGeral = 0;
                                        $quantidadeAprovadoGeral = 0;
                                        $totalVendaReprovadoGeral = 0;
                                        $quantidadeReprovadoGeral = 0;
                                        $totalValorAprovado = 0;
                                        $totalValorReprovado = 0;

                                        $hasResults = false;
                                        if (isset($result_grid_medicos)) {
                                            while ($rowgridmedicos = ibase_fetch_assoc($result_grid_medicos)) {
                                                // Converter codificação para UTF-8
                                                // foreach ($rowgridmedicos as $key => $value) {
                                                //     $rowgridmedicos[$key] = mb_convert_encoding($value, 'UTF-8', 'ISO-8859-1');
                                                // }

                                                $hasResults = true;
                                                echo '<tr>';
                                                echo '<th scope="row">' . $rowgridmedicos['NOMEMED'] . '</th>';
                                                echo '<th scope="row">' . $rowgridmedicos['PARAMETRO'] . '</th>';
                                                echo '<td data-order="' . number_format($rowgridmedicos["TOTAL_VENDA_APROVADO"], 2, '.', '') . '">
                                                R$ ' . number_format($rowgridmedicos['TOTAL_VENDA_APROVADO'], 2, ',', '.') . '
                                            </td>';
                                                echo '<td><span class="badge badge-success" style="font-size:0.92em;">' . number_format($rowgridmedicos['PORCENTAGEM_APROVADO'], 2, ',', '.') . '%</span></td>';
                                                echo '<td>' . $rowgridmedicos['QUANTIDADE_APROVADO'] . '</td>';
                                                echo '<td> R$' . ($rowgridmedicos['TICKET_MEDIO_APROVADO']) . '</td>';
                                                echo '<td data-order="' . number_format($rowgridmedicos["TOTAL_VENDA_REPROVADO"], 2, '.', '') . '">R$ ' . number_format($rowgridmedicos['TOTAL_VENDA_REPROVADO'], 2, ',', '.') . ' </td>';
                                                echo '<td><span class="badge badge-danger" style="font-size:0.92em;">' . number_format($rowgridmedicos['PORCENTAGEM_REPROVADO'], 2, ',', '.') . '%</span></td>';
                                                echo '<td>' . $rowgridmedicos['QUANTIDADE_REPROVADO'] . '</td>';

                                                // Calcula o total geral da linha
                                                $totalGeralLinha = $rowgridmedicos['TOTAL_VENDA_APROVADO'] + $rowgridmedicos['TOTAL_VENDA_REPROVADO'];
                                                echo '<td data-order="' . number_format($totalGeralLinha, 2, '.', '') . '">R$ ' . number_format($totalGeralLinha, 2, ',', '.') . '</td>';
                                                echo '<td>' . (intval($rowgridmedicos['QUANTIDADE_REPROVADO']) + intval($rowgridmedicos['QUANTIDADE_APROVADO'])) . '</td>';
                                                echo '<td>' . (($rowgridmedicos['VISITADOR'] !== null && $rowgridmedicos['VISITADOR'] !== '') ? $rowgridmedicos['VISITADOR'] : 'N/A') . '</td>';


                                                echo '<td>
                                            <a href="detalhar_medico.php?id_medico=' . urlencode($rowgridmedicos['CRM_CONCAT']) . '&dtinicial=' . urlencode($DataInicial) . '&dtfinal=' . urlencode($DataFinal) . '&filial=' . urlencode($filial) . '&visitador=' . urlencode($rowgridmedicos['CODIGO']) . '&tabela=1" class="table-actions link-view">
                                                <i class="mdi mdi-account-search"></i>
                                            </a>
                                        </td>';

                                                echo '</tr>';

                                                // Atualiza o totalizador
                                                $totalValorAprovado += floatval($rowgridmedicos['TOTAL_VENDA_APROVADO']);
                                                $totalValorReprovado += floatval($rowgridmedicos['TOTAL_VENDA_REPROVADO']);
                                            }
                                        }

                                        if (!$hasResults) {
                                            echo "<tr><td colspan='11' class='text-center'>Sem resultado para a consulta</td></tr>";
                                        }
                                        ?>
                                    </tbody>
                                </table>
                                <!-- Adiciona a linha com o totalizador -->
                                <div class="row">
                                    <div class="col-md-12">
                                        <h4>Total Valor Aprovado: R$ <?php echo number_format($totalValorAprovado, 2, ',', '.'); ?></h4>
                                        <h4>Total Valor Reprovado: R$ <?php echo number_format($totalValorReprovado, 2, ',', '.'); ?></h4>
                                        <h4>Total Valor: R$ <?php echo number_format($totalValorReprovado + $totalValorAprovado, 2, ',', '.'); ?></h4>
                                    </div>
                                </div>
                            </div>

                        </div>
                    </div>
                <?php } ?>
            </div>

        </div>

    </div> <!-- end container -->
    </div>

    <!-- end wrapper -->

    <!-- ============================================================== -->
    <!-- End Page content -->
    <!-- ============================================================== -->
    <!-- Footer Start -->
    <?php
    include('../geral/footer.php');
    ?>
    <!-- end Footer -->

    <?php
    include('../geral/mensagens_modais.php');
    ?>
    <!-- jQuery -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

    <!-- Outros scripts -->
    <script src="../../assets/js/funcoes.js"></script>
    <script src="../../assets/js/vendor.min.js"></script>
    <script src="../../assets/libs/jquery-knob/jquery.knob.min.js"></script>
    <script src="../../assets/js/app.min.js"></script>
    <script src="../geral/javascript.js"></script>

    <script src="https://cdn.datatables.net/1.11.3/js/jquery.dataTables.min.js"></script>
    <script src="https://cdn.datatables.net/1.11.3/js/dataTables.bootstrap5.min.js"></script>
    <link rel="stylesheet" href="https://cdn.datatables.net/1.11.3/css/dataTables.bootstrap5.min.css">

    <script src="https://cdn.datatables.net/buttons/2.0.1/js/dataTables.buttons.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.1.3/jszip.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.66/pdfmake.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.66/vfs_fonts.js"></script>
    <script src="https://cdn.datatables.net/buttons/2.0.1/js/buttons.html5.min.js"></script>

    <link rel="stylesheet" href="https://cdn.datatables.net/buttons/2.0.1/css/buttons.dataTables.min.css">
    <link rel="stylesheet" href="../../assets/css/resetedatatable.css">


    <script>
        // initDropdownFilter('visitador', false, 'filial_representante');
        //initDropdownFilter('medicos', false);

        function showModal(title, message) {
            const modal = new bootstrap.Modal(document.getElementById('exampleModal'));
            const modalTitle = document.querySelector('.modal-title');
            const modalBody = document.querySelector('.modal-body p');

            modalTitle.textContent = title;
            modalBody.textContent = message;

            modal.show();
        }

        function validarCampo(id) {
            let campo = document.getElementById(id);
            return campo.value.trim(); // Retorna o valor do campo após remover espaços em branco
        }

        function adicionarClasseErro(campo) {
            campo.classList.add('is-invalido');
        }

        function removerClasseErro(campo) {
            campo.classList.remove('is-invalido');
        }

        function validarFormulario() {
            let DataInicial = validarCampo("DataInicial");
            let DataFinal = validarCampo("DataFinal");


            let DataInicialCampo = document.getElementById("DataInicial");
            let DataFinalCampo = document.getElementById("DataFinal");

            if (DataInicial === '' || DataFinal === '') {
                adicionarClasseErro(DataInicialCampo);
                adicionarClasseErro(DataFinalCampo);
                showModal('Informação', 'As datas de inicial e final são obrigatórias para realizar a consulta.');
                return false;
            }

            if (new Date(DataInicial) > new Date(DataFinal)) {
                adicionarClasseErro(DataInicialCampo);
                adicionarClasseErro(DataFinalCampo);
                showModal('Erro', 'A data inicial não pode ser maior que a data final.');
                return false;
            }

            if (!algumPreenchido) {
                showModal('Informação', 'Pelo menos um campo deve estar preenchido para realizar a consulta.');
                return false;
            }

            return true;
        }

        function verificarDatas() {
            const DataInicialCampo = document.getElementById("DataInicial");
            const DataFinalCampo = document.getElementById("DataFinal");

            const DataInicial = DataInicialCampo.value.trim();
            const DataFinal = DataFinalCampo.value.trim();

            // Garante que a data está no formato completo YYYY-MM-DD
            const regexData = /^\d{4}-\d{2}-\d{2}$/;

            if (!regexData.test(DataInicial) || !regexData.test(DataFinal)) {
                // Não faz nada enquanto a digitação ainda está incompleta
                return;
            }

            // Garante que o ano não é inferior a 1900 (evita casos como 0002)
            const anoFinal = parseInt(DataFinal.split("-")[0]);
            if (anoFinal < 1900) {
                return; // ainda está digitando, ou valor inválido
            }

            removerClasseErro(DataInicialCampo);
            removerClasseErro(DataFinalCampo);

            if (new Date(DataInicial) > new Date(DataFinal)) {
                adicionarClasseErro(DataInicialCampo);
                adicionarClasseErro(DataFinalCampo);
                showModal('Erro', 'A data inicial não pode ser maior que a data final.');
            }
        }

        document.getElementById("DataInicial").addEventListener('input', function() {
            removerClasseErro(this);
            verificarDatas();
        });

        document.getElementById("DataFinal").addEventListener('input', function() {
            removerClasseErro(this);
            verificarDatas();
        });
    </script>
    <style>
        .is-invalido {
            box-shadow: 0 0 5px red !important;
        }
    </style>

    <script>
        $(document).ready(function() {

            $('#minhaTabela').DataTable({
                "language": {
                    "url": "https://cdn.datatables.net/plug-ins/1.10.21/i18n/Portuguese-Brasil.json"
                },
                "order": [
                    [2, "desc"]
                ],
                "ordering": true,
                "lengthMenu": [
                    [10, 25, 50, 100, -1],
                    [10, 25, 50, 100, "Todos"]
                ],
                "buttons": [
                    'excelHtml5'
                ],


                //   //"dom": 'lBfrtip',
                dom: '<"d-flex justify-content-between align-items-center mb-2"Bf>t<"datatable-footer d-flex justify-content-between align-items-center mt-2 w-100"<"footer-left"l><"footer-center"i><"footer-right"p>>',
            });
        });
    </script>

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/1.1.2/css/bootstrap-multiselect.min.css">
    <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/1.1.2/js/bootstrap-multiselect.min.js"></script>


    <style>
        .multiselect-container {
            max-height: 400px;
            overflow-y: auto;
        }

        .multiselect-container>li>a>label {
            padding: 3px 20px 3px 40px;
        }

        .multiselect-container>li>a>label>input[type="checkbox"] {
            margin-right: 5px;
        }

        .btn-group {
            width: 100%;
        }

        .multiselect {
            text-align: left;
            width: 100%;
        }

        .multiselect-container .multiselect-filter>.fa-search {
            z-index: 1;
            padding-left: 0.75rem;
        }

        .multiselect-container .multiselect-filter>input.multiselect-search {
            padding-left: 2rem;
        }
    </style>

    <link href="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/css/select2.min.css" rel="stylesheet" />
    <link href="https://cdn.jsdelivr.net/npm/select2-bootstrap-5-theme@1.3.0/dist/select2-bootstrap-5-theme.min.css" rel="stylesheet" />
    <script src="https://cdn.jsdelivr.net/npm/select2@4.1.0-rc.0/dist/js/select2.min.js"></script>
    <script>
        $(document).ready(function() {
            $('#nomeVisitador').select2({
                theme: 'bootstrap-5',
                width: '100%',
                language: {
                    noResults: function() {
                        return "Nenhum resultado encontrado";
                    },
                    searching: function() {
                        return "Pesquisando...";
                    }
                }
            });
        });
    </script>
    <style>
        .select2-container--bootstrap-5 .select2-selection {
            border: 1px solid #ced4da;
            min-height: 38px;
        }

        .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered {
            display: flex;
            flex-wrap: wrap;
            gap: 4px;
        }

        .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice {
            background-color: #e9ecef;
            border: 1px solid #ced4da;
            border-radius: 4px;
            padding: 2px 6px;
            margin: 2px;
        }

        /* Remove o select adicional */
        .select2-container--bootstrap-5 .select2-selection__placeholder {
            display: none;
        }

        .select2-container--bootstrap-5 .select2-selection--multiple::after {
            display: none;
        }

        .select2-container--bootstrap-5 .select2-selection--multiple .select2-search {
            flex: 1;
            min-width: 100px;
        }

        /* Ajusta o espaçamento do container */
        .select2-container {
            margin-bottom: 0 !important;
        }

        .select2-container--bootstrap-5 {
            margin-bottom: 0 !important;
        }
    </style>
    <style>
        #minhaTabela_length label,
        #minhaTabela_info {
            margin: 0 !important;
            padding: 0 !important;
            align-items: center;
        }
    </style>
</body>

</html>