/* ==========================================================================
   VARIÁVEIS GLOBAIS DE CORES
   Centraliza a paleta para fácil alteração sem quebrar o layout.
   ========================================================================== */
:root, [data-bs-theme="dark"] {
    /* --- Fundos (Backgrounds) --- */
    --bg-base: #2d2d2d;         /* Fundo principal da página/modais */
    --bg-darker: #1a1a1a;       /* Sidebars, inputs readonly */
    --bg-lighter: #383838;      /* Cabeçalhos de tabela, ribbons */
    --bg-input: #222222;        /* Inputs, headers */
    --bg-footer: #252525;       /* Rodapés de modal/tabela */
    --bg-hover: #444444;        /* Hovers gerais */
    --bg-menu-sub: #0f0f0f;     /* Submenus */
    --bg-almost-black: #000000; /* Code view, covers */

    /* --- Bordas --- */
    --border-base: #444444;     /* Borda padrão */
    --border-light: #555555;    /* Borda secundária */
    --border-dark: #333333;     /* Borda mais escura */
    
    /* --- Textos --- */
    --text-white: #ffffff;      /* Branco puro */
    --text-main: #e0e0e0;       /* Texto padrão (quase branco) */
    --text-secondary: #cccccc;  /* Texto secundário */
    --text-muted: #aaaaaa;      /* Texto apagado/placeholder */
    --text-dim: #888888;        /* Texto muito apagado */

    /* --- Cores de Destaque/Status --- */
    --color-primary: #2196f3;   /* Azul Principal */
    --color-success: #4caf50;   /* Verde Sucesso */
    --color-danger: #ff5252;    /* Vermelho Erro */
    --color-warning: #ffeb3b;   /* Amarelo Alerta */
    --color-info: #64b5f6;      /* Azul Claro Info */
    --color-purple-light: #efccff;
    
    /* Cores Específicas de Botões (Hardcoded no original, mantidas em vars) */
    --btn-primary-bg: #2962ff;
    --btn-success-bg: #00c853;
    --btn-info-bg: #00bcd4;
    --bg-purple-dark: #3e2b45;
    --btn-warning-bg: #ff9800;
}

/* ==========================================================================
   ESTILOS GERAIS DO TEMA
   ========================================================================== */

[data-bs-theme="dark"] .bg-white-wrapper {
    background: var(--bg-base) !important;
    color: var(--text-main);
    box-shadow: 0 1px 3px rgba(0,0,0,0.5);
    border: 1px solid var(--border-base);
}

[data-bs-theme="dark"] .section-title {
    color: #f0f0f0 !important;
    border-bottom: 1px solid var(--border-base);
}

[data-bs-theme="dark"] #content {
    background: var(--bg-hover);
}

[data-bs-theme="dark"] .info-line {
    color: #bbb !important;
}

[data-bs-theme="dark"] .info-label {
    color: var(--text-white) !important;
}

[data-bs-theme="dark"] .table-custom {
    border-color: var(--border-base) !important;
}
[data-bs-theme="dark"] .table-custom th {
    background-color: var(--bg-lighter) !important;
    color: var(--text-white) !important;
    border-color: var(--border-base) !important;
}
[data-bs-theme="dark"] .table-custom td {
    background-color: var(--bg-base) !important;
    color: #ddd !important;
    border-color: var(--border-base) !important;
}

[data-bs-theme="dark"] .total-display {
    background-color: var(--bg-lighter) !important;
    border-color: var(--border-base) !important;
    color: var(--text-white);
}

[data-bs-theme="dark"] .form-control {
    background-color: var(--bg-input);
    border-color: var(--border-base);
    color: var(--text-white);
}
[data-bs-theme="dark"] .form-control:disabled, 
[data-bs-theme="dark"] .form-control[readonly] {
    background-color: var(--bg-darker);
    opacity: 1;
}

[data-bs-theme="dark"] .termos-box {
    background-color: #1a2634;
    color: var(--text-secondary);
    border-left-color: var(--color-primary);
}

[data-bs-theme="dark"] h1, 
[data-bs-theme="dark"] h2, 
[data-bs-theme="dark"] h3, 
[data-bs-theme="dark"] h4, 
[data-bs-theme="dark"] h5, 
[data-bs-theme="dark"] label,
[data-bs-theme="dark"] strong,
[data-bs-theme="dark"] b {
    color: #f0f0f0 !important;
}
[data-bs-theme="dark"] .provaVestibular h1,
[data-bs-theme="dark"] .text-center b {
    color: var(--text-white) !important;
}
[data-bs-theme="dark"] .pagamentoCartaoWrapper {
    color: var(--text-main) !important;
}
[data-bs-theme="dark"] input.form-control,
[data-bs-theme="dark"] select.form-control {
    background-color: #2b2b2b !important;
    border: 1px solid var(--border-light) !important;
    color: var(--text-white) !important;
}
[data-bs-theme="dark"] ::placeholder {
    color: var(--text-muted) !important;
    opacity: 1; 
}

.btn-theme-toggle {
    cursor: pointer;
    font-size: 26px; /* Ícone bem grande */
    padding: 5px;
    transition: all 0.4s ease;
    outline: none !important;
}

.btn-theme-toggle:hover {
    transform: scale(1.2) rotate(10deg); /* Cresce e gira um pouco */
}

[data-bs-theme="light"] .btn-theme-toggle {
    color: #5a5a5a; 
}
[data-bs-theme="light"] .btn-theme-toggle:hover {
    color: #2c3e50;
    text-shadow: 0 0 5px rgba(0,0,0,0.3); /* Sombra suave */
}

[data-bs-theme="dark"] .btn-theme-toggle {
    color: var(--color-warning); /* Amarelo vivo */
    text-shadow: 0 0 10px #ff9800, 0 0 20px var(--color-warning);
}
[data-bs-theme="dark"] .btn-theme-toggle:hover {
    color: var(--text-white);
    text-shadow: 0 0 15px var(--color-warning), 0 0 30px #ff9800; /* Brilha mais ao passar o mouse */
}

[data-bs-theme="dark"] #logo img {
    filter: brightness(0) invert(1) !important;
}

[data-bs-theme="dark"] body, 
[data-bs-theme="dark"] div, 
[data-bs-theme="dark"] section, 
[data-bs-theme="dark"] header, 
[data-bs-theme="dark"] footer, 
[data-bs-theme="dark"] h1, 
[data-bs-theme="dark"] h2, 
[data-bs-theme="dark"] h3, 
[data-bs-theme="dark"] h4, 
[data-bs-theme="dark"] span, 
[data-bs-theme="dark"] label, 
[data-bs-theme="dark"] input, 
[data-bs-theme="dark"] button, 
[data-bs-theme="dark"] i {
    transition: background-color 0.5s ease, color 0.5s ease, border-color 0.5s ease, fill 0.5s ease;
}

html[data-bs-theme="dark"],
html[data-bs-theme="dark"] body {
    background-color: var(--bg-base) !important; /* Mesma cor do fundo principal */
    min-height: 100vh; /* Garante que o fundo cubra 100% da altura da tela */
    margin: 0;
}

[data-bs-theme="dark"] #content {
    background-color: var(--bg-base) !important;
    min-height: calc(100vh - 150px); /* Ajuste para empurrar o footer p/ baixo se vazio */
}

html[data-bs-theme="dark"] div#footerLayout {
    background-color: var(--bg-base) !important; /* Um tom levemente mais escuro para destacar */
    border-top: 1px solid var(--border-dark) !important;
    color: #b0b0b0 !important;
    
    /* Garante largura total e remove espaços brancos laterais */
    width: 100% !important;
    min-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    left: 0;
    right: 0;
    
    overflow: hidden; 
    display: block;
}

html[data-bs-theme="dark"] div#footerLayout > div,
html[data-bs-theme="dark"] div#footerLayout .col-xs-12 {
    background-color: inherit !important; /* Herda a cor escura do pai */
    color: #b0b0b0 !important;
    border: none !important;
}

[data-bs-theme="dark"] .jarviswidget,
[data-bs-theme="dark"] .widget-body,
[data-bs-theme="dark"] .modal-body {
    background-color: var(--bg-base) !important; /* Remove fundo branco do widget */
    color: var(--text-main) !important;
    border-color: var(--border-base) !important;
    box-shadow: none !important;
}

/* 2. Fieldsets e Legends (Linhas divisórias e Títulos de seção) */
[data-bs-theme="dark"] fieldset {
    border-color: var(--border-base) !important;
}

[data-bs-theme="dark"] legend {
    color: #f0f0f0 !important;        /* Títulos de seção brancos */
    border-bottom: 1px solid var(--border-base) !important; /* Linha divisória escura */
}

/* 3. Textos Estáticos (Ex: Matrícula: 12345) */
/* O .form-control-static é o texto que não é input (apenas leitura) */
[data-bs-theme="dark"] .form-control-static {
    color: var(--text-white) !important;
    font-weight: bold;
}

[data-bs-theme="dark"] p.form-control-static {
    min-height: auto !important; /* Corrige espaçamento se necessário */
}

/* 4. Checkboxes e Radios */
[data-bs-theme="dark"] .checkbox, 
[data-bs-theme="dark"] .radio {
    color: var(--text-main) !important;
}

/* 5. Inputs específicos do SmartAdmin (caso haja sobreposição) */
[data-bs-theme="dark"] .smart-form .input input,
[data-bs-theme="dark"] .smart-form .select select,
[data-bs-theme="dark"] .smart-form .textarea textarea {
    background-color: var(--bg-input) !important;
    border-color: var(--border-base) !important;
    color: var(--text-white) !important;
}

/* 6. Corrige botões que não sejam Primary/Danger */
[data-bs-theme="dark"] .btn-default {
    background-color: var(--bg-hover) !important;
    color: var(--text-white) !important;
    border-color: var(--border-light) !important;
}

/* 7. Inputs Readonly específicos dessa tela */
[data-bs-theme="dark"] input[readonly], 
[data-bs-theme="dark"] input[disabled] {
    background-color: var(--bg-darker) !important; /* Mais escuro para indicar travado */
    color: var(--text-dim) !important;
    border: 1px solid var(--border-dark) !important;
}

html[data-bs-theme="dark"],
html[data-bs-theme="dark"] body {
    background-color: var(--bg-base) !important;
    color: var(--text-main);
}

/* Garante que o container principal também fique escuro */
[data-bs-theme="dark"] #main {
    background-color: var(--bg-base) !important;
}

/* 2. CABEÇALHO (#header) */
[data-bs-theme="dark"] #header {
    background-color: var(--bg-input) !important; /* Um pouco mais escuro que o corpo */
    background-image: none !important; /* Remove gradientes do SmartAdmin */
    border-bottom: 1px solid var(--border-dark) !important;
    color: var(--text-white) !important;
}

/* Botões do Header (Notificação, Sair, Menu) */
[data-bs-theme="dark"] .btn-header > :first-child > a {
    background-color: var(--border-dark) !important;
    border: 1px solid var(--border-base) !important;
    color: #bbb !important;
    box-shadow: none !important;
}
[data-bs-theme="dark"] .btn-header > :first-child > a:hover {
    background-color: var(--border-base) !important;
    color: var(--text-white) !important;
}

/* 3. MENU LATERAL / SIDEBAR  */
[data-bs-theme="dark"] aside {
    background: linear-gradient(to right, var(--bg-darker) 93%, #000000 100%);
}

[data-bs-theme="dark"] aside#left-panel {
    background-color: var(--bg-darker) !important; /* Sidebar bem escura */
    border-right: 1px solid var(--border-dark) !important;
}

/* Informações de Login (Foto e Nome) */
[data-bs-theme="dark"] .login-info {
    border-bottom: 1px solid var(--border-dark) !important;
    background: var(--bg-darker) !important;
}
[data-bs-theme="dark"] .login-info a {
    color: var(--text-white) !important;
}

/* Links do Menu de Navegação */
[data-bs-theme="dark"] nav ul {
    background: var(--bg-darker) !important;
}
[data-bs-theme="dark"] nav ul li a {
    color: #b0b0b0 !important;
}
[data-bs-theme="dark"] nav ul li a:hover,
[data-bs-theme="dark"] nav ul li.active > a {
    color: var(--text-white) !important;
    background-color: var(--border-dark) !important;
}
/* Ícones do menu */
[data-bs-theme="dark"] nav ul li i {
    color: var(--text-dim) !important;
}

/* Input de Pesquisa no Menu */
[data-bs-theme="dark"] #pesMenu {
    background-color: var(--border-dark) !important;
    border: 1px solid var(--border-base) !important;
    color: var(--text-white) !important;
}
[data-bs-theme="dark"] .btn-pesquisa {
    background-color: transparent !important;
    color: var(--text-muted) !important;
}

/* 4. BARRA DE TÍTULO / BREADCRUMB (#ribbon) */
[data-bs-theme="dark"] #ribbon {
    background-color: var(--bg-lighter) !important;
    color: var(--text-white) !important;
    box-shadow: none !important;
    border-bottom: 1px solid var(--border-base) !important;
}
[data-bs-theme="dark"] .breadcrumb li {
    color: #ddd !important;
}
[data-bs-theme="dark"] .btn-ribbon {
    color: var(--text-white) !important;
    background-color: var(--border-base) !important;
}

/* 5. ÁREA DE CONTEÚDO (#content) */
[data-bs-theme="dark"] #content {
    background-color: var(--bg-base) !important;
}

/* 6. MODAIS (Trocar Senha, etc) */
[data-bs-theme="dark"] .modal-content {
    background-color: var(--bg-base) !important;
    border: 1px solid var(--border-base);
    color: var(--text-main);
}
[data-bs-theme="dark"] .modal-header {
    border-bottom: 1px solid var(--border-base) !important;
}

[data-bs-theme="dark"] .close {
    color: var(--text-white) !important;
    text-shadow: none !important;
    opacity: 0.7;
}

/* 7. RODAPÉ (.page-footer) */
[data-bs-theme="dark"] .page-footer {
    background: var(--bg-darker) !important;
    border-top: 1px solid var(--border-dark) !important;
    color: var(--text-muted) !important;
}

/* 8. CORREÇÃO DA LOGO NO HEADER */
[data-bs-theme="dark"] #logo img {
    filter: brightness(0) invert(1) !important;
    opacity: 0.9;
}

/* 9. SCROLLBAR PERSONALIZADA (Opcional - Fica bonito no dark) */
[data-bs-theme="dark"] ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
[data-bs-theme="dark"] ::-webkit-scrollbar-track {
    background: var(--bg-base); 
}
[data-bs-theme="dark"] ::-webkit-scrollbar-thumb {
    background: var(--border-light); 
    border-radius: 5px;
}
[data-bs-theme="dark"] ::-webkit-scrollbar-thumb:hover {
    background: #777; 
}

