/* Arquivo: public/CSS/ferias.css (VERSÃO FINAL - RESPONSIVA E UNIFICADA) */

/* ==========================================================================
   ESTILO ESPECÍFICO DO POP-UP (RESPONSIVO)
   ========================================================================== */

#popupnovasferias {
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Fundo escuro */
    display: none; /* Controlado pelo JS */
    justify-content: center;
    align-items: center;
}

#popupnovasferias .popup-content {
    background-color: var(--cor-fundo-container, #fff);
    padding: 25px;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
    
    /* Lógica de Tamanho Responsivo */
    width: 90%;           /* Ocupa 90% da tela em celulares */
    max-width: 800px;     /* Trava em 800px em monitores grandes */
    max-height: 90vh;     /* Nunca ultrapassa a altura da tela */
    overflow-y: auto;     /* Cria barra de rolagem se necessário */
    position: relative;
}

#popupnovasferias h2 {
    margin-top: 0;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--cor-borda);
    color: var(--cor-texto-principal);
}

/* --- SISTEMA DE GRID PARA O FORMULÁRIO (2 ITENS POR LINHA) --- */

/* Use <div class="form-row"> envolvendo dois .form-group no HTML */
#popupnovasferias .form-row {
    display: flex;
    gap: 15px;
    width: 100%;
    margin-bottom: 15px;
}

#popupnovasferias .form-row .form-group {
    flex: 1; /* Divide o espaço igualmente */
    margin-bottom: 0; /* Remove margem inferior interna */
}

/* Estilo padrão para grupos fora da row */
#popupnovasferias .form-group {
    margin-bottom: 15px;
    display: flex;
    flex-direction: column;
}

#popupnovasferias label {
    font-weight: 600;
    margin-bottom: 5px;
    color: var(--cor-texto-principal);
}

#popupnovasferias input,
#popupnovasferias select,
#popupnovasferias textarea {
    padding: 10px;
    border: 1px solid var(--cor-borda);
    border-radius: 4px;
    font-size: 0.95rem;
    width: 100%; /* Garante que preencha a coluna */
    box-sizing: border-box; /* Garante que padding não estoure a largura */
}

/* Botões do rodapé do popup */
#popupnovasferias .form-buttons {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
    padding-top: 15px;
    border-top: 1px solid var(--cor-borda);
}

#popupnovasferias .form-buttons button {
    padding: 10px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-weight: 600;
}

#cancelarFeria { background-color: #e74c3c; color: white; }
#confirmarFeria { background-color: #2ecc71; color: white; }

/* ==========================================================================
   ESTILOS DA SEÇÃO DE BUSCA (Mantido)
   ========================================================================== */

#ferias .search-container {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end; 
    gap: 15px;
    margin-bottom: 20px;
    padding: 20px;
    background-color: var(--cor-fundo-container);
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.08);
}

#ferias .search-group {
    display: flex;
    flex-direction: column; 
    align-items: flex-start;
    gap: 5px;
    flex-grow: 1;
    flex-basis: 180px; 
}

#ferias .search-group input,
#ferias .search-group select {
    padding: 8px;
    border: 1px solid var(--cor-borda);
    border-radius: 4px;
    font-size: 0.9rem;
    outline: none;
    transition: border-color 0.3s;
    width: 100%;
}

#ferias .search-group input:focus,
#ferias .search-group select:focus {
    border-color: var(--cor-destaque);
}

#ferias .button-group {
    display: flex;
    gap: 10px;
    margin-left: auto; 
}

#ferias .coluna-acoes {
    text-align: center;
}

/* ==========================================================================
   ESTILOS DE ORDENAÇÃO DA TABELA (Padrão Azul #1a237e)
   ========================================================================== */

#ferias table {
    width: 100%;
    border-collapse: collapse;
}

/* 1. BARRA AZUL SÓLIDA */
#ferias table thead tr {
    background-color: #1a237e !important; 
    border: none;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

/* 2. CÉLULA PADRÃO (Sem Mouse) */
#ferias table th {
    background-color: #1a237e; 
    color: #ffffff;            
    user-select: none;
    position: relative;
    padding: 12px 10px;
    cursor: default; 
    border: none;
    transition: background-color 0.1s ease-in-out, color 0.1s ease-in-out;
    text-align: left;
}

/* 3. Colunas ordenáveis (data-column) */
#ferias table th[data-column] {
    cursor: pointer; 
}

/* 4. EFEITO HOVER (Com Mouse) - INVERTIDO */
#ferias table th[data-column]:hover {
    background-color: #ffffff !important; 
    color: #1a237e !important;            
    border-radius: 4px 4px 0 0;
}

/* 5. COLUNA ATIVA (Já Ordenada) */
#ferias table th.sort-asc,
#ferias table th.sort-desc {
    background-color: #1a237e; 
    color: #ffffff;
    font-weight: 800;
    border-bottom: 3px solid #ffffff; 
}

/* Se passar o mouse na coluna ativa */
#ferias table th.sort-asc:hover,
#ferias table th.sort-desc:hover {
    background-color: #ffffff !important;
    color: #1a237e !important;
    border-bottom: 3px solid #1a237e;
}

