/**
 * Dark Theme CSS
 * Aplicado quando [data-theme="dark"] está presente no elemento <html>
 */

[data-theme="dark"] {
  /* Cores principais dark */
  --primary-color: #5C6BC0;
  --primary-hover: #7986CB;
  --secondary-color: #424242;
  --accent-color: #FFC107;
  --text-primary: #E0E0E0;
  --text-secondary: #B0B0B0;
  --border-color: #424242;
  --bg-light: #1E1E1E;
  --bg-white: #2D2D2D;
  --bg-dark: #1A1A1A;
  --shadow-sm: 0 2px 4px rgba(0,0,0,0.3);
  --shadow-md: 0 4px 6px rgba(0,0,0,0.4);
  --shadow-lg: 0 10px 15px rgba(0,0,0,0.5);
}

/* Body e background */
[data-theme="dark"] body {
  background-color: var(--bg-light) !important;
  color: var(--text-primary);
}

[data-theme="dark"] .content-wrapper {
  background-color: var(--bg-light) !important;
}

[data-theme="dark"] .modern-content {
  background: var(--bg-light) !important;
}

/* Boxes e cards */
[data-theme="dark"] .modern-box,
[data-theme="dark"] .box {
  background: var(--bg-white) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary);
}

[data-theme="dark"] .modern-box-body,
[data-theme="dark"] .box-body {
  background: var(--bg-white) !important;
  color: var(--text-primary);
}