[data-bs-theme="dark"] #header .btn-header > :first-child > a {
    background: transparent !important;      /* Remove fundo cinza/degradê */
    border: none !important;                 /* Remove bordas */
    box-shadow: none !important;             /* Remove sombras 3D */
    color: #b0b0b0 !important;               /* Cor inicial do ícone (cinza claro) */
    cursor: pointer;
    transition: all 0.3s ease;               /* Animação suave igual à da lua */
}

/* 2. Garante que o ícone dentro herde a cor correta */
[data-bs-theme="dark"] #header .btn-header > :first-child > a > i {
    color: inherit !important;
}

/* 3. Efeito "Hover" (Ao passar o mouse) */
/* Faz os botões crescerem e brilharem, igual ao botão do tema */
[data-bs-theme="dark"] #header .btn-header > :first-child > a:hover {
    color: var(--text-white) !important;               /* Fica branco puro */
    transform: scale(1.15);                  /* Cresce um pouco (efeito zoom) */
    text-shadow: 0 0 8px rgba(255, 255, 255, 0.6); /* Brilho/Glow branco */
    background: transparent !important;
}

/* 4. Ajuste específico para o container deles não atrapalhar */
[data-bs-theme="dark"] #header .btn-header {
    background: transparent !important;
    border: none !important;
    margin-right: 5px; /* Espaçamento entre eles */
}


/* 1. CAIXAS E CONTAINERS (.well e .jumbotron) */
/* O SmartAdmin usa muito a classe .well para agrupar conteúdos */
[data-bs-theme="dark"] .well, 
[data-bs-theme="dark"] .jumbotron {
    background-color: var(--bg-base) !important;
    border: 1px solid var(--border-base) !important;
    color: var(--text-main) !important;
    box-shadow: none !important;
}

[data-bs-theme="dark"] legend {
    color: var(--text-white) !important;
    border-bottom: 1px solid var(--border-light) !important;
}

/* 2. TABELAS (DataTables e Tabelas Padrão) - ABRANGENTE */
[data-bs-theme="dark"] table.table {
    background-color: var(--bg-base) !important;
    color: #ddd !important;
    border-color: var(--border-base) !important;
}

[data-bs-theme="dark"] table.table thead tr th,
[data-bs-theme="dark"] table.table tfoot tr th {
    background-color: var(--bg-lighter) !important; /* Cabeçalho mais escuro */
    color: var(--text-white) !important;
    border-bottom: 1px solid var(--border-light) !important;
    border-top: 1px solid var(--border-light) !important;
}

[data-bs-theme="dark"] table.table tbody tr td {
    background-color: var(--bg-base) !important;
    border-color: var(--border-base) !important;
}

/* Listras da tabela (Zebra striping) */
[data-bs-theme="dark"] table.table-striped > tbody > tr:nth-of-type(odd) > td {
    background-color: var(--border-dark) !important; /* Linha ímpar um pouco mais clara */
}

/* Hover na tabela */
[data-bs-theme="dark"] table.table-hover > tbody > tr:hover > td {
    background-color: var(--border-base) !important;
}

/* Paginação do DataTables (Botões Anterior/Próximo) */
[data-bs-theme="dark"] .pagination > li > a,
[data-bs-theme="dark"] .pagination > li > span {
    background-color: var(--bg-input) !important;
    border-color: var(--border-base) !important;
    color: var(--text-secondary) !important;
}
[data-bs-theme="dark"] .pagination > .active > a, 
[data-bs-theme="dark"] .pagination > .active > span {
    background-color: var(--color-primary) !important; /* Azul destaque */
    border-color: var(--color-primary) !important;
    color: var(--text-white) !important;
}
[data-bs-theme="dark"] .pagination > .disabled > a,
[data-bs-theme="dark"] .pagination > .disabled > span {
    background-color: var(--bg-darker) !important;
    color: var(--border-light) !important;
}

/* 3. INPUTS DE ARQUIVO E TEXTOS DE AJUDA */
/* O input group (botão de procurar arquivo) */
[data-bs-theme="dark"] .input-group-btn .btn {
    border-color: var(--border-light) !important;
}

/* Textos de ajuda (ex: "Insira um arquivo") */
[data-bs-theme="dark"] .help-block {
    color: #999 !important;
}

/* Input readonly (usado para mostrar o nome do arquivo) */
[data-bs-theme="dark"] input[type="text"][readonly] {
    background-color: var(--bg-darker) !important;
    color: var(--text-secondary) !important;
    border-color: var(--border-base) !important;
    cursor: not-allowed;
}

/* 4. MODAIS (Popups) - CORREÇÃO TOTAL */
[data-bs-theme="dark"] .modal-content {
    background-color: var(--bg-base) !important;
    border: 1px solid var(--border-base) !important;
    color: var(--text-main) !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.5) !important;
}

[data-bs-theme="dark"] .modal-header {
    border-bottom: 1px solid var(--border-base) !important;
    background-color: var(--bg-footer) !important; /* Cabeçalho levemente diferenciado */
}


[data-bs-theme="dark"] .modal-title {
    color: var(--text-white) !important;
}

[data-bs-theme="dark"] button.close {
    color: var(--text-white) !important;
    text-shadow: none !important;
    opacity: 0.8;
}
[data-bs-theme="dark"] button.close:hover {
    opacity: 1;
}

/* 5. CHECKBOX INLINE */
[data-bs-theme="dark"] .checkbox-inline {
    color: var(--text-main) !important;
}

/* 6. CORREÇÃO GLOBAL DE SCROLLBAR (Para tabelas longas) */
[data-bs-theme="dark"] .dataTables_wrapper ::-webkit-scrollbar {
    height: 10px;
    width: 10px;
}
[data-bs-theme="dark"] .dataTables_wrapper ::-webkit-scrollbar-track {
    background: var(--bg-input);
}
[data-bs-theme="dark"] .dataTables_wrapper ::-webkit-scrollbar-thumb {
    background: var(--border-light);
    border-radius: 4px;
}

/* 1. ACCORDION / PAINÉIS (Filtros Avançados) */
[data-bs-theme="dark"] .panel-group .panel {
    background-color: var(--bg-base) !important;
    border-color: var(--border-base) !important;
}

[data-bs-theme="dark"] .panel-default > .panel-heading {
    background-color: var(--bg-lighter) !important; /* Cabeçalho do filtro mais escuro */
    color: var(--text-white) !important;
    border-color: var(--border-base) !important;
    background-image: none !important; /* Remove gradientes do SmartAdmin */
}

[data-bs-theme="dark"] .panel-title a {
    color: var(--text-white) !important;
    text-decoration: none !important;
}

[data-bs-theme="dark"] .panel-body {
    background-color: var(--bg-base) !important;
    border-top: 1px solid var(--border-base) !important;
    color: var(--text-main) !important;
}

/* 2. SELECT2 (Combobox com pesquisa) - CRÍTICO */
/* Caixa principal do Select2 */
[data-bs-theme="dark"] .select2-container .select2-choice {
    background-image: none !important;
    background-color: var(--bg-input) !important; /* Fundo escuro */
    border: 1px solid var(--border-light) !important;
    color: var(--text-white) !important;
    height: 32px !important; /* Ajuste de altura padrão */
}

/* Texto dentro do Select2 */
[data-bs-theme="dark"] .select2-container .select2-choice > .select2-chosen {
    color: var(--text-white) !important;
}

/* Seta do Select2 */
[data-bs-theme="dark"] .select2-container .select2-choice .select2-arrow {
    background-image: none !important;
    background-color: var(--border-dark) !important;
    border-left: 1px solid var(--border-light) !important;
}
[data-bs-theme="dark"] .select2-container .select2-choice .select2-arrow b {
    background-position: 0 1px !important; /* Ajuste da setinha preta padrão */
    filter: invert(1); /* Inverte a cor da setinha para branco */
}

/* O Dropdown (Lista de opções que abre) */
[data-bs-theme="dark"] .select2-drop {
    background-color: var(--bg-base) !important;
    border: 1px solid var(--border-light) !important;
    color: var(--text-white) !important;
}

/* Campo de busca dentro do Dropdown */
[data-bs-theme="dark"] .select2-search input {
    background-color: var(--bg-darker) !important;
    border: 1px solid var(--border-base) !important;
    color: var(--text-white) !important;
}

/* Opções da lista */
[data-bs-theme="dark"] .select2-results {
    background-color: var(--bg-base) !important;
    color: var(--text-white) !important;
}

/* Opção selecionada/hover na lista */
[data-bs-theme="dark"] .select2-results .select2-highlighted {
    background-color: var(--color-primary) !important; /* Azul destaque */
    color: var(--text-white) !important;
}

/* Select2 Multi-seleção (Tags) */
[data-bs-theme="dark"] .select2-container-multi .select2-choices {
    background-image: none !important;
    background-color: var(--bg-input) !important;
    border: 1px solid var(--border-light) !important;
    color: var(--text-white) !important;
}
[data-bs-theme="dark"] .select2-container-multi .select2-choices .select2-search-choice {
    background-color: var(--border-base) !important;
    border: 1px solid #666 !important;
    color: var(--text-white) !important;
}

/* 3. INPUTS DE RADIO (Botões de opção) */
[data-bs-theme="dark"] .radio-inline, 
[data-bs-theme="dark"] .checkbox-inline {
    color: var(--text-main) !important;
    padding-left: 20px;
}

/* 4. BOTÕES DE EXPORTAÇÃO (Rodapé do form) */
[data-bs-theme="dark"] .btn-group .dropdown-menu {
    background-color: var(--bg-base) !important;
    border: 1px solid var(--border-base) !important;
}
[data-bs-theme="dark"] .btn-group .dropdown-menu > li > a {
    color: var(--text-white) !important;
}
[data-bs-theme="dark"] .btn-group .dropdown-menu > li > a:hover {
    background-color: var(--border-base) !important;
}

/* 5. AJUSTES FINAIS DE FORMULÁRIO */
/* Labels dentro de form-group */
[data-bs-theme="dark"] .form-group label {
    color: var(--text-white) !important;
    font-weight: normal !important; /* Tira o negrito excessivo se quiser */
}

/* Remove fundo branco do card específico desta tela */
[data-bs-theme="dark"] .card.style-primary {
    background-color: transparent !important;
    border: none !important;
}
[data-bs-theme="dark"] .style-default-bright {
    background-color: var(--bg-base) !important;
}

/* ==========================================================================
   CORREÇÕES ESPECÍFICAS: WIZARD, TABS E DATATABLES AVANÇADO
   ========================================================================== */

/* --- 1. WIZARD (Passo a Passo do Aluno) --- */
/* Fundo da barra de navegação do wizard */
[data-bs-theme="dark"] .form-bootstrapWizard {
    padding-bottom: 1em;
}

/* Círculos dos passos (1, 2, 3...) */
[data-bs-theme="dark"] .bootstrapWizard li .step {
    background-color: var(--border-dark) !important;
    border: 2px solid var(--border-light) !important;
    color: var(--text-muted) !important;
    box-shadow: none !important;
}

/* Círculo do passo ATIVO */
[data-bs-theme="dark"] .bootstrapWizard li.active .step {
    background-color: var(--color-primary) !important; /* Azul destaque */
    border-color: var(--color-primary) !important;
    color: var(--text-white) !important;
    box-shadow: 0 0 10px rgba(33, 150, 243, 0.5) !important;
}

/* Círculo do passo COMPLETO (Verde/Azul) */
[data-bs-theme="dark"] .bootstrapWizard li.complete .step {
    background-color: var(--color-success) !important;
    border-color: var(--color-success) !important;
    color: var(--text-white) !important;
}

/* Títulos dos passos (Dados Pessoais, etc) */
[data-bs-theme="dark"] .bootstrapWizard li .title {
    color: var(--text-dim) !important;
}
[data-bs-theme="dark"] .bootstrapWizard li.active .title {
    color: var(--text-white) !important;
    font-weight: bold;
}

/* Linha de progresso entre os passos */
[data-bs-theme="dark"] .form-wizard-nav .progress {
    background-color: var(--border-dark) !important; /* Fundo da barra vazia */
    box-shadow: none !important;
}
[data-bs-theme="dark"] .form-wizard-nav .progress-bar {
    background-color: var(--color-primary) !important; /* Cor do preenchimento */
}

/* Botões de Ação do Wizard (Anterior/Próximo) */
[data-bs-theme="dark"] .form-actions {
    background-color: var(--bg-input) !important;
    border-top: 1px solid var(--border-base) !important;
}
[data-bs-theme="dark"] .pager li a {
    background-color: var(--border-base) !important;
    border-color: var(--border-light) !important;
    color: var(--text-white) !important;
}
[data-bs-theme="dark"] .pager li.disabled a {
    background-color: var(--bg-base) !important;
    color: var(--border-light) !important;
    cursor: not-allowed;
}

/* --- 2. DATATABLES (Busca, Info e Paginação) --- */
/* Campo de busca no topo da tabela */
[data-bs-theme="dark"] .dataTables_filter input {
    background-color: var(--bg-darker) !important;
    border: 1px solid var(--border-base) !important;
    color: var(--text-white) !important;
    padding: 5px 10px !important;
    border-radius: 3px;
}

/* Texto "Mostrando 1 de 10 registros" */
[data-bs-theme="dark"] .dataTables_info {
    color: var(--text-muted) !important;
}

/* Container de paginação */
[data-bs-theme="dark"] .dataTables_paginate .pagination li a {
    background-color: var(--border-dark) !important;
    border: 1px solid var(--border-base) !important;
    color: var(--text-secondary) !important;
}
[data-bs-theme="dark"] .dataTables_paginate .pagination li.active a {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
    color: var(--text-white) !important;
}
[data-bs-theme="dark"] .dataTables_paginate .pagination li.disabled a {
    background-color: var(--bg-input) !important;
    color: var(--border-light) !important;
    border-color: var(--border-dark) !important;
}

/* Linhas zebradas e hover (Reforço) */
[data-bs-theme="dark"] table.dataTable tbody tr.odd {
    background-color: var(--bg-base) !important;
}
[data-bs-theme="dark"] table.dataTable tbody tr.even {
    background-color: #323232 !important;
}
[data-bs-theme="dark"] table.dataTable tbody tr:hover td {
    background-color: var(--border-base) !important;
    color: var(--text-white) !important;
}

