/**
 * Estilos para o widget de horários PGD
 */

/* Estilos gerais da tabela */
.horarios-pgd-container .table th, 
.horarios-pgd-container .table td {
    vertical-align: middle;
    padding: 0.4rem 0.5rem; /* Ajuste padding para table-sm */
}

.horarios-pgd-container .table th:first-child, 
.horarios-pgd-container .table td:first-child {
    text-align: left;
}

/* Centraliza cabeçalhos de dias e conteúdo das células de horário */
.horarios-pgd-container .table thead th:not(:first-child),
.horarios-pgd-container .table tbody td:not(:first-child) {
    text-align: center;
}

.modal-content td {
    text-align: center !important;
}

/* Alinha apenas os títulos de coluna da primeira linha ao centro */
.horarios-pgd-container .table thead tr:first-child th {
    text-align: center;
}

/* Estilos específicos para a visualização em matriz */
.horarios-pgd-container [id^="matriz-"] .table td {
    text-align: left;
    font-size: 0.85em;
    padding: 6px 4px;
    line-height: 1.1;
}

.horarios-pgd-container [id^="matriz-"] .table th {
    font-size: 0.85em;
    padding: 8px 4px;
}

/* Truncamento de nome na Matriz */
.horarios-pgd-container [id^="matriz-"] .servidor-info {
    display: inline-block; /* Permite max-width */
    max-width: 180px; /* Ajuste conforme necessário */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle; /* Alinha melhor com outros elementos se houver */
}

/* Estilos para badges e links */
.horarios-pgd-container .badge {
    font-weight: 500; /* Um pouco mais de peso */
    padding: 0.4em 0.6em;
    font-size: 0.8em; /* Levemente menor */
}

.horarios-pgd-container .servidor-info {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    font-weight: 500; /* Nome do servidor um pouco mais destacado */
}

.horarios-pgd-container .servidor-info:hover {
    text-decoration: underline;
    color: #0d6efd; /* Cor de link no hover */
}

/* Cores específicas (se necessário sobrescrever Bootstrap) */
.horarios-pgd-container .text-success {
    color: #198754 !important;
}

.horarios-pgd-container .text-warning {
    color: #b8860b !important; /* DarkGoldenrod - melhor contraste */
}

/* Estilo para o wrapper do seletor de unidade */
.horarios-pgd-selector-wrapper {
    border-bottom: 1px solid #dee2e6;
    padding-bottom: 0.8rem;
    margin-bottom: 1rem !important; /* Garante espaço abaixo */
}

.horarios-pgd-selector-wrapper .form-label {
    margin-bottom: 0.3rem;
    font-size: 0.9em;
}

/* Estilo para o indicador de loading AJAX */
.horarios-pgd-loading {
    display: none; /* Oculto por padrão */
    text-align: center;
    padding: 30px 15px;
    background-color: rgba(255, 255, 255, 0.8); /* Fundo semi-transparente */
    position: absolute; /* Para sobrepor o conteúdo antigo */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10; /* Para ficar acima do conteúdo */
}

.horarios-pgd-content-area {
    position: relative; /* Necessário para o posicionamento absoluto do loading */
    transition: opacity 0.3s ease-in-out; /* Suaviza a transição de opacidade */
}

/* Estilos para impressão */
@media print {
    .horarios-pgd-container {
        width: 100%;
    }
    
    .horarios-pgd-selector-wrapper,
    .horarios-pgd-container h4 button {
        display: none !important;
    }

    .horarios-pgd-container .table {
        border-collapse: collapse !important;
        font-size: 9pt; /* Reduz tamanho da fonte para caber mais */
    }

    .horarios-pgd-container .table th,
    .horarios-pgd-container .table td {
        padding: 3px 4px; /* Menor padding */
    }

    .horarios-pgd-container .badge {
        border: 1px solid #ccc; /* Borda cinza clara */
        padding: 0.2em 0.4em;
        font-size: 0.8em;
        color: #000 !important; /* Garante texto preto */
        background-color: #fff !important; /* Fundo branco */
    }

    /* Adiciona texto descritivo para badges na impressão */
    .horarios-pgd-container .badge.bg-success::after {
        content: " (P)"; /* Presencial */
        font-size: 0.8em;
        margin-left: 2px;
    }
    .horarios-pgd-container .badge.bg-warning::after {
        content: " (T)"; /* Teletrabalho */
        font-size: 0.8em;
        margin-left: 2px;
    }

    .horarios-pgd-container .text-success,
    .horarios-pgd-container .text-warning {
        color: #000 !important; /* Texto preto na impressão */
    }

    /* Remove links na impressão */
    .horarios-pgd-container a {
        text-decoration: none;
        color: inherit;
    }
    .horarios-pgd-container .servidor-info::after {
        content: ""; /* Remove pseudo-elementos se houver */
    }

    /* Garante que as abas não sejam impressas, apenas o conteúdo ativo */
    .nav-tabs, .tab-content .tab-pane:not(.active) {
        display: none !important;
    }
    .tab-content .tab-pane.active {
        display: block !important;
        opacity: 1 !important;
    }
}

/* Icones Bootstrap */
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.10.0/font/bootstrap-icons.css");