/* 6. ÍCONES */
#ferias table th i {
    font-size: 14px;
    margin-left: 6px;
    vertical-align: middle;
    color: rgba(255, 255, 255, 0.5); 
    transition: all 0.1s;
}

#ferias table th[data-column]:hover i {
    opacity: 1;
    color: #1a237e !important; 
}

#ferias table th.sort-asc i,
#ferias table th.sort-desc i {
    color: #ffffff;
    opacity: 1;
}

#ferias table th.sort-asc:hover i,
#ferias table th.sort-desc:hover i {
    color: #1a237e !important;
}

/* Estilos gerais da tabela */
#ferias table td {
    padding: 10px;
    border-bottom: 1px solid var(--cor-borda);
}

#ferias table tr:hover {
    background-color: #f1f1f1;
}

/* ==========================================================================
   MEDIA QUERIES (RESPONSIVIDADE MOBILE)
   ========================================================================== */

@media (max-width: 768px) {
    /* Ajuste do Popup para Mobile */
    #popupnovasferias .popup-content {
        width: 95%;        /* Ocupa quase toda a largura */
        max-width: none;   /* Remove limites de desktop */
        max-height: 95vh;  /* Altura máxima */
        padding: 15px;     /* Padding menor */
    }

    /* Força os campos a ficarem um abaixo do outro no celular */
    #popupnovasferias .form-row {
        flex-direction: column; 
        gap: 10px;
    }

    /* Ajuste dos botões de busca */
    #ferias .search-container {
        flex-direction: column;
        align-items: stretch;
    }
    
    #ferias .button-group {
        margin-left: 0;
        justify-content: space-between;
        margin-top: 10px;
    }

    /* Ajuste da Tabela (Scroll horizontal para não quebrar) */
    #ferias .table-container {
        overflow-x: auto;
    }
    
    #ferias table {
        min-width: 600px; /* Força scroll se for muito pequena */
        font-size: 0.85rem;
    }
}
/* --- CORREÇÃO DEFINITIVA DO TOMSELECT (BUSCA INTELIGENTE) --- */

/* Ajusta o container do input */
#popupnovasferias .ts-control {
    padding: 10px;
    border: 1px solid var(--cor-borda);
    border-radius: 4px;
    font-size: 0.95rem;
    box-shadow: none;
    background-color: #fff;
    min-height: 42px;
    display: flex;
    align-items: center;
    position: relative; /* Importante para ancoragem */
    z-index: 1002; /* Maior que o popup content */
}

#popupnovasferias .ts-control input {
    font-size: 0.95rem;
}

/* Foco */
#popupnovasferias .ts-control.focus {
    border-color: var(--cor-destaque);
    box-shadow: 0 0 0 2px rgba(72, 201, 176, 0.2);
}

/* O Dropdown com as opções */
#popupnovasferias .ts-dropdown {
    border: 1px solid var(--cor-destaque);
    border-top: none;
    z-index: 99999 !important; /* Força bruta para ficar acima de tudo */
    margin-top: 2px;
    box-shadow: 0 10px 20px rgba(0,0,0,0.19), 0 6px 6px rgba(0,0,0,0.23);
    border-radius: 0 0 4px 4px;
    background: white;
    max-height: 200px; /* Limite de altura */
    overflow-y: auto;  /* Scroll vertical */
}

/* Opções */
#popupnovasferias .ts-dropdown .option {
    padding: 10px;
    cursor: pointer;
    border-bottom: 1px solid #f0f0f0;
}

#popupnovasferias .ts-dropdown .option:hover,
#popupnovasferias .ts-dropdown .active {
    background-color: var(--cor-fundo-hover);
    color: var(--cor-principal);
    font-weight: 500;
}
/* --- CORREÇÃO OBRIGATÓRIA PARA TOMSELECT EM POPUP --- */

/* Força o dropdown a ficar na frente de tudo */
.ts-dropdown, .ts-dropdown.plugin-dropdown_input {
    z-index: 99999 !important; 
}

/* Garante que o input pareça um campo normal */
.ts-control {
    padding: 10px;
    border: 1px solid var(--cor-borda);
    border-radius: 4px;
    min-height: 42px;
}

/* Corrige bug visual se o popup tiver overflow */
#popupnovasferias .popup-content {
    overflow-y: visible !important; /* Permite que a lista saia da caixa se necessário */
    overflow-x: hidden;
}
/* --- AJUSTES DO TOMSELECT NA BARRA DE BUSCA (FILTRO) --- */

/* Ajusta a altura e borda para alinhar com os inputs de data */
#ferias .search-container .ts-control {
    padding: 8px 10px; /* Padding menor que o do popup para alinhar */
    border: 1px solid var(--cor-borda);
    border-radius: 4px;
    font-size: 0.9rem;
    min-height: 40px; /* Mesma altura definida para inputs no seu CSS */
    background-color: #fff;
    display: flex;
    align-items: center;
}

/* Garante que o dropdown do filtro não fique escondido */
#ferias .search-container .ts-dropdown {
    z-index: 100 !important;
}

/* Ajuste de foco */
#ferias .search-container .ts-control.focus {
    border-color: var(--cor-destaque);
    box-shadow: 0 0 0 2px rgba(72, 201, 176, 0.2);
}