/*========================================
  THEME TOGGLE - LIGHT/DARK MODE
  Bootstrap 5.0.2 Compatible
==========================================*/

/* Classe para desabilitar transições durante carregamento inicial */
html.no-transition *,
html.no-transition *::before,
html.no-transition *::after {
    transition: none !important;
    animation: none !important;
}

/* Transições suaves para mudança de tema - só aplica após carregamento */
body,
.card,
.table,
.form-control,
.form-select,
.btn,
.alert,
.breadcrumb,
h1, h2, h3, h4, h5, h6,
.sb-sidenav,
.sb-topnav {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

/*========================================
  LOGO SWITCHING VIA CSS (SEM FLASH)
==========================================*/
/* Logo para Dark Mode (padrão) */
.navbar-logo-dark {
    display: block;
}
.navbar-logo-light {
    display: none;
}

/* Logo para Light Mode */
html:not(.dark-mode) .navbar-logo-dark {
    display: none;
}
html:not(.dark-mode) .navbar-logo-light {
    display: block;
}

/*========================================
  LIGHT MODE (Padrão)
==========================================*/

/* Body e Layout Principal */
body:not(.dark-mode) {
    background-color: #ffffff;
    color: #212529;
}

body:not(.dark-mode) #layoutSidenav_content {
    background-color: #f8f9fa;
}

/* Cards em Light Mode */
body:not(.dark-mode) .card {
    background: #ffffff !important;
    border: 1px solid #dee2e6 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08) !important;
    position: relative !important;
    display: block !important;
    overflow: visible !important;
}

body:not(.dark-mode) .card-header {
    background: linear-gradient(90deg, rgba(0, 156, 255, 0.08) 0%, transparent 100%);
    border-bottom: 1px solid #dee2e6;
    color: #212529;
}

body:not(.dark-mode) .card-body {
    color: #495057;
    overflow: visible !important;
}

body:not(.dark-mode) .card-footer {
    border-top: 1px solid #dee2e6;
    color: #6c757d;
}

/* Títulos em Light Mode */
body:not(.dark-mode) h1,
body:not(.dark-mode) h2,
body:not(.dark-mode) h3,
body:not(.dark-mode) h4,
body:not(.dark-mode) h5,
body:not(.dark-mode) h6 {
    color: #212529;
}

body:not(.dark-mode) .h1,
body:not(.dark-mode) .h2,
body:not(.dark-mode) .h3,
body:not(.dark-mode) .h4,
body:not(.dark-mode) .h5,
body:not(.dark-mode) .h6 {
    color: #212529;
}

/*========================================
  FORMS - LIGHT MODE
==========================================*/
body:not(.dark-mode) .form-label {
    color: #495057;
}

body:not(.dark-mode) .form-control,
body:not(.dark-mode) .form-select {
    background-color: #ffffff;
    border: 1px solid #ced4da;
    color: #495057;
}

body:not(.dark-mode) .form-control:focus,
body:not(.dark-mode) .form-select:focus {
    background-color: #ffffff;
    border-color: #009CFF;
    color: #212529;
}

body:not(.dark-mode) .form-control::placeholder {
    color: #6c757d;
}

body:not(.dark-mode) .form-label {
    color: #495057;
    font-weight: 600;
}

body:not(.dark-mode) .form-control,
body:not(.dark-mode) .form-select {
    background-color: #ffffff;
    border: 1px solid #ced4da;
    color: #495057;
}

body:not(.dark-mode) .form-control:focus,
body:not(.dark-mode) .form-select:focus {
    background-color: #ffffff;
    border-color: #009CFF;
    box-shadow: 0 0 0 0.2rem rgba(0, 156, 255, 0.25);
    color: #212529;
}

body:not(.dark-mode) .form-control::placeholder {
    color: #6c757d;
    opacity: 0.8;
}

body:not(.dark-mode) .form-control:disabled,
body:not(.dark-mode) .form-select:disabled {
    background-color: #e9ecef;
    border-color: #ced4da;
    color: #6c757d;
    cursor: not-allowed;
    opacity: 0.7;
}

/* Form Labels e Controls em Dark Mode - Garantir contraste */
body.dark-mode .form-label {
    color: #b8c0d4;
}

body.dark-mode .form-control,
body.dark-mode .form-select {
    background-color: rgba(13, 26, 61, 0.6);
    border: 1px solid rgba(0, 156, 255, 0.2);
    color: #fff;
}

body.dark-mode .form-control:focus,
body.dark-mode .form-select:focus {
    background-color: rgba(13, 26, 61, 0.8);
    border-color: #009CFF;
    color: #fff;
}

body.dark-mode .form-control::placeholder {
    color: #6c7a96;
}

body.dark-mode .form-control:disabled,
body.dark-mode .form-select:disabled {
    background-color: rgba(0, 0, 0, 0.3);
    border-color: rgba(255, 255, 255, 0.1);
    color: #8a92a6;
    opacity: 0.7;
}

/* Form Check em Light Mode */
body:not(.dark-mode) .form-check-label {
    color: #495057;
}

body:not(.dark-mode) .form-check-input {
    background-color: #ffffff;
    border: 2px solid #ced4da;
}

body:not(.dark-mode) .form-check-input:checked {
    background-color: #009CFF;
    border-color: #009CFF;
}

body:not(.dark-mode) .form-check-input:focus {
    border-color: #009CFF;
    box-shadow: 0 0 0 0.2rem rgba(0, 156, 255, 0.25);
}

body:not(.dark-mode) .form-check-input:disabled {
    background-color: #e9ecef;
    border-color: #ced4da;
    opacity: 0.7;
}

/* Form Check em Dark Mode - Garantir contraste */
body.dark-mode .form-check-label {
    color: #b8c0d4;
}

body.dark-mode .form-check-input {
    background-color: rgba(13, 26, 61, 0.6);
    border: 2px solid rgba(0, 156, 255, 0.3);
}

body.dark-mode .form-check-input:checked {
    background-color: #009CFF;
    border-color: #009CFF;
}

body.dark-mode .form-check-input:disabled {
    background-color: rgba(0, 0, 0, 0.3);
    border-color: rgba(255, 255, 255, 0.1);
    opacity: 0.7;
}

/* Input Groups em Light Mode */
body:not(.dark-mode) .input-group-text {
    background-color: #e9ecef;
    border: 1px solid #ced4da;
    color: #495057;
}

body:not(.dark-mode) .input-group-banking .input-icon-banking {
    color: #6c757d;
}

body:not(.dark-mode) .input-group-banking:focus-within .input-icon-banking {
    color: #009CFF;
}

/* Input Groups em Dark Mode - Garantir contraste */
body.dark-mode .input-group-text {
    background-color: rgba(13, 26, 61, 0.8);
    border: 1px solid rgba(0, 156, 255, 0.2);
    color: #009CFF;
}

/* Sidebar em Light Mode */
body:not(.dark-mode) .sb-sidenav-modern {
    background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%) !important;
    border-right: 1px solid #dee2e6;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.05);
}

body:not(.dark-mode) .sidebar-balance-card {
    background: linear-gradient(135deg, rgba(0, 156, 255, 0.08) 0%, rgba(248, 249, 250, 0.9) 100%);
    border: 1px solid rgba(0, 156, 255, 0.2);
}

body:not(.dark-mode) .balance-partner-name {
    color: #212529;
}

body:not(.dark-mode) .balance-label {
    color: #495057;
}

body:not(.dark-mode) .balance-amount {
    color: #212529;
}

body:not(.dark-mode) .balance-item {
    background-color: rgba(0, 0, 0, 0.03);
}

body:not(.dark-mode) .sb-sidenav-modern .sb-sidenav-menu-heading {
    color: #009CFF;
}

body:not(.dark-mode) .sb-sidenav-modern .sidebar-nav-link {
    color: #495057 !important;
}

body:not(.dark-mode) .sb-sidenav-modern .sidebar-nav-link:hover {
    color: #212529 !important;
}

body:not(.dark-mode) .sb-sidenav-modern .sidebar-nav-link i {
    color: #6c757d;
}

body:not(.dark-mode) .sb-sidenav-modern .sidebar-nav-link:hover i {
    color: #009CFF;
}

body:not(.dark-mode) .sidebar-footer-modern {
    background: linear-gradient(180deg, rgba(0, 156, 255, 0.05) 0%, rgba(248, 249, 250, 0.95) 100%);
    border-top: 1px solid #dee2e6;
}

body:not(.dark-mode) .footer-label {
    color: #6c757d;
}

body:not(.dark-mode) .footer-username {
    color: #212529;
}