/* Mensagem "Nenhum registro encontrado" */
[data-bs-theme="dark"] .dataTables_empty {
    background-color: var(--bg-base) !important;
    color: var(--text-muted) !important;
}

/* --- 3. TABS (Abas Cursos/Ofertas) --- */
/* Estilo das abas no topo */
[data-bs-theme="dark"] .nav-tabs {
    border-bottom: 1px solid var(--border-base) !important;
}

[data-bs-theme="dark"] .nav-tabs > li > a {
    background-color: var(--bg-input) !important;
    border-color: var(--border-dark) !important;
    color: var(--text-dim) !important;
}

[data-bs-theme="dark"] .nav-tabs > li > a:hover {
    background-color: var(--border-dark) !important;
    color: var(--text-white) !important;
}

/* Aba Ativa */
[data-bs-theme="dark"] .nav-tabs > li.active > a, 
[data-bs-theme="dark"] .nav-tabs > li.active > a:focus, 
[data-bs-theme="dark"] .nav-tabs > li.active > a:hover {
    background-color: var(--bg-base) !important; /* Mesma cor do fundo do conteúdo */
    color: var(--text-white) !important;
    border: 1px solid var(--border-base) !important;
    border-bottom-color: var(--bg-base) !important; /* Remove a linha de baixo para conectar */
}

/* Ícones redondos dentro das tabs (SmartAdmin Board style) */
[data-bs-theme="dark"] .board-inner .round-tabs {
    background-color: var(--border-dark) !important;
    border: 2px solid var(--border-base) !important;
    color: var(--text-muted) !important;
}
[data-bs-theme="dark"] .board-inner li.active .round-tabs {
    background-color: var(--bg-base) !important;
    border-color: var(--color-primary) !important;
    color: var(--color-primary) !important;
}

/* --- 4. COMPONENTES ESPECIAIS (Telefone, Arquivo) --- */

/* Intl-Tel-Input (Campo de Telefone com Bandeira) */
[data-bs-theme="dark"] .iti__country-list {
    background-color: var(--bg-base) !important;
    border: 1px solid var(--border-base) !important;
    color: var(--text-white) !important;
}
[data-bs-theme="dark"] .iti__country.iti__highlight {
    background-color: var(--border-base) !important; /* Cor ao passar o mouse na lista */
}
[data-bs-theme="dark"] .iti__divider {
    border-bottom-color: var(--border-base) !important;
}
[data-bs-theme="dark"] .iti__tel-input {
    background-color: var(--bg-input) !important; /* Input de telefone em si */
    color: var(--text-white) !important;
}

/* Upload de Arquivo (Card de Imagem) */
[data-bs-theme="dark"] .card.file-upload {
    background-color: var(--bg-input) !important;
    border: 1px solid var(--border-base) !important;
}
[data-bs-theme="dark"] .card.file-upload .card-body {
    color: var(--text-muted) !important;
}
[data-bs-theme="dark"] .card.file-upload .btn-flat {
    background-color: var(--border-dark) !important;
    color: var(--text-white) !important;
}

/* Inputs com botão de busca acoplado (Input Groups) */
[data-bs-theme="dark"] .input-group-btn .btn-default {
    background-color: var(--border-dark) !important;
    border-color: var(--border-base) !important;
    color: #eee !important;
}

/* Caixa principal do menu suspenso */
[data-bs-theme="dark"] .select2-drop,
[data-bs-theme="dark"] .select2-drop-active {
    background-color: var(--bg-base) !important; /* Fundo cinza escuro */
    border: 1px solid var(--border-base) !important;      /* Borda sutil */
    color: var(--text-white) !important;               /* Texto branco */
}

/* Campo de busca DENTRO do dropdown */
[data-bs-theme="dark"] .select2-search input {
    background-color: var(--bg-darker) !important; /* Fundo quase preto para diferenciar */
    border: 1px solid var(--border-base) !important;
    color: var(--text-white) !important;
}

/* Lista de resultados */
[data-bs-theme="dark"] .select2-results {
    background-color: var(--bg-base) !important;
    color: var(--text-white) !important;
    margin: 4px 4px 4px 0;
}

/* Item da lista quando o mouse passa por cima (Hover) */
[data-bs-theme="dark"] .select2-results .select2-highlighted {
    background-color: var(--color-primary) !important; /* Azul padrão do tema */
    color: var(--text-white) !important;
}

/* Mensagens de sistema do Select2 ("Nenhum resultado", "Carregando...", "Digite mais...") */
[data-bs-theme="dark"] .select2-results .select2-no-results,
[data-bs-theme="dark"] .select2-results .select2-searching,
[data-bs-theme="dark"] .select2-results .select2-ajax-error {
    background-color: var(--bg-base) !important;
    color: #bbb !important; /* Cinza claro para mensagens informativas */
    font-style: italic;
}


/* --- 2. MENSAGENS DE ERRO E CAMPOS OBRIGATÓRIOS (.has-error) --- */

/* Texto do erro ("Campo obrigatório!") */
[data-bs-theme="dark"] .has-error .help-block {
    color: #ff6b6b !important; /* Vermelho claro brilhante (legível no escuro) */
}

/* Título do label quando tem erro */
[data-bs-theme="dark"] .has-error label,
[data-bs-theme="dark"] .has-error .control-label {
    color: #ff6b6b !important;
}

/* Borda do input quando tem erro */
[data-bs-theme="dark"] .has-error .form-control {
    border-color: #ff6b6b !important;
    box-shadow: none !important; /* Remove brilho vermelho excessivo se houver */
}

/* Borda do Select2 quando tem erro */
[data-bs-theme="dark"] .has-error .select2-choice {
    border-color: #ff6b6b !important;
}

/* 1. A caixa de pesquisa (Container) */
[data-bs-theme="dark"] .select2-search {
    background-color: var(--bg-base) !important; /* Fundo do container */
    border-color: var(--border-base) !important;
}

/* 2. O Input onde se digita (A correção principal) */
[data-bs-theme="dark"] .select2-search input.select2-input {
    background-color: var(--bg-darker) !important; /* Fundo do input quase preto */
    background-image: none !important;      /* Remove gradientes padrões do Select2 */
    color: var(--text-white) !important;              /* Texto branco ao digitar */
    border: 1px solid var(--border-light) !important;      /* Borda sutil */
    box-shadow: none !important;            /* Remove sombras internas */
}

/* 3. Correção do texto quando o Select2 está focado/ativo */
[data-bs-theme="dark"] .select2-container-active .select2-choice,
[data-bs-theme="dark"] .select2-container-active .select2-choices {
    border-color: var(--color-primary) !important;       /* Borda azul quando clica */
    box-shadow: 0 0 5px rgba(33, 150, 243, 0.3) !important;
}

/* 4. Garante que o dropdown inteiro seja escuro */
[data-bs-theme="dark"] .select2-drop {
    background-color: var(--bg-base) !important;
    color: var(--text-white) !important;
    border-color: var(--border-base) !important;
}

/* 1. O Container da barra de rodapé da tabela */
[data-bs-theme="dark"] .dt-toolbar-footer {
    background-color: var(--bg-footer) !important; /* Um cinza levemente mais escuro que o conteúdo */
    border-top: 1px solid var(--border-base) !important; /* Borda sutil no topo */
    color: var(--text-main) !important;              /* Texto claro */
}

/* 2. O Texto "Mostrando 1 a 10 de..." */
[data-bs-theme="dark"] .dataTables_info {
    color: #bbb !important; /* Garante que o texto fique legível */
    font-style: italic;     /* Opcional: Estilo padrão do SmartAdmin */
}

/* 3. Ajuste de espaçamento se necessário */
[data-bs-theme="dark"] .dt-toolbar-footer .col-sm-6 {
    padding-top: 5px;
    padding-bottom: 5px;
}

/* 1. Estado HOVER e FOCUS (Quando passa o mouse) */
[data-bs-theme="dark"] .nav-tabs > li > a:hover,
[data-bs-theme="dark"] .nav-tabs > li > a:focus {
    color: var(--text-white) !important;              /* Branco puro */
    background-color: var(--bg-hover) !important;      /* Fundo um pouco mais claro para destacar */
    border-color: var(--border-light) !important;
    opacity: 1 !important;                 /* Remove qualquer transparência */
}

/* 2. Força a cor Branca também nos elementos FILHOS (Texto, Ícones, Spans) */
/* Isso resolve se o texto estiver dentro de um <span> ou <i> que não estava pegando a cor */
[data-bs-theme="dark"] .nav-tabs > li > a:hover *,
[data-bs-theme="dark"] .nav-tabs > li > a:focus * {
    color: var(--text-white) !important;
    opacity: 1 !important;
}

/* 3. Estado ATIVO (Aba selecionada) */
[data-bs-theme="dark"] .nav-tabs > li.active > a,
[data-bs-theme="dark"] .nav-tabs > li.active > a:hover,
[data-bs-theme="dark"] .nav-tabs > li.active > a:focus {
    color: var(--text-white) !important;
    background-color: var(--bg-base) !important;
    border: 1px solid var(--border-base) !important;
    border-bottom-color: transparent !important;
    font-weight: bold !important;          /* Deixa o texto mais gordo/visível */
}

/* 4. Correção para as "Badges/Labels" (Aquele contador de % ou números dentro da aba) */
[data-bs-theme="dark"] .nav-tabs > li > a .label {
    background-color: var(--bg-darker) !important; /* Fundo escuro para o contador */
    color: var(--text-white) !important;
    border: 1px solid var(--border-light) !important;
}
/* Quando passa o mouse, o contador fica azul para destacar */
[data-bs-theme="dark"] .nav-tabs > li > a:hover .label {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

/* --- MODO ESCURO (Correções) --- */

/* Caixa Central */
[data-bs-theme="dark"] .welcome-card {
    background-color: var(--bg-base) !important; /* Fundo cinza escuro */
    border: 1px solid var(--border-base) !important;      /* Borda sutil */
    box-shadow: 0 10px 30px rgba(0,0,0,0.5) !important; /* Sombra elegante */
    color: var(--text-main) !important;              /* Texto geral claro */
}

/* Título */
[data-bs-theme="dark"] .welcome-card h1 {
    color: var(--text-white) !important;
}

/* Identificador do Agente (Correção do #555 invisível) */
[data-bs-theme="dark"] .agent-code {
    color: var(--color-primary) !important; /* Azul destaque (ou use #fff para branco) */
    text-shadow: 0 0 5px rgba(33, 150, 243, 0.4);
}

/* Texto secundário */
[data-bs-theme="dark"] .welcome-subtext {
    color: #bbb !important;
}

/* Botão "Limpar Filtros" e outros botões secundários */
[data-bs-theme="dark"] .btn-secondary {
    background-color: var(--border-base) !important;      /* Cinza escuro em vez de cinza claro */
    border-color: var(--border-light) !important;          /* Borda sutil */
    color: var(--text-white) !important;              /* Texto branco brilhante */
}

/* Efeito ao passar o mouse (Hover) */
[data-bs-theme="dark"] .btn-secondary:hover,
[data-bs-theme="dark"] .btn-secondary:focus {
    background-color: var(--border-light) !important;      /* Fica um pouco mais claro para dar feedback */
    border-color: #666 !important;
    color: var(--text-white) !important;
}

/* 1. CORREÇÃO DO TEXTO AZUL "APAGADO" (Classe .text-info) */
/* Usada nas linhas da tabela para indicar status "Pendente" */
[data-bs-theme="dark"] .text-info,
[data-bs-theme="dark"] a.text-info {
    color: var(--color-info) !important; /* Ciano brilhante (Neon) */
}

/* Outras cores de status para garantir leitura */
[data-bs-theme="dark"] .text-success { color: #69f0ae !important; } /* Verde brilhante */
[data-bs-theme="dark"] .text-warning { color: #ffab40 !important; } /* Laranja brilhante */
[data-bs-theme="dark"] .text-danger  { color: var(--color-danger) !important; } /* Vermelho suave */
[data-bs-theme="dark"] .text-muted   { color: #9e9e9e !important; } /* Cinza médio */


/* 2. BOTÕES DE AÇÃO NA TABELA (Pequenos) */

/* Botão Azul Escuro (Editar - btn-primary) */
[data-bs-theme="dark"] .btn-primary, 
[data-bs-theme="dark"] .btn-xs.btn-primary {
    background-color: var(--btn-primary-bg) !important; /* Azul Royal vibrante */
    border-color: var(--btn-primary-bg) !important;
    color: var(--text-white) !important;
}
[data-bs-theme="dark"] .btn-primary:hover {
    background-color: #448aff !important; /* Azul mais claro no hover */
}

/* Botão Verde (Deferir - btn-success) */
[data-bs-theme="dark"] .btn-success,
[data-bs-theme="dark"] .btn-xs.btn-success {
    background-color: var(--btn-success-bg) !important; /* Verde vivo */
    border-color: var(--btn-success-bg) !important;
    color: var(--text-white) !important;
}
[data-bs-theme="dark"] .btn-success:hover {
    background-color: #69f0ae !important;
}

/* Botão Azul Claro (Ações/Financeiro - btn-info) */
[data-bs-theme="dark"] .btn-info,
[data-bs-theme="dark"] .btn-xs.btn-info {
    background-color: var(--btn-info-bg) !important; /* Ciano */
    border-color: var(--btn-info-bg) !important;
    color: var(--text-white) !important;
}

/* (btn-warning) */
[data-bs-theme="dark"] .btn-warning,
[data-bs-theme="dark"] .btn-xs.btn-warning {
    background-color: var(--btn-warning-bg) !important; 
    border-color: var(--btn-warning-bg) !important;
    color: var(--text-white) !important;
}

[data-bs-theme="dark"] .btn-info:hover {
    background-color: #26c6da !important;
}

[data-bs-theme="dark"] #novoTituloOutroValor {
    color: var(--color-info) !important;
}

/* 3. ÍCONES DENTRO DOS BOTÕES */
/* Garante que o ícone (lápis, cifrão, check) seja sempre branco brilhante */
[data-bs-theme="dark"] .btn .fa, 
[data-bs-theme="dark"] .btn .glyphicon {
    color: var(--text-white) !important;
    text-shadow: none !important;
}

/* 1. CAIXAS DOS LINKS (Panels) */
/* Sobrescreve o estilo inline de borda e fundo branco */
[data-bs-theme="dark"] .panel-default {
    background-color: var(--bg-base) !important; /* Fundo escuro */
    border-color: var(--border-base) !important;        /* Borda sutil */
    color: var(--text-main) !important;
}

/* 2. TÍTULOS ("Link Individual", "Link Unificado") */
/* O HTML tem "color: #555" fixo, precisamos forçar branco */
[data-bs-theme="dark"] .panel-default h5 {
    color: var(--text-white) !important;
    font-weight: bold !important;
}

/* 3. LINHA SEPARADORA (<hr>) */
[data-bs-theme="dark"] .panel-default hr {
    border-top-color: var(--border-base) !important;
    background-color: var(--border-base) !important;
}

/* 4. BOTÕES DENTRO DO PAINEL */
/* Botão Copiar (Primary) */
[data-bs-theme="dark"] .panel-default .btn-primary {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}

/* Botão Abrir (Default com cor customizada no HTML) */
/* O HTML original usa #2C3E50 (Azul escuro). No modo escuro, vamos clarear ou manter harmonioso */
[data-bs-theme="dark"] .panel-default .btn-default {
    background-color: #34495e !important; /* Um pouco mais claro que o fundo */
    color: var(--text-white) !important;
    border-color: var(--border-base) !important;
}
[data-bs-theme="dark"] .panel-default .btn-default:hover {
    background-color: #2c3e50 !important;
}

/* ==========================================================================
   CORREÇÃO: PAGINAÇÃO (Anterior / Próximo / Números)
   ========================================================================== */

/* 1. Estilo Base dos Botões (Para todos: Anterior, Próximo e Números) */
[data-bs-theme="dark"] .pagination > li > a,
[data-bs-theme="dark"] .pagination > li > span {
    background-color: var(--bg-lighter) !important; /* Fundo cinza chumbo */
    border-color: var(--border-light) !important;        /* Borda sutil */
    color: var(--text-white) !important;            /* Texto BRANCO (O mais importante) */
    font-weight: bold !important;
    transition: all 0.2s ease;
}

/* 2. Efeito ao passar o mouse (Hover) */
[data-bs-theme="dark"] .pagination > li > a:hover,
[data-bs-theme="dark"] .pagination > li > span:hover {
    background-color: var(--border-light) !important;    /* Clareia um pouco */
    color: var(--text-white) !important;
    border-color: #777 !important;
}

/* 3. Página Ativa (A que está selecionada, ex: "1") */
[data-bs-theme="dark"] .pagination > .active > a,
[data-bs-theme="dark"] .pagination > .active > span,
[data-bs-theme="dark"] .pagination > .active > a:hover,
[data-bs-theme="dark"] .pagination > .active > span:hover {
    background-color: var(--color-primary) !important; /* Azul destaque */
    border-color: var(--color-primary) !important;
    color: var(--text-white) !important;
    box-shadow: 0 0 8px rgba(33, 150, 243, 0.4); /* Leve brilho */
}

/* 4. Estado Desativado (Ex: "Anterior" quando está na pág 1) */
[data-bs-theme="dark"] .pagination > .disabled > a,
[data-bs-theme="dark"] .pagination > .disabled > span,
[data-bs-theme="dark"] .pagination > .disabled > a:hover,
[data-bs-theme="dark"] .pagination > .disabled > span:hover {
    background-color: var(--bg-input) !important;    /* Fundo bem escuro */
    border-color: var(--border-dark) !important;
    color: #666 !important;               /* Texto cinza escuro (apagado) */
    cursor: not-allowed;
    opacity: 0.6;
}

[data-bs-theme="dark"] .nav-tabs > li > a.adm:hover,
[data-bs-theme="dark"] .nav-tabs > li > a.titulos:hover,
[data-bs-theme="dark"] .nav-tabs > li > a.descontos:hover,
[data-bs-theme="dark"] .nav-tabs > li > a.planos-pgt:hover {
    color: var(--text-white) !important;
}

/* 1. Títulos e Labels Gerais do Modal */
[data-bs-theme="dark"] .modal-title,
[data-bs-theme="dark"] .modal-body label {
    color: var(--text-white) !important;
}

/* 2. Correção do Texto "As senhas não conferem" */
/* O HTML tem style="color: black", precisamos forçar uma cor de alerta visível */
[data-bs-theme="dark"] #confSenha {
    color: var(--color-danger) !important; /* Vermelho claro */
    font-weight: bold !important;
}

/* 3. Correção do Ícone de Força da Senha */
/* O ícone de triângulo também está com color:black no HTML */
[data-bs-theme="dark"] .nivelSenha {
    color: var(--color-warning) !important; /* Amarelo alerta */
}

/* 4. Correção do Texto "Visualizar senha" */
[data-bs-theme="dark"] #exibe_senha {
    color: #b0b0b0 !important; /* Cinza claro */
    font-size: 14px; /* Ajuste opcional de tamanho */
}

/* 5. Ícones de Olho (Visualizar/Ocultar) */
[data-bs-theme="dark"] .icon-append {
    color: var(--text-white) !important;
    cursor: pointer;
}
[data-bs-theme="dark"] .icon-append:hover {
    color: var(--color-primary) !important; /* Azul ao passar o mouse */
}

/* 6. Ajuste no Input de Senha para garantir contraste */
[data-bs-theme="dark"] .modal-body input[type="password"],
[data-bs-theme="dark"] .modal-body input[type="text"] {
    background-color: var(--bg-darker) !important;
    border: 1px solid var(--border-base) !important;
    color: var(--text-white) !important;
}

/* 7. Alerta Vermelho (Aviso) */
[data-bs-theme="dark"] #alert-message.alert-danger {
    background-color: #4a1818 !important; /* Fundo vermelho escuro */
    border-color: #7f2727 !important;
    color: #ffcdd2 !important; /* Texto vermelho claro */
}
[data-bs-theme="dark"] #alert-message.alert-danger strong {
    color: var(--text-white) !important;
}