/* Header - mantém gradiente mas ajusta */
[data-theme="dark"] .modern-header .navbar {
  background: linear-gradient(135deg, #0d1b4d 0%, #1a237e 50%, #283593 100%) !important;
}

/* Footer */
[data-theme="dark"] .modern-footer,
[data-theme="dark"] .main-footer {
  background: var(--bg-white) !important;
  border-top-color: var(--border-color) !important;
  color: var(--text-primary);
}

[data-theme="dark"] .modern-footer .footer-link {
  color: var(--primary-color) !important;
}

[data-theme="dark"] .modern-footer .footer-separator,
[data-theme="dark"] .main-footer .footer-separator {
  color: var(--text-secondary);
}

[data-theme="dark"] .modern-footer .build-version,
[data-theme="dark"] .main-footer .build-version {
  color: var(--text-secondary);
}

/* Tabelas */
[data-theme="dark"] .table {
  color: var(--text-primary);
  background-color: var(--bg-white);
}

[data-theme="dark"] .table > thead > tr > th {
  background-color: var(--bg-dark) !important;
  color: var(--text-primary);
  border-color: var(--border-color) !important;
}

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

[data-theme="dark"] .table-striped > tbody > tr:nth-of-type(odd) {
  background-color: var(--bg-dark) !important;
}

[data-theme="dark"] .table-striped > tbody > tr:hover {
  background-color: rgba(66, 66, 66, 0.8) !important;
}

[data-theme="dark"] .table-striped > tbody > tr:hover td {
  background-color: transparent !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .table-hover > tbody > tr:hover {
  background-color: rgba(66, 66, 66, 0.8) !important;
}

[data-theme="dark"] .table-hover > tbody > tr:hover td {
  background-color: transparent !important;
  color: var(--text-primary) !important;
}

/* Hover para todas as tabelas no dark mode */
[data-theme="dark"] .table > tbody > tr:hover {
  background-color: rgba(66, 66, 66, 0.8) !important;
}

[data-theme="dark"] .table > tbody > tr:hover td {
  background-color: transparent !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .table > tbody > tr:hover th {
  background-color: transparent !important;
  color: var(--text-primary) !important;
}

/* Melhorar visibilidade do texto nas linhas de tabelas de contas a pagar */
[data-theme="dark"] .table tbody tr td {
  color: var(--text-primary) !important;
}

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

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

[data-theme="dark"] .table tbody tr td.text-danger {
  color: #ff6b6b !important;
}

[data-theme="dark"] .table tbody tr td.text-success {
  color: #51cf66 !important;
}

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

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

/* Estilos específicos para tabela de despesas/contas a pagar */
[data-theme="dark"] .table.table-bordered.table-hover.table-striped tbody tr td {
  color: #E8E8E8 !important;
}

[data-theme="dark"] .table.table-bordered.table-hover.table-striped tbody tr td div {
  color: #E8E8E8 !important;
}

[data-theme="dark"] .table.table-bordered.table-hover.table-striped tbody tr td span {
  color: #E8E8E8 !important;
}

/* Sobrescrever estilos inline da tabela moderna de despesas */
[data-theme="dark"] .despesas-table-modern tbody tr td {
  color: #E8E8E8 !important;
}

[data-theme="dark"] .despesas-table-modern tbody tr td div {
  color: #E8E8E8 !important;
}

[data-theme="dark"] .despesas-table-modern tbody tr td span {
  color: #E8E8E8 !important;
}

[data-theme="dark"] .despesas-table-modern tbody tr td div[style*="color: #1E293B"],
[data-theme="dark"] .despesas-table-modern tbody tr td div[style*="color: #475569"],
[data-theme="dark"] .despesas-table-modern tbody tr td div[style*="color: #64748B"] {
  color: #E8E8E8 !important;
}

[data-theme="dark"] .despesas-table-modern tbody tr td span[style*="color: #475569"],
[data-theme="dark"] .despesas-table-modern tbody tr td span[style*="color: #64748B"],
[data-theme="dark"] .despesas-table-modern tbody tr td span[style*="color: #CBD5E1"] {
  color: #C0C0C0 !important;
}

[data-theme="dark"] .despesas-table-modern tbody tr td div[style*="font-family: 'Courier New'"] {
  color: #E8E8E8 !important;
}

[data-theme="dark"] .despesas-table-modern tbody tr td div[style*="color: #16A34A"] {
  color: #51cf66 !important;
}

[data-theme="dark"] .despesas-table-modern tbody tr td div[style*="color: #DC2626"] {
  color: #ff6b6b !important;
}

[data-theme="dark"] .despesas-table-modern tfoot tr td {
  color: #E8E8E8 !important;
}

[data-theme="dark"] .despesas-table-modern tfoot tr td div {
  color: #E8E8E8 !important;
}

/* Tabelas de contas a pagar no dashboard */
[data-theme="dark"] .dashboard-valores-contas .conta .body .secao table td {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .dashboard-valores-contas .conta .body .secao table tr:hover td {
  background-color: var(--bg-light) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .dashboard-valores-contas .conta .body .secao table td.total {
  color: var(--text-primary) !important;
  font-weight: bold !important;
}

[data-theme="dark"] .dashboard-valores-contas .conta .body .secao table td.total b {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .dashboard-valores-contas .conta .body .secao table th {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .dashboard-valores-contas .conta .body .secao table th.vencidos {
  background-color: #c01c28 !important;
  color: #fff !important;
}

[data-theme="dark"] .dashboard-valores-contas .conta .body .secao table th.avencer {
  background-color: #f6d32d !important;
  color: #333 !important;
}

[data-theme="dark"] .dashboard-valores-contas .conta .body .secao table th span {
  color: inherit !important;
}

/* Formulários */
[data-theme="dark"] .form-control {
  background-color: var(--bg-dark) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .form-control:focus {
  background-color: var(--bg-dark) !important;
  border-color: var(--primary-color) !important;
  color: var(--text-primary) !important;
  box-shadow: 0 0 0 3px rgba(92, 107, 192, 0.2);
}

[data-theme="dark"] .form-control::placeholder {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] select.form-control {
  background-color: var(--bg-dark) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] textarea.form-control {
  background-color: var(--bg-dark) !important;
  color: var(--text-primary) !important;
}

/* Inputs e selects */
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="number"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] input[type="password"],
[data-theme="dark"] input[type="date"],
[data-theme="dark"] input[type="time"],
[data-theme="dark"] input[type="file"],
[data-theme="dark"] input[type="file"].form-control,
[data-theme="dark"] select,
[data-theme="dark"] textarea {
  background-color: var(--bg-dark) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* Input file específico - o texto do botão "Escolher arquivo" */
[data-theme="dark"] input[type="file"]::file-selector-button {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  color: #ffffff !important;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  margin-right: 10px;
}

[data-theme="dark"] input[type="file"]::file-selector-button:hover {
  background-color: var(--primary-hover) !important;
  border-color: var(--primary-hover) !important;
}

/* Labels */
[data-theme="dark"] label,
[data-theme="dark"] .control-label {
  color: var(--text-primary) !important;
}

/* Botões */
[data-theme="dark"] .btn,
[data-theme="dark"] .btn-default {
  background-color: var(--bg-dark) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .btn:hover,
[data-theme="dark"] .btn-default:hover {
  background-color: var(--secondary-color) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* Botões sem classe específica (btn btn-sm, etc) */
[data-theme="dark"] .btn:not(.btn-primary):not(.btn-success):not(.btn-info):not(.btn-warning):not(.btn-danger):not(.btn-default) {
  background-color: var(--bg-dark) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .btn:not(.btn-primary):not(.btn-success):not(.btn-info):not(.btn-warning):not(.btn-danger):not(.btn-default):hover {
  background-color: var(--secondary-color) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .btn-primary {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  color: #ffffff !important;
}

[data-theme="dark"] .btn-primary:hover {
  background-color: var(--primary-hover) !important;
  border-color: var(--primary-hover) !important;
  color: #ffffff !important;
}

[data-theme="dark"] .btn-success {
  background-color: #4CAF50 !important;
  border-color: #4CAF50 !important;
  color: #ffffff !important;
}

[data-theme="dark"] .btn-success:hover {
  background-color: #45a049 !important;
  border-color: #45a049 !important;
  color: #ffffff !important;
}

[data-theme="dark"] .btn-info {
  background-color: #2196F3 !important;
  border-color: #2196F3 !important;
  color: #ffffff !important;
}

[data-theme="dark"] .btn-info:hover {
  background-color: #0b7dda !important;
  border-color: #0b7dda !important;
  color: #ffffff !important;
}

[data-theme="dark"] .btn-warning {
  background-color: #FF9800 !important;
  border-color: #FF9800 !important;
  color: #ffffff !important;
}

[data-theme="dark"] .btn-warning:hover {
  background-color: #e68900 !important;
  border-color: #e68900 !important;
  color: #ffffff !important;
}

[data-theme="dark"] .btn-danger {
  background-color: #F44336 !important;
  border-color: #F44336 !important;
  color: #ffffff !important;
}

[data-theme="dark"] .btn-danger:hover {
  background-color: #da190b !important;
  border-color: #da190b !important;
  color: #ffffff !important;
}

/* Input Group Addon */
[data-theme="dark"] .input-group-addon {
  background-color: var(--bg-dark) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

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

/* Background utilities */
[data-theme="dark"] .bg-info {
  background-color: rgba(33, 150, 243, 0.3) !important;
  color: #64B5F6 !important;
}

[data-theme="dark"] .bg-success {
  background-color: rgba(76, 175, 80, 0.3) !important;
  color: #81C784 !important;
}

[data-theme="dark"] .bg-warning {
  background-color: rgba(255, 152, 0, 0.3) !important;
  color: #FFB74D !important;
}

[data-theme="dark"] .bg-danger {
  background-color: rgba(244, 67, 54, 0.3) !important;
  color: #E57373 !important;
}

[data-theme="dark"] .bg-primary {
  background-color: rgba(63, 81, 181, 0.3) !important;
  color: #9FA8DA !important;
}

[data-theme="dark"] .bg-white {
  background-color: var(--bg-white) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .bg-light {
  background-color: var(--bg-light) !important;
  color: var(--text-primary) !important;
}

/* Classes de background customizadas para rentabilidade */
[data-theme="dark"] .bg-blue01 {
  background-color: rgba(33, 150, 243, 0.2) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .bg-blue01 .valor-display {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .bg-success1 {
  background-color: rgba(76, 175, 80, 0.2) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .bg-success1 .valor-display {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .bg-gray {
  background-color: rgba(158, 158, 158, 0.2) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .bg-gray th {
  color: var(--text-primary) !important;
}

/* Garantir que as colunas de totais no tfoot tenham cor correta */
[data-theme="dark"] tfoot td.bg-info {
  background-color: rgba(33, 150, 243, 0.3) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] tfoot td.bg-info .valor-display {
  color: var(--text-primary) !important;
}

[data-theme="dark"] tfoot td.bg-success1 {
  background-color: rgba(76, 175, 80, 0.3) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] tfoot td.bg-success1 .valor-display {
  color: var(--text-primary) !important;
}

/* Linha de totais com classe .info */
[data-theme="dark"] tfoot tr.info,
[data-theme="dark"] tr.info {
  background-color: rgba(33, 150, 243, 0.3) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] tfoot tr.info th,
[data-theme="dark"] tr.info th,
[data-theme="dark"] tfoot tr.info td,
[data-theme="dark"] tr.info td {
  background-color: rgba(33, 150, 243, 0.3) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] tfoot tr.info .valor-display,
[data-theme="dark"] tr.info .valor-display {
  color: var(--text-primary) !important;
}

[data-theme="dark"] tfoot tr.info strong,
[data-theme="dark"] tr.info strong {
  color: var(--text-primary) !important;
}

/* Text utilities - garantir que funcionem no dark mode */
/* Aplicar cor apenas ao texto direto, não aos elementos filhos como botões */
[data-theme="dark"] .text-right:not(.btn):not(button):not(a) {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .text-left:not(.btn):not(button):not(a) {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .text-center:not(.btn):not(button):not(a) {
  color: var(--text-primary) !important;
}

/* Para divs e containers com text-right, não aplicar cor aos filhos */
[data-theme="dark"] .text-right.btn,
[data-theme="dark"] .text-left.btn,
[data-theme="dark"] .text-center.btn {
  color: inherit !important;
}

/* Garantir que botões dentro de containers text-right mantenham suas cores */
[data-theme="dark"] .text-right .btn,
[data-theme="dark"] .text-left .btn,
[data-theme="dark"] .text-center .btn,
[data-theme="dark"] .text-right button,
[data-theme="dark"] .text-left button,
[data-theme="dark"] .text-center button {
  color: inherit !important;
}

/* Garantir que elementos dentro de botões mantenham suas cores */
[data-theme="dark"] .btn b,
[data-theme="dark"] .btn span,
[data-theme="dark"] .btn i,
[data-theme="dark"] button b,
[data-theme="dark"] button span,
[data-theme="dark"] button i {
  color: inherit !important;
}

/* Classes específicas de conciliação */
[data-theme="dark"] .conciliacao-detalhes-fixed {
  background-color: var(--bg-white) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .output-detalhes-item-conciliacao {
  background-color: var(--bg-white) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] #output-detalhes-item-conciliacao,
[data-theme="dark"] #output-transferencia-item-conciliacao {
  background-color: var(--bg-white) !important;
  color: var(--text-primary) !important;
}

/* Botões de conciliação */
[data-theme="dark"] .btn-conciliar-varios {
  background-color: var(--bg-dark) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .btn-conciliar-varios:hover {
  background-color: var(--secondary-color) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* Texto dentro de botões de conciliação */
[data-theme="dark"] .btn-conciliar-varios b.text-primary {
  color: var(--primary-color) !important;
}

[data-theme="dark"] .btn-conciliar-varios b.text-danger {
  color: #E57373 !important;
}

[data-theme="dark"] .btn-conciliar-varios span {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .text-info {
  color: #64B5F6 !important;
}

[data-theme="dark"] .text-success {
  color: #81C784 !important;
}

[data-theme="dark"] .text-warning {
  color: #FFB74D !important;
}

[data-theme="dark"] .text-danger {
  color: #E57373 !important;
}

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

/* Alerts */
[data-theme="dark"] .alert {
  background-color: var(--bg-white) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary);
}

[data-theme="dark"] .alert-success {
  background-color: rgba(76, 175, 80, 0.2) !important;
  border-color: #4CAF50 !important;
  color: #81C784;
}

[data-theme="dark"] .alert-danger {
  background-color: rgba(244, 67, 54, 0.2) !important;
  border-color: #F44336 !important;
  color: #E57373;
}

[data-theme="dark"] .alert-warning {
  background-color: rgba(255, 152, 0, 0.2) !important;
  border-color: #FF9800 !important;
  color: #FFB74D;
}

[data-theme="dark"] .alert-info {
  background-color: rgba(33, 150, 243, 0.2) !important;
  border-color: #2196F3 !important;
  color: #64B5F6;
}

/* Modais */
[data-theme="dark"] .modal-content {
  background-color: var(--bg-white) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .modal-header {
  background-color: var(--bg-dark) !important;
  border-bottom-color: var(--border-color) !important;
  color: var(--text-primary);
}

[data-theme="dark"] .modal-body {
  background-color: var(--bg-white) !important;
  color: var(--text-primary);
}

[data-theme="dark"] .modal-footer {
  background-color: var(--bg-dark) !important;
  border-top-color: var(--border-color) !important;
}

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

[data-theme="dark"] .close {
  color: var(--text-primary) !important;
  opacity: 0.8;
}

[data-theme="dark"] .close:hover {
  opacity: 1;
}

/* Tabs */
[data-theme="dark"] .nav-tabs {
  border-bottom-color: var(--border-color) !important;
}

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

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

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

/* Nav Tabs Custom */
[data-theme="dark"] .nav-tabs-custom {
  background: var(--bg-white) !important;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.3) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .nav-tabs-custom > .nav-tabs {
  border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .nav-tabs-custom > .nav-tabs > li > a {
  color: var(--text-secondary) !important;
  background-color: transparent !important;
}

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

[data-theme="dark"] .nav-tabs-custom > .nav-tabs > li.active > a,
[data-theme="dark"] .nav-tabs-custom > .nav-tabs > li.active:hover > a {
  background-color: var(--bg-white) !important;
  color: var(--text-primary) !important;
  border-left-color: var(--border-color) !important;
  border-right-color: var(--border-color) !important;
}

[data-theme="dark"] .nav-tabs-custom > .nav-tabs > li.active {
  border-top-color: var(--primary-color) !important;
}

[data-theme="dark"] .nav-tabs-custom > .nav-tabs > li.header {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .nav-tabs-custom > .tab-content {
  background: var(--bg-white) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .nav-tabs-custom > .nav-tabs > li.disabled > a {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .nav-tabs-custom > .nav-tabs > li > a.text-muted {
  color: var(--text-secondary) !important;
}

/* Panels */
[data-theme="dark"] .panel {
  background-color: var(--bg-white) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .panel-heading {
  background-color: var(--bg-dark) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .panel-body {
  background-color: var(--bg-white) !important;
  color: var(--text-primary);
}

/* Dropdowns */
[data-theme="dark"] .dropdown-menu {
  background-color: var(--bg-white) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .dropdown-menu > li > a {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .dropdown-menu > li > a:hover {
  background-color: var(--bg-dark) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .dropdown-menu .divider {
  background-color: var(--border-color) !important;
}

/* Paginação */
[data-theme="dark"] .pagination > li > a,
[data-theme="dark"] .pagination > li > span {
  background-color: var(--bg-dark) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .pagination > li > a:hover {
  background-color: var(--secondary-color) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .pagination > .active > a {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
}

/* Labels e badges */
[data-theme="dark"] .label-default {
  background-color: var(--secondary-color) !important;
  color: var(--text-primary) !important;
}

/* Scrollbar */
[data-theme="dark"] ::-webkit-scrollbar-track {
  background: var(--bg-dark);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: var(--border-color);
}

[data-theme="dark"] ::-webkit-scrollbar-thumb:hover {
  background: var(--text-secondary);
}

/* Loading overlay */
[data-theme="dark"] .overlay-loading-box {
  background-color: rgba(30, 30, 30, 0.9) !important;
}

/* jQuery UI Datepicker */
[data-theme="dark"] .ui-datepicker {
  background-color: var(--bg-white) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .ui-datepicker-header {
  background-color: var(--bg-dark) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .ui-datepicker-calendar td a {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .ui-datepicker-calendar td a:hover {
  background-color: var(--bg-dark) !important;
}

/* Bootstrap Dialog */
[data-theme="dark"] .bootstrap-dialog .modal-header {
  background-color: var(--bg-dark) !important;
  border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .bootstrap-dialog .modal-body {
  background-color: var(--bg-white) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .bootstrap-dialog-title {
  color: var(--text-primary) !important;
}

/* DataTables */
[data-theme="dark"] .dataTables_wrapper {
  color: var(--text-primary);
}

[data-theme="dark"] .dataTables_filter input {
  background-color: var(--bg-dark) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .dataTables_length select {
  background-color: var(--bg-dark) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

/* Links */
[data-theme="dark"] a {
  color: var(--primary-color);
}

[data-theme="dark"] a:hover {
  color: var(--primary-hover);
}

/* Botão Toggle de Tema */
#theme-toggle-btn {
  color: #F8FAFC !important;
  transition: all 0.3s ease;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
}

#theme-toggle-btn:hover {
  background-color: rgba(255, 255, 255, 0.15) !important;
  color: #FACC15 !important;
  text-decoration: none !important;
}

#theme-toggle-btn i {
  font-size: 18px !important;
  transition: transform 0.3s ease;
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

#theme-toggle-btn:hover i {
  transform: rotate(15deg);
}

/* Estilo do botão no tema dark */
[data-theme="dark"] #theme-toggle-btn {
  color: #F8FAFC !important;
}

[data-theme="dark"] #theme-toggle-btn:hover {
  color: #FFC107 !important;
}

/* Text colors */
[data-theme="dark"] .text-muted {
  color: var(--text-secondary) !important;
}

/* Valores monetários exibidos */
[data-theme="dark"] .valor-display {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .valor-display b {
  color: var(--text-primary) !important;
}

/* Background utilities */
[data-theme="dark"] .bg-white {
  background-color: var(--bg-white) !important;
}

[data-theme="dark"] .bg-light {
  background-color: var(--bg-light) !important;
}

/* Full background */
[data-theme="dark"] .full {
  background-color: var(--bg-light) !important;
}

/* Content wrapper */
[data-theme="dark"] .content-wrappers {
  background-color: var(--bg-light) !important;
}

/* Dashboard Modern Container */
[data-theme="dark"] .dashboard-modern-container {
  background: var(--bg-light) !important;
}

[data-theme="dark"] .dashboard-header {
  background: var(--bg-white) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .dashboard-header .filter-group label {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .dashboard-header .period-input {
  background-color: var(--bg-dark) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .total-card {
  background: var(--bg-white) !important;
  color: var(--text-primary) !important;
}

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

[data-theme="dark"] .total-value {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .dashboard-column {
  background: var(--bg-white) !important;
}

[data-theme="dark"] .column-header {
  background: var(--bg-dark) !important;
  border-bottom-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .column-header h3 {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .column-body {
  background: var(--bg-white) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .column-chart {
  background: var(--bg-dark) !important;
  border-top-color: var(--border-color) !important;
  color: #E8E8E8 !important;
}

[data-theme="dark"] .column-chart * {
  color: #E8E8E8 !important;
}

[data-theme="dark"] .column-chart text,
[data-theme="dark"] .column-chart svg text,
[data-theme="dark"] .column-chart canvas {
  fill: #E8E8E8 !important;
  color: #E8E8E8 !important;
}

[data-theme="dark"] .kpi-card {
  background: var(--bg-dark) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .kpi-card:hover {
  background: var(--secondary-color) !important;
}

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

[data-theme="dark"] .kpi-value {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .kpi-subtitle {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .dashboard-analytics {
  background: var(--bg-white) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .analytics-title {
  color: var(--text-primary) !important;
  border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .analytics-chart-card {
  background: var(--bg-dark) !important;
  color: #E8E8E8 !important;
}

[data-theme="dark"] .chart-header h3 {
  color: #E8E8E8 !important;
}

[data-theme="dark"] .chart-subtitle {
  color: #C0C0C0 !important;
}

[data-theme="dark"] .chart-body {
  background: var(--bg-dark) !important;
  color: #E8E8E8 !important;
}

[data-theme="dark"] .chart-body * {
  color: #E8E8E8 !important;
}

[data-theme="dark"] .chart-body text,
[data-theme="dark"] .chart-body svg text,
[data-theme="dark"] .chart-body canvas,
[data-theme="dark"] .analytics-chart-card text,
[data-theme="dark"] .analytics-chart-card svg text,
[data-theme="dark"] .analytics-chart-card canvas {
  fill: #E8E8E8 !important;
  color: #E8E8E8 !important;
}

/* Tooltips e elementos de hover dos gráficos */
[data-theme="dark"] .apexcharts-tooltip,
[data-theme="dark"] .apexcharts-tooltip.apexcharts-theme-dark {
  background: var(--bg-white) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="dark"] .apexcharts-tooltip-title {
  background: var(--bg-dark) !important;
  border-bottom-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .apexcharts-tooltip-series-group {
  background: var(--bg-white) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .apexcharts-tooltip-text,
[data-theme="dark"] .apexcharts-tooltip-text-label,
[data-theme="dark"] .apexcharts-tooltip-text-value {
  color: var(--text-primary) !important;
}

/* Chart.js tooltips */
[data-theme="dark"] .chartjs-tooltip {
  background: var(--bg-white) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .chartjs-tooltip-body {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .chartjs-tooltip-header {
  background: var(--bg-dark) !important;
  color: var(--text-primary) !important;
}

/* Tooltips genéricos em gráficos */
[data-theme="dark"] .tooltip,
[data-theme="dark"] .tooltip-inner {
  background-color: var(--bg-white) !important;
  color: var(--text-primary) !important;
  border: 1px solid var(--border-color) !important;
}

[data-theme="dark"] .tooltip.top .tooltip-arrow,
[data-theme="dark"] .tooltip.bottom .tooltip-arrow,
[data-theme="dark"] .tooltip.left .tooltip-arrow,
[data-theme="dark"] .tooltip.right .tooltip-arrow {
  border-color: var(--border-color) !important;
}

/* Elementos de hover em gráficos SVG */
[data-theme="dark"] .column-chart svg .apexcharts-tooltip,
[data-theme="dark"] .chart-body svg .apexcharts-tooltip,
[data-theme="dark"] .analytics-chart-card svg .apexcharts-tooltip {
  background: var(--bg-white) !important;
  color: var(--text-primary) !important;
}

/* Tela de Login */
[data-theme="dark"] body.cn-login {
  background-color: var(--bg-light) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .cn-login {
  background-color: var(--bg-light) !important;
}

[data-theme="dark"] .cn-login .container {
  background-color: transparent !important;
}

[data-theme="dark"] .cn-login header {
  background-color: var(--bg-dark) !important;
  border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .cn-login header h4 {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .cn-login-form {
  background-color: var(--bg-white) !important;
  border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .cn-login-form h2 {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .cn-login-form hr {
  border-top-color: var(--border-color) !important;
}

[data-theme="dark"] .cn-login-form label {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .cn-login-form .form-control {
  background-color: var(--bg-light) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .cn-login-form .form-control:focus {
  background-color: var(--bg-light) !important;
  border-color: var(--primary-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .cn-login-form .form-control::placeholder {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .cn-login-form .btn-default {
  background-color: var(--bg-dark) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .cn-login-form .btn-default:hover {
  background-color: var(--bg-light) !important;
  border-color: var(--primary-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .cn-login-form .btn-primary {
  background-color: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  color: #fff !important;
}

[data-theme="dark"] .cn-login-form .btn-primary:hover {
  background-color: var(--primary-hover) !important;
  border-color: var(--primary-hover) !important;
}

[data-theme="dark"] .cn-login-form h3 {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .cn-login-form select.form-control {
  background-color: var(--bg-light) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .cn-login-form select.form-control:focus {
  background-color: var(--bg-light) !important;
  border-color: var(--primary-color) !important;
  color: var(--text-primary) !important;
}

/* Despesas Modern Container */
[data-theme="dark"] .despesas-modern-container {
  background: var(--bg-light) !important;
}

[data-theme="dark"] .despesas-header {
  background: var(--bg-white) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

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

[data-theme="dark"] .breadcrumb-nav {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .breadcrumb-nav .current {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .search-box input {
  background-color: var(--bg-dark) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .summary-card {
  background: var(--bg-white) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

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

[data-theme="dark"] .card-value {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .card-subtitle {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] .card-progress {
  background: var(--bg-dark) !important;
}

[data-theme="dark"] .despesas-filters {
  background: var(--bg-white) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .filters-header {
  background: var(--bg-dark) !important;
  border-bottom-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .filters-header:hover {
  background: var(--secondary-color) !important;
}

[data-theme="dark"] .filters-content {
  background: var(--bg-white) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] .filter-group label {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .despesas-batch-actions {
  background: var(--bg-dark) !important;
  border-color: var(--primary-color) !important;
  color: var(--text-primary) !important;
}

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

[data-theme="dark"] .despesas-table-container {
  background: var(--bg-white) !important;
  border-color: var(--border-color) !important;
}

[data-theme="dark"] .despesas-table-modern thead {
  background: var(--bg-dark) !important;
  border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .despesas-table-modern thead th {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .despesas-table-modern tbody tr {
  border-bottom-color: var(--border-color) !important;
}

[data-theme="dark"] .despesas-table-modern tbody tr:hover {
  background: var(--bg-dark) !important;
}

[data-theme="dark"] .despesas-table-modern tbody tr.tr-destaque {
  background: rgba(63, 81, 181, 0.2) !important;
  border-left-color: var(--primary-color) !important;
}

[data-theme="dark"] .despesas-table-modern tbody td {
  color: var(--text-primary) !important;
}

[data-theme="dark"] .despesas-table-modern tfoot {
  background: var(--bg-dark) !important;
  border-top-color: var(--border-color) !important;
}

[data-theme="dark"] .despesas-table-modern tfoot td {
  color: var(--text-primary) !important;
}

/* Ajustes adicionais para garantir visibilidade */
[data-theme="dark"] .navbar-custom-menu .navbar-nav > li > a {
  color: #F8FAFC !important;
}

[data-theme="dark"] .navbar-custom-menu .navbar-nav > li > a:hover {
  background-color: rgba(255, 255, 255, 0.2) !important;
  color: #F8FAFC !important;
}

[data-theme="dark"] .navbar-custom-menu .navbar-nav > li > a i {
  color: #F8FAFC !important;
}

[data-theme="dark"] .navbar-custom-menu .navbar-nav > li > a:hover i {
  color: #FFC107 !important;
}

/* FORÇAR VISIBILIDADE DE TODOS OS BOTÕES USER-MENU NO NAVBAR-CUSTOM-MENU */
.navbar-custom-menu .user-menu,
.navbar-custom-menu li.user-menu {
  display: list-item !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.navbar-custom-menu .user-menu > a,
.navbar-custom-menu li.user-menu > a {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.navbar-custom-menu .user-menu > a i,
.navbar-custom-menu li.user-menu > a i {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Garantir que o ícone do toggle seja visível - FORÇAR VISIBILIDADE */
.navbar-custom-menu #theme-toggle-btn,
#theme-toggle-btn {
  min-width: 50px !important;
  min-height: 50px !important;
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  pointer-events: auto !important;
}

.navbar-custom-menu #theme-toggle-btn i,
#theme-toggle-btn i,
.navbar-custom-menu #theme-toggle-btn i.fa-moon,
.navbar-custom-menu #theme-toggle-btn i.fa-sun,
#theme-toggle-btn i.fa-moon,
#theme-toggle-btn i.fa-sun {
  display: inline-block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: auto !important;
  height: auto !important;
  font-size: 18px !important;
}

/* Prevenir que qualquer CSS esconda o botão */
.navbar-custom-menu li:has(#theme-toggle-btn),
.navbar-custom-menu .user-menu:has(#theme-toggle-btn),
.navbar-custom-menu > ul > li:has(#theme-toggle-btn) {
  display: list-item !important;
  visibility: visible !important;
}

/* Forçar visibilidade do li que contém o toggle */
.navbar-custom-menu .user-menu:has(#theme-toggle-btn),
li.user-menu:has(#theme-toggle-btn) {
  display: list-item !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Override qualquer regra que possa esconder */
.navbar-custom-menu li.user-menu > a#theme-toggle-btn,
.navbar-custom-menu .dropdown.user-menu > a#theme-toggle-btn {
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Detalhes do arquivo importado - Conciliação */
[data-theme="dark"] #detalhes-arquivo-importado {
  background-color: var(--bg-white) !important;
  border-color: var(--border-color) !important;
  color: var(--text-primary) !important;
}

[data-theme="dark"] #detalhes-arquivo-importado label {
  color: var(--text-primary) !important;
  font-weight: 600 !important;
}

[data-theme="dark"] #detalhes-arquivo-importado span {
  color: var(--text-primary) !important;
}

[data-theme="dark"] #detalhes-arquivo-importado span.small {
  color: var(--text-secondary) !important;
}

[data-theme="dark"] #detalhes-arquivo-importado .row label {
  color: var(--text-secondary) !important;
  font-weight: 500 !important;
}

