/* Importa a fonte Inter do Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

body { 
    display: flex; 
    flex-direction: column; 
    min-height: 100vh; 
    font-family: 'Inter', sans-serif; 
    background-color: #f0f2f5;
}
.main-container { 
    display: flex; 
    flex: 1; 
}
.sidebar { 
    width: 280px; 
    background-color: #f8f9fa; 
    padding-top: 1rem; 
    border-right: 1px solid #dee2e6; 
    box-shadow: 2px 0 5px rgba(0,0,0,0.05); 
}
.content-area { 
    flex: 1; 
    padding: 1.5rem; 
    overflow-y: auto; 
}
.site-header { 
    background-color: #0d6efd; 
    color: white; 
    padding: 0.8rem 1.5rem; 
    box-shadow: 0 2px 4px rgba(0,0,0,.1); 
}
.site-header h1 { 
    font-weight: 600; 
    margin-bottom: 0; /* Ajuste para alinhar melhor */
}
.site-footer { 
    background-color: #343a40; 
    color: white; 
    padding: 1rem 0; 
    text-align: center; 
}
.sidebar .nav-link { 
    color: #333; 
    border-radius: 0.375rem; 
    margin-bottom: 0.25rem; 
    padding: 0.75rem 1rem; /* Ajuste de padding para melhor toque */
}
.sidebar .nav-link:hover, 
.sidebar .nav-link.active { 
    background-color: #e9ecef; 
    color: #0d6efd; 
}
.sidebar .nav-link .fa-fw { 
    margin-right: 8px; 
    width: 1.25em; /* Garante alinhamento dos ícones */
    text-align: center;
}
.submenu .nav-link { 
    font-size: 0.9em; 
    padding-left: 2.5rem; /* Indentação para submenu */
}
.submenu .nav-link:hover, 
.submenu .nav-link.active { 
    background-color: #dde2e6; 
}
.form-control.is-invalid { 
    border-color: #dc3545; 
}
.invalid-feedback { 
    display: block; 
}
.user-info {
    display: flex;
    align-items: center;
}
.user-info a { 
    color: white; 
    text-decoration: none; 
}
.user-info a:hover { 
    text-decoration: underline; 
}
.nav-tabs .nav-link.active {
    color: #0d6efd;
    background-color: #e9ecef; /* Cor de fundo da aba ativa */
    border-color: #dee2e6 #dee2e6 #e9ecef; /* Ajuste de borda */
}
.nav-tabs .nav-link {
    color: #495057; /* Cor do texto das abas não ativas */
    border-bottom-width: 2px; /* Borda inferior mais sutil para abas não ativas */
}
.nav-tabs .nav-link:hover {
    border-color: #e9ecef #e9ecef #dee2e6; /* Borda ao passar o mouse */
}
.section-title {
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
    border-bottom: 2px solid #0d6efd; /* Linha azul abaixo do título da seção */
    color: #0d6efd; /* Cor do título da seção */
    font-weight: 600;
    font-size: 1.25rem; /* Tamanho do título da seção */
}
.card { 
    border: none; 
    margin-bottom: 1.5rem; /* Espaçamento entre cards */
}
.card-header {
    background-color: #f8f9fa; /* Fundo leve para cabeçalhos de card */
    border-bottom: 1px solid #dee2e6;
    font-weight: 500;
}
.table { 
    border-radius: 0.375rem; 
    overflow: hidden; 
    margin-bottom: 0; /* Remover margem inferior da tabela dentro do card-body */
}
.table thead { 
    background-color: #e9ecef; 
    color: #495057; /* Cor do texto do cabeçalho da tabela */
    font-weight: 500;
}
.table-hover tbody tr:hover {
    background-color: #f1f3f5; /* Cor de hover mais sutil */
}
.btn-xs { 
    padding: 0.15rem 0.4rem;
    font-size: 0.75rem; 
    border-radius: 0.2rem;
}
.badge {
    font-size: 0.8em;
    padding: 0.4em 0.6em;
}
.modal-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}
.modal-title {
    color: #0d6efd;
    font-weight: 500;
}
.form-text {
    font-size: 0.875em;
}