/* Navbar em Light Mode */
body:not(.dark-mode) .navbar-banking-modern {
    background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 50%, #ffffff 100%) !important;
    border-bottom: 1px solid #dee2e6;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

body:not(.dark-mode) .input-group-banking {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
}

body:not(.dark-mode) .input-icon-banking {
    color: #6c757d;
}

body:not(.dark-mode) .input-group-banking:focus-within .input-icon-banking {
    color: #009CFF;
}

body:not(.dark-mode) .input-banking {
    color: #495057 !important;
}

body:not(.dark-mode) .input-banking::placeholder {
    color: #6c757d;
}

body:not(.dark-mode) .input-banking:focus {
    color: #212529 !important;
}

body:not(.dark-mode) .currency-selector-banking {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
}

body:not(.dark-mode) .currency-icon-banking {
    color: #6c757d;
}

body:not(.dark-mode) .select-currency-banking {
    color: #495057 !important;
}

body:not(.dark-mode) .select-currency-banking option {
    background-color: #ffffff;
    color: #212529;
}

body:not(.dark-mode) .user-dropdown-link {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
}

body:not(.dark-mode) .user-icon-banking {
    color: #6c757d;
}

body:not(.dark-mode) .user-name-banking {
    color: #495057;
}

body:not(.dark-mode) .dropdown-menu-banking {
    background-color: #ffffff !important;
    border: 1px solid #dee2e6;
}

body:not(.dark-mode) .dropdown-header-banking {
    color: #009CFF;
}

body:not(.dark-mode) .dropdown-item-banking {
    color: #495057 !important;
}

body:not(.dark-mode) .dropdown-item-banking:hover {
    background-color: rgba(0, 156, 255, 0.08) !important;
    color: #212529 !important;
}

body:not(.dark-mode) .dropdown-item-banking i {
    color: #6c757d;
}

body:not(.dark-mode) .dropdown-divider-banking {
    border-color: #dee2e6;
}

/* Breadcrumb em Light Mode */
body:not(.dark-mode) .breadcrumb {
    background: linear-gradient(90deg, rgba(0, 156, 255, 0.05) 0%, transparent 100%);
    border: 1px solid rgba(0, 156, 255, 0.15);
}

body:not(.dark-mode) .breadcrumb-item {
    color: #6c757d;
}

body:not(.dark-mode) .breadcrumb-item + .breadcrumb-item::before {
    color: #adb5bd;
}

body:not(.dark-mode) .breadcrumb-item.active {
    color: #212529;
    font-weight: 600;
}

/* Breadcrumb em Dark Mode - Garantir contraste */
body.dark-mode .breadcrumb {
    background: linear-gradient(90deg, rgba(0, 156, 255, 0.05) 0%, transparent 100%);
    border: 1px solid rgba(0, 156, 255, 0.1);
}

body.dark-mode .breadcrumb-item {
    color: #8a92a6;
}

body.dark-mode .breadcrumb-item + .breadcrumb-item::before {
    color: #6c7a96;
}

body.dark-mode .breadcrumb-item.active {
    color: #fff;
    font-weight: 600;
}

/* Text utilities em Light Mode */
body:not(.dark-mode) .text-muted {
    color: #6c757d !important;
}

body:not(.dark-mode) .text-secondary {
    color: #6c757d !important;
}

body:not(.dark-mode) .text-light {
    color: #495057 !important;
}

body:not(.dark-mode) .text-dark {
    color: #212529 !important;
}

body:not(.dark-mode) .text-primary {
    color: #009CFF !important;
}

body:not(.dark-mode) .text-success {
    color: #198754 !important;
}

body:not(.dark-mode) .text-danger {
    color: #dc3545 !important;
}

body:not(.dark-mode) .text-warning {
    color: #ffc107 !important;
}

body:not(.dark-mode) .text-info {
    color: #055160 !important;
}

/* Text utilities em Dark Mode - Garantir contraste */
body.dark-mode .text-muted {
    color: #6c7a96 !important;
}

body.dark-mode .text-secondary {
    color: #8a92a6 !important;
}

body.dark-mode .text-light {
    color: #b8c0d4 !important;
}

body.dark-mode .text-dark {
    color: #fff !important;
}

/* Text utilities em Dark Mode - Cores de status */
body.dark-mode .text-primary {
    color: #009CFF !important;
}

body.dark-mode .text-success {
    color: #28a745 !important;
}

body.dark-mode .text-danger {
    color: #dc3545 !important;
}

body.dark-mode .text-warning {
    color: #ffc107 !important;
}

body.dark-mode .text-info {
    color: #17a2b8 !important;
}

/* Cards - Textos em Light Mode */
body:not(.dark-mode) .card-title {
    color: #212529;
}

body:not(.dark-mode) .card-subtitle {
    color: #6c757d;
}

body:not(.dark-mode) .card-text {
    color: #495057;
}

/* Cards - Textos em Dark Mode - Garantir contraste */
body.dark-mode .card-title {
    color: #fff;
}

body.dark-mode .card-subtitle {
    color: #8a92a6;
}

body.dark-mode .card-text {
    color: #b8c0d4;
}

/* Cards com Backgrounds Coloridos - Light Mode */
body:not(.dark-mode) .card.bg-primary,
body:not(.dark-mode) .card.bg-success,
body:not(.dark-mode) .card.bg-danger,
body:not(.dark-mode) .card.bg-warning,
body:not(.dark-mode) .card.bg-info,
body:not(.dark-mode) .card.bg-secondary {
    color: #fff !important;
}

body:not(.dark-mode) .card.bg-primary .card-header,
body:not(.dark-mode) .card.bg-success .card-header,
body:not(.dark-mode) .card.bg-danger .card-header,
body:not(.dark-mode) .card.bg-warning .card-header,
body:not(.dark-mode) .card.bg-info .card-header,
body:not(.dark-mode) .card.bg-secondary .card-header {
    color: #fff !important;
    font-weight: 600;
}

body:not(.dark-mode) .card.bg-primary .card-body,
body:not(.dark-mode) .card.bg-success .card-body,
body:not(.dark-mode) .card.bg-danger .card-body,
body:not(.dark-mode) .card.bg-warning .card-body,
body:not(.dark-mode) .card.bg-info .card-body,
body:not(.dark-mode) .card.bg-secondary .card-body {
    color: #fff !important;
}

body:not(.dark-mode) .card.bg-primary .card-footer,
body:not(.dark-mode) .card.bg-success .card-footer,
body:not(.dark-mode) .card.bg-danger .card-footer,
body:not(.dark-mode) .card.bg-warning .card-footer,
body:not(.dark-mode) .card.bg-info .card-footer,
body:not(.dark-mode) .card.bg-secondary .card-footer {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* Cards com Backgrounds Coloridos - Dark Mode */
body.dark-mode .card.bg-primary,
body.dark-mode .card.bg-success,
body.dark-mode .card.bg-danger,
body.dark-mode .card.bg-warning,
body.dark-mode .card.bg-info,
body.dark-mode .card.bg-secondary {
    color: #fff !important;
}

body.dark-mode .card.bg-primary .card-header,
body.dark-mode .card.bg-success .card-header,
body.dark-mode .card.bg-danger .card-header,
body.dark-mode .card.bg-warning .card-header,
body.dark-mode .card.bg-info .card-header,
body.dark-mode .card.bg-secondary .card-header {
    color: #fff !important;
    font-weight: 600;
}

body.dark-mode .card.bg-primary .card-body,
body.dark-mode .card.bg-success .card-body,
body.dark-mode .card.bg-danger .card-body,
body.dark-mode .card.bg-warning .card-body,
body.dark-mode .card.bg-info .card-body,
body.dark-mode .card.bg-secondary .card-body {
    color: #fff !important;
}

/* Garantir texto claro em cards bg-warning mesmo com text-dark no dark mode */
body.dark-mode .card.bg-warning.text-dark .card-header,
body.dark-mode .card.bg-warning.text-dark .card-body,
body.dark-mode .card.bg-warning.text-dark .card-footer {
    color: #fff !important;
}

body.dark-mode .card.bg-primary .card-footer,
body.dark-mode .card.bg-success .card-footer,
body.dark-mode .card.bg-danger .card-footer,
body.dark-mode .card.bg-warning .card-footer,
body.dark-mode .card.bg-info .card-footer,
body.dark-mode .card.bg-secondary .card-footer {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* Garantir que cards coloridos tenham fundo escuro no dark mode */
body.dark-mode .card.bg-primary {
    background-color: #0d6efd !important;
    border-color: #0d6efd !important;
}

body.dark-mode .card.bg-success {
    background-color: #198754 !important;
    border-color: #198754 !important;
}

body.dark-mode .card.bg-danger {
    background-color: #dc3545 !important;
    border-color: #dc3545 !important;
}

body.dark-mode .card.bg-warning {
    background-color: #ffc107 !important;
    border-color: #ffc107 !important;
    color: #000 !important;
}

body.dark-mode .card.bg-warning .card-header,
body.dark-mode .card.bg-warning .card-body,
body.dark-mode .card.bg-warning .card-footer {
    color: #000 !important;
}

/* Sobrescrever text-dark em cards bg-warning no dark mode - usar texto claro */
body.dark-mode .card.bg-warning.text-dark,
body.dark-mode .card.bg-warning.text-dark .card-header,
body.dark-mode .card.bg-warning.text-dark .card-body,
body.dark-mode .card.bg-warning.text-dark .card-footer {
    color: #fff !important;
}

body.dark-mode .card.bg-info {
    background-color: #0dcaf0 !important;
    border-color: #0dcaf0 !important;
}

body.dark-mode .card.bg-secondary {
    background-color: #6c757d !important;
    border-color: #6c757d !important;
}

/* Botões Ghost/Link — cor primária do tema (não usar vermelho global em .btn-link) */
body:not(.dark-mode) .btn-link,
body:not(.dark-mode) button.btn-link,
body:not(.dark-mode) a.btn-link {
    color: var(--bs-primary) !important;
    text-decoration: none;
    font-weight: 500;
}

body:not(.dark-mode) .btn-link:hover,
body:not(.dark-mode) button.btn-link:hover,
body:not(.dark-mode) a.btn-link:hover {
    color: var(--bs-primary-hover, #0a58ca) !important;
}

body:not(.dark-mode) .btn-link:focus,
body:not(.dark-mode) button.btn-link:focus,
body:not(.dark-mode) a.btn-link:focus {
    color: var(--bs-primary-hover, #0a58ca) !important;
    outline: 2px solid rgba(13, 110, 253, 0.45);
    outline-offset: 2px;
}

/* Variante destrutiva — use com .btn-link (ex.: ícone excluir) */
body:not(.dark-mode) .btn-link.btn-link-danger,
body:not(.dark-mode) button.btn-link.btn-link-danger,
body:not(.dark-mode) a.btn-link.btn-link-danger {
    color: var(--bs-danger) !important;
}

body:not(.dark-mode) .btn-link.btn-link-danger:hover,
body:not(.dark-mode) button.btn-link.btn-link-danger:hover,
body:not(.dark-mode) a.btn-link.btn-link-danger:hover,
body:not(.dark-mode) .btn-link.btn-link-danger:focus,
body:not(.dark-mode) button.btn-link.btn-link-danger:focus,
body:not(.dark-mode) a.btn-link.btn-link-danger:focus {
    color: #b02a37 !important;
    outline: 2px solid rgba(220, 53, 69, 0.45);
    outline-offset: 2px;
}

/* Botões Ghost/Link - Dark Mode */
body.dark-mode .btn-link,
body.dark-mode button.btn-link,
body.dark-mode a.btn-link {
    color: #4da6ff !important;
    text-decoration: none;
    font-weight: 500;
}

body.dark-mode .btn-link:hover,
body.dark-mode button.btn-link:hover,
body.dark-mode a.btn-link:hover {
    color: #66b3ff !important;
}

body.dark-mode .btn-link:focus,
body.dark-mode button.btn-link:focus,
body.dark-mode a.btn-link:focus {
    color: #66b3ff !important;
    outline: 2px solid rgba(77, 166, 255, 0.5);
    outline-offset: 2px;
}

body.dark-mode .btn-link.btn-link-danger,
body.dark-mode button.btn-link.btn-link-danger,
body.dark-mode a.btn-link.btn-link-danger {
    color: #f5c2c7 !important;
}

body.dark-mode .btn-link.btn-link-danger:hover,
body.dark-mode button.btn-link.btn-link-danger:hover,
body.dark-mode a.btn-link.btn-link-danger:hover,
body.dark-mode .btn-link.btn-link-danger:focus,
body.dark-mode button.btn-link.btn-link-danger:focus,
body.dark-mode a.btn-link.btn-link-danger:focus {
    color: #fff !important;
    outline: 2px solid rgba(220, 53, 69, 0.55);
    outline-offset: 2px;
}

/* Botões com estilo ghost (sem background definido) - Light Mode */
/* body:not(.dark-mode) .btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):not(.btn-secondary):not(.btn-light):not(.btn-dark):not(.btn-outline-primary):not(.btn-outline-success):not(.btn-outline-danger):not(.btn-outline-warning):not(.btn-outline-info):not(.btn-outline-secondary) {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    color: #495057;
} */

/* body:not(.dark-mode) .btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):not(.btn-secondary):not(.btn-light):not(.btn-dark):not(.btn-outline-primary):not(.btn-outline-success):not(.btn-outline-danger):not(.btn-outline-warning):not(.btn-outline-info):not(.btn-outline-secondary):hover {
    background-color: #e9ecef;
    border-color: #ced4da;
    color: #212529;
} */

/* Botões com estilo ghost - Dark Mode */
/* body.dark-mode .btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):not(.btn-secondary):not(.btn-light):not(.btn-dark):not(.btn-outline-primary):not(.btn-outline-success):not(.btn-outline-danger):not(.btn-outline-warning):not(.btn-outline-info):not(.btn-outline-secondary) {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #b8c0d4;
} */

body.dark-mode .btn:not(.btn-primary):not(.btn-success):not(.btn-danger):not(.btn-warning):not(.btn-info):not(.btn-secondary):not(.btn-light):not(.btn-dark):not(.btn-outline-primary):not(.btn-outline-success):not(.btn-outline-danger):not(.btn-outline-warning):not(.btn-outline-info):not(.btn-outline-secondary):hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.25);
    color: #fff;
}

/* Background utilities - Light Mode */
body:not(.dark-mode) .bg-primary {
    background-color: #009CFF !important;
}

body:not(.dark-mode) .bg-success {
    background-color: #28a745 !important;
}

body:not(.dark-mode) .bg-danger {
    background-color: #dc3545 !important;
}

body:not(.dark-mode) .bg-warning {
    background-color: #ffc107 !important;
}

body:not(.dark-mode) .bg-info {
    background-color: #17a2b8 !important;
}

body:not(.dark-mode) .bg-secondary {
    background-color: #6c757d !important;
}

/* Background dark em Light Mode - usar cor clara */
body:not(.dark-mode) .bg-dark {
    background-color: #212529 !important;
    color: #fff !important;
}

/* Linha de total da tabela em Light Mode - sobrescrever estilo geral */
body:not(.dark-mode) table tbody tr.bg-dark,
body:not(.dark-mode) .table tbody tr.bg-dark {
    background-color: #ffffff !important;
    border-top: 2px solid #dee2e6 !important;
    color: #212529 !important;
}

body:not(.dark-mode) table tbody tr.bg-dark td,
body:not(.dark-mode) .table tbody tr.bg-dark td {
    background-color: #ffffff !important;
    color: #212529 !important;
    font-weight: 600;
}

body:not(.dark-mode) table tbody tr.bg-dark td.text-white,
body:not(.dark-mode) .table tbody tr.bg-dark td.text-white {
    background-color: #ffffff !important;
    color: #212529 !important;
}

/* Background dark em Dark Mode - manter escuro */
body.dark-mode .bg-dark {
    background-color: #0d1a3d !important;
    color: #fff !important;
}

/* Linha de total da tabela em Dark Mode */
body.dark-mode .table tbody tr.bg-dark {
    background-color: #0d1a3d !important;
    color: #fff !important;
}

body.dark-mode .table tbody tr.bg-dark td {
    color: #fff !important;
    font-weight: 600;
}

body.dark-mode .table tbody tr.bg-dark td.text-white {
    color: #fff !important;
}

/* Background utilities - Dark Mode - Garantir que sejam escuros */
body.dark-mode .bg-primary {
    background-color: #0d6efd !important;
}

body.dark-mode .bg-success {
    background-color: #198754 !important;
}

body.dark-mode .bg-danger {
    background-color: #dc3545 !important;
}

body.dark-mode .bg-warning {
    background-color: #ffc107 !important;
}

body.dark-mode .bg-info {
    background-color: #0dcaf0 !important;
}

body.dark-mode .bg-secondary {
    background-color: #6c757d !important;
}

/* Garantir texto branco em backgrounds coloridos */
body:not(.dark-mode) .bg-primary,
body:not(.dark-mode) .bg-success,
body:not(.dark-mode) .bg-danger,
body:not(.dark-mode) .bg-info,
body:not(.dark-mode) .bg-secondary {
    color: #fff !important;
}

body:not(.dark-mode) .bg-warning {
    color: #000 !important;
}

body.dark-mode .bg-primary,
body.dark-mode .bg-success,
body.dark-mode .bg-danger,
body.dark-mode .bg-info,
body.dark-mode .bg-secondary {
    color: #fff !important;
}

body.dark-mode .bg-warning {
    color: #000 !important;
}

/*========================================
  TABELAS - CONSOLIDADO
==========================================*/

/* --- Light Mode --- */
body:not(.dark-mode) .table {
    color: #212529;
}

body:not(.dark-mode) .table thead th {
    background: linear-gradient(135deg, rgba(0, 156, 255, 0.12) 0%, rgba(0, 156, 255, 0.05) 100%);
    color: #212529 !important;
    border-bottom: 2px solid #009CFF;
    font-weight: 700;
}

body:not(.dark-mode) .table > :not(:last-child) > :last-child > *,
body:not(.dark-mode) .dataTable-table > :not(:last-child) > :last-child > * {
    border-bottom-color: currentColor;
}

body:not(.dark-mode) .table tbody tr {
    background-color: #ffffff;
}

body:not(.dark-mode) .table tbody tr:hover {
    background-color: rgba(0, 156, 255, 0.05);
}

body:not(.dark-mode) .table tbody td {
    color: #495057 !important;
    border-bottom: 1px solid #dee2e6;
}

body:not(.dark-mode) .table tbody tr:hover td {
    color: #212529 !important;
}

body:not(.dark-mode) .table-striped tbody tr:nth-of-type(odd) {
    background: linear-gradient(135deg, rgba(0, 156, 255, 0.10) 0%, rgba(0, 156, 255, 0.05) 100%);
}

/* Exceções para cores de status nas células da tabela - Light Mode */
body:not(.dark-mode) .table tbody td.text-warning {
    color: #ffc107 !important;
}

body:not(.dark-mode) .table tbody td.text-danger {
    color: #dc3545 !important;
}

body:not(.dark-mode) .table tbody td.text-primary {
    color: #009CFF !important;
}

body:not(.dark-mode) .table tbody td.text-success {
    color: #198754 !important;
}

body:not(.dark-mode) .table tbody td.text-info {
    color: #055160 !important;
}

body:not(.dark-mode) .table tbody td.text-dark {
    color: #212529 !important;
}

/* Manter cores de status mesmo no hover - Light Mode */
body:not(.dark-mode) .table tbody tr:hover td.text-warning {
    color: #ffc107 !important;
}

body:not(.dark-mode) .table tbody tr:hover td.text-danger {
    color: #dc3545 !important;
}

body:not(.dark-mode) .table tbody tr:hover td.text-primary {
    color: #009CFF !important;
}

body:not(.dark-mode) .table tbody tr:hover td.text-success {
    color: #198754 !important;
}

body:not(.dark-mode) .table tbody tr:hover td.text-info {
    color: #055160 !important;
}

body:not(.dark-mode) .table tbody tr:hover td.text-dark {
    color: #212529 !important;
}

/* --- Dark Mode --- */
body.dark-mode .table {
    color: #8a92a6;
}

body.dark-mode .table thead th {
    background: linear-gradient(135deg, rgba(0, 156, 255, 0.35) 0%, rgba(0, 156, 255, 0.25) 100%);
    color: #fff !important;
    border-bottom: 2px solid rgba(0, 156, 255, 0.5);
    font-weight: 700;
}

body.dark-mode .table tbody td {
    color: #b8c0d4 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}

body.dark-mode .table tbody tr:hover td {
    color: #fff !important;
}

/* Exceções para cores de status nas células da tabela - Dark Mode */
body.dark-mode .table tbody td.text-warning {
    color: #ffc107 !important;
}

body.dark-mode .table tbody td.text-danger {
    color: #dc3545 !important;
}

body.dark-mode .table tbody td.text-primary {
    color: #009CFF !important;
}

body.dark-mode .table tbody td.text-success {
    color: #28a745 !important;
}

body.dark-mode .table tbody td.text-info {
    color: #17a2b8 !important;
}

body.dark-mode .table tbody td.text-dark {
    color: #fff !important;
}

/* Manter cores de status mesmo no hover - Dark Mode */
body.dark-mode .table tbody tr:hover td.text-warning {
    color: #ffc107 !important;
}

body.dark-mode .table tbody tr:hover td.text-danger {
    color: #dc3545 !important;
}

body.dark-mode .table tbody tr:hover td.text-primary {
    color: #009CFF !important;
}

body.dark-mode .table tbody tr:hover td.text-success {
    color: #28a745 !important;
}

body.dark-mode .table tbody tr:hover td.text-info {
    color: #17a2b8 !important;
}

body.dark-mode .table tbody tr:hover td.text-dark {
    color: #fff !important;
}

/* --- Table Responsive --- */
body:not(.dark-mode) .table-responsive {
    background-color: #ffffff;
    border-radius: 8px;
    border: 1px solid #dee2e6;
}

body.dark-mode .table-responsive {
    background: rgba(7, 15, 39, 0.5);
    border-radius: 12px;
    padding: 1rem;
    border: 1px solid rgba(0, 156, 255, 0.1);
}

/* Placeholders melhorados */
body:not(.dark-mode) .form-control::placeholder,
body:not(.dark-mode) .form-select::placeholder {
    color: #6c757d !important;
    opacity: 0.8;
}

body.dark-mode .form-control::placeholder,
body.dark-mode .form-select::placeholder {
    color: #8a92a6 !important;
    opacity: 0.8;
}

/* Garantir que inputs tenham fundo escuro no dark mode */
body.dark-mode .form-control,
body.dark-mode .form-select {
    background-color: rgba(13, 26, 61, 0.6) !important;
    border: 1px solid rgba(0, 156, 255, 0.2) !important;
    color: #fff !important;
}

body.dark-mode .form-control:focus,
body.dark-mode .form-select:focus {
    background-color: rgba(13, 26, 61, 0.8) !important;
    border-color: #009CFF !important;
    color: #fff !important;
}

/* Garantir que cards tenham fundo escuro no dark mode quando não são coloridos */
body.dark-mode .card:not(.bg-primary):not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info):not(.bg-secondary) {
    background: linear-gradient(135deg, #070f27 0%, #0d1a3d 100%) !important;
    border: 1px solid rgba(0, 156, 255, 0.15) !important;
}

body.dark-mode .card:not(.bg-primary):not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info):not(.bg-secondary) .card-header {
    background: linear-gradient(90deg, rgba(0, 156, 255, 0.15) 0%, transparent 100%) !important;
    border-bottom: 1px solid rgba(0, 156, 255, 0.2) !important;
    color: #fff !important;
}

body.dark-mode .card:not(.bg-primary):not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info):not(.bg-secondary) .card-body {
    color: #b8c0d4 !important;
}

body.dark-mode .card:not(.bg-primary):not(.bg-success):not(.bg-danger):not(.bg-warning):not(.bg-info):not(.bg-secondary) .card-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #8a92a6 !important;
}

/* Bolinhas de Status (bi-circle-fill) - Light Mode */
body:not(.dark-mode) .text-success i.bi-circle-fill,
body:not(.dark-mode) td.text-success i.bi-circle-fill {
    color: #28a745 !important;
}

body:not(.dark-mode) .text-danger i.bi-circle-fill,
body:not(.dark-mode) td.text-danger i.bi-circle-fill {
    color: #dc3545 !important;
}

/* Bolinhas de Status (bi-circle-fill) - Dark Mode */
body.dark-mode .text-success i.bi-circle-fill,
body.dark-mode td.text-success i.bi-circle-fill {
    color: #28a745 !important;
}

body.dark-mode .text-danger i.bi-circle-fill,
body.dark-mode td.text-danger i.bi-circle-fill {
    color: #dc3545 !important;
}

/* Garantir que text-success e text-danger funcionem corretamente em ambos os temas */
body:not(.dark-mode) .text-success {
    color: #198754 !important;
}

body:not(.dark-mode) .text-danger {
    color: #dc3545 !important;
}

body.dark-mode .text-success {
    color: #28a745 !important;
}

body.dark-mode .text-danger {
    color: #dc3545 !important;
}

/* Accordion Styles em Light Mode */
body:not(.dark-mode) .balance-accordion-btn {
    background: rgba(0, 0, 0, 0.05);
    color: #495057;
}

body:not(.dark-mode) .balance-accordion-btn:hover {
    background: rgba(0, 156, 255, 0.1);
    color: #009CFF;
}

/* Commercial Accordion Button - Same style as balance-accordion-btn */
body.dark-mode .commercial-accordion-btn {
    background: rgba(0, 0, 0, 0.15);
    color: #8a92a6;
}

body:not(.dark-mode) .commercial-accordion-btn {
    background: rgba(0, 0, 0, 0.05);
    color: #495057;
}

body.dark-mode .commercial-accordion-btn:hover {
    background: rgba(0, 156, 255, 0.1);
    color: #009CFF;
}

body:not(.dark-mode) .commercial-accordion-btn:hover {
    background: rgba(0, 156, 255, 0.15);
    color: #009CFF;
}

/* Alerts em Light Mode */
body:not(.dark-mode) .alert-primary {
    background: linear-gradient(135deg, rgba(0, 156, 255, 0.1) 0%, rgba(207, 226, 255, 0.3) 100%);
    border-left-color: #009CFF;
    color: #084298;
}

body:not(.dark-mode) .alert-primary i {
    color: #009CFF;
}

body:not(.dark-mode) .alert-success {
    background: linear-gradient(135deg, rgba(40, 167, 69, 0.1) 0%, rgba(209, 231, 221, 0.3) 100%);
    border-left-color: #28a745;
    color: #0f5132;
}

body:not(.dark-mode) .alert-success i {
    color: #28a745;
}

body:not(.dark-mode) .alert-danger {
    background: linear-gradient(135deg, rgba(220, 53, 69, 0.1) 0%, rgba(248, 215, 218, 0.3) 100%);
    border-left-color: #dc3545;
    color: #842029;
}

body:not(.dark-mode) .alert-danger i {
    color: #dc3545;
}

body:not(.dark-mode) .alert-warning {
    background: linear-gradient(135deg, rgba(255, 193, 7, 0.15) 0%, rgba(255, 243, 205, 0.4) 100%);
    border-left-color: #ffc107;
    color: #664d03;
}

body:not(.dark-mode) .alert-warning i {
    color: #856404;
}

body:not(.dark-mode) .alert-info {
    background: linear-gradient(135deg, rgba(23, 162, 184, 0.1) 0%, rgba(207, 244, 252, 0.3) 100%);
    border-left-color: #17a2b8;
    color: #055160;
}

body:not(.dark-mode) .alert-info i {
    color: #17a2b8;
}

/* Botões em Light Mode */
body:not(.dark-mode) .btn-primary {
    background: linear-gradient(135deg, #009CFF 0%, #0077cc 100%);
    color: #fff;
    box-shadow: 0 4px 15px rgba(0, 156, 255, 0.3);
}

body:not(.dark-mode) .btn-primary:hover {
    background: linear-gradient(135deg, #00b3ff 0%, #0088dd 100%);
    box-shadow: 0 6px 20px rgba(0, 156, 255, 0.4);
    color: #fff;
}

body:not(.dark-mode) .btn-primary:focus {
    box-shadow: 0 0 0 0.2rem rgba(0, 156, 255, 0.25);
}

body:not(.dark-mode) .btn-primary:active {
    background: linear-gradient(135deg, #0077cc 0%, #0066aa 100%);
    color: #fff;
}

body:not(.dark-mode) .btn-secondary {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    color: #495057;
}

body:not(.dark-mode) .btn-secondary:hover {
    background-color: #e9ecef;
    border-color: #ced4da;
    color: #212529;
}

body:not(.dark-mode) .btn-secondary:focus {
    box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.25);
}

body:not(.dark-mode) .btn-secondary:active {
    background-color: #dee2e6;
    border-color: #ced4da;
    color: #212529;
}

body:not(.dark-mode) .btn-success {
    background: linear-gradient(135deg, #28a745 0%, #218838 100%);
    color: #fff;
}

body:not(.dark-mode) .btn-success:hover {
    background: linear-gradient(135deg, #34ce57 0%, #28a745 100%);
    color: #fff;
}

body:not(.dark-mode) .btn-success:focus {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);
}

body:not(.dark-mode) .btn-danger {
    background: linear-gradient(135deg, #dc3545 0%, #c82333 100%);
    color: #fff;
}

body:not(.dark-mode) .btn-danger:hover {
    background: linear-gradient(135deg, #ff4757 0%, #e73d4d 100%);
    color: #fff;
}

body:not(.dark-mode) .btn-danger:focus {
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

body:not(.dark-mode) .btn-warning {
    background: linear-gradient(135deg, #ffc107 0%, #e0a800 100%);
    color: #000;
}

body:not(.dark-mode) .btn-warning:hover {
    background: linear-gradient(135deg, #ffcd39 0%, #ffc107 100%);
    color: #000;
}

body:not(.dark-mode) .btn-warning:focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.25);
}

body:not(.dark-mode) .btn-info {
    background: linear-gradient(135deg, #17a2b8 0%, #138496 100%);
    color: #fff;
}

body:not(.dark-mode) .btn-info:hover {
    background: linear-gradient(135deg, #1fc8e3 0%, #17a2b8 100%);
    color: #fff;
}

body:not(.dark-mode) .btn-info:focus {
    box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.25);
}

body:not(.dark-mode) .btn-light {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
    color: #212529;
}

body:not(.dark-mode) .btn-light:hover {
    background-color: #e9ecef;
    border-color: #ced4da;
    color: #000;
}

body:not(.dark-mode) .btn-dark {
    background: linear-gradient(135deg, #212529 0%, #1a1e21 100%);
    color: #fff;
}

body:not(.dark-mode) .btn-dark:hover {
    background: linear-gradient(135deg, #2c3136 0%, #212529 100%);
    color: #fff;
}

/* Outline Buttons em Light Mode */
body:not(.dark-mode) .btn-outline-primary {
    border: 2px solid #009CFF;
    color: #009CFF;
    background: transparent;
}

body:not(.dark-mode) .btn-outline-primary:hover {
    background: #009CFF;
    color: #fff;
}

body:not(.dark-mode) .btn-outline-secondary {
    border: 2px solid #6c757d;
    color: #6c757d;
    background: transparent;
}

body:not(.dark-mode) .btn-outline-secondary:hover {
    background: #6c757d;
    color: #fff;
}

body:not(.dark-mode) .btn-outline-success {
    border: 2px solid #28a745;
    color: #28a745;
    background: transparent;
}

body:not(.dark-mode) .btn-outline-success:hover {
    background: #28a745;
    color: #fff;
}

body:not(.dark-mode) .btn-outline-danger {
    border: 2px solid #dc3545;
    color: #dc3545;
    background: transparent;
}

body:not(.dark-mode) .btn-outline-danger:hover {
    background: #dc3545;
    color: #fff;
}

body:not(.dark-mode) .btn-outline-warning {
    border: 2px solid #ffc107;
    color: #856404;
    background: transparent;
}

body:not(.dark-mode) .btn-outline-warning:hover {
    background: #ffc107;
    color: #000;
}

/* Outline Buttons Active em Light Mode */
body:not(.dark-mode) .btn-outline-primary.active {
    background: #009CFF !important;
    color: #fff !important;
    border-color: #009CFF !important;
}

body:not(.dark-mode) .btn-outline-secondary.active {
    background: #6c757d !important;
    color: #fff !important;
    border-color: #6c757d !important;
}

body:not(.dark-mode) .btn-outline-success.active {
    background: #28a745 !important;
    color: #fff !important;
    border-color: #28a745 !important;
}

body:not(.dark-mode) .btn-outline-danger.active {
    background: #dc3545 !important;
    color: #fff !important;
    border-color: #dc3545 !important;
}

body:not(.dark-mode) .btn-outline-warning.active {
    background: #ffc107 !important;
    color: #000 !important;
    border-color: #ffc107 !important;
}

body:not(.dark-mode) .btn-outline-info.active {
    background: #17a2b8 !important;
    color: #fff !important;
    border-color: #17a2b8 !important;
}

body:not(.dark-mode) .btn-outline-dark.active {
    background: #212529 !important;
    color: #fff !important;
    border-color: #212529 !important;
}

/* Estados Disabled - Light Mode */
body:not(.dark-mode) .btn:disabled,
body:not(.dark-mode) .btn.disabled {
    opacity: 0.65;
    cursor: not-allowed;
    pointer-events: none;
}

body:not(.dark-mode) .btn-primary:disabled,
body:not(.dark-mode) .btn-primary.disabled {
    background: linear-gradient(135deg, #6c757d 0%, #5c636a 100%);
    color: #fff;
    opacity: 0.6;
}

body:not(.dark-mode) .btn-secondary:disabled,
body:not(.dark-mode) .btn-secondary.disabled {
    background-color: #e9ecef;
    border-color: #ced4da;
    color: #6c757d;
    opacity: 0.65;
}

body:not(.dark-mode) .btn-success:disabled,
body:not(.dark-mode) .btn-success.disabled {
    background: linear-gradient(135deg, #6c757d 0%, #5c636a 100%);
    color: #fff;
    opacity: 0.6;
}

body:not(.dark-mode) .btn-danger:disabled,
body:not(.dark-mode) .btn-danger.disabled {
    background: linear-gradient(135deg, #6c757d 0%, #5c636a 100%);
    color: #fff;
    opacity: 0.6;
}

body:not(.dark-mode) .btn-warning:disabled,
body:not(.dark-mode) .btn-warning.disabled {
    background: linear-gradient(135deg, #e9ecef 0%, #dee2e6 100%);
    color: #6c757d;
    opacity: 0.65;
}

body:not(.dark-mode) .btn-info:disabled,
body:not(.dark-mode) .btn-info.disabled {
    background: linear-gradient(135deg, #6c757d 0%, #5c636a 100%);
    color: #fff;
    opacity: 0.6;
}

body:not(.dark-mode) .btn-outline-primary:disabled,
body:not(.dark-mode) .btn-outline-primary.disabled {
    border-color: #6c757d;
    color: #6c757d;
    opacity: 0.65;
}

body:not(.dark-mode) .btn-outline-secondary:disabled,
body:not(.dark-mode) .btn-outline-secondary.disabled {
    border-color: #ced4da;
    color: #6c757d;
    opacity: 0.65;
}

/* Estados Disabled - Dark Mode */
body.dark-mode .btn:disabled,
body.dark-mode .btn.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

body.dark-mode .btn-primary:disabled,
body.dark-mode .btn-primary.disabled {
    background: rgba(108, 117, 125, 0.3);
    color: #8a92a6;
    opacity: 0.6;
}

body.dark-mode .btn-secondary:disabled,
body.dark-mode .btn-secondary.disabled {
    background-color: rgba(255, 255, 255, 0.03);
    border-color: rgba(255, 255, 255, 0.1);
    color: #6c7a96;
    opacity: 0.6;
}

body.dark-mode .btn-success:disabled,
body.dark-mode .btn-success.disabled {
    background: rgba(108, 117, 125, 0.3);
    color: #8a92a6;
    opacity: 0.6;
}

body.dark-mode .btn-danger:disabled,
body.dark-mode .btn-danger.disabled {
    background: rgba(108, 117, 125, 0.3);
    color: #8a92a6;
    opacity: 0.6;
}

body.dark-mode .btn-warning:disabled,
body.dark-mode .btn-warning.disabled {
    background: rgba(108, 117, 125, 0.3);
    color: #6c7a96;
    opacity: 0.6;
}

body.dark-mode .btn-info:disabled,
body.dark-mode .btn-info.disabled {
    background: rgba(108, 117, 125, 0.3);
    color: #8a92a6;
    opacity: 0.6;
}

body.dark-mode .btn-outline-primary:disabled,
body.dark-mode .btn-outline-primary.disabled {
    border-color: rgba(138, 146, 166, 0.4);
    color: #6c7a96;
    opacity: 0.6;
}

body.dark-mode .btn-outline-secondary:disabled,
body.dark-mode .btn-outline-secondary.disabled {
    border-color: rgba(138, 146, 166, 0.3);
    color: #6c7a96;
    opacity: 0.6;
}

/* Outline Buttons em Dark Mode */
body.dark-mode .btn-outline-primary {
    border: 2px solid #009CFF;
    color: #009CFF;
    background: transparent;
}

body.dark-mode .btn-outline-primary:hover {
    background: #009CFF;
    color: #fff;
}

body.dark-mode .btn-outline-secondary {
    border: 2px solid #8a92a6;
    color: #8a92a6;
    background: transparent;
}

body.dark-mode .btn-outline-secondary:hover {
    background: #8a92a6;
    color: #fff;
}

body.dark-mode .btn-outline-success {
    border: 2px solid #28a745;
    color: #28a745;
    background: transparent;
}

body.dark-mode .btn-outline-success:hover {
    background: #28a745;
    color: #fff;
}

body.dark-mode .btn-outline-danger {
    border: 2px solid #dc3545;
    color: #dc3545;
    background: transparent;
}

body.dark-mode .btn-outline-danger:hover {
    background: #dc3545;
    color: #fff;
}

body.dark-mode .btn-outline-warning {
    border: 2px solid #ffc107;
    color: #ffc107;
    background: transparent;
}

body.dark-mode .btn-outline-warning:hover {
    background: #ffc107;
    color: #000;
}

body.dark-mode .btn-outline-info {
    border: 2px solid #17a2b8;
    color: #17a2b8;
    background: transparent;
}

body.dark-mode .btn-outline-info:hover {
    background: #17a2b8;
    color: #fff;
}

body.dark-mode .btn-outline-dark {
    border: 2px solid #fff;
    color: #fff;
    background: transparent;
}

body.dark-mode .btn-outline-dark:hover {
    background: #fff;
    color: #000;
}

/* Outline Buttons Active em Dark Mode */
body.dark-mode .btn-outline-primary.active {
    background: #009CFF !important;
    color: #fff !important;
    border-color: #009CFF !important;
}

body.dark-mode .btn-outline-secondary.active {
    background: #8a92a6 !important;
    color: #fff !important;
    border-color: #8a92a6 !important;
}

body.dark-mode .btn-outline-success.active {
    background: #28a745 !important;
    color: #fff !important;
    border-color: #28a745 !important;
}

body.dark-mode .btn-outline-danger.active {
    background: #dc3545 !important;
    color: #fff !important;
    border-color: #dc3545 !important;
}

body.dark-mode .btn-outline-warning.active {
    background: #ffc107 !important;
    color: #000 !important;
    border-color: #ffc107 !important;
}

body.dark-mode .btn-outline-info.active {
    background: #17a2b8 !important;
    color: #fff !important;
    border-color: #17a2b8 !important;
}

body.dark-mode .btn-outline-dark.active {
    background: #fff !important;
    color: #000 !important;
    border-color: #fff !important;
}

/* Links em Light Mode */
body:not(.dark-mode) a {
    color: #009CFF;
    text-decoration: none;
    font-weight: 500;
}

body:not(.dark-mode) a:hover {
    color: #0077cc;
}

body:not(.dark-mode) a:focus {
    color: #0077cc;
    outline: 2px solid rgba(0, 156, 255, 0.5);
    outline-offset: 2px;
    border-radius: 2px;
}

body:not(.dark-mode) a:active {
    color: #0066aa;
}

/* Links em Dark Mode */
body.dark-mode a {
    color: #4da6ff;
    text-decoration: none;
    font-weight: 500;
}

body.dark-mode a:hover {
    color: #66b3ff;
}

body.dark-mode a:focus {
    color: #66b3ff;
    outline: 2px solid rgba(77, 166, 255, 0.5);
    outline-offset: 2px;
    border-radius: 2px;
}

body.dark-mode a:active {
    color: #80c0ff;
}

/* Links em Breadcrumb */
body:not(.dark-mode) .breadcrumb-item a {
    color: #009CFF;
    text-decoration: none;
    font-weight: 500;
}

body:not(.dark-mode) .breadcrumb-item a:hover {
    color: #0077cc;
}

body.dark-mode .breadcrumb-item a {
    color: #4da6ff;
    text-decoration: none;
}

body.dark-mode .breadcrumb-item a:hover {
    color: #66b3ff;
}

/* Títulos em Light Mode */
body:not(.dark-mode) h1,
body:not(.dark-mode) .h1 {
    background: linear-gradient(135deg, #212529 0%, #495057 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: #212529; /* Fallback para navegadores que não suportam background-clip */
}

body:not(.dark-mode) h2,
body:not(.dark-mode) .h2 {
    color: #212529;
}

body:not(.dark-mode) h3,
body:not(.dark-mode) .h3 {
    color: #212529;
}

body:not(.dark-mode) h4,
body:not(.dark-mode) .h4 {
    color: #495057;
}

body:not(.dark-mode) h5,
body:not(.dark-mode) .h5 {
    color: #495057;
}

body:not(.dark-mode) h6,
body:not(.dark-mode) .h6 {
    color: #6c757d;
}

/* Títulos em Dark Mode - Garantir contraste */
body.dark-mode h1,
body.dark-mode .h1 {
    background: linear-gradient(135deg, #fff 0%, #b8c0d4 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: #fff; /* Fallback */
}

body.dark-mode h2,
body.dark-mode .h2 {
    color: #fff;
}

body.dark-mode h3,
body.dark-mode .h3 {
    color: #fff;
}

body.dark-mode h4,
body.dark-mode .h4 {
    color: #b8c0d4;
}

body.dark-mode h5,
body.dark-mode .h5 {
    color: #b8c0d4;
}

body.dark-mode h6,
body.dark-mode .h6 {
    color: #8a92a6;
}

/*========================================
  DARK MODE (quando body.dark-mode)
==========================================*/

/* Já aplicado nos arquivos existentes */
body.dark-mode {
    background: linear-gradient(180deg, #070f27 0%, #02091F 100%) !important;
    color: #ffffff;
    /* Corrigido: usar o mesmo gradiente da sidebar para consistência visual */
}

body.dark-mode #layoutSidenav_content {
    background: linear-gradient(180deg, #070f27 0%, #02091F 100%) !important;
    /* Corrigido: usar o mesmo gradiente da sidebar para consistência visual */
}


/*========================================
  THEME TOGGLE BUTTON
==========================================*/

.theme-toggle-btn {
    background-color: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-left: 12px;
    padding: 0;
}

.theme-toggle-btn:hover {
    background-color: rgba(0, 156, 255, 0.15);
    border-color: rgba(0, 156, 255, 0.3);
    transform: rotate(180deg) scale(1.1);
}

.theme-toggle-btn i {
    font-size: 1.2rem;
    color: #ffc107;
    transition: all 0.3s ease;
}

/* Ícone em Light Mode */
body:not(.dark-mode) .theme-toggle-btn {
    background-color: #f8f9fa;
    border: 1px solid #dee2e6;
}

body:not(.dark-mode) .theme-toggle-btn:hover {
    background-color: rgba(0, 156, 255, 0.1);
    border-color: rgba(0, 156, 255, 0.3);
}

body:not(.dark-mode) .theme-toggle-btn i {
    color: #495057;
}

/* Tooltip do botão */
.theme-toggle-btn::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: -35px;
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
    padding: 0.25rem 0.75rem;
    border-radius: 6px;
    font-size: 0.75rem;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.theme-toggle-btn:hover::after {
    opacity: 1;
}

/*========================================
  RESPONSIVIDADE
==========================================*/

@media (max-width: 768px) {
    .theme-toggle-btn {
        width: 38px;
        height: 38px;
    }
    
    .theme-toggle-btn i {
        font-size: 1rem;
    }
}

@media (max-width: 576px) {
    .theme-toggle-btn {
        margin-left: 8px;
    }
}

/*========================================
  MODALS - COMPLETE THEME SUPPORT
==========================================*/

/* Modals em Dark Mode */
body.dark-mode .modal-content {
    background: linear-gradient(135deg, #070f27 0%, #0d1a3d 100%) !important;
    border: 1px solid rgba(0, 156, 255, 0.3) !important;
}

body.dark-mode .modal-header {
    background: linear-gradient(90deg, rgba(0, 156, 255, 0.15) 0%, transparent 100%) !important;
    border-bottom: 1px solid rgba(0, 156, 255, 0.2) !important;
}

body.dark-mode .modal-title {
    color: #fff !important;
}

body.dark-mode .modal-body {
    color: #b8c0d4 !important;
}

body.dark-mode .modal-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.dark-mode .btn-close {
    filter: invert(1) grayscale(100%) brightness(200%);
}

/* Modals em Light Mode */
body:not(.dark-mode) .modal-content {
    background: #ffffff !important;
    border: 1px solid #dee2e6 !important;
}

body:not(.dark-mode) .modal-header {
    background: linear-gradient(90deg, rgba(0, 156, 255, 0.08) 0%, transparent 100%) !important;
    border-bottom: 1px solid #dee2e6 !important;
}

body:not(.dark-mode) .modal-title {
    color: #212529 !important;
}

body:not(.dark-mode) .modal-body {
    color: #495057 !important;
}

body:not(.dark-mode) .modal-footer {
    border-top: 1px solid #dee2e6 !important;
}

body:not(.dark-mode) .btn-close {
    filter: none;
}

/*========================================
  DROPDOWN MENUS - COMPLETE THEME SUPPORT
==========================================*/

/* Dropdowns em Dark Mode */
body.dark-mode .dropdown-menu {
    background-color: #070f27 !important;
    border: 1px solid rgba(0, 156, 255, 0.2) !important;
    z-index: 1050 !important;
    position: absolute !important;
    pointer-events: auto !important;
}

body.dark-mode .dropdown-item {
    color: #b8c0d4 !important;
}

body.dark-mode .dropdown-item:hover {
    background-color: rgba(0, 156, 255, 0.12) !important;
    color: #fff !important;
}

body.dark-mode .dropdown-item {
    pointer-events: auto !important;
    cursor: pointer !important;
}

body.dark-mode .dropdown-divider {
    border-color: rgba(255, 255, 255, 0.05) !important;
}

/* Dropdowns em Light Mode */
body:not(.dark-mode) .dropdown-menu {
    background-color: #ffffff !important;
    border: 1px solid #dee2e6 !important;
    z-index: 9999 !important;
    position: absolute !important;
    pointer-events: auto !important;
}

/* Garantir que dropdowns dentro de cards no tema claro funcionem */
body:not(.dark-mode) .card .dropdown-menu,
body:not(.dark-mode) .card-body .dropdown-menu {
    z-index: 9999 !important;
    pointer-events: auto !important;
    position: absolute !important;
}

body:not(.dark-mode) .card .dropdown-item,
body:not(.dark-mode) .card-body .dropdown-item {
    pointer-events: auto !important;
    cursor: pointer !important;
}

body:not(.dark-mode) .card .dropdown-item a,
body:not(.dark-mode) .card-body .dropdown-item a {
    pointer-events: auto !important;
    cursor: pointer !important;
    display: block !important;
    width: 100% !important;
}

body:not(.dark-mode) .dropdown-item {
    color: #495057 !important;
}

body:not(.dark-mode) .dropdown-item:hover {
    background-color: rgba(0, 156, 255, 0.08) !important;
    color: #212529 !important;
}

body:not(.dark-mode) .dropdown-item {
    pointer-events: auto !important;
    cursor: pointer !important;
}

body:not(.dark-mode) .dropdown-item:not(.disabled):not(:disabled) {
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* Garantir que o container do dropdown tenha position relative */
.dropdown {
    position: relative !important;
}

/* Garantir que dropdowns dentro de cards funcionem corretamente */
.card .dropdown-menu {
    z-index: 1050 !important;
    position: absolute !important;
}

/* Permitir que dropdowns saiam do card sem serem cortados */
/* O Bootstrap usa Popper.js que pode posicionar elementos fora do contexto */
/* Mas precisamos garantir que os eventos de clique funcionem */
/* Nota: overflow: visible já está definido em components-modern.css e theme-toggle.css com seletores específicos */

.card-body .dropdown,
.card-body .dropdown-menu {
    position: relative !important;
    z-index: 9999 !important;
    pointer-events: auto !important;
}

.card-body .dropdown-menu {
    position: absolute !important;
    z-index: 9999 !important;
    pointer-events: auto !important;
}

/* Garantir que o dropdown seja renderizado no body quando necessário */
.dropdown-menu.show {
    z-index: 1051 !important;
    pointer-events: auto !important;
}

/* Garantir que todos os dropdown-menus sejam clicáveis */
.dropdown-menu {
    z-index: 9999 !important;
    pointer-events: auto !important;
    position: absolute !important;
}

/* Garantir que dropdowns dentro de cards funcionem */
.card .dropdown-menu,
.card-body .dropdown-menu {
    z-index: 9999 !important;
    pointer-events: auto !important;
    position: absolute !important;
}

.card .dropdown-item,
.card-body .dropdown-item {
    pointer-events: auto !important;
    cursor: pointer !important;
}

.card .dropdown-item a,
.card-body .dropdown-item a {
    pointer-events: auto !important;
    cursor: pointer !important;
    display: block !important;
    width: 100% !important;
}

/* Garantir que dropdown-items sejam clicáveis */
.dropdown-item {
    pointer-events: auto !important;
    cursor: pointer !important;
    user-select: none !important;
    position: relative !important;
    z-index: 1 !important;
}

.dropdown-item:not(.disabled):not(:disabled) {
    pointer-events: auto !important;
    cursor: pointer !important;
}

.dropdown-item.disabled,
.dropdown-item:disabled {
    pointer-events: none !important;
    cursor: not-allowed !important;
}

/* Garantir que links dentro de dropdown-items sejam clicáveis */
.dropdown-item a {
    pointer-events: auto !important;
    cursor: pointer !important;
    display: block !important;
    width: 100% !important;
    text-decoration: none !important;
    position: relative !important;
    z-index: 2 !important;
}

.dropdown-item a:hover {
    text-decoration: none !important;
}

/* Remover a regra de pointer-events que pode estar causando problemas */
/* Vamos usar uma abordagem diferente - garantir apenas z-index alto */

body:not(.dark-mode) .dropdown-divider {
    border-color: #dee2e6 !important;
}

/*========================================
  ACCORDION - PAGE-SPECIFIC STYLES
==========================================*/

/* --- Transaction Log Accordion (#accordion_log) --- */
body.dark-mode #accordion_log .accordion-button {
    background-color: rgba(13, 26, 61, 0.6);
    color: #fff;
    border-color: rgba(0, 156, 255, 0.2);
}

body.dark-mode #accordion_log .accordion-button:not(.collapsed) {
    background-color: transparent;
    background: linear-gradient(90deg, rgba(0, 156, 255, 0.15) 0%, transparent 100%);
    border-bottom: 1px solid rgba(0, 156, 255, 0.2);
    color: #fff;
}

body.dark-mode #accordion_log .accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    filter: brightness(0) invert(1);
}

body.dark-mode #accordion_log .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    filter: brightness(0) invert(1);
}

body.dark-mode #accordion_log .accordion-body {
    background-color: rgba(7, 15, 39, 0.5);
    color: #b8c0d4;
}

body.dark-mode #accordion_log .accordion-item {
    border-color: rgba(0, 156, 255, 0.2);
}

body:not(.dark-mode) #accordion_log .accordion-button {
    background-color: #f8f9fa;
    color: #212529;
    border-color: #dee2e6;
}

body:not(.dark-mode) #accordion_log .accordion-button:not(.collapsed) {
    background-color: rgba(0, 156, 255, 0.1);
    color: #212529;
}

body:not(.dark-mode) #accordion_log .accordion-body {
    background-color: #ffffff;
    color: #495057;
}

body:not(.dark-mode) #accordion_log .accordion-item {
    border-color: #dee2e6;
}

/* --- ACCORDION GLOBAL STYLES --- */
/* Estilos gerais para todos os accordions no dark mode */
body.dark-mode .accordion-button {
    background-color: rgba(13, 26, 61, 0.6);
    color: #fff;
    border-color: rgba(0, 156, 255, 0.2);
}

body.dark-mode .accordion-button:not(.collapsed) {
    background-color: transparent;
    background: linear-gradient(90deg, rgba(0, 156, 255, 0.15) 0%, transparent 100%);
    border-bottom: 1px solid rgba(0, 156, 255, 0.2);
    color: #fff;
    box-shadow: none;
}

body.dark-mode .accordion-button::after {
    filter: brightness(0) invert(1);
}

body.dark-mode .accordion-body {
    background-color: rgba(7, 15, 39, 0.5);
    color: #b8c0d4;
}

body.dark-mode .accordion-item {
    background-color: transparent;
    border-color: rgba(0, 156, 255, 0.2);
}

/* Estilos gerais para todos os accordions no light mode */
body:not(.dark-mode) .accordion-button {
    background-color: #f8f9fa;
    color: #212529;
    border-color: #dee2e6;
}

body:not(.dark-mode) .accordion-button:not(.collapsed) {
    background-color: #e7f1ff;
    color: #0c63e4;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125);
}

body:not(.dark-mode) .accordion-body {
    background-color: #ffffff;
    color: #495057;
}

body:not(.dark-mode) .accordion-item {
    background-color: #fff;
    border-color: #dee2e6;
}

/* --- Commercial Accordion (#accordioncommercial) --- */
body.dark-mode #accordioncommercial .accordion-button {
    background-color: rgba(13, 26, 61, 0.6) !important;
    color: #fff !important;
    border-color: rgba(0, 156, 255, 0.2) !important;
}

body.dark-mode #accordioncommercial .accordion-button:not(.collapsed) {
    background-color: transparent !important;
    background: linear-gradient(90deg, rgba(0, 156, 255, 0.15) 0%, transparent 100%) !important;
    border-bottom: 1px solid rgba(0, 156, 255, 0.2) !important;
    color: #fff !important;
    box-shadow: none !important;
}

body.dark-mode #accordioncommercial .accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    filter: brightness(0) invert(1);
}

body.dark-mode #accordioncommercial .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    filter: brightness(0) invert(1);
}

body.dark-mode #accordioncommercial .accordion-body {
    background-color: rgba(7, 15, 39, 0.5);
    color: #b8c0d4;
}

body.dark-mode #accordioncommercial .accordion-item {
    border-color: rgba(0, 156, 255, 0.2);
}

body:not(.dark-mode) #accordioncommercial .accordion-button {
    background-color: #f8f9fa !important;
    color: #212529 !important;
    border-color: #dee2e6 !important;
}

body:not(.dark-mode) #accordioncommercial .accordion-button:not(.collapsed) {
    background-color: #e7f1ff !important;
    color: #0c63e4 !important;
    box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.125) !important;
}

body:not(.dark-mode) #accordioncommercial .accordion-body {
    background-color: #ffffff;
    color: #495057;
}

