/**
 * TJMGOBMINAS — Sistema Eletrônico de Processo
 * Identidade visual institucional maçônica: navy profundo + dourado velho,
 * sóbria e de alto contraste (WCAG AA). Este arquivo é a ÚNICA folha de
 * estilos institucional do sistema — carregado por último em todos os
 * layouts (app / guest / errors) para sobrescrever com segurança os
 * padrões azuis genéricos do Bootstrap 4 / AdminLTE 3.
 *
 * Substitui `tjmgobminas.css` (removido).
 */

:root {
    /* Azul Maçônico / Navy Profundo — cor primária institucional */
    --tjm-navy: #0B1E36;
    --tjm-navy-alt: #13293D;   /* variação para gradientes / hover / profundidade */
    --tjm-navy-darker: #071322;

    /* Dourado Institucional / Ouro Velho — cor de destaque */
    --tjm-gold: #C5A059;
    --tjm-gold-bright: #D4AF37; /* acentos ativos, hover, bordas de destaque */
    --tjm-gold-soft: rgba(197, 160, 89, .18);

    /* Sidebar & estrutura — fundo escuro sóbrio (dark slate) */
    --tjm-slate: #0F172A;
    --tjm-slate-light: #1E293B;

    /* Tipografia sobre fundo escuro — contraste WCAG AA garantido */
    --tjm-text-on-dark: #E2E8F0;
    --tjm-text-on-dark-muted: #94A3B8;

    --tjm-bg: #f4f6f9;

    /* Badges de sigilo processual */
    --tjm-sigilo-publico: #2E7D32;
    --tjm-sigilo-restrito: #F57F17;
    --tjm-sigilo-segredo: #B71C1C;
}

body {
    background-color: var(--tjm-bg);
}

/* =====================================================================
   1. LOGOMARCA / BRAND
   ===================================================================== */

.brand-link.tjm-brand {
    background-color: var(--tjm-navy-darker);
    border-bottom: 1px solid rgba(197, 160, 89, .35);
    display: flex;
    align-items: center;
    justify-content: center;
}

.brand-link.tjm-brand .brand-text {
    color: var(--tjm-gold-bright);
    font-weight: 600;
    letter-spacing: .5px;
    white-space: normal;
    line-height: 1.1;
}

/* `.brand-image` é a classe OFICIAL do AdminLTE — é ela (não uma classe
   customizada) que o núcleo do template redimensiona/reposiciona quando a
   sidebar entra em modo `sidebar-collapse` (mini). `.tjm-brand-image`
   apenas adiciona o acabamento visual institucional por cima. */
.brand-image.tjm-brand-image {
    border: 2px solid var(--tjm-gold);
    background: #fff;
    object-fit: cover;
}

/* Sidebar recolhida (sidebar-mini): logo menor e sem o texto ao lado,
   com um anel dourado mais fino para não pesar no ícone reduzido. */
.sidebar-collapse .brand-link.tjm-brand {
    justify-content: center;
    padding-left: 0;
    padding-right: 0;
}

.sidebar-collapse .brand-image.tjm-brand-image {
    border-width: 1px;
    margin-right: 0;
}

/* =====================================================================
   2. PALETA INSTITUCIONAL — overrides Bootstrap/AdminLTE
   ===================================================================== */

