/* =================================================================== */
/* ARQUIVO DE TEMA PROFISSIONAL (tema.css) - VERSÃO FINAL COM TEMA CENTRALIZADO
/* =================================================================== */

/* --- 1. FONTES E VARIÁVEIS DE TEMA --- */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&family=Lora:wght@700&display=swap');

:root {
    /* NOVA PALETA DE CORES */
    --cor-primaria: #34495e;       /* Azul-Ardósia */
    --cor-primaria-hover: #2c3e50;  /* Mais escuro */
    --cor-acento: #1abc9c;         /* Verde-Mar */
    --cor-acento-hover: #16a085;   /* Mais escuro */
    --cor-secundaria: #6c757d;      /* Cinza Padrão */
    --cor-secundaria-hover: #5a6268;
    --cor-fundo: #f8f9fa;
    --cor-superficie: #ffffff;
    --cor-texto: #212529;
    --cor-texto-suave: #6c757d;
    --cor-texto-claro: #ffffff;
    --cor-borda: #dee2e6;
    --cor-sucesso: #198754;
    --cor-perigo: #dc3545;
    --cor-foco: #ff8c00; /* Laranja vibrante para foco */
    --cor-foco-transparente: rgba(255, 140, 0, 0.4);

    /* === ADIÇÃO PARA O EFEITO DE FOCO GRADIENTE === */
    --cor-foco-transparente-mais-forte: rgba(255, 140, 0, 0.7); /* Laranja mais forte para o início do gradiente */
    
    --fonte-titulos: 'Roboto', sans-serif;
    --fonte-corpo: 'Roboto', sans-serif;
}

/* --- 2. ESTILOS GERAIS E TIPOGRAFIA --- */
body {
    background-color: var(--cor-fundo);
    color: var(--cor-texto);
    font-family: var(--fonte-corpo);
}
h1, h2, h4, h5, h6 {
    font-family: var(--fonte-titulos);
    color: var(--cor-primaria);
}
label {
    font-weight: 700 !important;
    color: var(--cor-primaria) !important;
}

/* --- 3. COMPONENTES GLOBAIS (Cards) --- */
.card {
    background-color: var(--cor-superficie);
    border: 1px solid var(--cor-borda);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    margin-top: 2.5rem !important;
}
.card-header { 
    font-family: var(--fonte-titulos); 
    font-size: 1.25rem; 
    color: var(--cor-texto-claro); 
    background-color: var(--cor-primaria); 
}

.btn { 
    border-radius: 4px; 
    font-weight: 700; 
    text-transform: uppercase; 
    letter-spacing: 0.5px; 
    padding: 0.75rem 1.5rem;
    transition: all 0.2s ease-in-out; 
}
.btn:hover { 
    transform: translateY(-2px); 
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); 
}
.btn-primary { 
    background-color: var(--cor-primaria) !important; 
    border-color: var(--cor-primaria) !important; 
    color: var(--cor-texto-claro) !important; 
}
.btn-primary:hover, .btn-primary:focus { 
    background-color: var(--cor-primaria-hover) !important; 
    border-color: var(--cor-primaria-hover) !important; 
}

/* Botão de destaque com a nova cor de acento */
.btn-accent {
    background-color: var(--cor-acento);
    border-color: var(--cor-acento);
    color: var(--cor-texto-claro) !important;
}
.btn-accent:hover, .btn-accent:focus {
    background-color: var(--cor-acento-hover) !important;
    border-color: var(--cor-acento-hover) !important;
    color: var(--cor-texto-claro) !important;
}
.btn-outline-accent { /* Mantido para consistência */
    --bs-btn-color: var(--cor-acento);
    --bs-btn-border-color: var(--cor-acento);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--cor-acento);
    --bs-btn-hover-border-color: var(--cor-acento);
}

/* --- 4. COMPONENTES DE FORMULÁRIO --- */
.form-control, .form-select { 
    background-color: var(--cor-superficie); 
    border: 1px solid var(--cor-borda); 
    color: var(--cor-texto); 
}

/* CORREÇÃO: Altera a cor da borda e do box-shadow para usar --cor-foco */
.form-control:focus, .form-select:focus { 
    border-color: var(--cor-foco) !important; /* Usa a cor de foco (amarelo) */
    box-shadow: 0 0 0 0.25rem var(--cor-foco-transparente) !important; /* Usa a cor de foco transparente */
}
#formTermos label {
    margin-bottom: 0.75rem !important;
    margin-top: 0 !important;
}

/* --- 5. ESTILOS DE TABELA --- */
.table thead.table-dark th,
.table thead th {
    background-color: var(--cor-primaria) !important;
    color: var(--cor-texto-claro) !important;
    border-color: var(--cor-primaria-hover) !important;
    font-family: var(--fonte-corpo);
}
.table-hover tbody tr:hover {
    background-color: #e9ecef;
}
.table tbody td {
    vertical-align: middle !important;
}