body:not(.dark-mode) #accordioncommercial .accordion-item {
    border-color: #dee2e6;
}

/* --- Partners Currency Accordion (Flush) --- */
body.dark-mode #accordionFlushPartners .accordion-button,
body.dark-mode #accordionFlushPartners2 .accordion-button {
    background-color: rgba(13, 26, 61, 0.6);
    color: #fff;
    border-color: rgba(0, 156, 255, 0.2);
}

body.dark-mode #accordionFlushPartners .accordion-button:not(.collapsed),
body.dark-mode #accordionFlushPartners2 .accordion-button:not(.collapsed) {
    background-color: transparent;
    background: linear-gradient(90deg, rgba(0, 156, 255, 0.15) 0%, transparent 100%);
    border-bottom: 1px solid rgba(0, 156, 255, 0.2);
    color: #fff;
}

body.dark-mode #accordionFlushPartners .accordion-button::after,
body.dark-mode #accordionFlushPartners2 .accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    filter: brightness(0) invert(1);
}

body.dark-mode #accordionFlushPartners .accordion-button:not(.collapsed)::after,
body.dark-mode #accordionFlushPartners2 .accordion-button:not(.collapsed)::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    filter: brightness(0) invert(1);
}

body.dark-mode #accordionFlushPartners .accordion-body,
body.dark-mode #accordionFlushPartners2 .accordion-body {
    background-color: rgba(7, 15, 39, 0.5);
    color: #b8c0d4;
}