/* ---- Cor primária (navy) sobrescreve o azul padrão do Bootstrap ---- */
.btn-primary,
.btn-tjm {
    background-color: var(--tjm-navy);
    border-color: var(--tjm-navy);
    color: #fff;
    font-weight: 600;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-tjm:hover,
.btn-tjm:focus {
    background-color: var(--tjm-navy-alt);
    border-color: var(--tjm-gold);
    color: var(--tjm-gold-bright);
}

.btn-outline-primary {
    color: var(--tjm-navy);
    border-color: var(--tjm-navy);
}

.btn-outline-primary:hover {
    background-color: var(--tjm-navy);
    border-color: var(--tjm-navy);
}

.bg-primary {
    background-color: var(--tjm-navy) !important;
}

.text-primary {
    color: var(--tjm-navy) !important;
}

.bg-navy {
    background-color: var(--tjm-navy) !important;
}

a {
    color: var(--tjm-navy);
}

a:hover {
    color: var(--tjm-gold-bright);
}

/* ---- Cards institucionais (cabeçalho navy + friso dourado) ---- */
.card-tjm > .card-header {
    background-color: var(--tjm-navy);
    color: #fff;
    border-bottom: 2px solid var(--tjm-gold);
}

.card-tjm > .card-header .card-title,
.card-tjm > .card-header a {
    color: #fff;
}

/* Mesmo com as classes oficiais `card-outline card-primary` do AdminLTE
   (friso colorido no topo do card), o friso segue a paleta institucional. */
.card.card-primary.card-outline {
    border-top-color: var(--tjm-navy);
}

.card.card-primary:not(.card-outline) > .card-header {
    background-color: var(--tjm-navy);
    border-color: var(--tjm-navy);
}

/* ---- Small boxes (dashboards) ---- */
.small-box-tjm {
    background: linear-gradient(135deg, var(--tjm-navy) 0%, var(--tjm-navy-darker) 100%);
    color: #fff;
    border-left: 4px solid var(--tjm-gold);
}

.small-box-tjm .icon {
    color: rgba(197, 160, 89, .35);
}

/* ---- Badges especiais / acentos dourados ---- */
.badge-tjm,
.badge-tjm-role {
    background-color: var(--tjm-gold);
    color: var(--tjm-navy-darker);
    border: 1px solid var(--tjm-gold-bright);
    font-weight: 600;
}

/* ---- Badges de sigilo processual (mapeadas 1:1 pelos enums do sistema:
   Público Interno = success, Restrito = warning, Segredo = danger) ---- */
.badge-success {
    background-color: var(--tjm-sigilo-publico) !important;
}

.badge-warning {
    background-color: var(--tjm-sigilo-restrito) !important;
    color: #fff !important;
}

.badge-danger {
    background-color: var(--tjm-sigilo-segredo) !important;
}

/* =====================================================================
   3. SIDEBAR & ESTRUTURA — fundo escuro sóbrio (dark slate)
   ===================================================================== */

.main-sidebar.tjm-sidebar {
    background-color: var(--tjm-slate);
}

.tjm-sidebar .nav-header {
    color: var(--tjm-gold);
    font-weight: 700;
    letter-spacing: .06em;
    opacity: .85;
}

.tjm-sidebar .nav-sidebar > .nav-item > .nav-link {
    color: var(--tjm-text-on-dark);
    border-left: 3px solid transparent;
}

.tjm-sidebar .nav-sidebar > .nav-item > .nav-link .nav-icon {
    color: var(--tjm-text-on-dark-muted);
}

.tjm-sidebar .nav-sidebar > .nav-item > .nav-link.active {
    background-color: var(--tjm-gold-soft);
    color: var(--tjm-gold-bright) !important;
    font-weight: 600;
    border-left: 3px solid var(--tjm-gold-bright);
}

.tjm-sidebar .nav-sidebar > .nav-item > .nav-link.active p,
.tjm-sidebar .nav-sidebar > .nav-item > .nav-link.active .nav-icon {
    color: var(--tjm-gold-bright) !important;
}

.tjm-sidebar .nav-link:hover {
    background-color: rgba(197, 160, 89, .12);
    color: var(--tjm-gold-bright);
}

.tjm-sidebar .nav-link:hover .nav-icon {
    color: var(--tjm-gold-bright);
}

.tjm-sidebar .user-panel .info a {
    color: var(--tjm-text-on-dark);
    font-weight: 600;
}

.tjm-sidebar .user-panel {
    border-bottom-color: rgba(197, 160, 89, .25) !important;
}

.tjm-sidebar .os-theme-light > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle {
    background: rgba(197, 160, 89, .4);
}

/* ---- Topbar / navbar ---- */
.main-header.tjm-topbar {
    background-color: var(--tjm-navy);
    border-bottom: 3px solid var(--tjm-gold);
}

.tjm-topbar .nav-link {
    color: var(--tjm-text-on-dark);
}

.tjm-topbar .nav-link:hover {
    color: var(--tjm-gold-bright);
}

/* =====================================================================
   4. TELAS DE AUTENTICAÇÃO (login / recuperação de senha / erros)
   ===================================================================== */

.tjm-auth-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: radial-gradient(circle at top, var(--tjm-navy-alt) 0%, var(--tjm-navy-darker) 65%);
    padding: 1.5rem;
}