/* ESTILO PADRONIZADO PARA BOTÕES DE EXCLUSÃO PEQUENOS */

.btn-excluir-responsavel { /* Mantém o estilo sem fundo */
    background: none !important;
    border: none !important;
    color: var(--cor-texto-suave) !important;
    box-shadow: none !important;
}
.btn-excluir-responsavel:hover {
    color: var(--cor-perigo) !important;
    transform: scale(1.2) translateY(0) !important;
}

/* --- 6. ESTILOS ESPECÍFICOS DE PÁGINAS --- */

/* Cadastro de Responsáveis (Abas) */
.nav-tabs .nav-link {
    color: var(--cor-texto-suave);
    border-bottom-width: 3px;
    border-bottom-color: transparent;
}
.nav-tabs .nav-link.active {
    color: var(--cor-primaria);
    font-weight: 600;
    border-color: #dee2e6 #dee2e6 var(--cor-primaria);
}
.tab-pane { padding-top: 1.5rem; }


/* =================================================================== */
/* --- 7. BOTÕES SEMÂNTICOS DO TEMA ---
/* Use estas classes em vez de btn-primary, btn-info, etc. para 
/* garantir que o site inteiro mude junto com a paleta de cores.
/* =================================================================== */

.btn-theme-success {
    background-color: var(--cor-sucesso);
    border-color: var(--cor-sucesso);
    color: var(--cor-texto-claro);
}
.btn-theme-success:hover {
    background-color: #157347; /* Um verde um pouco mais escuro */
    border-color: #146c43;
    color: var(--cor-texto-claro);
}

/* Estilo Base para todos os botões do tema */
.btn-theme {
    border-radius: 4px; 
    font-weight: 700; 
    text-transform: uppercase; 
    letter-spacing: 0.5px; 
    transition: all 0.2s ease-in-out;
}
.btn-theme:hover {
    transform: translateY(-2px); 
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15); 
}

/* Botão Primário (Ações principais: Salvar, Cadastrar) */
.btn-theme-primary {
    background-color: var(--cor-primaria);
    border-color: var(--cor-primaria);
    color: var(--cor-texto-claro);
}
.btn-theme-primary:hover {
    background-color: var(--cor-primaria-hover);
    border-color: var(--cor-primaria-hover);
    color: var(--cor-texto-claro);
}

/* Botão de Destaque (Ações especiais: Gerenciar, Adicionar) */
.btn-theme-accent {
    background-color: var(--cor-acento);
    border-color: var(--cor-acento);
    color: var(--cor-texto-claro) !important;
}
.btn-theme-accent:hover, .btn-theme-accent:focus {
    background-color: var(--cor-acento-hover) !important;
    border-color: var(--cor-acento-hover) !important;
    color: var(--cor-texto-claro) !important;
}

/* Botão Secundário (Ações neutras: Editar, Renomear) */
.btn-theme-secondary {
    background-color: var(--cor-secundaria);
    border-color: var(--cor-secundaria);
    color: var(--cor-texto-claro);
}
.btn-theme-secondary:hover {
    background-color: var(--cor-secundaria-hover);
    border-color: var(--cor-secundaria-hover);
    color: var(--cor-texto-claro);
}

/* Botão de Perigo (Ações destrutivas: Excluir) */
.btn-theme-danger {
    background-color: var(--cor-perigo);
    border-color: var(--cor-perigo);
    color: var(--cor-texto-claro);
}
.btn-theme-danger:hover {
    background-color: #c82333; /* Um vermelho um pouco mais escuro */
    border-color: #bd2130;
    color: var(--cor-texto-claro);
}
/* NOVO: Estilos para o botão de voltar flutuante */
#back-button-floating {
    position: fixed;
    top: 60px; /* Ajustado para ficar abaixo do sidebar-toggle */
    left: 10px;
    z-index: 1050; /* Acima da sidebar-overlay, mas abaixo de modais */
    width: 40px; /* Largura para ser uma flecha */
    height: 40px; /* Altura para ser uma flecha */
    border-radius: 50%; /* Circular */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    transition: all 0.2s ease-in-out;
    background-color: var(--cor-primaria); /* Cor do tema */
    border-color: var(--cor-primaria);
    color: var(--cor-texto-claro);
}

#back-button-floating:hover {
    background-color: var(--cor-primaria-hover);
    border-color: var(--cor-primaria-hover);
    transform: scale(1.1);
}

/* Ajuste para o sidebar-toggle para garantir que não haja sobreposição */
#sidebar-toggle {
    z-index: 1051; /* Garante que o toggle da sidebar esteja acima do botão de voltar */
}
/* Ajuste para remover o espaçamento do card de filtros na página de relatórios */
.card-body > .card {
    margin-top: 0 !important;
    margin-bottom: 1.5rem; /* Mantém um espaçamento inferior antes do título da tabela */
}