body.dark-mode #accordionFlushPartners .accordion-item,
body.dark-mode #accordionFlushPartners2 .accordion-item {
    border-color: rgba(0, 156, 255, 0.2);
    background-color: transparent;
}

body:not(.dark-mode) #accordionFlushPartners .accordion-button,
body:not(.dark-mode) #accordionFlushPartners2 .accordion-button {
    background-color: #f8f9fa;
    color: #212529;
    border-color: #dee2e6;
}

body:not(.dark-mode) #accordionFlushPartners .accordion-button:not(.collapsed),
body:not(.dark-mode) #accordionFlushPartners2 .accordion-button:not(.collapsed) {
    background-color: rgba(0, 156, 255, 0.1);
    color: #212529;
}

body:not(.dark-mode) #accordionFlushPartners .accordion-body,
body:not(.dark-mode) #accordionFlushPartners2 .accordion-body {
    background-color: #ffffff;
    color: #495057;
}

body:not(.dark-mode) #accordionFlushPartners .accordion-item,
body:not(.dark-mode) #accordionFlushPartners2 .accordion-item {
    border-color: #dee2e6;
}

/*========================================
  BADGES - COMPLETE THEME SUPPORT
==========================================*/

/* Badges em Dark Mode */
body.dark-mode .badge {
    font-weight: 600;
}