/* O JavaScript coloca style="color:black" inline. 
   Usamos !important para forçar branco/cinza claro no modo escuro.
*/
[data-bs-theme="dark"] span#nivelSenha {
    color: var(--text-main) !important; /* Texto claro (quase branco) */
    font-weight: bold !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.5); /* Leve sombra para leitura */
}

/* Garante que o ícone ao lado (o triângulo) também tenha cor visível se o JS falhar */
[data-bs-theme="dark"] i.nivelSenha {
    text-shadow: none !important;
}

/* 2. Ajusta os botões (Adicionar, Excluir) dentro dessa barra */
/* Eles são .btn-default e podem estar muito claros ou brancos */
[data-bs-theme="dark"] .widget-body .alert.alert-info .btn-default {
    background-color: var(--bg-lighter) !important;  /* Fundo do botão mais claro que a barra */
    border-color: var(--border-light) !important;          /* Borda do botão */
    color: var(--text-white) !important;              /* Texto e ícone brancos */
    text-shadow: none !important;
}

/* Efeito ao passar o mouse nos botões */
[data-bs-theme="dark"] .widget-body .alert.alert-info .btn-default:hover {
    background-color: #4a4a4a !important;
    border-color: #666 !important;
}

/* 1. Remove o fundo branco do corpo do formulário e fieldsets */
[data-bs-theme="dark"] .smart-form,
[data-bs-theme="dark"] .smart-form fieldset,
[data-bs-theme="dark"] .widget-body.no-padding {
    background-color: transparent !important; /* Fica transparente para herdar o cinza do widget */
    color: var(--text-main) !important; /* Texto geral claro */
}

/* 2. Ajusta a cor dos Rótulos (Labels) acima dos campos */
[data-bs-theme="dark"] .smart-form .label {
    color: var(--text-secondary) !important; /* Cinza claro para os títulos dos campos */
    font-weight: bold;
}

/* 3. Estilização dos Campos de Entrada (Inputs e Textareas) */
[data-bs-theme="dark"] .smart-form .input input,
[data-bs-theme="dark"] .smart-form .textarea textarea,
[data-bs-theme="dark"] .smart-form .select select {
    background-color: var(--bg-lighter) !important; /* Fundo cinza chumbo para os campos */
    border: 1px solid var(--border-light) !important; /* Borda cinza discreta */
    color: var(--text-white) !important; /* Texto digitado branco */
}

/* 3.1. Ícones dentro dos campos (prepend icons) */
[data-bs-theme="dark"] .smart-form .icon-prepend {
    color: #999999 !important; /* Ícone cinza médio */
    border-right-color: var(--border-light) !important; /* Divisória do ícone */
    background-color: transparent !important; /* Garante que não tenha fundo branco */
}

/* 3.2. Foco nos campos (quando clica para digitar) */
[data-bs-theme="dark"] .smart-form .input input:focus,
[data-bs-theme="dark"] .smart-form .textarea textarea:focus {
    border-color: #777777 !important; /* Borda um pouco mais clara ao focar */
    background-color: #404040 !important; /* Fundo ligeiramente mais claro */
}

/* 4. Ajusta o rodapé do formulário (onde fica o botão Salvar) */
[data-bs-theme="dark"] .smart-form footer {
    background-color: var(--bg-footer) !important; /* Um tom mais escuro que o corpo para separar */
    border-top: 1px solid var(--border-base) !important; /* Linha separadora superior */
}

/* 5. Ajuste específico para o botão "Permissões do grupo" que está muito largo */
[data-bs-theme="dark"] #acesso-grupo .row section button#addPermissoes {
    /* O HTML tem style="width:100%" inline que atrapalha. 
       Vamos tentar contornar ou apenas garantir que a cor esteja certa. */
    background-color: #005a9c !important; /* Azul um pouco mais escuro para o dark mode */
    border-color: #004a80 !important;
}

/* 1. Força o corpo do Widget e o Formulário a serem ESCUROS */
html[data-bs-theme="dark"] .jarviswidget .widget-body,
html[data-bs-theme="dark"] .smart-form,
html[data-bs-theme="dark"] .smart-form fieldset {
    background-color: var(--bg-base) !important; /* Cinza Escuro */
    background-image: none !important;    /* Remove texturas/imagens de fundo */
    border: none !important;
    color: var(--text-main) !important;
}

/* 2. Garante que áreas 'no-padding' não fiquem brancas */
html[data-bs-theme="dark"] .widget-body.no-padding {
    background-color: var(--bg-base) !important;
}

/* 3. Ajuste do Rodapé do Formulário (Onde fica o botão Salvar) */
html[data-bs-theme="dark"] .smart-form footer {
    background-color: var(--bg-footer) !important; /* Um pouco mais escuro para contraste */
    border-top: 1px solid var(--border-base) !important;
    padding: 15px !important;
}

/* 4. Correção dos Campos de Input (Preto sobre Cinza) */
html[data-bs-theme="dark"] .smart-form .input input,
html[data-bs-theme="dark"] .smart-form .select select,
html[data-bs-theme="dark"] .smart-form .textarea textarea {
    background-color: var(--bg-darker) !important; /* Fundo do campo quase preto */
    color: var(--text-white) !important;            /* Texto branco */
    border: 1px solid var(--border-light) !important;
    box-shadow: none !important;
}

/* 5. Correção dos Labels (Textos acima dos campos) */
html[data-bs-theme="dark"] .smart-form .label {
    color: var(--text-white) !important;
    font-weight: bold !important;
}

/* 6. Correção dos Ícones nos inputs (A caixinha do lado esquerdo) */
html[data-bs-theme="dark"] .smart-form .icon-prepend {
    background-color: var(--border-dark) !important;
    border-right: 1px solid var(--border-light) !important;
    color: #ccc !important;
}

/* 7. Remove fundo branco específico de linhas (rows) se houver */
html[data-bs-theme="dark"] .smart-form .row {
    background: transparent !important;
}

html[data-bs-theme="dark"] .jarviswidget > div {
  background-color: var(--bg-base) !important;
}

[data-bs-theme="dark"] .note-editor.note-frame.panel.panel-default {
    background-color: var(--bg-base) !important;
    border: 1px solid var(--border-base) !important;
    color: var(--text-main) !important;
}

/* Barra de Ferramentas (Toolbar) */
[data-bs-theme="dark"] .note-editor .note-toolbar.panel-heading {
    background-color: var(--bg-lighter) !important; /* Levemente mais claro para destacar */
    border-bottom: 1px solid var(--border-base) !important;
}

/* Botões da Toolbar */
[data-bs-theme="dark"] .note-editor .note-btn.btn-default {
    background-color: transparent !important;
    border: 1px solid transparent !important;
    color: var(--text-main) !important;
}
[data-bs-theme="dark"] .note-editor .note-btn.btn-default:hover,
[data-bs-theme="dark"] .note-editor .note-btn.btn-default.active {
    background-color: #4a4a4a !important;
    border-color: var(--border-light) !important;
    color: var(--text-white) !important;
}

/* Área de Edição (O "Papel") */
[data-bs-theme="dark"] .note-editor .note-editing-area,
[data-bs-theme="dark"] .note-editor .note-editable {
    background-color: var(--bg-darker) !important; /* Fundo escuro onde digita */
    color: var(--text-white) !important;            /* Texto branco ao digitar */
}

/* Visualização de Código (Textarea Code View) */
[data-bs-theme="dark"] .note-editor .note-codable {
    background-color: var(--bg-almost-black) !important;
    color: #00ff00 !important; /* Estilo terminal para código */
}

/* Barra de Status/Resize no rodapé do editor */
[data-bs-theme="dark"] .note-editor .note-statusbar {
    background-color: var(--bg-footer) !important;
    border-top: 1px solid var(--border-base) !important;
}
[data-bs-theme="dark"] .note-editor .note-resizebar .note-icon-bar {
    border-top: 1px solid #666 !important;
}

/* Menus Suspensos (Dropdowns de Fonte, Cor, etc) dentro do Editor */
[data-bs-theme="dark"] .note-dropdown-menu,
[data-bs-theme="dark"] .note-dropdown-menu .dropdown-menu {
    background-color: var(--bg-base) !important;
    border: 1px solid var(--border-base) !important;
    color: var(--text-main) !important;
    box-shadow: 0 5px 10px rgba(0,0,0,0.5) !important;
}
[data-bs-theme="dark"] .note-dropdown-menu a {
    color: var(--text-main) !important;
}
[data-bs-theme="dark"] .note-dropdown-menu a:hover {
    background-color: var(--color-primary) !important;
    color: var(--text-white) !important;
    text-decoration: none !important;
}

[data-bs-theme="dark"] #mensagemOrientacaoRecorrencia,
[data-bs-theme="dark"] #mensagemOrientacaoRecorrencia * {
    color: var(--text-white) !important; /* Texto Branco Puro */
    background-color: transparent !important; /* Remove fundos indesejados */
}

/* Opcional: Se quiser dar um fundo para a caixa para destacar o texto */
[data-bs-theme="dark"] #mensagemOrientacaoRecorrencia {
    background-color: var(--border-dark) !important; /* Fundo cinza chumbo */
    padding: 15px !important;
    border-radius: 5px;
    border: 1px solid var(--border-base); /* Borda sutil */
}

