/* ==========================================================================
   MIDGARD - PALETA DE CORES NÓRDICA & TERROSA (THEME CSS)
   Cores: Terracota, Warm Taupe, Moss Green, Dusty Rose, Soft Camel
   Acessibilidade: WCAG AA / AAA em todos os contrastes
   ========================================================================== */

:root {
    /* 1. Terracota (Identidade Principal / Brand / Administrador) */
    --midgard-terracota: #B85333;
    --midgard-terracota-dark: #8E381E;
    --midgard-terracota-hover: #732B15;
    --midgard-terracota-light: #FBF0EC;
    --midgard-terracota-subtle: #F5DDD4;
    --midgard-terracota-border: #E8C9BD;

    /* 2. Warm Taupe (Estrutura / Bordas / Neutro / Logs de Auditoria) */
    --midgard-taupe: #8C7764;
    --midgard-taupe-dark: #5C4C3E;
    --midgard-taupe-hover: #483A2E;
    --midgard-taupe-light: #F4EFEB;
    --midgard-taupe-subtle: #E8E0D7;
    --midgard-taupe-border: #D9CEC4;

    /* 3. Moss Green (Confirmação / Status Ativo / Coordenador) */
    --midgard-moss: #4A5B35;
    --midgard-moss-dark: #334023;
    --midgard-moss-hover: #26311A;
    --midgard-moss-light: #EFF3EB;
    --midgard-moss-subtle: #DDE6D5;
    --midgard-moss-border: #C7D7BC;

    /* 4. Dusty Rose (Acentos Suaves / Visitante / Notificações) */
    --midgard-rose: #A66B6D;
    --midgard-rose-dark: #7A484A;
    --midgard-rose-hover: #63383A;
    --midgard-rose-light: #F8EFF0;
    --midgard-rose-subtle: #F0DEE0;
    --midgard-rose-border: #E5C3C6;

    /* 5. Soft Camel (Atenção / Avisos / Operador / Primeiro Acesso) */
    --midgard-camel: #C49438;
    --midgard-camel-dark: #88621D;
    --midgard-camel-hover: #6D4D14;
    --midgard-camel-light: #FBF5EB;
    --midgard-camel-subtle: #F6E9CE;
    --midgard-camel-border: #EDD7B2;

    /* Superfícies, Telas & Tipografia */
    --midgard-bg: #FAF8F5;
    --midgard-surface: #FFFFFF;
    --midgard-text: #2B2421;
    --midgard-muted: #736760;
    --midgard-border: #E8E2DC;

    /* Sobrescrita de Variáveis Bootstrap */
    --app-primary: var(--midgard-terracota-dark);
    --app-bg: var(--midgard-bg);

    --bs-primary: #8E381E;
    --bs-primary-rgb: 142, 56, 30;
    --bs-primary-hover-bg: #732B15;
    --bs-primary-hover-border: #732B15;
    --bs-primary-active-bg: #5D210F;
    --bs-primary-active-border: #5D210F;

    --bs-body-bg: var(--midgard-bg);
    --bs-body-color: var(--midgard-text);
}

/* ==========================================================================
   ESTRUTURA GERAL & TIPOGRAFIA
   ========================================================================== */