body.dark-mode .badge.bg-primary {
    background-color: #009CFF !important;
    color: #fff !important;
}

body.dark-mode .badge.bg-success {
    background-color: #28a745 !important;
    color: #fff !important;
}

body.dark-mode .badge.bg-danger {
    background-color: #dc3545 !important;
    color: #fff !important;
}

body.dark-mode .badge.bg-warning {
    background-color: #ffc107 !important;
    color: #000 !important;
}

body.dark-mode .badge.bg-info {
    background-color: #17a2b8 !important;
    color: #fff !important;
}

body.dark-mode .badge.bg-secondary {
    background-color: #6c757d !important;
    color: #fff !important;
}

/* Badges em Light Mode */
body:not(.dark-mode) .badge {
    font-weight: 600;
}

body:not(.dark-mode) .badge.bg-primary {
    background-color: #009CFF !important;
    color: #fff !important;
}

body:not(.dark-mode) .badge.bg-success {
    background-color: #28a745 !important;
    color: #fff !important;
}

body:not(.dark-mode) .badge.bg-danger {
    background-color: #dc3545 !important;
    color: #fff !important;
}

body:not(.dark-mode) .badge.bg-warning {
    background-color: #ffc107 !important;
    color: #000 !important;
}

body:not(.dark-mode) .badge.bg-info {
    background-color: #17a2b8 !important;
    color: #fff !important;
}