[data-bs-theme="dark"] .select2-container .select2-choice .select2-arrow {
    /* Fundo mais claro que o input para parecer um botão */
    background-color: #4a4a4a !important; 
    
    /* Borda lateral para separar do texto */
    border-left: 1px solid var(--border-light) !important; 
}

/* 2. Ícone da Seta (A imagem/triângulo) */
[data-bs-theme="dark"] .select2-container .select2-choice .select2-arrow b {
    /* Brilho máximo no ícone */
    filter: invert(1) brightness(2) drop-shadow(0 1px 1px rgba(0,0,0,0.8)) !important;
    background-position: 0 1px !important;
}

/* 3. Efeito HOVER (Ao passar o mouse sobre o campo ou a seta) */
[data-bs-theme="dark"] .select2-container .select2-choice:hover .select2-arrow {
    background-color: #505050 !important; /* Fica bem mais claro */
    background-image: linear-gradient(to bottom, #666, #444) !important; /* Gradiente mais aceso */
    border-left-color: #777 !important;
    cursor: pointer;
}

/* Adiciona profundidade à caixa que abre com as opções */
[data-bs-theme="dark"] .select2-drop,
[data-bs-theme="dark"] .select2-drop-active {
    /* Sombra forte e difusa para separar do fundo */
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.7), 0 5px 10px rgba(0,0,0,0.5) !important;
    
    /* Garante que a borda ainda exista para definição */
    border: 1px solid var(--border-light) !important; 
    
    /* (Opcional) Garante que fique sobre outros elementos */
    z-index: 99999 !important; 
}

/* Remove a sombra interna padrão se houver, para não conflitar */
[data-bs-theme="dark"] .select2-results {
    box-shadow: none !important;
}

/* 1. O botão "x" padrão (usado para limpar o campo) */
[data-bs-theme="dark"] .select2-choice .select2-search-choice-close {
    /* Inverte a cor original (preto) para branco e aumenta o brilho */
    filter: invert(1) brightness(1.5) !important;
    opacity: 0.7 !important; /* Levemente transparente para não agredir */
    cursor: pointer !important;
}

/* 2. Efeito ao passar o mouse sobre o "x" */
[data-bs-theme="dark"] .select2-choice .select2-search-choice-close:hover {
    /* Deixa totalmente opaco e com um brilho intenso (efeito neon branco) */
    opacity: 1 !important;
    filter: invert(1) brightness(3) drop-shadow(0 0 2px rgba(255, 255, 255, 0.8)) !important;
}

[data-bs-theme="dark"] .select2-choices .select2-search-choice-close:hover {
    /* Deixa totalmente opaco e com um brilho intenso (efeito neon branco) */
    opacity: 1 !important;
    filter: brightness(3) drop-shadow(0 0 2px rgba(255, 255, 255, 0.8)) !important;
}

/* 1. Barra de Ferramentas Superior (Onde fica o Procurar) */
[data-bs-theme="dark"] .dt-toolbar {
    background-color: var(--bg-footer) !important; /* Mesmo cinza do rodapé */
    border-bottom: 1px solid var(--border-base) !important;
    padding: 6px 1px 10px !important; /* Ajuste de espaçamento */
    display: block !important;
}

/* 2. Cabeçalho da Tabela (Títulos das Colunas) */
[data-bs-theme="dark"] table.dataTable thead > tr > th,
[data-bs-theme="dark"] table.dataTable thead > tr > td {
    background-color: var(--bg-lighter) !important; /* Cinza chumbo para destacar do corpo */
    color: var(--text-white) !important;            /* Texto branco */
    border-bottom: 2px solid var(--border-light) !important;
    border-right: 1px solid var(--border-base) !important; /* Separador vertical sutil */
    font-weight: bold !important;
}


/* 4. Campo "Procurar" dentro da toolbar */
[data-bs-theme="dark"] .dt-toolbar label {
    color: var(--text-main) !important;
}
[data-bs-theme="dark"] .dt-toolbar input.form-control {
    background-color: var(--bg-darker) !important;
    border-color: var(--border-light) !important;
    color: var(--text-white) !important;
    margin-left: 10px; /* Afasta o input do texto "Procurar" */
}

[data-bs-theme="dark"] .list-group-item {
    background-color: var(--bg-base) !important; /* Fundo cinza escuro */
    border: 1px solid var(--border-base) !important;    /* Borda discreta */
    color: var(--text-main) !important;            /* Texto claro */
}

/* 2. Item da lista ao passar o mouse (Hover) */
[data-bs-theme="dark"] .list-group-item:hover,
[data-bs-theme="dark"] .list-group-item:focus {
    background-color: var(--bg-lighter) !important; /* Fundo um pouco mais claro para destaque */
    color: var(--text-white) !important;            /* Texto branco brilhante */
    text-decoration: none !important;
    border-color: var(--border-light) !important;
}

/* 3. Ícone da seta (Setinha para a direita) */
[data-bs-theme="dark"] .list-group-item .fa {
    color: var(--color-info) !important; /* Azul claro para destacar o ícone */
}

[data-bs-theme="dark"] table.dataTable tbody tr td {
    color: var(--text-white) !important;
}

/* 3. Efeito visual ao passar o mouse no link (Opcional, para saber que é clicável) */
[data-bs-theme="dark"] table.dataTable tbody tr td a:hover {
    color: var(--color-info) !important; /* Azul claro */
    text-decoration: underline !important;
}

/* ==========================================================================
   CORREÇÃO: HIERARQUIA DO MENU LATERAL (Destaque Pai vs Filho)
   ========================================================================== */

/* 1. ITEM PAI (Nível Superior - Ex: Secretaria, Acesso, etc) */
[data-bs-theme="dark"] nav > ul > li > a {
    background-color: var(--bg-darker) !important; /* Fundo base da sidebar */
    color: #d4d4d4 !important;            /* Texto BRANCO puro */
    font-weight: bold !important;         /* Negrito para destacar */
    border-bottom: 1px solid var(--bg-footer) !important; /* Linha sutil separando os pais */
    font-size: 14px !important;
}

/* Hover do Pai */
[data-bs-theme="dark"] nav > ul > li > a:hover,
[data-bs-theme="dark"] nav > ul > li.open > a {
    background-color: var(--bg-footer) !important; /* Fica um pouco mais claro ao abrir */
    color: var(--color-info) !important;            /* Azul claro no ícone/texto */
}


/* 2. CONTAINER DO SUBMENU (A área que se expande) */
[data-bs-theme="dark"] nav ul ul {
    background-color: var(--bg-menu-sub) !important; /* Fundo QUASE PRETO para criar o "buraco" */
    box-shadow: inset 0 5px 10px rgba(0,0,0,0.5) !important; /* Sombra interna para profundidade */
    padding-bottom: 10px !important;
}


/* 3. ITEM DO SUBMENU (Filhos - Ex: Cadastro de Alunos) */
[data-bs-theme="dark"] nav ul ul li a {
    color: #888888 !important;            /* Texto cinza (menos destaque que o pai) */
    font-weight: normal !important;
    font-size: 13px !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    padding-left: 40px !important;        /* Indentação FORTE para a direita */
    background: transparent !important;
    border: none !important;
    transition: all 0.2s ease;
}

/* Hover no Filho (Efeito de Destaque) */
[data-bs-theme="dark"] nav ul ul li a:hover {
    color: var(--text-white) !important;            /* Fica branco ao passar o mouse */
    background-color: var(--bg-input) !important;    /* Fundo destaca levemente */
    padding-left: 45px !important;        /* Pequeno movimento para a direita (animação) */
    text-decoration: none !important;
}

/* 4. ITEM DO SUBMENU ATIVO (Página Atual) */
[data-bs-theme="dark"] nav ul ul li.active > a {
    color: var(--text-white) !important;
    font-weight: bold !important;
    background-color: var(--bg-input) !important;
    border-left: 4px solid var(--color-primary) !important; /* Barra Azul na esquerda indicando ativo */
    padding-left: 36px !important;        /* Compensa a largura da borda azul */
}

/* 5. Ajuste nas setinhas/ícones do Pai */
[data-bs-theme="dark"] nav > ul > li > a > i {
    color: var(--text-muted) !important; /* Ícones levemente apagados */
}
[data-bs-theme="dark"] nav > ul > li:hover > a > i,
[data-bs-theme="dark"] nav > ul > li.open > a > i {
    color: var(--text-white) !important; /* Ícones brancos quando ativo */
}

[data-bs-theme="dark"] .input-group-addon {
    background: transparent !important;
    color: var(--text-white) !important;
    border-color: var(--border-light) !important;
}

[data-bs-theme="dark"] #dataTableAcadperiodoAluno_filter .form-control {
    margin-left: 0;
}

[data-bs-theme="dark"] .btn-outline-meio-pagamento {
    background-color: var(--bg-footer) !important; /* Fundo levemente mais claro que o modal */
    border: 1px solid var(--border-base) !important;    /* Borda visível */
    color: var(--text-white) !important;            /* Texto branco */
    border-radius: 6px !important;        /* Cantos arredondados */
    
    /* Garante alinhamento centralizado do ícone e texto */
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
}

/* 2. Correção dos Ícones (Imagens SVG/PNG pretas) */
[data-bs-theme="dark"] .btn-outline-meio-pagamento img {
    /* O filtro 'invert(1)' transforma preto em branco. 
       O 'brightness' dá um destaque extra. */
    filter: invert(1) brightness(2) !important; 
    margin-bottom: 5px !important; /* Espaço entre ícone e texto */
    width: 32px !important;        /* Força um tamanho padrão se necessário */
    height: auto !important;
}

/* 3. Correção do Texto (<p>) */
[data-bs-theme="dark"] .btn-outline-meio-pagamento p {
    color: var(--text-white) !important;
    font-size: 11px !important;    /* Tamanho legível para botão pequeno */
    margin: 0 !important;
    font-weight: bold !important;
}

/* 4. Efeito Hover (Ao passar o mouse) */
[data-bs-theme="dark"] .btn-outline-meio-pagamento:hover {
    background-color: var(--bg-lighter) !important; /* Clareia o fundo */
    border-color: var(--color-info) !important;      /* Borda fica Azul Neon */
    transform: translateY(-2px);          /* Leve efeito de elevação */
    transition: all 0.2s ease;
}

/* 5. Área Container dos Botões (Alinhamento) */
[data-bs-theme="dark"] .meio-pagamento-area {
    display: flex;
    justify-content: center;
    gap: 15px; /* Espaço entre os botões */
    flex-wrap: wrap;
    padding: 10px;
}

[data-bs-theme="dark"] .btn-light {
    background-color: var(--bg-lighter) !important; /* Fundo cinza escuro */
    color: var(--text-white) !important;            /* Texto branco */
    border: 1px solid var(--border-light) !important;    /* Borda sutil */
    box-shadow: none !important;
}

/* 1. Botão "Selecione imagem..." (Sobrescreve o style="background: #eee") */
[data-bs-theme="dark"] .div-imagem .btn-light,
[data-bs-theme="dark"] button[id^="btn-docmodelo-selecione"] {
    background-color: var(--bg-lighter) !important; /* Fundo cinza escuro */
    color: var(--text-white) !important;            /* Texto branco */
    border: 1px solid var(--border-light) !important;    /* Borda sutil */
    box-shadow: none !important;
}

/* Efeito Hover no botão */
[data-bs-theme="dark"] .div-imagem .btn-light:hover,
[data-bs-theme="dark"] button[id^="btn-docmodelo-selecione"]:hover {
    background-color: #4a4a4a !important;
    color: var(--text-white) !important;
    border-color: var(--color-info) !important; /* Borda azul ao passar o mouse */
}

/* 2. Barra de Arquivo Selecionado (Onde aparece o nome e o X) */
[data-bs-theme="dark"] .docmodelo-imagem-selecao {
    background-color: var(--bg-base) !important; /* Fundo escuro para destacar do fundo da página */
    border: 1px solid var(--border-light) !important;
    color: var(--text-white) !important;            /* Nome do arquivo em branco */
    border-radius: 3px !important;        /* Mantém o padrão do bootstrap */
}

/* 3. Ícone "X" (Remover imagem) */
[data-bs-theme="dark"] .docmodelo-imagem-selecao .fa-times {
    color: var(--color-danger) !important; /* Vermelho suave */
    cursor: pointer !important;
    font-size: 14px !important;
}

[data-bs-theme="dark"] .docmodelo-imagem-selecao .fa-times:hover {
    color: #ff867c !important; /* Vermelho mais claro no hover */
    transform: scale(1.2);      /* Leve aumento */
}

/* 4. Ícone de informação (i) acima do campo */
[data-bs-theme="dark"] .div-imagem a .fa-info-circle {
    color: var(--color-info) !important; /* Azul neon para combinar com o tema */
}

/* 1. Estrutura Principal (Borda e Sombra) */
[data-bs-theme="dark"] .cke_chrome {
    border: 1px solid var(--border-base) !important;
    box-shadow: none !important;
    background-color: var(--bg-base) !important;
}

/* 2. Barra de Ferramentas (Topo) */
[data-bs-theme="dark"] .cke_top {
    background: var(--bg-lighter) !important; /* Fundo cinza chumbo */
    border-bottom: 1px solid var(--border-base) !important;
    box-shadow: none !important;
    padding: 6px 8px 2px !important;
}

/* 3. Botões da Toolbar */
[data-bs-theme="dark"] .cke_toolgroup {
    background: var(--bg-base) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: none !important;
}

[data-bs-theme="dark"] a.cke_button {
    background: transparent !important;
    cursor: pointer !important;
}

[data-bs-theme="dark"] a.cke_button:hover,
[data-bs-theme="dark"] a.cke_button:focus,
[data-bs-theme="dark"] a.cke_button:active {
    background: #4a4a4a !important; /* Destaque no hover */
    box-shadow: none !important;
}

[data-bs-theme="dark"] .cke_button_on {
    background: var(--color-primary) !important; /* Botão ativo (ex: negrito ligado) */
    box-shadow: none !important;
}

/* 4. Ícones dos Botões (Inversão de cor) */
/* O CKEditor usa uma imagem única (sprite) com ícones pretos.
   Usamos filtro para inverter para branco e aumentar o brilho. */
[data-bs-theme="dark"] .cke_button_icon {
    filter: invert(1) brightness(2) !important;
}

