/* ========================
   ESTILO BASE CORPORATIVO
   ======================== */

/* === Variáveis principais === */
:root {
    --cor-principal: #B86231;
    --cor-principal-hover: #7b4322;
    --cor-secundaria: #19535F;
    --cor-terciária: #0B7A75;
    --cor-danger: #dc3545;
    --cor-success: #198754;
    --cinza-claro: #F7F3E3;
    --cinza-medio: #C1BDB3;
    --cinza-escuro: #939088;
    --texto-claro: #ffffff;
    --texto-escuro: #2B3834;
}

/* === Reset básico === */
body {
    background-color: var(--cor-secundaria);
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    color: var(--texto-escuro);
    margin: 0;
}

/* === Botões === */
.btn-primary {
    background-color: var(--cor-principal);
    border-color: var(--cor-principal);
    color: var(--texto-claro);
}
.btn-primary:hover {
    background-color: var(--cor-principal-hover);
    border-color: var(--cor-principal-hover);
}

.btn-outline-primary {
    color: var(--cor-principal);
    border-color: var(--cor-principal);
    background-color: transparent;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.btn-outline-primary:hover {
    background-color: var(--cor-principal-hover);
    border-color: var(--cor-principal-hover);
    color: var(--texto-claro);
}

.btn-secondary {
    background-color: var(--cinza-escuro);
    border-color: var(--cinza-escuro);
    color: var(--texto-claro);
}
.btn-secondary:hover {
    background-color: #565e64;
    border-color: #565e64;
}

.btn-danger {
    background-color: var(--cor-danger);
    border-color: var(--cor-danger);
    color: var(--texto-claro);
}
.btn-danger:hover {
    background-color: #bb2d3b;
    border-color: #b02a37;
}

/* === Cartões === */
.card {
    border: none;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.05);
    background-color: var(--texto-claro);
}

/* === Formulários === */
.form-control {
    border-radius: 6px;
    border: 1px solid var(--cinza-medio);
}
.form-control:focus {
    border-color: var(--cor-principal);
    box-shadow: 0 0 0 0.2rem rgba(0,77,153,0.25);
}
label {
    font-weight: 500;
}

/* === Tabelas === */
.table {
    border-collapse: collapse;
    background-color: var(--texto-claro);
}
.table th {
    background-color: var(--cor-principal);
    color: var(--texto-claro);
    font-weight: 600;
}
.table td, .table th {
    padding: 0.75rem;
    vertical-align: middle;
    border: 1px solid var(--cinza-medio);
}
.table-hover tbody tr:hover {
    background-color: var(--cinza-claro);
}

/* === Alerts === */
.alert-success {
    background-color: #d1e7dd;
    border-color: #badbcc;
    color: #0f5132;
}
.alert-danger {
    background-color: #f8d7da;
    border-color: #f5c2c7;
    color: #842029;
}
.alert-info {
    background-color: #cff4fc;
    border-color: #b6effb;
    color: #055160;
}

/* === Espaçamento padrão === */
.mt-4 { margin-top: 1.5rem !important; }
.mb-4 { margin-bottom: 1.5rem !important; }
.pt-4 { padding-top: 1.5rem !important; }
.pb-4 { padding-bottom: 1.5rem !important; }

/* === Login específico === */
.login-card {
    max-width: 400px;
    width: 100%;
    padding: 2rem;
    background-color: var(--cinza-claro);
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

.login-container {
    min-height: 100vh;
}

/* === Logo da marca === */
.brand-logo {
    max-width: 60px;
    height: auto;
    margin-bottom: 2rem;
}

/* === Grid interno para conteúdo de páginas === */
.pagina-conteudo {
    padding: 2rem;
    background-color: var(--texto-claro);
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

/* === Navbar === */
nav {
    background-color: var(--cinza-claro);
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

nav .dropdown-menu {
    background-color: var(--cinza-claro)
}

nav .dropdown-item {
    background-color: var(--cinza-claro);
}

nav .dropdown-item:hover {
    background-color: var(--cinza-medio);
}

/* === Card === */
.card {
    background-color: var(--cinza-claro);
    border-radius: 10px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    transition: box-shadow 0.2s ease-in-out;
}

.card:hover {
  box-shadow: 0 12px 24px rgba(0, 0, 0, 1); /* sombra mais escura, maior e mais espalhada */
}

/* === Datatables === */
/* Corrige botão ativo do DataTables */
.dataTables_wrapper .dataTables_paginate .page-item.active .page-link,
.dataTables_wrapper .dataTables_paginate .page-link.active {
    background-color: var(--cor-principal) !important;
    color: var(--cinza-claro) !important;
    border-color: var(--cor-principal-hover) !important;
    box-shadow: none !important;
}

/* Corrige estilo da tag 'error' usada por Django */
.alert-error {
  background-color: #f8d7da;
  color: #842029;
  border: 1px solid #f5c2c7;
}

/* === Responsividade === */
@media (max-width: 576px) {
    .brand-logo {
        max-width: 40px;
    }
}

/* =========================
   Tabs (Bootstrap 5)
   ========================= */

/* Barra inferior das tabs */
.nav-tabs {
    border-bottom: 2px solid var(--cor-principal);
}

/* Abas inativas: tira borda padrão e ajusta cor do texto */
.nav-tabs .nav-link {
    border: none;
    color: var(--cor-secundaria);            /* texto das abas inativas */
    background-color: transparent;
    font-weight: 600;
}

/* Hover/focus nas inativas */
.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
    color: var(--cor-principal);
    background-color: rgba(184, 98, 49, 0.08); /* leve hint da cor principal */
    border: none;
}

/* Aba ativa: usa 100% a paleta */
.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
    color: var(--texto-claro);
    background-color: var(--cor-principal);
    border: none;
    box-shadow: 0 0 0 1px var(--cor-principal); /* borda óptica para recorte */
}

/* Ajuste para melhor clique em mobile */
.nav-tabs .nav-link {
    padding: 0.75rem 1rem;
    border-radius: 0.5rem 0.5rem 0 0; /* cantos levemente arredondados em cima */
}

/* Acessibilidade: foco por teclado bem visível */
.nav-tabs .nav-link:focus-visible {
    outline: 3px solid var(--cor-terciária);
    outline-offset: 2px;
}

/* Conteúdo das tabs dentro de "card" */
.tab-card {
    background: var(--texto-claro);
    border: 1px solid var(--cinza-medio);
    border-top: none;                        /* para encaixar com a barra das tabs */
    border-radius: 0 0 10px 10px;
    padding: 1rem;
}

/* Estado disabled (se algum dia usar) */
.nav-tabs .nav-link.disabled,
.nav-tabs .nav-item.show .nav-link.disabled {
    color: var(--cinza-escuro);
    background-color: transparent;
    border: none;
    opacity: 0.7;
    cursor: not-allowed;
}

/* === Ajuste botão primário desabilitado === */
.btn-primary:disabled,
.btn-primary.disabled {
    background-color: var(--cinza-medio) !important; /* cor neutra */
    border-color: var(--cinza-medio) !important;
    color: var(--texto-claro) !important;
    opacity: 0.65; /* mantém contraste de desabilitado */
    cursor: not-allowed;
}