body:not(.dark-mode) .badge.bg-secondary {
    background-color: #6c757d !important;
    color: #fff !important;
}

/*========================================
  PROGRESS BARS - COMPLETE THEME SUPPORT
==========================================*/

/* Progress em Dark Mode */
body.dark-mode .progress {
    background-color: rgba(13, 26, 61, 0.5) !important;
}

body.dark-mode .progress-bar {
    background-color: #009CFF !important;
}

/* Progress em Light Mode */
body:not(.dark-mode) .progress {
    background-color: #e9ecef !important;
}

body:not(.dark-mode) .progress-bar {
    background-color: #009CFF !important;
}

/*========================================
  TOOLTIPS - COMPLETE THEME SUPPORT
==========================================*/

/* Tooltips em Dark Mode */
body.dark-mode .tooltip-inner {
    background-color: rgba(0, 0, 0, 0.9) !important;
    color: #fff !important;
}

body.dark-mode .tooltip.bs-tooltip-top .tooltip-arrow::before {
    border-top-color: rgba(0, 0, 0, 0.9) !important;
}

body.dark-mode .tooltip.bs-tooltip-bottom .tooltip-arrow::before {
    border-bottom-color: rgba(0, 0, 0, 0.9) !important;
}

body.dark-mode .tooltip.bs-tooltip-start .tooltip-arrow::before {
    border-left-color: rgba(0, 0, 0, 0.9) !important;
}

body.dark-mode .tooltip.bs-tooltip-end .tooltip-arrow::before {
    border-right-color: rgba(0, 0, 0, 0.9) !important;
}

/* Tooltips em Light Mode */
body:not(.dark-mode) .tooltip-inner {
    background-color: rgba(0, 0, 0, 0.9) !important;
    color: #fff !important;
}