/* 5. Combos/Dropdowns (Ex: "Estilo", "Formatação") */
[data-bs-theme="dark"] .cke_combo_button {
    background: var(--bg-base) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: none !important;
}
[data-bs-theme="dark"] .cke_combo_text {
    color: var(--text-main) !important;
    text-shadow: none !important;
}
[data-bs-theme="dark"] .cke_combo_arrow {
    border-top-color: var(--text-main) !important; /* Seta branca */
}

/* 6. Área de Edição (O papel) */
/* Mantemos branco para representar fielmente como o e-mail chegará */
[data-bs-theme="dark"] .cke_contents {
    background-color: var(--text-white) !important;
    border-top: 1px solid var(--border-base) !important;
}

/* 7. Barra Inferior (Rodapé / Caminho) */
[data-bs-theme="dark"] .cke_bottom {
    background: var(--bg-footer) !important;
    border-top: 1px solid var(--border-base) !important;
    box-shadow: none !important;
    padding: 6px 8px 2px !important;
}
[data-bs-theme="dark"] .cke_path_item {
    color: var(--text-main) !important;
    text-shadow: none !important;
}
[data-bs-theme="dark"] .cke_path_item:hover {
    color: var(--text-white) !important;
    text-decoration: underline !important;
}
[data-bs-theme="dark"] .cke_resizer {
    border-right-color: #666 !important; /* Triângulo de redimensionar */
}

/* 1. Estrutura Principal da Janela */
[data-bs-theme="dark"] .cke_dialog_body {
    background-color: var(--bg-base) !important; /* Fundo cinza escuro */
    border: 1px solid var(--border-base) !important;
    border-radius: 5px !important;
    box-shadow: 0 10px 30px rgba(0,0,0,0.7) !important;
}

/* 2. Barra de Título */
[data-bs-theme="dark"] .cke_dialog_title {
    background-color: var(--bg-footer) !important;
    background-image: none !important; /* Remove gradiente padrão */
    border-bottom: 1px solid var(--border-base) !important;
    color: var(--text-white) !important;
    font-weight: bold !important;
    text-shadow: none !important;
}

/* 3. Botão Fechar (X) */
[data-bs-theme="dark"] .cke_dialog_close_button {
    background-image: none !important; /* Remove sprite original */
    top: 5px !important;
}
[data-bs-theme="dark"] .cke_dialog_close_button span {
    color: var(--text-main) !important;
    font-size: 14px !important;
    display: block !important; /* Garante que o X apareça */
}
[data-bs-theme="dark"] .cke_dialog_close_button:hover span {
    color: var(--color-danger) !important; /* Vermelho no hover */
}

/* 4. Abas (Tabs) - Informações, Destino, etc. */
[data-bs-theme="dark"] .cke_dialog_tabs {
    background-color: var(--bg-footer) !important;
    border-bottom: 1px solid var(--border-base) !important;
}
[data-bs-theme="dark"] a.cke_dialog_tab {
    background-image: none !important;
    background-color: var(--bg-input) !important;
    border: 1px solid var(--border-base) !important;
    border-bottom: none !important;
    color: #888 !important;
    text-shadow: none !important;
    border-radius: 3px 3px 0 0 !important;
}
[data-bs-theme="dark"] a.cke_dialog_tab:hover {
    background-color: var(--border-dark) !important;
    color: var(--text-white) !important;
}
[data-bs-theme="dark"] a.cke_dialog_tab_selected {
    background-color: var(--bg-base) !important; /* Mesma cor do corpo para fundir */
    color: var(--color-primary) !important;            /* Azul destaque */
    font-weight: bold !important;
    cursor: default !important;
}

/* 5. Área de Conteúdo Interno */
[data-bs-theme="dark"] .cke_dialog_contents,
[data-bs-theme="dark"] .cke_dialog_contents_body,
[data-bs-theme="dark"] .cke_dialog_page_contents {
    background-color: var(--bg-base) !important;
    color: var(--text-main) !important;
}

/* 6. Inputs e Selects dentro do Modal */
[data-bs-theme="dark"] .cke_dialog_ui_input_text input,
[data-bs-theme="dark"] .cke_dialog_ui_input_textarea textarea,
[data-bs-theme="dark"] .cke_dialog_ui_input_select select {
    background-color: var(--bg-darker) !important;
    border: 1px solid var(--border-light) !important;
    color: var(--text-white) !important;
    box-shadow: none !important;
}
/* Labels */
[data-bs-theme="dark"] .cke_dialog_ui_labeled_label {
    color: var(--text-main) !important;
    text-shadow: none !important;
}

/* 7. Rodapé e Botões (OK / Cancelar) */
[data-bs-theme="dark"] .cke_dialog_footer {
    background-color: var(--bg-footer) !important;
    border-top: 1px solid var(--border-base) !important;
    background-image: none !important;
}

/* Estilo Geral dos Botões */
[data-bs-theme="dark"] a.cke_dialog_ui_button {
    background-image: none !important;
    background-color: var(--bg-lighter) !important;
    border: 1px solid var(--border-light) !important;
    box-shadow: none !important;
    border-radius: 3px !important;
    padding: 5px 15px !important;
}
[data-bs-theme="dark"] a.cke_dialog_ui_button span {
    color: var(--text-main) !important;
    text-shadow: none !important;
}
[data-bs-theme="dark"] a.cke_dialog_ui_button:hover {
    background-color: #4a4a4a !important;
    border-color: #666 !important;
}

/* Botão OK (Destaque Azul) */
[data-bs-theme="dark"] a.cke_dialog_ui_button_ok {
    background-color: var(--color-primary) !important;
    border-color: var(--color-primary) !important;
}
[data-bs-theme="dark"] a.cke_dialog_ui_button_ok span {
    color: var(--text-white) !important;
    font-weight: bold !important;
}
[data-bs-theme="dark"] a.cke_dialog_ui_button_ok:hover {
    background-color: #1976d2 !important;
}

[data-bs-theme="dark"] .cke_dialog_background_cover {
    background-color: #000000 !important; /* Muda de branco para preto */
    opacity: 0.7 !important;              /* Aumenta a opacidade para escurecer bem o fundo */
}