body {
    background-color: var(--midgard-bg) !important;
    color: var(--midgard-text) !important;
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ==========================================================================
   BARRA DE NAVEGAÇÃO (NAVBAR MIDGARD)
   ========================================================================== */
.navbar.bg-primary,
.navbar-midgard {
    background: linear-gradient(135deg, #7A2E16 0%, #8E381E 50%, #B85333 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
    box-shadow: 0 4px 12px rgba(115, 43, 21, 0.18) !important;
}

.navbar .nav-link {
    color: rgba(255, 255, 255, 0.9) !important;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus {
    color: #FFFFFF !important;
    background-color: rgba(255, 255, 255, 0.12);
    border-radius: 0.375rem;
}

.navbar-brand {
    letter-spacing: 0.5px;
}

/* ==========================================================================
   BOTÕES (BUTTONS)
   ========================================================================== */
.btn-primary {
    background-color: var(--midgard-terracota-dark) !important;
    border-color: var(--midgard-terracota-dark) !important;
    color: #FFFFFF !important;
}

.btn-primary:hover,
.btn-primary:focus {
    background-color: var(--midgard-terracota-hover) !important;
    border-color: var(--midgard-terracota-hover) !important;
    color: #FFFFFF !important;
}

.btn-outline-primary {
    color: var(--midgard-terracota-dark) !important;
    border-color: var(--midgard-terracota-dark) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
    background-color: var(--midgard-terracota-dark) !important;
    border-color: var(--midgard-terracota-dark) !important;
    color: #FFFFFF !important;
}

.btn-outline-secondary {
    color: var(--midgard-taupe-dark) !important;
    border-color: var(--midgard-taupe-border) !important;
}

.btn-outline-secondary:hover {
    background-color: var(--midgard-taupe-light) !important;
    color: var(--midgard-taupe-dark) !important;
    border-color: var(--midgard-taupe) !important;
}

/* ==========================================================================
   CORES AUXILIARES & UTILITÁRIOS
   ========================================================================== */
.text-primary {
    color: var(--midgard-terracota-dark) !important;
}

.bg-primary {
    background-color: var(--midgard-terracota-dark) !important;
}

.bg-primary-subtle {
    background-color: var(--midgard-terracota-light) !important;
    color: var(--midgard-terracota-dark) !important;
}

.border-primary {
    border-color: var(--midgard-terracota-dark) !important;
}

.border-primary-subtle {
    border-color: var(--midgard-terracota-border) !important;
}

/* Cores específicas da Paleta Midgard */
.text-terracota { color: var(--midgard-terracota-dark) !important; }
.bg-terracota   { background-color: var(--midgard-terracota-dark) !important; color: #FFFFFF !important; }
.bg-terracota-subtle { background-color: var(--midgard-terracota-light) !important; color: var(--midgard-terracota-dark) !important; }
.border-terracota { border-color: var(--midgard-terracota-dark) !important; }

.text-taupe { color: var(--midgard-taupe-dark) !important; }
.bg-taupe   { background-color: var(--midgard-taupe-dark) !important; color: #FFFFFF !important; }
.bg-taupe-subtle { background-color: var(--midgard-taupe-light) !important; color: var(--midgard-taupe-dark) !important; }
.border-taupe { border-color: var(--midgard-taupe-border) !important; }

.text-moss { color: var(--midgard-moss-dark) !important; }
.bg-moss   { background-color: var(--midgard-moss-dark) !important; color: #FFFFFF !important; }
.bg-moss-subtle { background-color: var(--midgard-moss-light) !important; color: var(--midgard-moss-dark) !important; }
.border-moss { border-color: var(--midgard-moss-dark) !important; }

.text-rose { color: var(--midgard-rose-dark) !important; }
.bg-rose   { background-color: var(--midgard-rose-dark) !important; color: #FFFFFF !important; }
.bg-rose-subtle { background-color: var(--midgard-rose-light) !important; color: var(--midgard-rose-dark) !important; }
.border-rose { border-color: var(--midgard-rose-dark) !important; }

.text-camel { color: var(--midgard-camel-dark) !important; }
.bg-camel   { background-color: var(--midgard-camel-dark) !important; color: #FFFFFF !important; }
.bg-camel-subtle { background-color: var(--midgard-camel-light) !important; color: var(--midgard-camel-dark) !important; }
.border-camel { border-color: var(--midgard-camel-dark) !important; }

/* ==========================================================================
   BADGES DE PERFIS RBAC (ROLE-BASED ACCESS CONTROL)
   ========================================================================== */
.badge-role-administrador {
    background-color: var(--midgard-terracota-light) !important;
    color: var(--midgard-terracota-dark) !important;
    border: 1px solid var(--midgard-terracota-border) !important;
    font-weight: 600;
}

.badge-role-coordenador {
    background-color: var(--midgard-moss-light) !important;
    color: var(--midgard-moss-dark) !important;
    border: 1px solid var(--midgard-moss-border) !important;
    font-weight: 600;
}

.badge-role-operador {
    background-color: var(--midgard-camel-light) !important;
    color: var(--midgard-camel-dark) !important;
    border: 1px solid var(--midgard-camel-border) !important;
    font-weight: 600;
}

.badge-role-visitante {
    background-color: var(--midgard-rose-light) !important;
    color: var(--midgard-rose-dark) !important;
    border: 1px solid var(--midgard-rose-border) !important;
    font-weight: 600;
}

/* Badges de Status do Usuário */
.badge-status-ativo {
    background-color: var(--midgard-moss-light) !important;
    color: var(--midgard-moss-dark) !important;
    border: 1px solid var(--midgard-moss-border) !important;
    font-weight: 600;
}

.badge-status-inativo {
    background-color: var(--midgard-taupe-light) !important;
    color: var(--midgard-taupe-dark) !important;
    border: 1px solid var(--midgard-taupe-border) !important;
    font-weight: 600;
}

.badge-status-bloqueado {
    background-color: var(--midgard-camel-light) !important;
    color: var(--midgard-camel-dark) !important;
    border: 1px solid var(--midgard-camel-border) !important;
    font-weight: 600;
}

.badge-status-excluido {
    background-color: #E9ECEF !important;
    color: #6C757D !important;
    border: 1px solid #CED4DA !important;
    font-weight: 600;
}

/* ==========================================================================
   CARTÕES & FORMULÁRIOS (CARDS & FORMS)
   ========================================================================== */
.card {
    background-color: var(--midgard-surface) !important;
    border: 1px solid var(--midgard-border) !important;
    box-shadow: 0 3px 10px rgba(92, 76, 62, 0.05) !important;
    border-radius: 0.75rem !important;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--midgard-terracota) !important;
    box-shadow: 0 0 0 0.25rem rgba(184, 83, 51, 0.22) !important;
}

/* Tabelas */
.table thead th {
    background-color: var(--midgard-taupe-light) !important;
    color: var(--midgard-taupe-dark) !important;
    border-bottom: 2px solid var(--midgard-taupe-border) !important;
    font-weight: 600;
    text-transform: uppercase;
    font-size: 0.8rem;
    letter-spacing: 0.5px;
}

.table tbody tr:hover {
    background-color: rgba(140, 119, 100, 0.04) !important;
}

/* Links & Paginação */
a {
    color: var(--midgard-terracota-dark);
}

a:hover {
    color: var(--midgard-terracota-hover);
}

.page-item.active .page-link {
    background-color: var(--midgard-terracota-dark) !important;
    border-color: var(--midgard-terracota-dark) !important;
    color: #FFFFFF !important;
}

.page-link {
    color: var(--midgard-terracota-dark) !important;
}

/* ==========================================================================
   TELA DE AUTENTICAÇÃO (LOGIN & SENHA)
   ========================================================================== */
body.auth-page {
    background: linear-gradient(135deg, #473C31 0%, #5C4C3E 35%, #8E381E 70%, #B85333 100%) !important;
    min-height: 100vh;
}

.auth-card {
    background: #FFFFFF !important;
    border: 1px solid var(--midgard-border) !important;
    box-shadow: 0 15px 35px rgba(43, 36, 33, 0.25) !important;
}

.auth-icon-circle {
    background-color: var(--midgard-terracota-light) !important;
    color: var(--midgard-terracota-dark) !important;
}

/* ==========================================================================
   HERO BANNER PÚBLICO
   ========================================================================== */
.hero-banner {
    background: linear-gradient(135deg, #7A2E16 0%, #8E381E 45%, #5C4C3E 100%) !important;
    color: #FFFFFF !important;
}