/*========================================
  POPOVERS - COMPLETE THEME SUPPORT
==========================================*/

/* Popovers em Dark Mode */
body.dark-mode .popover {
    background-color: #070f27 !important;
    border: 1px solid rgba(0, 156, 255, 0.3) !important;
}

body.dark-mode .popover-header {
    background-color: rgba(0, 156, 255, 0.15) !important;
    border-bottom: 1px solid rgba(0, 156, 255, 0.2) !important;
    color: #fff !important;
}

body.dark-mode .popover-body {
    color: #b8c0d4 !important;
}

body.dark-mode .popover .popover-arrow::before {
    border-color: rgba(0, 156, 255, 0.3) transparent transparent transparent !important;
}

/* Popovers em Light Mode */
body:not(.dark-mode) .popover {
    background-color: #ffffff !important;
    border: 1px solid #dee2e6 !important;
}

body:not(.dark-mode) .popover-header {
    background-color: rgba(0, 156, 255, 0.08) !important;
    border-bottom: 1px solid #dee2e6 !important;
    color: #212529 !important;
}

body:not(.dark-mode) .popover-body {
    color: #495057 !important;
}

/*========================================
  SPINNERS - COMPLETE THEME SUPPORT
==========================================*/

/* Spinners em Dark Mode */
body.dark-mode .spinner-border {
    color: #009CFF !important;
}

body.dark-mode .spinner-grow {
    background-color: #009CFF !important;
}

/* Spinners em Light Mode */
body:not(.dark-mode) .spinner-border {
    color: #009CFF !important;
}

body:not(.dark-mode) .spinner-grow {
    background-color: #009CFF !important;
}

/*========================================
  OVERLAY LOADERS - COMPLETE THEME SUPPORT
==========================================*/

/* Overlay Loader Base */
.overlay-loader {
    position: fixed;
    left: 0;
    top: 0;
    height: 100vh;
    width: 100vw;
    z-index: 9999;
    display: none;
}

/* Fallback: garantir que o conteúdo apareça mesmo se JS falhar */
#dashboard-content.d-none {
    display: block !important;
}

/* Overlay em Dark Mode */
body.dark-mode #overlay-loader-result-bank,
body.dark-mode #overlay-loader-result-consulta,
body.dark-mode #loading-overlay,
body.dark-mode .overlay-loader {
    background: rgba(2, 9, 31, 0.85) !important;
    backdrop-filter: blur(8px);
}

body.dark-mode #overlay-loader-result-bank strong,
body.dark-mode #overlay-loader-result-consulta strong,
body.dark-mode #loading-overlay strong,
body.dark-mode .overlay-loader strong {
    color: #fff !important;
}

/* Overlay em Light Mode */
body:not(.dark-mode) #overlay-loader-result-bank,
body:not(.dark-mode) #overlay-loader-result-consulta,
body:not(.dark-mode) #loading-overlay,
body:not(.dark-mode) .overlay-loader {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(8px);
}

body:not(.dark-mode) #overlay-loader-result-bank strong,
body:not(.dark-mode) #overlay-loader-result-consulta strong,
body:not(.dark-mode) #loading-overlay strong,
body:not(.dark-mode) .overlay-loader strong {
    color: #212529 !important;
}

/*========================================
  SELECT2 AND OTHER THIRD-PARTY PLUGINS
==========================================*/

/* Select2 em Dark Mode */
body.dark-mode .select2-container--default .select2-selection--single,
body.dark-mode .select2-container--default .select2-selection--multiple {
    background-color: rgba(13, 26, 61, 0.6) !important;
    border: 1px solid rgba(0, 156, 255, 0.2) !important;
    color: #fff !important;
}

body.dark-mode .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #fff !important;
}

body.dark-mode .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #8a92a6 !important;
}

body.dark-mode .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #8a92a6 transparent transparent transparent !important;
}

body.dark-mode .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #8a92a6 transparent !important;
}

body.dark-mode .select2-dropdown {
    background-color: #070f27 !important;
    border: 1px solid rgba(0, 156, 255, 0.3) !important;
}

body.dark-mode .select2-container--default .select2-search--dropdown .select2-search__field {
    background-color: #070f27 !important;
    border: 1px solid rgba(0, 156, 255, 0.3) !important;
    color: #fff !important;
}

body.dark-mode .select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #009CFF !important;
    outline: none !important;
}

body.dark-mode .select2-results__option {
    color: #b8c0d4 !important;
    background-color: #070f27 !important;
}

body.dark-mode .select2-results__option--highlighted {
    background-color: rgba(0, 156, 255, 0.2) !important;
    color: #fff !important;
}

body.dark-mode .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: #009CFF !important;
    color: #ffffff !important;
}

body.dark-mode .select2-container--default .select2-results__option[aria-selected=true] {
    background-color: rgba(0, 156, 255, 0.2) !important;
    color: #ffffff !important;
}

body.dark-mode .select2-container--default .select2-results__option[aria-disabled=true] {
    color: #5a5f6e !important;
}

body.dark-mode .select2-container--default .select2-results__group {
    color: #8a92a6 !important;
}

body.dark-mode .select2-container--default .select2-selection--single:focus {
    border-color: #009CFF !important;
}

/* Select2 em Light Mode */
body:not(.dark-mode) .select2-container--default .select2-selection--single,
body:not(.dark-mode) .select2-container--default .select2-selection--multiple {
    background-color: #ffffff !important;
    border: 1px solid #ced4da !important;
    color: #495057 !important;
}

body:not(.dark-mode) .select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #495057 !important;
}

body:not(.dark-mode) .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #6c757d !important;
}

body:not(.dark-mode) .select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: #6c757d transparent transparent transparent !important;
}

body:not(.dark-mode) .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
    border-color: transparent transparent #6c757d transparent !important;
}

body:not(.dark-mode) .select2-dropdown {
    background-color: #ffffff !important;
    border: 1px solid #dee2e6 !important;
}

body:not(.dark-mode) .select2-container--default .select2-search--dropdown .select2-search__field {
    background-color: #ffffff !important;
    border: 1px solid #dee2e6 !important;
    color: #495057 !important;
}

body:not(.dark-mode) .select2-container--default .select2-search--dropdown .select2-search__field:focus {
    border-color: #009CFF !important;
    outline: none !important;
}

body:not(.dark-mode) .select2-results__option {
    color: #495057 !important;
    background-color: #ffffff !important;
}

body:not(.dark-mode) .select2-results__option--highlighted {
    background-color: rgba(0, 156, 255, 0.1) !important;
    color: #212529 !important;
}

body:not(.dark-mode) .select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: rgba(0, 156, 255, 0.15) !important;
    color: #212529 !important;
}

body:not(.dark-mode) .select2-container--default .select2-results__option[aria-selected=true] {
    background-color: rgba(0, 156, 255, 0.1) !important;
    color: #495057 !important;
}

body:not(.dark-mode) .select2-container--default .select2-results__option[aria-disabled=true] {
    color: #adb5bd !important;
}

body:not(.dark-mode) .select2-container--default .select2-results__group {
    color: #6c757d !important;
}

body:not(.dark-mode) .select2-container--default .select2-selection--single:focus {
    border-color: #009CFF !important;
}

/* Border utilities */
.border-end {
    border-right: 1px solid;
}

body.dark-mode .border-end {
    border-right-color: rgba(255, 255, 255, 0.1) !important;
}

body:not(.dark-mode) .border-end {
    border-right-color: rgba(0, 0, 0, 0.1) !important;
}

.border-radius-0 {
    border-radius: 0 !important;
}

/*========================================
  OFFCANVAS - COMPLETE THEME SUPPORT
==========================================*/

/* Offcanvas em Dark Mode */
body.dark-mode .offcanvas {
    background-color: #070f27 !important;
    border-left: 1px solid rgba(0, 156, 255, 0.2) !important;
}

body.dark-mode .offcanvas-header {
    background: linear-gradient(90deg, rgba(0, 156, 255, 0.15) 0%, transparent 100%) !important;
    border-bottom: 1px solid rgba(0, 156, 255, 0.2) !important;
}

body.dark-mode .offcanvas-header.bg-info {
    background: linear-gradient(135deg, #0dcaf0 0%, #17a2b8 100%) !important;
}

body.dark-mode .offcanvas-body {
    color: #b8c0d4 !important;
}

body.dark-mode .offcanvas-body .bg-light {
    background-color: rgba(13, 26, 61, 0.5) !important;
}

body.dark-mode .offcanvas-body hr {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

/* Offcanvas em Light Mode */
body:not(.dark-mode) .offcanvas {
    background-color: #ffffff !important;
    border-left: 1px solid #dee2e6 !important;
}

body:not(.dark-mode) .offcanvas-header {
    background: linear-gradient(90deg, rgba(0, 156, 255, 0.08) 0%, transparent 100%) !important;
    border-bottom: 1px solid #dee2e6 !important;
}

body:not(.dark-mode) .offcanvas-header.bg-info {
    background: linear-gradient(135deg, #0dcaf0 0%, #17a2b8 100%) !important;
}

body:not(.dark-mode) .offcanvas-body {
    color: #495057 !important;
}

body:not(.dark-mode) .offcanvas-body .bg-light {
    background-color: #f8f9fa !important;
}

body:not(.dark-mode) .offcanvas-body hr {
    border-color: #dee2e6 !important;
}

/* Offcanvas header com bg-info - manter cor específica */
.offcanvas-header.bg-info {
    background-color: #0dcaf0 !important;
}

body.dark-mode .offcanvas-header.bg-info,
body:not(.dark-mode) .offcanvas-header.bg-info {
    background-color: #0dcaf0 !important;
}

/* Background light para informações */
.info-section-bg {
    background-color: #f8f8ff;
    padding: 10px;
    margin-bottom: 20px;
}

body.dark-mode .info-section-bg {
    background-color: rgba(13, 26, 61, 0.5) !important;
}

body:not(.dark-mode) .info-section-bg {
    background-color: #f8f9fa !important;
}

/*========================================
  UTILITY CLASSES
==========================================*/

/* Width utilities for tables */
.w-30 {
    width: 30% !important;
}

.w-70 {
    width: 70% !important;
}

/* Font utilities */
.font-monospace {
    font-family: monospace !important;
}

/* Textarea readonly styling */
textarea.form-control[readonly] {
    background-color: inherit;
    opacity: 0.9;
}

body.dark-mode textarea.form-control[readonly] {
    background-color: rgba(13, 26, 61, 0.4) !important;
    color: #b8c0d4 !important;
}

body:not(.dark-mode) textarea.form-control[readonly] {
    background-color: #f8f9fa !important;
    color: #495057 !important;
}

/*========================================
  BG-LIGHT - COMPLETE THEME SUPPORT
==========================================*/

/* bg-light em Dark Mode */
body.dark-mode .bg-light {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%) !important;
}

/* bg-light em Light Mode */
body:not(.dark-mode) .bg-light {
    background-color: #f8f9fa !important;
}

/* Cards com bg-light em Dark Mode */
body.dark-mode .card.bg-light {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

body.dark-mode .card.bg-light .card-header {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.1) 0%, transparent 100%) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
}

body.dark-mode .card.bg-light .card-body {
    color: #b8c0d4 !important;
}

body.dark-mode .card.bg-light .card-footer {
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    color: #8a92a6 !important;
}

/* Cards com bg-light em Light Mode */
body:not(.dark-mode) .card.bg-light {
    background-color: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
}

body:not(.dark-mode) .card.bg-light .card-header {
    background: linear-gradient(90deg, rgba(0, 156, 255, 0.08) 0%, transparent 100%) !important;
    border-bottom: 1px solid #dee2e6 !important;
    color: #212529 !important;
}

body:not(.dark-mode) .card.bg-light .card-body {
    color: #495057 !important;
}

body:not(.dark-mode) .card.bg-light .card-footer {
    border-top: 1px solid #dee2e6 !important;
    color: #6c757d !important;
}

/* Cards com bg-light e border-dark em Dark Mode */
body.dark-mode .card.bg-light.border-dark {
    border-color: rgba(255, 255, 255, 0.2) !important;
}

/* Cards com bg-light e border-dark em Light Mode */
body:not(.dark-mode) .card.bg-light.border-dark {
    border-color: #212529 !important;
}

/* Títulos com bg-light em Dark Mode */
body.dark-mode .text-secondary.bg-light {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%) !important;
    color: #8a92a6 !important;
}