/* 1. Remove o fundo branco da tabela externa (Container Principal) */
[data-bs-theme="dark"] .cke_dialog {
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* 2. Garante que as células da tabela de layout não tenham cor */
[data-bs-theme="dark"] .cke_dialog > tbody > tr > td {
    background-color: transparent !important;
    border: none !important;
    padding: 0 !important;
}

/* 3. Ajusta o Corpo da Janela (Onde fica o conteúdo real) */
[data-bs-theme="dark"] .cke_dialog_body {
    background-color: var(--bg-base) !important;
    border: 1px solid var(--border-base) !important; /* Borda cinza escura única */
    border-radius: 5px !important;
}

/* 4. Remove bordas internas da área de conteúdo */
[data-bs-theme="dark"] .cke_dialog_contents {
    border: none !important;
    background-color: var(--bg-base) !important;
}

/* 5. Ajusta o Rodapé (Footer) para remover a linha branca superior */
[data-bs-theme="dark"] .cke_dialog_footer {
    background-color: var(--bg-footer) !important;
    border-top: 1px solid var(--border-base) !important; /* Troca borda branca por cinza */
    border-radius: 0 0 5px 5px !important;
    box-shadow: none !important;
    outline: none !important;
}

/* 6. Remove a linha branca entre as Abas e o Conteúdo */
[data-bs-theme="dark"] .cke_dialog_tabs {
    border-bottom: 1px solid var(--border-base) !important; /* Linha sutil escura */
    background-color: var(--bg-footer) !important;
}

/* 7. Remove qualquer resquício de borda nos inputs dentro da janela */
[data-bs-theme="dark"] .cke_dialog_ui_input_text,
[data-bs-theme="dark"] .cke_dialog_ui_input_select {
    box-shadow: none !important;
}

/* 1. Remove o fundo branco do container externo da mensagem */
[data-bs-theme="dark"] .mensagem {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* 2. Aplica a cor escura diretamente no CORPO da mensagem (onde está branco) */
[data-bs-theme="dark"] .msg_body {
    padding: 10px 15px !important;
    border-left: 1px solid var(--border-base) !important;
    border-right: 1px solid var(--border-base) !important;
    border-bottom: 1px solid var(--border-base) !important;
    border-radius: 0 0 5px 5px !important; /* Arredonda só embaixo */
    color: var(--text-white) !important;
}

/* 3. Cor para Mensagem RECEBIDA (Esquerda) - Cinza Chumbo */
[data-bs-theme="dark"] .msg_recebida .msg_body {
    background-color: var(--bg-lighter) !important; 
}

/* 4. Cor para Mensagem ENVIADA (Direita) - Azul/Verde Escuro */
[data-bs-theme="dark"] .msg_enviada .msg_body {
    background-color: #2c3b41 !important;
}

/* 5. Força todo o texto dentro do corpo a ser branco (para garantir leitura) */
[data-bs-theme="dark"] .msg_body p,
[data-bs-theme="dark"] .msg_body span,
[data-bs-theme="dark"] .msg_body div {
    color: var(--text-white) !important;
    background-color: transparent !important;
}

/* 6. Ajuste fino no cabeçalho para conectar visualmente com o corpo */
[data-bs-theme="dark"] .msg_header {
    border: 1px solid var(--border-base) !important;
    border-bottom: none !important; /* Remove linha entre header e body */
    border-radius: 5px 5px 0 0 !important; /* Arredonda só em cima */
    background-color: rgba(0, 0, 0, 0.3) !important;
}

/* ==========================================================================
   CORREÇÃO DE CORES ESPECIAIS EM TABELAS (Status de Pagamento/Matrícula)
   ========================================================================== */

/* 1. Vermelho (Atrasado / text-danger) */
[data-bs-theme="dark"] table.dataTable tbody tr.text-danger td,
[data-bs-theme="dark"] table.dataTable tbody tr.text-danger td a {
    color: var(--color-danger) !important;
}

/* 2. Roxo (Abaixo do Valor / class="abaixoDoValor") */
/* Fundo da linha */
[data-bs-theme="dark"] table.dataTable tbody tr.abaixoDoValor,
[data-bs-theme="dark"] table.dataTable tbody tr.abaixoDoValor > td {
    background-color: var(--bg-purple-dark) !important;
}
/* Efeito ao passar o mouse (Hover) */
[data-bs-theme="dark"] table.dataTable tbody tr.abaixoDoValor:hover,
[data-bs-theme="dark"] table.dataTable tbody tr.abaixoDoValor:hover > td {
    background-color: #4a3652 !important;
}
/* Cor do texto */
[data-bs-theme="dark"] table.dataTable tbody tr.abaixoDoValor td,
[data-bs-theme="dark"] table.dataTable tbody tr.abaixoDoValor td a {
    color: var(--color-purple-light) !important;
}

/* 3. Verde (Pago / text-success) */
[data-bs-theme="dark"] table.dataTable tbody tr.text-success td,
[data-bs-theme="dark"] table.dataTable tbody tr.text-success td a {
    color: var(--color-success) !important;
}

/* 4. Azul (Info / text-info) */
[data-bs-theme="dark"] table.dataTable tbody tr.text-info td,
[data-bs-theme="dark"] table.dataTable tbody tr.text-info td a {
    color: var(--color-info) !important;
}

[data-bs-theme="dark"] table.dataTable tbody td a {
    color: var(--color-primary) !important; /* Usa a variável definida no :root */
    text-decoration: none !important;
    font-weight: bold !important;
    cursor: pointer !important;
}

/* Link ao passar o mouse (Hover) */
[data-bs-theme="dark"] table.dataTable tbody td a:hover {
    color: var(--color-info) !important; /* Usa a variável de destaque (Azul Claro) */
    text-decoration: underline !important;
}

/* Garante que ícones dentro de links (ex: <i class="fa fa-edit">) herdem a cor do link */
[data-bs-theme="dark"] table.dataTable tbody td a i {
    color: inherit !important;
}

/* ==========================================================================
   CORREÇÃO: CAMPOS SELECT2 DESABILITADOS (SIMPLES E MULTI)
   ========================================================================== */

/* 1. Container Principal Desabilitado */
[data-bs-theme="dark"] .select2-container.select2-container-disabled .select2-choice,
[data-bs-theme="dark"] .select2-container-multi.select2-container-disabled .select2-choices {
    background-color: #151515 !important; 
    border: 1px solid #333 !important;    
    opacity: 0.5 !important;              
    box-shadow: none !important;
    color: #777 !important;
    cursor: not-allowed !important; /* Cursor de bloqueio */
}

/* 2. FORÇAR CURSOR: Garante que o mouse "proibido" apareça mesmo sobre o texto ou seta */
[data-bs-theme="dark"] .select2-container.select2-container-disabled *,
[data-bs-theme="dark"] .select2-container-multi.select2-container-disabled * {
    cursor: not-allowed !important;
}

/* 3. Ajuste da seta no modo desabilitado */
[data-bs-theme="dark"] .select2-container.select2-container-disabled .select2-choice .select2-arrow {
    background-color: transparent !important;
    border-left: 1px solid #333 !important;
}

/* 4. Remove o brilho de foco se o usuário clicar no campo desabilitado */
[data-bs-theme="dark"] .select2-container.select2-container-disabled.select2-container-active .select2-choice {
    border-color: #333 !important;
    box-shadow: none !important;
}

[data-bs-theme="dark"] .select2-container-disabled .select2-choices .select2-search-field input {
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

/* ==========================================================================
   CORREÇÃO: DATEPICKER
   ========================================================================== */

/* 1. Container Principal */
[data-bs-theme="dark"] #ui-datepicker-div, 
[data-bs-theme="dark"] .ui-datepicker {
    background-color: var(--bg-base) !important;
    border: 1px solid var(--border-base) !important;
    color: var(--text-white) !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.5) !important;
    font-family: 'Open Sans', sans-serif !important;
}

/* 2. Cabeçalho (Mês/Ano) */
[data-bs-theme="dark"] .ui-datepicker-header {
    /* Usando --bg-footer (#252525) pois é levemente mais escuro que a base */
    background: var(--bg-footer) !important;       
    border-bottom: 1px solid var(--border-base) !important;
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    border-radius: 0 !important;
    color: var(--text-white) !important;
}

/* 3. Título Central */
[data-bs-theme="dark"] .ui-datepicker-title {
    color: var(--text-white) !important;
    font-weight: bold !important;
}

/* 4. Setas de Navegação */
[data-bs-theme="dark"] .ui-datepicker-prev, 
[data-bs-theme="dark"] .ui-datepicker-next {
    background: transparent !important;
    border: none !important;
    cursor: pointer !important;
    top: 2px !important;
}

[data-bs-theme="dark"] .ui-datepicker-prev:hover, 
[data-bs-theme="dark"] .ui-datepicker-next:hover {
    background-color: var(--bg-hover) !important; /* #444444 */
    border: 1px solid var(--border-light) !important;
}

/* Ícones das setas */
[data-bs-theme="dark"] .ui-datepicker-header .ui-icon {
    background-image: none !important; 
    text-indent: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
}
[data-bs-theme="dark"] .ui-datepicker-header .fa {
    color: var(--text-white) !important;
    font-size: 14px !important;
}

/* 5. Dias da Semana (Dom, Seg...) */
[data-bs-theme="dark"] .ui-datepicker-calendar thead th {
    color: var(--text-muted) !important; /* #aaaaaa */
}

/* 6. Os Dias (Células Normais) */
[data-bs-theme="dark"] .ui-state-default {
    /* Usando --border-dark (#333) para diferenciar do fundo base (#2d2d) */
    background: var(--border-dark) !important;       
    border: 1px solid var(--border-base) !important;
    color: var(--text-main) !important;
    text-align: center !important;
}

/* 7. Hover no Dia */
[data-bs-theme="dark"] .ui-state-hover {
    background: var(--bg-hover) !important; /* #444444 */
    border-color: var(--border-light) !important;
    color: var(--text-white) !important;
}

/* 8. Dia Ativo / Selecionado */
[data-bs-theme="dark"] .ui-state-active,
[data-bs-theme="dark"] .ui-state-highlight {
    background: var(--color-primary) !important; /* #2196f3 */
    border-color: var(--color-primary) !important;
    color: var(--text-white) !important;
    font-weight: bold !important;
}



/* ==========================================================================
   CORREÇÃO E DESTAQUE: STATUS EM TABELAS (LINHAS COLORIDAS)
   ========================================================================== */

/* 1. Correção Geral de Legibilidade (Classes de Texto) */
/* text-muted (Trancado/Indeferido): Estava cinza escuro, agora vira cinza claro */
[data-bs-theme="dark"] .text-muted {
    color: var(--text-muted) !important; /* #aaaaaa */
}
[data-bs-theme="dark"] .text-danger {
    color: var(--color-danger) !important; /* #ff5252 */
}
[data-bs-theme="dark"] .text-warning {
    color: var(--color-warning) !important; /* #ffeb3b */
}
[data-bs-theme="dark"] .text-success {
    color: var(--color-success) !important; /* #4caf50 */
}
[data-bs-theme="dark"] .text-info {
    color: var(--color-info) !important; /* #64b5f6 */
}

/* 2. Destaque nas Linhas da Tabela (Fundo Colorido Suave) 
   Isso aplica uma cor de fundo com transparência (opacity 0.1) na linha inteira (tr)
*/

/* 1. CANCELADO (Vermelho - text-danger) */
[data-bs-theme="dark"] table.dataTable tbody tr.text-danger td,
[data-bs-theme="dark"] table.dataTable tbody tr.text-danger:hover td {
    background-color: rgba(255, 82, 82, 0.15) !important; /* Fundo avermelhado */
    color: var(--color-danger) !important; /* Força o texto vermelho */
}
/* Garante que links dentro da linha vermelha também fiquem vermelhos */
[data-bs-theme="dark"] table.dataTable tbody tr.text-danger td a {
    color: var(--color-danger) !important; 
}

/* 2. TRANSFERÊNCIA (Amarelo/Laranja - text-warning) */
[data-bs-theme="dark"] table.dataTable tbody tr.text-warning td,
[data-bs-theme="dark"] table.dataTable tbody tr.text-warning:hover td {
    background-color: rgba(255, 235, 59, 0.15) !important;
    color: var(--color-warning) !important; 
}
[data-bs-theme="dark"] table.dataTable tbody tr.text-warning td a {
    color: var(--color-warning) !important;
}

/* 3. TRANCADO / INDEFERIDO (Cinza - text-muted) */
[data-bs-theme="dark"] table.dataTable tbody tr.text-muted td,
[data-bs-theme="dark"] table.dataTable tbody tr.text-muted:hover td {
    background-color: rgba(255, 255, 255, 0.05) !important;
    color: var(--text-muted) !important;
}
[data-bs-theme="dark"] table.dataTable tbody tr.text-muted td a {
    color: var(--text-muted) !important;
}


/* 4. CONCLUÍDO (Verde - text-success) */
[data-bs-theme="dark"] table.dataTable tbody tr.text-success td,
[data-bs-theme="dark"] table.dataTable tbody tr.text-success:hover td {
    background-color: rgba(76, 175, 80, 0.15) !important;
    color: var(--color-success) !important;
}
[data-bs-theme="dark"] table.dataTable tbody tr.text-success td a {
    color: var(--color-success) !important;
}

/* 5. PENDENTE (Azul Claro - text-info) */
[data-bs-theme="dark"] table.dataTable tbody tr.text-info td,
[data-bs-theme="dark"] table.dataTable tbody tr.text-info:hover td {
    background-color: rgba(100, 181, 246, 0.15) !important;
    color: var(--color-info) !important;
}
[data-bs-theme="dark"] table.dataTable tbody tr.text-info td a {
    color: var(--color-info) !important;
}

/* 3. Correção para links dentro dessas linhas (ex: nome do aluno linkável)
   Garante que o link herde a cor da linha em vez de ficar o azul padrão */
[data-bs-theme="dark"] table tbody tr[class*="text-"] a {
    color: inherit !important;
    text-decoration: underline;
}

/* ==========================================================================
   CORREÇÃO V2: WIZARD (MASCARANDO A LINHA)
   ========================================================================== */

/* 1. CONFIGURAÇÃO GERAL DOS CÍRCULOS (Inativo/Padrão) */
[data-bs-theme="dark"] .form-bootstrapWizard .bootstrapWizard li .step {
    /* IMPORTANTE: Usamos a cor do fundo (--bg-base) para cobrir a linha que passa atrás.
       Se usar transparent, a linha risca o número. */
    background-color: var(--bg-base) !important; 
    border: 2px solid var(--border-light) !important;
    color: var(--text-muted) !important;
    box-shadow: none !important;
    
    /* Garante que o círculo fique ACIMA da linha de progresso */
    position: relative !important;
    z-index: 2 !important; 
}

/* 2. ESTADO CONCLUÍDO  */
[data-bs-theme="dark"] .form-bootstrapWizard .bootstrapWizard li.done .step {
    background-color: var(--bg-base) !important; /* Mantém fundo escuro para tapar a linha */
    border-color: var(--color-success) !important; /* Borda Verde */
    color: var(--color-success) !important;        /* Texto Verde */
}

/* 3. ESTADO ATIVO  */
[data-bs-theme="dark"] .form-bootstrapWizard .bootstrapWizard li.active .step {
    background-color: var(--color-primary) !important; /* Fundo Azul preenchido */
    border-color: var(--color-primary) !important;
    color: var(--text-white) !important;
    box-shadow: 0 0 8px rgba(33, 150, 243, 0.5) !important; /* Glow suave */
}

/* 4. AJUSTE DA LINHA DE FUNDO (A trilha cinza por onde a barra azul corre) */
[data-bs-theme="dark"] .form-bootstrapWizard .progress {
    background-color: #1a1a1a !important; /* Cinza bem escuro para o trilho */
    box-shadow: none !important;
}

/* 5. BARRA DE PROGRESSO (A linha azul) */
[data-bs-theme="dark"] .form-bootstrapWizard .progress-bar {
    background-color: var(--color-primary) !important;
    box-shadow: none !important;
}

/* 6. TÍTULOS */
[data-bs-theme="dark"] .form-bootstrapWizard .bootstrapWizard li .title {
    color: var(--text-muted) !important;
}
[data-bs-theme="dark"] .form-bootstrapWizard .bootstrapWizard li.active .title {
    color: var(--text-white) !important;
    font-weight: bold !important;
}

/* ==========================================================================
   CORREÇÃO: SELEÇÃO DE COLUNAS (DRAG AND DROP)
   ========================================================================== */

/* 1. Container Principal (A caixa que envolve a lista) */
[data-bs-theme="dark"] .drag-container {
    background-color: transparent !important;
    border: 1px solid var(--border-light) !important; /* Borda cinza suave */
    border-radius: 4px;
}

/* 2. Cabeçalho da Lista ("Campos Disponíveis" / "Campos Selecionados") */
[data-bs-theme="dark"] .drag-container .list-header {
    background-color: var(--bg-lighter) !important; /* #383838 - Cinza cabeçalho */
    color: var(--text-white) !important;
    border-bottom: 1px solid var(--border-light) !important;
    padding: 10px;
    font-weight: bold;
    border-radius: 4px 4px 0 0;
}

/* 3. Área da Lista (Onde os itens ficam) */
[data-bs-theme="dark"] ul.sortable-list {
    background-color: var(--bg-footer) !important; /* #252525 - Fundo escuro */
    min-height: 300px; /* Garante altura mesmo vazia */
    border-radius: 0 0 4px 4px;
    padding: 10px !important;
}

/* 4. Os Itens Arrastáveis (li) */
[data-bs-theme="dark"] ul.sortable-list li {
    background-color: var(--bg-base) !important; /* #2d2d2d - Botão escuro */
    color: var(--text-main) !important;          /* Texto claro */
    border: 1px solid var(--border-light) !important;
    margin-bottom: 5px !important;
    padding: 8px 10px !important;
    border-radius: 3px;
    cursor: move;
}

/* Efeito Hover no Item */
[data-bs-theme="dark"] ul.sortable-list li:hover {
    background-color: var(--bg-hover) !important; /* #444444 */
    border-color: var(--color-primary) !important; /* Borda azul ao passar o mouse */
    color: var(--text-white) !important;
}

/* 5. Ícone de Arrastar (As setinhas) */
[data-bs-theme="dark"] ul.sortable-list li i.fa {
    color: var(--text-muted) !important;
    margin-right: 5px;
}
[data-bs-theme="dark"] ul.sortable-list li:hover i.fa {
    color: var(--text-white) !important;
}

/* 6. Placeholder (O espaço vazio pontilhado que aparece enquanto você arrasta) */
[data-bs-theme="dark"] .ui-sortable-placeholder {
    background-color: rgba(255, 255, 255, 0.05) !important;
    border: 1px dashed var(--text-muted) !important;
    visibility: visible !important;
    border-radius: 3px;
}

[data-bs-theme="dark"] .xdsoft_datetimepicker {
    background-color: var(--bg-base) !important; /* #2d2d2d */
    border: 1px solid var(--border-base) !important;
    color: var(--text-white) !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.5) !important;
    font-family: 'Open Sans', sans-serif !important;
}

/* 2. Cabeçalho (Mês e Ano) */
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_monthpicker {
    background-color: var(--bg-footer) !important; /* #252525 */
}

[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_label {
    background-color: transparent !important;
    color: var(--text-white) !important;
    z-index: 100;
}

/* Dropdown de seleção de Mês/Ano */
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select {
    background-color: var(--bg-darker) !important; /* #1a1a1a */
    border: 1px solid var(--border-light) !important;
}

[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option {
    background-color: var(--bg-darker) !important;
    color: var(--text-main) !important;
    padding: 2px 10px !important;
}

[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_label > .xdsoft_select > div > .xdsoft_option:hover {
    background-color: var(--color-primary) !important; /* Azul no hover */
    color: #fff !important;
}

/* 3. Botões de Navegação (Setas e Hoje) 
   O plugin usa ícones pretos como imagem de fundo. 
   O filtro 'invert(1)' transforma preto em branco. */
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_prev,
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_next,
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_today_button {
    filter: invert(1) grayscale(100%) !important;
    opacity: 0.8 !important;
}
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_prev:hover,
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_next:hover,
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_today_button:hover {
    opacity: 1 !important;
}

/* 4. Calendário (Dias) */
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_calendar th {
    background-color: var(--bg-footer) !important;
    color: var(--text-muted) !important; /* Dias da semana (Dom, Seg...) */
    border-color: var(--border-dark) !important;
}

[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_calendar td {
    background-color: var(--bg-base) !important;
    color: var(--text-main) !important;
    border-color: var(--border-dark) !important;
}

/* Dia Hover */
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_calendar td:hover,
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div:hover {
    background-color: var(--bg-hover) !important; /* #444444 */
    color: var(--text-white) !important;
}

/* 5. Destaques (Dia Atual / Selecionado) */
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current,
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_current:hover,
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div.xdsoft_current {
    background-color: var(--color-primary) !important; /* Azul Principal */
    box-shadow: none !important;
    color: #fff !important;
    font-weight: bold !important;
}

/* Dia de Hoje (Borda ou cor diferente) */
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_today {
    color: var(--color-info) !important; /* Azul claro para 'hoje' */
    font-weight: bold !important;
}

/* Dias de outro mês (apagados) */
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month,
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_disabled {
    opacity: 0.3 !important;
    cursor: default !important;
}

/* 6. Seletor de Hora (Coluna da Direita) */
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div {
    background-color: var(--bg-base) !important;
    color: var(--text-main) !important;
    border-bottom: 1px solid var(--border-dark) !important;
}

/* Scrollbar do Timepicker */
[data-bs-theme="dark"] .xdsoft_datetimepicker .xdsoft_scrollbar > .xdsoft_scroller {
    background-color: var(--border-light) !important;
}

[data-bs-theme="dark"] .select2-container-multi:has(.select2-input.select2-active) .select2-choices {
    background-image: none !important; /* Remove sombras/gradientes padrão */
    border-color: #444 !important;
}

[data-bs-theme="dark"] .select2-container-multi .select2-choices .select2-search-field input.select2-active {
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cstyle%3E.spinner_ajPY%7Btransform-origin:center;animation:spinner_AtaB .75s infinite linear%7D@keyframes spinner_AtaB%7B100%25%7Btransform:rotate(360deg)%7D%7D%3C/style%3E%3Cpath d='M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z' opacity='.25' fill='%23ffffff'/%3E%3Cpath d='M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z' class='spinner_ajPY' fill='%23ffffff'/%3E%3C/svg%3E") no-repeat right 10px center !important;
    background-size: 18px 18px !important;
    color: #fff !important;
}

[data-bs-theme="dark"] .select2-container-multi .select2-choices {
    background-color: var(--bg-input, #222); /* Ou a cor padrão do seu input */
    transition: background-color 0.2s ease; /* Transição suave para o preto */
}

/* Estilo Base para todos os alertas no modo escuro */
[data-bs-theme="dark"] .alert {
    background-color: #151515 !important; /* Fundo quase preto para combinar com o Select2 */
    border-width: 1px !important;
    border-style: solid !important;
    color: #eee !important; /* Texto claro padrão */
}

/* Alerta Primary (Azul) */
[data-bs-theme="dark"] .alert-primary {
    border-color: #0d6efd !important;
    background-color: rgba(13, 110, 253, 0.1) !important; /* Fundo com 10% da cor original */
    color: #6ea8fe !important; /* Azul mais suave para leitura */
}

/* Alerta Success (Verde) */
[data-bs-theme="dark"] .alert-success {
    border-color: #198754 !important;
    background-color: rgba(25, 135, 84, 0.1) !important;
    color: #75b798 !important;
}

/* Alerta Danger (Vermelho) */
[data-bs-theme="dark"] .alert-danger {
    border-color: #dc3545 !important;
    background-color: rgba(220, 53, 69, 0.1) !important;
    color: #ea868f !important;
}

/* Alerta Warning (Amarelo/Laranja) */
[data-bs-theme="dark"] .alert-warning {
    border-color: #ffc107 !important;
    background-color: rgba(255, 193, 7, 0.05) !important;
    color: #ffda6a !important;
}

/* Alerta Info (Ciano) */
[data-bs-theme="dark"] .alert-info {
    border-color: #0dcaf0 !important;
    background-color: rgba(13, 202, 240, 0.1) !important;
    color: #6edff6 !important;
}

/* Alerta Light (Cinza claro no dark mode vira um cinza médio) */
[data-bs-theme="dark"] .alert-light {
    border-color: #444 !important;
    background-color: #222 !important;
    color: #f8f9fa !important;
}

/* Alerta Dark (O mais escuro de todos) */
[data-bs-theme="dark"] .alert-dark {
    border-color: #111 !important;
    background-color: #050505 !important;
    color: #adb5bd !important;
}

/* Garante que links dentro dos alertas tenham a cor correta */
[data-bs-theme="dark"] .alert a.alert-link {
    color: inherit !important;
    text-decoration: underline;
    font-weight: bold;
}

/* --- 1. Remover Borda Branca e Corrigir Fundo (.grade e containers) --- */
[data-bs-theme="dark"] .grade,
[data-bs-theme="dark"] .tab-content, 
[data-bs-theme="dark"] .well {
    border-color: #373b3e !important;     /* Troca a borda branca por cinza escuro discreto */
    color: #dee2e6 !important;
}


/* --- 2. Abas (Tabs) Neutras --- */
[data-bs-theme="dark"] .nav-tabs.bordered {
    border: 1px solid #373b3e !important;
    border-bottom: 1px solid var(--border-light) !important;
    background: transparent !important;
}

/* --- 3. Tabelas Limpas (Cinza Neutro) --- */
[data-bs-theme="dark"] .table {
    background-color: #212529 !important;
    color: #dee2e6 !important;
}

[data-bs-theme="dark"] .modal-footer {
    margin-top: 15px;
    padding: 19px 20px 20px;
    text-align: right;
    border-top: 1px solid var(--border-light);
}

[data-bs-theme="dark"] table tbody tr.tr-active > td,
[data-bs-theme="dark"] table tbody tr.tr-active:nth-of-type(odd) > td{
    background-color: var(--btn-primary-bg, #0d6efd) !important; /* Fallback azul se a var falhar */
    color: #FFFFFF !important;
    box-shadow: none !important; /* Remove sombras que o DataTables usa para destacar ordenação */
    border-color: transparent !important; /* Opcional: remove bordas internas para visual mais limpo */
}

/* Opcional: Se quiser garantir que o hover não mude a cor da linha já selecionada */
[data-bs-theme="dark"] table tbody tr.tr-active:hover > td {
    background-color: var(--btn-primary-bg, #0d6efd) !important;
    opacity: 0.9; /* Um leve efeito visual para saber que o mouse está em cima */
}


/* ==========================================================================
   CORREÇÃO SELECT2 - Padrão de Cores do Usuário
   ========================================================================== */

/* 1. Container Principal (Multi-Seleção) */
[data-bs-theme="dark"] .select2-container-multi .select2-choices {
    background-color: var(--bg-input) !important;    /* #222222 */
    border: 1px solid var(--border-light) !important; /* #555555 */
    color: var(--text-white) !important;             /* #ffffff */
    background-image: none !important;               /* Remove gradientes */
    box-shadow: none !important;
}

/* 2. O "Quadrado Indevido" (Input onde se digita dentro do Multi) 
   SOLUÇÃO: Fundo transparente para herdar o cinza do pai */
[data-bs-theme="dark"] .select2-container-multi .select2-choices .select2-search-field input {
    background-color: transparent !important;        /* ESSENCIAL */
    color: var(--text-white) !important;             /* Texto branco */
    box-shadow: none !important;
    border: none !important;
    font-family: inherit !important;
    margin: 1px 0 !important;
}

/* 3. Itens Selecionados (Tags/Chips) */
[data-bs-theme="dark"] .select2-container-multi .select2-choices .select2-search-choice {
    background-color: var(--bg-lighter) !important;  /* #383838 */
    border: 1px solid var(--border-light) !important; /* #555555 */
    color: var(--text-white) !important;             /* #ffffff */
    background-image: none !important;
    box-shadow: none !important;
    margin-top: 5px !important;
}

/* 5. Select Único (Single Select) - Container */
[data-bs-theme="dark"] .select2-container .select2-choice {
    background-color: var(--bg-input) !important;    /* #222222 */
    border: 1px solid var(--border-light) !important; /* #555555 */
    color: var(--text-white) !important;             /* #ffffff */
    background-image: none !important;
    height: 32px !important;
}

/* Texto do Select Único */
[data-bs-theme="dark"] .select2-container .select2-choice > .select2-chosen {
    color: var(--text-white) !important;
}

/* 6. Input de Busca (Aquele que aparece quando abre o dropdown) */
[data-bs-theme="dark"] .select2-search input {
    background-color: var(--bg-darker) !important;   /* #1a1a1a - Diferencia levemente */
    border: 1px solid var(--border-light) !important; /* #555555 */
    color: var(--text-white) !important;
    background-image: none !important;
}

/* 7. Dropdown (Lista de Opções) */
[data-bs-theme="dark"] .select2-drop {
    background-color: var(--bg-base) !important;     /* #2d2d2d */
    border: 1px solid var(--border-light) !important;
    color: var(--text-main) !important;              /* #e0e0e0 */
}

/* 8. Item Hover/Selecionado na Lista */
[data-bs-theme="dark"] .select2-results .select2-highlighted {
    background-color: var(--color-primary) !important; /* #2196f3 (Seu azul padrão) */
    color: var(--text-white) !important;
}

/* ==========================================================================
   CORREÇÃO TABELA (Quando o cabeçalho usa <td> em vez de <th>)
   ========================================================================== */

/* 1. Força o fundo escuro e remove gradientes no cabeçalho */
[data-bs-theme="dark"] #tableDays thead tr td,
[data-bs-theme="dark"] .table thead tr td {
    background-color: var(--bg-lighter) !important; /* #383838 */
    background-image: none !important;              /* Remove o gradiente branco/cinza */
    color: var(--text-white) !important;            /* Texto branco */
    border-bottom: 2px solid var(--border-light) !important;
    border-top: 1px solid var(--border-light) !important;
    font-weight: bold !important;                   /* Deixa com cara de título */
}

/* 2. Garante que as bordas laterais fiquem escuras */
[data-bs-theme="dark"] #tableDays.table-bordered,
[data-bs-theme="dark"] #tableDays.table-bordered > thead > tr > td {
    border-color: var(--border-light) !important;
}

/* 3. Ajuste do corpo da tabela (caso ainda não esteja pegando) */
[data-bs-theme="dark"] #tableDays tbody tr td {
    background-color: var(--bg-base) !important;    /* #2d2d2d */
    color: var(--text-main) !important;             /* #e0e0e0 */
    border-color: var(--border-light) !important;
}

/* 4. Hover nas linhas do corpo */
[data-bs-theme="dark"] #tableDays.table-hover tbody tr:hover td {
    background-color: var(--bg-hover) !important;   /* #444444 */
}

[data-bs-theme="dark"] .table-bordered > tfoot > tr > td{
    border: 1px solid var(--bg-hover) !important;   
}

/* ==========================================================================
   CORREÇÃO: PAINEL DE DETALHES (.gray-panel)
   ========================================================================== */

/* 1. Container Principal (Remove o fundo branco) */
[data-bs-theme="dark"] .gray-panel {
    background-color: var(--bg-base) !important;    /* #2d2d2d */
    border: 1px solid var(--border-base) !important; /* #444444 */
    border-radius: 4px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.2); /* Sombra suave */
}

/* 2. Rótulos (Labels) - Ex: "Código", "Criado em" */
[data-bs-theme="dark"] .gray-panel .info-label {
    color: var(--text-muted) !important; /* #aaaaaa - Cinza claro */
    display: block;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
    font-weight: 600;
}

/* 3. Valores (Values) - Ex: "0002", Datas */
[data-bs-theme="dark"] .gray-panel .info-value {
    color: var(--text-white) !important; /* #ffffff - Branco */
    font-size: 14px;
    font-weight: normal;
    display: block;
}

/* 4. Nome em Destaque (Título Grande) */
[data-bs-theme="dark"] .gray-panel .info-value.big-text {
    color: var(--color-primary) !important; /* #2196f3 - Azul */
    font-size: 20px;
    font-weight: bold;
    margin-top: 5px;
}

/* 5. Linha Divisória */
[data-bs-theme="dark"] .gray-panel .panel-divider {
    border-top: 1px solid var(--border-light) !important; /* #555555 */
    margin: 20px -20px; /* Estende a linha para encostar nas bordas laterais */
}

/* 6. CORREÇÃO CRÍTICA: Sobrescrever cores inline (style="color: #555") */
/* O ID #viewNiveis tem uma cor cinza escura fixa no HTML que some no fundo preto. 
   O !important aqui é obrigatório para vencer o style="" */
[data-bs-theme="dark"] .gray-panel #viewNiveis {
    color: var(--text-secondary) !important; /* #cccccc */
}

[data-bs-theme="dark"] #viewStatus[style*="rgb(46, 125, 50)"] {
    color: var(--color-success) !important; /* #4caf50 */
    text-shadow: 0 0 5px rgba(76, 175, 80, 0.3);
}

/* 2. Se o sistema mandou VERMELHO (Inativo), forçamos o VERMELHO CLARO */
/* O seletor procura a string do RGB vermelho puro */
[data-bs-theme="dark"] #viewStatus[style*="rgb(255, 0, 0)"],
[data-bs-theme="dark"] #viewStatus[style*="red"] {
    color: var(--color-danger) !important;  /* #ff5252 */
    text-shadow: 0 0 5px rgba(255, 82, 82, 0.3);
}

/* 8. Ajuste das caixas de informação para centralizar ou alinhar melhor */
[data-bs-theme="dark"] .gray-panel .info-box {
    margin-bottom: 15px;
}

/* ==========================================================================
   CORREÇÃO: MODAL "ATUALIZAR TÍTULO" (OVERRIDE DE ESTILOS INLINE)
   ========================================================================== */

/* 1. Header e Footer do Modal */
[data-bs-theme="dark"] #modal-atualizar-titulo-novo .modal-header,
[data-bs-theme="dark"] #modal-atualizar-titulo-novo .modal-footer {
    background-color: var(--bg-footer) !important; /* Remove o #f8f9fa inline */
    border-color: var(--border-dark) !important;
}