.tjm-auth-card {
    width: 100%;
    max-width: 440px;
    border: none;
    border-radius: .5rem;
    box-shadow: 0 1rem 3rem rgba(0, 0, 0, .35);
    overflow: hidden;
}

.tjm-auth-card .card-header {
    background-color: #fff;
    text-align: center;
    padding: 2rem 1.5rem 1.25rem;
    border-bottom: 3px solid var(--tjm-gold);
}

/* Logo em alta resolução: sem recorte forçado em círculo — preserva
   brasão/emblema institucional por inteiro, com moldura sóbria. */
.tjm-auth-logo {
    max-height: 96px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.tjm-auth-title {
    color: var(--tjm-navy);
    font-weight: 700;
    margin-top: .9rem;
    margin-bottom: 0;
    font-size: 1.1rem;
}

.tjm-auth-subtitle {
    color: #6c757d;
    font-size: .8rem;
    letter-spacing: .5px;
    text-transform: uppercase;
}

.tjm-auth-card .card-body {
    padding: 1.5rem 2rem 2rem;
}

.tjm-auth-footer {
    text-align: center;
    margin-top: 1.25rem;
    font-size: .78rem;
    color: rgba(255, 255, 255, .7);
}

.tjm-auth-links a {
    color: var(--tjm-navy);
}

.tjm-auth-links a:hover {
    color: var(--tjm-gold-bright);
}

/* =====================================================================
   5. COMPONENTES AUXILIARES (DataTables / tooltips / Select2)
   ===================================================================== */

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--tjm-navy) !important;
    border-color: var(--tjm-navy) !important;
    color: #fff !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: var(--tjm-gold-soft) !important;
    border-color: var(--tjm-gold) !important;
    color: var(--tjm-navy) !important;
}

.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper .dataTables_length select:focus {
    border-color: var(--tjm-gold);
    box-shadow: 0 0 0 .2rem var(--tjm-gold-soft);
}

.tooltip-inner {
    background-color: var(--tjm-navy-darker);
}

.tooltip.bs-tooltip-top .arrow::before {
    border-top-color: var(--tjm-navy-darker);
}

.tooltip.bs-tooltip-bottom .arrow::before {
    border-bottom-color: var(--tjm-navy-darker);
}

.select2-container--bootstrap4 .select2-selection--single:focus,
.select2-container--bootstrap4.select2-container--focus .select2-selection {
    border-color: var(--tjm-gold);
    box-shadow: 0 0 0 .2rem var(--tjm-gold-soft);
}

/* =====================================================================
   6. DOCUMENTOS INSTITUCIONAIS IMPRIMÍVEIS
   ===================================================================== */

.tjm-folha-cabecalho {
    border-bottom: 3px solid var(--tjm-gold);
    padding-bottom: 1rem;
    margin-bottom: 1.5rem;
    text-align: center;
}

.tjm-folha-cabecalho h2 {
    color: var(--tjm-navy);
    font-weight: 700;
    margin-bottom: 0;
}

@media print {
    .main-sidebar, .main-header, .main-footer, .no-print {
        display: none !important;
    }

    .content-wrapper {
        margin-left: 0 !important;
    }

    body {
        background: #fff !important;
    }
}

/* =====================================================================
   7. RESPONSIVIDADE
   ===================================================================== */

@media (max-width: 575.98px) {
    .tjm-auth-card .card-body {
        padding: 1.25rem;
    }

    .content-wrapper > .content {
        padding: 0 .5rem;
    }
}