/* Títulos com bg-light em Light Mode */
body:not(.dark-mode) .text-secondary.bg-light {
    background-color: #f8f9fa !important;
    color: #495057 !important;
}

/* Células de tabela com bg-light em Dark Mode */
body.dark-mode td.bg-light,
body.dark-mode th.bg-light {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.02) 100%) !important;
    color: #b8c0d4 !important;
}

/* Células de tabela com bg-light em Light Mode */
body:not(.dark-mode) td.bg-light,
body:not(.dark-mode) th.bg-light {
    background-color: #f8f9fa !important;
    color: #495057 !important;
}

/*========================================
  COMPONENTES CUSTOMIZADOS - THEME SUPPORT
==========================================*/

/* Filter Section em Dark Mode */
body.dark-mode .filter-section {
    background: linear-gradient(135deg, rgba(13, 26, 61, 0.6) 0%, rgba(7, 15, 39, 0.8) 100%) !important;
    border: 1px solid rgba(0, 156, 255, 0.2) !important;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

/* Filter Section em Light Mode */
body:not(.dark-mode) .filter-section {
    background-color: #f8f9fa !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
}

/* Summary Cards Container em Dark Mode */
body.dark-mode .summary-cards {
    background: linear-gradient(135deg, rgba(13, 26, 61, 0.5) 0%, rgba(7, 15, 39, 0.7) 100%) !important;
    border: 1px solid rgba(0, 156, 255, 0.15) !important;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 20px;
}

/* Summary Cards Container em Light Mode */
body:not(.dark-mode) .summary-cards {
    background-color: #e9ecef !important;
    border: 1px solid #dee2e6 !important;
    border-radius: 8px;
    padding: 15px;
    margin-bottom: 20px;
}

/* Summary Card em Dark Mode */
body.dark-mode .summary-card {
    text-align: center;
    padding: 10px;
    background: rgba(13, 26, 61, 0.75) !important;
    border: 1px solid rgba(0, 156, 255, 0.2) !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

body.dark-mode .summary-card h5 {
    margin: 0;
    color: #8a92a6 !important;
}

body.dark-mode .summary-card .value {
    font-size: 1.5em;
    font-weight: bold;
    color: #009CFF !important;
}

body.dark-mode .summary-card .value.text-danger {
    color: #dc3545 !important;
}

body.dark-mode .summary-card-icon {
    background: rgba(0, 156, 255, 0.12) !important;
    color: #009CFF !important;
    box-shadow: inset 0 0 0 1px rgba(0, 156, 255, 0.25);
}

/* Summary Card em Light Mode */
body:not(.dark-mode) .summary-card {
    text-align: center;
    padding: 10px;
    background: #f8f9fa !important;
    border: 1px solid #d1d9e6 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

body:not(.dark-mode) .summary-card h5 {
    margin: 0;
    color: #495057 !important;
}

body:not(.dark-mode) .summary-card .value {
    font-size: 1.5em;
    font-weight: bold;
    color: #007bff !important;
}

body:not(.dark-mode) .summary-card .value.text-danger {
    color: #dc3545 !important;
}

/* Total a Faturar - destaque verde (ambos os temas) */
body.dark-mode .summary-card .value.kyc-total-faturar {
    color: #22c55e !important;
}

body:not(.dark-mode) .summary-card .value.kyc-total-faturar {
    color: #198754 !important;
}

/* Filters Applied em Dark Mode */
body.dark-mode .filters-applied {
    background: linear-gradient(135deg, rgba(0, 156, 255, 0.15) 0%, rgba(0, 156, 255, 0.05) 100%) !important;
    border-left: 4px solid #009CFF !important;
}

/* Filters Applied em Light Mode */
body:not(.dark-mode) .filters-applied {
    background: linear-gradient(135deg, #e3f2fd 0%, #f3e5f5 100%) !important;
    border-left: 4px solid #2196f3 !important;
}

/* Filter Badge em Dark Mode */
body.dark-mode .filter-badge {
    background: linear-gradient(135deg, #009CFF 0%, #0077cc 100%) !important;
    border: none;
    box-shadow: 0 2px 4px rgba(0, 156, 255, 0.3);
    transition: all 0.3s ease;
}

body.dark-mode .filter-badge:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(0, 156, 255, 0.4);
}

/* Filter Badge em Light Mode */
body:not(.dark-mode) .filter-badge {
    background: linear-gradient(135deg, #2196f3 0%, #1976d2 100%) !important;
    border: none;
    box-shadow: 0 2px 4px rgba(33, 150, 243, 0.3);
    transition: all 0.3s ease;
}

body:not(.dark-mode) .filter-badge:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(33, 150, 243, 0.4);
}

/* No Filters em Dark Mode */
body.dark-mode .no-filters {
    background: linear-gradient(135deg, rgba(13, 26, 61, 0.5) 0%, rgba(7, 15, 39, 0.7) 100%) !important;
    border-left: 4px solid #6c757d !important;
}

/* No Filters em Light Mode */
body:not(.dark-mode) .no-filters {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%) !important;
    border-left: 4px solid #6c757d !important;
}

/* Filter Row e Filter Label */
.filter-row {
    margin-bottom: 15px;
}

.filter-label {
    font-weight: 600;
    margin-bottom: 5px;
}

body.dark-mode .filter-label {
    color: #b8c0d4 !important;
}

body:not(.dark-mode) .filter-label {
    color: #495057 !important;
}

/*========================================
  RESPONSIVE TABLE (rTable) - THEME SUPPORT
==========================================*/

.rTable {
    width: 100%;
    text-align: center;
}

.rTable th,
.rTable td {
    padding: 7px 0;
}

body.dark-mode .rTable th {
    color: #fff !important;
}

body.dark-mode .rTable td {
    color: #b8c0d4 !important;
}

body:not(.dark-mode) .rTable th {
    color: #212529 !important;
}

body:not(.dark-mode) .rTable td {
    color: #495057 !important;
}

.content {
    display: flex;
    margin: auto;
}

@media screen and (max-width: 480px) {
    .content {
        width: 94%;
        margin: 0;
    }

    .rTable thead {
        display: none;
    }

    .rTable tbody td {
        display: flex;
        flex-direction: column;
    }

    .card-responsive {
        padding: 0;
        margin: 0;
    }
}

@media only screen and (min-width: 1200px) {
    .content {
        width: 100%;
    }

    .rTable tbody tr td:nth-child(1) {
        width: 10%;
    }

    .rTable tbody tr td:nth-child(2) {
        width: 30%;
    }

    .rTable tbody tr td:nth-child(3) {
        width: 20%;
    }

    .rTable tbody tr td:nth-child(4) {
        width: 10%;
    }

    .rTable tbody tr td:nth-child(5) {
        width: 25%;
    }

    .rTable tbody tr td:nth-child(6) {
        width: 15%;
    }
}

/*========================================
  BADGE ROUNDED PILL - THEME SUPPORT
==========================================*/

.badge.rounded-pill {
    width: 25px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
}

.badge.bg-success.rounded-pill {
    background-color: #28a745 !important;
}

.badge.bg-danger.rounded-pill {
    background-color: #dc3545 !important;
}

/* Animações de pulse removidas - manter apenas cores */

/*========================================
  FORM VALIDATION & LOADERS - THEME SUPPORT
==========================================*/

.error-message {
    color: #dc3545;
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

body.dark-mode .error-message {
    color: #ff6b6b !important;
}

body:not(.dark-mode) .error-message {
    color: #dc3545 !important;
}

.form-control.is-invalid,
.form-select.is-invalid {
    border-color: #dc3545;
}

body.dark-mode .form-control.is-invalid,
body.dark-mode .form-select.is-invalid {
    border-color: #ff6b6b !important;
}

body:not(.dark-mode) .form-control.is-invalid,
body:not(.dark-mode) .form-select.is-invalid {
    border-color: #dc3545 !important;
}

.required-field {
    color: #dc3545;
}

body.dark-mode .required-field {
    color: #ff6b6b !important;
}

body:not(.dark-mode) .required-field {
    color: #dc3545 !important;
}

.global-loader-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    transition: opacity 0.3s ease;
    opacity: 0;
    visibility: hidden;
}

body.dark-mode .global-loader-overlay {
    background-color: rgba(2, 9, 31, 0.85) !important;
    backdrop-filter: blur(8px);
}

body:not(.dark-mode) .global-loader-overlay {
    background-color: rgba(255, 255, 255, 0.8) !important;
    backdrop-filter: blur(8px);
}

.global-loader-overlay.active {
    opacity: 1;
    visibility: visible;
}

.global-loader-content {
    text-align: center;
}

.global-loader-overlay .spinner-border {
    width: 3rem;
    height: 3rem;
    margin-bottom: 1rem;
}

body.dark-mode .global-loader-overlay .spinner-border {
    color: #009CFF !important;
}

body:not(.dark-mode) .global-loader-overlay .spinner-border {
    color: #0d6efd !important;
}

.loader-message {
    font-size: 1.1rem;
}

body.dark-mode .loader-message {
    color: #fff !important;
}

body:not(.dark-mode) .loader-message {
    color: #495057 !important;
}

.btn .spinner-border {
    width: 1rem;
    height: 1rem;
    vertical-align: middle;
    margin-left: 0.5rem;
    display: none;
}

.btn.loading .spinner-border {
    display: inline-block;
}

.btn.loading .btn-text {
    visibility: hidden;
}

.sortable-header {
    cursor: pointer;
    position: relative;
    padding-right: 20px;
}

.sortable-header .sort-icon {
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 0.8em;
}

body.dark-mode .sortable-header .sort-icon {
    color: #8a92a6 !important;
}

body:not(.dark-mode) .sortable-header .sort-icon {
    color: #6c757d !important;
}

.sortable-header.asc .sort-icon::before {
    content: "\25B2";
}

.sortable-header.desc .sort-icon::before {
    content: "\25BC";
}

.sortable-header:not(.asc):not(.desc) .sort-icon::before {
    content: "";
}

/* Botões com três pontos - remover fundo branco */
.btn-light.border-0 {
    background: transparent !important;
    border: none !important;
    padding: 0.25rem 0.5rem !important;
}

body.dark-mode .btn-light.border-0 {
    background: transparent !important;
    color: #8a92a6 !important;
}

body.dark-mode .btn-light.border-0:hover {
    background: rgba(255, 255, 255, 0.1) !important;
    color: #fff !important;
}

body:not(.dark-mode) .btn-light.border-0 {
    background: transparent !important;
    color: #6c757d !important;
}

body:not(.dark-mode) .btn-light.border-0:hover {
    background: rgba(0, 0, 0, 0.05) !important;
    color: #212529 !important;
}

.sortable-header .sort-icon::before {
    content: "\25B2\25BC";
    opacity: 0.5;
}

/*  FAVORITE BUTTON - THEME SUPPORT */

.is-favorite {
    background-color: #ffc107 !important;
    border-color: #ffc107 !important;
}

body.dark-mode .is-favorite {
    color: #000 !important;
}

body:not(.dark-mode) .is-favorite {
    color: #000 !important;
}

/* Custom Select Buttons */
.custom-select-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 30px;
}