[data-bs-theme="dark"] #modal-atualizar-titulo-novo .modal-title {
    color: var(--text-white) !important; /* Remove o #333 inline */
}

/* 2. Corpo do Modal */
[data-bs-theme="dark"] #modal-atualizar-titulo-novo .modal-body {
    background-color: var(--bg-base) !important;
}

/* 3. Caixa Cinza de Informações (Código, Pessoa, Responsável) */
[data-bs-theme="dark"] #modal-atualizar-titulo-novo .modal-body > section > div[style*="background-color: #f4f5f7"] {
    background-color: var(--bg-darker) !important; /* Fundo mais escuro */
    border-color: var(--border-light) !important;
}

[data-bs-theme="dark"] #modal-atualizar-titulo-novo p[id*="Display"] {
    color: var(--text-white) !important; /* Texto dos valores em branco */
}

/* 4. Caixa Verde de "Valor Final" */
/* O original é verde claro (#f0fbf4). No dark mode, faremos verde escuro transparente */
[data-bs-theme="dark"] #modal-atualizar-titulo-novo .form-group[style*="background-color: #f0fbf4"] {
    background-color: rgba(40, 167, 69, 0.15) !important; /* Fundo verde escuro translúcido */
    border-color: #2e7d32 !important;
}

[data-bs-theme="dark"] #modal-atualizar-titulo-novo .atualizarTituloValorFinal {
    color: #4caf50 !important; /* Verde mais brilhante para ler no escuro */
    text-shadow: 0 0 5px rgba(76, 175, 80, 0.3);
}

/* 5. Ícones e Labels */
[data-bs-theme="dark"] #modal-atualizar-titulo-novo label {
    color: var(--text-main) !important;
}
[data-bs-theme="dark"] #modal-atualizar-titulo-novo .text-muted {
    color: var(--text-muted) !important;
}
[data-bs-theme="dark"] #modal-atualizar-titulo-novo .input-group-addon {
    background-color: var(--bg-input) !important;
    border-color: var(--border-base) !important;
}

/* ==========================================================================
   CORREÇÃO: DROPDOWN DE AÇÕES (TABELAS FINANCEIRAS)
   ========================================================================== */

/* Container do Menu */
[data-bs-theme="dark"] .dropdown-menu-customizado {
    background-color: var(--bg-footer) !important; /* Fundo escuro */
    border: 1px solid var(--border-light) !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.5) !important;
}

/* Itens do Menu (Links) */
[data-bs-theme="dark"] .dropdown-menu-customizado .dropdown-item {
    color: var(--text-main) !important; /* Texto claro */
}

/* Ícones dentro dos itens */
[data-bs-theme="dark"] .dropdown-menu-customizado .dropdown-item i {
    color: var(--text-muted) !important;
}

/* Hover no Item */
[data-bs-theme="dark"] .dropdown-menu-customizado .dropdown-item:hover {
    background-color: var(--bg-hover) !important; /* #444444 */
    color: var(--color-primary) !important;       /* Azul no hover */
}

[data-bs-theme="dark"] .dropdown-menu-customizado .dropdown-item:hover i {
    color: var(--color-primary) !important;
}

/* Divisória (Linha) */
[data-bs-theme="dark"] .dropdown-menu-customizado .divider {
    background-color: var(--border-light) !important;
}