/* ========================================
   THEMIS - SISTEMA DE TEMA DARK/LIGHT
   Paleta de Cores Customizada
======================================== */

:root {
    /* Light Mode - Padrão */
    --bg-primary: #ffffff;
    --bg-cards: #f4f4f5;
    --text-primary: #18181b;
    --text-secondary: #71717a;
    --lines-dividers: #e4e4e7;
    --accent-color: #f3842a;

    /* Cores adicionais para elementos específicos */
    --sidebar-bg: #f8f9fa;
    --sidebar-text: #18181b;
    --sidebar-text-secondary: #6c757d;
    --header-bg: #ffffff;
    --card-shadow: rgba(24, 24, 27, 0.1);
    --border-color: #e4e4e7;
    --input-bg: #ffffff;
    --input-border: #e4e4e7;
    --button-bg: #f4f4f5;
    --button-text: #18181b;
    --hover-bg: #e9ecef;
    --active-bg: #dee2e6;

    /* Estados de botões */
    --btn-primary-bg: var(--accent-color);
    --btn-primary-text: #ffffff;
    --btn-secondary-bg: #f4f4f5;
    --btn-secondary-text: #18181b;

    /* Alertas e notificações */
    --success-color: #22c55e;
    --warning-color: #eab308;
    --error-color: #ef4444;
    --info-color: #3b82f6;
}

/* Dark Mode */
[data-theme="dark"] {
    --bg-primary: #09090b;
    --bg-cards: #18181b;
    --text-primary: #ffffff;
    --text-secondary: #a1a1aa;
    --lines-dividers: #27272a;
    --accent-color: #f3842a;

    /* Cores adicionais para elementos específicos */
    --sidebar-bg: #18181b;
    --sidebar-text: #ffffff;
    --sidebar-text-secondary: #a1a1aa;
    --header-bg: #18181b;
    --card-shadow: rgba(0, 0, 0, 0.3);
    --border-color: #27272a;
    --input-bg: #18181b;
    --input-border: #27272a;
    --button-bg: #27272a;
    --button-text: #ffffff;
    --hover-bg: #27272a;
    --active-bg: #3f3f46;

    /* Estados de botões */
    --btn-primary-bg: var(--accent-color);
    --btn-primary-text: #ffffff;
    --btn-secondary-bg: #27272a;
    --btn-secondary-text: #ffffff;

    /* Alertas e notificações */
    --success-color: #16a34a;
    --warning-color: #ca8a04;
    --error-color: #dc2626;
    --info-color: #2563eb;
}

/* Aplicação dos estilos principais */
body {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    transition: background-color 0.3s ease, color 0.3s ease;
}

/* Sidebar */
.app-sidebar {
    background-color: var(--sidebar-bg) !important;
    border-right: 1px solid var(--lines-dividers) !important;
    box-shadow: 0 0 10px var(--card-shadow) !important;
}

.app-sidebar .main-sidebar {
    background-color: var(--sidebar-bg) !important;
}

.app-sidebar .slide-menu li a {
    color: var(--sidebar-text) !important;
    transition: all 0.3s ease;
}

.app-sidebar .slide-menu li a:hover {
    background-color: var(--hover-bg) !important;
    color: var(--accent-color) !important;
}

.app-sidebar .slide-menu li.is-expanded>a,
.app-sidebar .slide-menu li.active>a {
    background-color: var(--active-bg) !important;
    color: var(--accent-color) !important;
}

/* Sidebar - Correções específicas para modo light */
.app-sidebar .sidebar-logo {
    background-color: var(--sidebar-bg) !important;
    border-bottom: 1px solid var(--lines-dividers) !important;
}

.app-sidebar .sidebar-logo a {
    color: var(--sidebar-text) !important;
}

.app-sidebar .main-sidebar-header {
    background-color: var(--sidebar-bg) !important;
    border-bottom: 1px solid var(--lines-dividers) !important;
}

.app-sidebar .slide-menu li a span,
.app-sidebar .slide-menu li a i {
    color: var(--sidebar-text) !important;
}

.app-sidebar .slide-menu .sub-menu li a {
    color: var(--sidebar-text-secondary) !important;
    background-color: transparent !important;
}

.app-sidebar .slide-menu .sub-menu li a:hover {
    color: var(--accent-color) !important;
    background-color: var(--hover-bg) !important;
}

.app-sidebar .slide-menu .sub-menu li.active a {
    color: var(--accent-color) !important;
    background-color: var(--active-bg) !important;
}

/* Sidebar brand/logo area */
.sidebar-brand {
    background-color: var(--sidebar-bg) !important;
    color: var(--sidebar-text) !important;
}

.sidebar-brand a {
    color: var(--sidebar-text) !important;
}

.sidebar-brand img {
    filter: var(--logo-filter, none);
}

/* Logo filter adjustments for themes */
[data-theme="light"] .sidebar-brand img {
    --logo-filter: brightness(0.2);
}

[data-theme="dark"] .sidebar-brand img {
    --logo-filter: brightness(1);
}

/* Sidebar menu badges */
.app-sidebar .slide-menu .badge {
    background-color: var(--accent-color) !important;
    color: #ffffff !important;
}

/* Sidebar scrollbar */
.app-sidebar ::-webkit-scrollbar {
    width: 6px;
}

.app-sidebar ::-webkit-scrollbar-track {
    background: var(--sidebar-bg);
}

.app-sidebar ::-webkit-scrollbar-thumb {
    background: var(--text-secondary);
    border-radius: 3px;
}

.app-sidebar ::-webkit-scrollbar-thumb:hover {
    background: var(--accent-color);
}

/* Menu item icons */
.app-sidebar .slide-menu li a .side-menu__icon {
    color: var(--sidebar-text-secondary) !important;
    transition: color 0.3s ease;
}

.app-sidebar .slide-menu li a:hover .side-menu__icon,
.app-sidebar .slide-menu li.active a .side-menu__icon {
    color: var(--accent-color) !important;
}

/* Menu item labels */
.app-sidebar .slide-menu li a .side-menu__label {
    color: var(--sidebar-text) !important;
}

.app-sidebar .slide-menu li a:hover .side-menu__label {
    color: var(--accent-color) !important;
}

/* Sidebar footer (se existir) */
.sidebar-footer {
    background-color: var(--sidebar-bg) !important;
    border-top: 1px solid var(--lines-dividers) !important;
    color: var(--sidebar-text) !important;
}

/* Menu toggle button */
.sidemenu-toggle {
    color: var(--sidebar-text) !important;
}

.sidemenu-toggle:hover {
    color: var(--accent-color) !important;
}

/* Correções específicas para classes comuns da sidebar */
.app-sidebar .side-menu__item {
    color: var(--sidebar-text) !important;
}

.app-sidebar .side-menu__item:hover {
    color: var(--accent-color) !important;
}

.app-sidebar .main-menu {
    background-color: var(--sidebar-bg) !important;
}

.app-sidebar .main-menu .slide-menu {
    background-color: var(--sidebar-bg) !important;
}

/* Texto e ícones da sidebar - força aplicação */
.app-sidebar * {
    color: var(--sidebar-text) !important;
}

.app-sidebar .slide-menu li a * {
    color: inherit !important;
}

.app-sidebar .slide-menu li a:hover * {
    color: var(--accent-color) !important;
}

.app-sidebar .slide-menu li.active a * {
    color: var(--accent-color) !important;
}

/* Submenu items */
.app-sidebar .slide-menu .sub-menu {
    background-color: var(--sidebar-bg) !important;
}

.app-sidebar .slide-menu .sub-menu li {
    background-color: var(--sidebar-bg) !important;
}

/* Dropdown menus na sidebar */
.app-sidebar .dropdown-menu {
    background-color: var(--sidebar-bg) !important;
    border: 1px solid var(--lines-dividers) !important;
}

.app-sidebar .dropdown-item {
    color: var(--sidebar-text) !important;
}

.app-sidebar .dropdown-item:hover {
    background-color: var(--hover-bg) !important;
    color: var(--accent-color) !important;
}

/* Submenus da sidebar - correção de fundo transparente */
.app-sidebar .slide-menu {
    background-color: var(--sidebar-bg) !important;
}

.app-sidebar .slide-menu.child1 {
    background-color: var(--sidebar-bg) !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.app-sidebar .slide-menu.child1 li {
    background-color: var(--sidebar-bg) !important;
}

.app-sidebar .slide-menu.child1 li a {
    background-color: var(--sidebar-bg) !important;
    color: var(--sidebar-text-secondary) !important;
    padding-left: 3rem !important;
    border: none !important;
}

.app-sidebar .slide-menu.child1 li a:hover {
    background-color: var(--hover-bg) !important;
    color: var(--accent-color) !important;
}

.app-sidebar .slide-menu.child1 li.active a {
    background-color: var(--active-bg) !important;
    color: var(--accent-color) !important;
}

/* Correção para menus aninhados (child2, child3, etc.) */
.app-sidebar .slide-menu.child2,
.app-sidebar .slide-menu.child3 {
    background-color: var(--sidebar-bg) !important;
}

.app-sidebar .slide-menu.child2 li a,
.app-sidebar .slide-menu.child3 li a {
    background-color: var(--sidebar-bg) !important;
    color: var(--sidebar-text-secondary) !important;
    padding-left: 4rem !important;
}

/* Header */
.app-header {
    background-color: var(--header-bg) !important;
    border-bottom: 1px solid var(--lines-dividers) !important;
}

.header-content-left,
.header-content-right {
    color: var(--text-primary) !important;
}

.header-element {
    color: var(--text-primary) !important;
}

/* Cards */
.card {
    background-color: var(--bg-cards) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: 0 2px 8px var(--card-shadow) !important;
    color: var(--text-primary) !important;
}

.card-header {
    background-color: var(--bg-cards) !important;
    border-bottom: 1px solid var(--lines-dividers) !important;
    color: var(--text-primary) !important;
}

.card-body {
    background-color: var(--bg-cards) !important;
    color: var(--text-primary) !important;
}

.card-title {
    color: var(--text-primary) !important;
}

.card-subtitle {
    color: var(--text-secondary) !important;
}

/* Card Header - Modo Dark específico */
[data-theme="dark"] .card .card-header {
    background-color: #18181b !important;
    color: #ffffff !important;
}

/* Card Title - Modo Light específico */
[data-theme="light"] .card-title {
    color: #18181b !important;
}

/* Card Title - Modo Dark específico */
[data-theme="dark"] .card-title {
    color: #ffffff !important;
}

/* Formulários */
.form-control {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--text-primary) !important;
}

.form-control:focus {
    background-color: var(--input-bg) !important;
    border-color: var(--accent-color) !important;
    color: var(--text-primary) !important;
    box-shadow: 0 0 0 0.2rem rgba(243, 132, 42, 0.25) !important;
}

.form-control::placeholder {
    color: var(--text-secondary) !important;
}

.form-label {
    color: var(--text-primary) !important;
}

/* Botões */
.btn {
    transition: all 0.3s ease;
}

.btn-primary {
    background-color: var(--btn-primary-bg) !important;
    border-color: var(--btn-primary-bg) !important;
    color: var(--btn-primary-text) !important;
}

.btn-primary:hover {
    background-color: #e07527 !important;
    border-color: #e07527 !important;
}

.btn-secondary {
    background-color: var(--btn-secondary-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--btn-secondary-text) !important;
}

.btn-secondary:hover {
    background-color: var(--hover-bg) !important;
    border-color: var(--accent-color) !important;
}



/* FORÇA TODOS OS BOTÕES A FICAREM ESCUROS NO MODO DARK */
[data-theme="dark"] .btn,
[data-theme="dark"] .btn-primary,
[data-theme="dark"] .btn-secondary,
[data-theme="dark"] .btn-success,
[data-theme="dark"] .btn-warning,
[data-theme="dark"] .btn-danger,
[data-theme="dark"] .btn-info,
[data-theme="dark"] .btn-light,
[data-theme="dark"] .btn-dark {
    background-color: #18181b !important;
    border: 1px solid #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .btn:hover,
[data-theme="dark"] .btn-primary:hover,
[data-theme="dark"] .btn-secondary:hover,
[data-theme="dark"] .btn-success:hover,
[data-theme="dark"] .btn-warning:hover,
[data-theme="dark"] .btn-danger:hover,
[data-theme="dark"] .btn-info:hover,
[data-theme="dark"] .btn-light:hover,
[data-theme="dark"] .btn-dark:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

/* EXCEÇÃO: Botão primário laranja */
[data-theme="dark"] .btn-primary.btn-orange,
[data-theme="dark"] .btn.btn-orange {
    background-color: #f3842a !important;
    border-color: #f3842a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .btn-primary.btn-orange:hover,
[data-theme="dark"] .btn.btn-orange:hover {
    background-color: #e07527 !important;
    border-color: #e07527 !important;
    color: #ffffff !important;
}

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

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

[data-theme="dark"] .btn-secondary {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .btn-secondary:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

[data-theme="dark"] .btn-outline-primary {
    background-color: transparent !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

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

[data-theme="dark"] .btn-outline-secondary {
    background-color: transparent !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .btn-outline-secondary:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

/* Botões de ação específicos - TODOS ESCUROS no modo dark */
[data-theme="dark"] .btn-success {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .btn-success:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

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

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

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

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

[data-theme="dark"] .btn-info {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .btn-info:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

/* Botões pequenos e variações de tamanho */
[data-theme="dark"] .btn-sm {
    padding: 0.25rem 0.5rem !important;
    font-size: 0.875rem !important;
}

[data-theme="dark"] .btn-lg {
    padding: 0.5rem 1rem !important;
    font-size: 1.125rem !important;
}

/* Botões em grupos */
[data-theme="dark"] .btn-group .btn {
    border-right: 1px solid #27272a !important;
}

[data-theme="dark"] .btn-group .btn:hover {
    border-color: #f3842a !important;
    z-index: 2;
}

/* Botões desabilitados */
[data-theme="dark"] .btn:disabled,
[data-theme="dark"] .btn.disabled {
    background-color: #27272a !important;
    border-color: #3f3f46 !important;
    color: #71717a !important;
    opacity: 0.6 !important;
}

/* Dropdowns em botões - Modo Dark */
[data-theme="dark"] .btn .dropdown-toggle::after {
    border-top-color: #ffffff !important;
}

[data-theme="dark"] .btn:hover .dropdown-toggle::after {
    border-top-color: #f3842a !important;
}

/* Botões dropdown específicos no modo dark */
[data-theme="dark"] .btn.dropdown-toggle {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .btn.dropdown-toggle:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

[data-theme="dark"] .btn-primary.dropdown-toggle {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .btn-primary.dropdown-toggle:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

[data-theme="dark"] .btn-secondary.dropdown-toggle {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .btn-secondary.dropdown-toggle:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

/* Botões dropdown em tabelas */
[data-theme="dark"] table .btn.dropdown-toggle,
[data-theme="dark"] .table .btn.dropdown-toggle,
[data-theme="dark"] .dataTables_wrapper .btn.dropdown-toggle {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] table .btn.dropdown-toggle:hover,
[data-theme="dark"] .table .btn.dropdown-toggle:hover,
[data-theme="dark"] .dataTables_wrapper .btn.dropdown-toggle:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

/* Botões com ícones */
[data-theme="dark"] .btn i,
[data-theme="dark"] .btn .fa,
[data-theme="dark"] .btn .fas,
[data-theme="dark"] .btn .far,
[data-theme="dark"] .btn .fab {
    color: inherit !important;
}

/* Ícones em botões dropdown */
[data-theme="dark"] .btn.dropdown-toggle i,
[data-theme="dark"] .btn-primary.dropdown-toggle i,
[data-theme="dark"] .btn-secondary.dropdown-toggle i {
    color: #ffffff !important;
}

[data-theme="dark"] .btn.dropdown-toggle:hover i,
[data-theme="dark"] .btn-primary.dropdown-toggle:hover i,
[data-theme="dark"] .btn-secondary.dropdown-toggle:hover i {
    color: #f3842a !important;
}

/* Ícones em dropdown items */
[data-theme="dark"] .dropdown-item i {
    color: #a1a1aa !important;
    transition: color 0.3s ease;
}

[data-theme="dark"] .dropdown-item:hover i {
    color: #f3842a !important;
}

[data-theme="dark"] .dropdown-item.text-danger i {
    color: #ef4444 !important;
}

[data-theme="dark"] .dropdown-item.text-danger:hover i {
    color: #dc2626 !important;
}

/* Estados focus para acessibilidade */
[data-theme="dark"] .btn:focus {
    box-shadow: 0 0 0 0.2rem rgba(243, 132, 42, 0.25) !important;
}

/* Botões de navegação/paginação */
[data-theme="dark"] .page-link {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .page-link:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

[data-theme="dark"] .page-item.active .page-link {
    background-color: #f3842a !important;
    border-color: #f3842a !important;
    color: #ffffff !important;
}

/* Botões em cards */
[data-theme="dark"] .card .btn {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .card .btn:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

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

.btn-outline-primary:hover {
    background-color: var(--accent-color) !important;
    color: #ffffff !important;
}

/* Tabelas */
.table {
    color: var(--text-primary) !important;
    background-color: transparent !important;
}

.table th {
    background-color: var(--bg-cards) !important;
    color: var(--text-primary) !important;
    border-bottom: 2px solid var(--lines-dividers) !important;
}

.table td {
    color: var(--text-primary) !important;
    background-color: transparent !important;
    border-top: 1px solid var(--lines-dividers) !important;
}

.table tbody tr {
    background-color: transparent !important;
    color: var(--text-primary) !important;
}

.table-striped>tbody>tr:nth-of-type(odd) {
    background-color: var(--hover-bg) !important;
}

.table-striped>tbody>tr:nth-of-type(odd) td {
    color: var(--text-primary) !important;
}

/* DataTables */
.dataTables_wrapper {
    color: var(--text-primary) !important;
}

.dataTables_wrapper table {
    color: var(--text-primary) !important;

}

.dataTables_wrapper table thead th {
    background-color: var(--bg-cards) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--lines-dividers) !important;
}

.dataTables_wrapper table tbody td {
    color: var(--text-primary) !important;
    background-color: white !important;
    border: 1px solid var(--lines-dividers) !important;
}

.dataTables_wrapper table tbody tr {
    background-color: transparent !important;
}

.dataTables_wrapper table tbody tr:hover {
    background-color: var(--hover-bg) !important;
}

.dataTables_wrapper table tbody tr:hover td {
    color: var(--text-primary) !important;
}

/* DataTables controles */
.dataTables_filter input {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--text-primary) !important;
}

.dataTables_length select {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--text-primary) !important;
}

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

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

.dataTables_paginate .paginate_button {
    color: var(--text-primary) !important;
    background-color: var(--bg-cards) !important;
    border: 1px solid var(--lines-dividers) !important;
}

.dataTables_paginate .paginate_button:hover {
    color: var(--accent-color) !important;
    background-color: var(--hover-bg) !important;
}

.dataTables_paginate .paginate_button.current {
    color: #ffffff !important;
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
}

/* Modals */
.modal-content {
    background-color: var(--bg-cards) !important;
    border: 1px solid var(--border-color) !important;
}

.modal-header {
    background-color: var(--bg-cards) !important;
    border-bottom: 1px solid var(--lines-dividers) !important;
    color: var(--text-primary) !important;
}

.modal-title {
    color: var(--text-primary) !important;
}

.modal-body {
    background-color: var(--bg-cards) !important;
    color: var(--text-primary) !important;
}

.modal-footer {
    background-color: var(--bg-cards) !important;
    border-top: 1px solid var(--lines-dividers) !important;
}

/* Card titles em modais */
.modal .card-title,
.modal-content .card-title,
.modal-body .card-title,
.modal-header .card-title {
    color: var(--text-primary) !important;
    font-weight: 600 !important;
    margin-bottom: 0.5rem !important;
}

/* Card titles em modais - Modo Light */
[data-theme="light"] .modal .card-title,
[data-theme="light"] .modal-content .card-title,
[data-theme="light"] .modal-body .card-title,
[data-theme="light"] .modal-header .card-title {
    color: #18181b !important;
}

/* Card titles em modais - Modo Dark */
[data-theme="dark"] .modal .card-title,
[data-theme="dark"] .modal-content .card-title,
[data-theme="dark"] .modal-body .card-title,
[data-theme="dark"] .modal-header .card-title {
    color: #ffffff !important;
}

/* Card headers em modais - Modo Dark */
[data-theme="dark"] .modal .card-header,
[data-theme="dark"] .modal-content .card-header,
[data-theme="dark"] .modal-body .card-header {
    background-color: #18181b !important;
    color: #ffffff !important;
}

/* Breadcrumbs */
.breadcrumb {
    background-color: transparent !important;
}

.breadcrumb-item {
    color: var(--text-secondary) !important;
}

.breadcrumb-item.active {
    color: var(--text-primary) !important;
}

.breadcrumb-item+.breadcrumb-item::before {
    color: var(--text-secondary) !important;
}

/* Badges */
.badge {
    color: #ffffff !important;
}

.badge.bg-primary {
    background-color: var(--accent-color) !important;
}

/* Alerts */
.alert {
    border: 1px solid var(--border-color) !important;
}

.alert-success {
    background-color: rgba(34, 197, 94, 0.1) !important;
    color: var(--success-color) !important;
    border-color: var(--success-color) !important;
}

.alert-warning {
    background-color: rgba(234, 179, 8, 0.1) !important;
    color: var(--warning-color) !important;
    border-color: var(--warning-color) !important;
}

.alert-danger {
    background-color: rgba(239, 68, 68, 0.1) !important;
    color: var(--error-color) !important;
    border-color: var(--error-color) !important;
}

.alert-info {
    background-color: rgba(59, 130, 246, 0.1) !important;
    color: var(--info-color) !important;
    border-color: var(--info-color) !important;
}

/* Toggle Switch para tema */
.theme-toggle {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 32px;
    margin: 0 10px;
}

.theme-toggle input {
    opacity: 0;
    width: 0;
    height: 0;
}

.theme-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--lines-dividers);
    transition: 0.3s;
    border-radius: 32px;
}

.theme-slider:before {
    position: absolute;
    content: "";
    height: 24px;
    width: 24px;
    left: 4px;
    bottom: 4px;
    background-color: var(--accent-color);
    transition: 0.3s;
    border-radius: 50%;
}

input:checked+.theme-slider {
    background-color: var(--accent-color);
}

input:checked+.theme-slider:before {
    transform: translateX(28px);
    background-color: #ffffff;
}

.theme-toggle-container {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 15px;
    color: var(--text-primary);
    font-size: 14px;
}

.theme-icon {
    font-size: 18px;
    transition: all 0.3s ease;
}

.sun-icon {
    color: var(--accent-color);
}

.moon-icon {
    color: var(--text-secondary);
}

[data-theme="dark"] .sun-icon {
    color: var(--text-secondary);
}

[data-theme="dark"] .moon-icon {
    color: var(--accent-color);
}

/* Dropdown */
.dropdown-menu {
    background-color: var(--bg-cards) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: 0 4px 12px var(--card-shadow) !important;
}

.dropdown-item {
    color: var(--text-primary) !important;
    transition: all 0.3s ease;
}

.dropdown-item:hover {
    background-color: var(--hover-bg) !important;
    color: var(--accent-color) !important;
}

.dropdown-divider {
    border-color: var(--lines-dividers) !important;
}

/* Dropdown específico para modo dark */
[data-theme="dark"] .dropdown-menu {
    background-color: #18181b !important;
    border: 1px solid #27272a !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .dropdown-item {
    color: #ffffff !important;
    background-color: transparent !important;
}

[data-theme="dark"] .dropdown-item:hover {
    background-color: #27272a !important;
    color: #f3842a !important;
}

[data-theme="dark"] .dropdown-item:focus {
    background-color: #27272a !important;
    color: #f3842a !important;
}

[data-theme="dark"] .dropdown-item:active {
    background-color: #3f3f46 !important;
    color: #f3842a !important;
}

[data-theme="dark"] .dropdown-divider {
    border-color: #27272a !important;
}

[data-theme="dark"] .dropdown-header {
    color: #a1a1aa !important;
}

/* Dropdown text colors específicos no modo dark */
[data-theme="dark"] .dropdown-item.text-danger {
    color: #ef4444 !important;
}

[data-theme="dark"] .dropdown-item.text-danger:hover {
    color: #dc2626 !important;
    background-color: rgba(239, 68, 68, 0.1) !important;
}

/* Text colors */
.text-muted {
    color: var(--text-secondary) !important;
}

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

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--bg-cards);
}

::-webkit-scrollbar-thumb {
    background: var(--text-secondary);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--accent-color);
}

/* Animações suaves */
* {
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease !important;
}

/* Media queries para responsividade */
@media (max-width: 768px) {
    .theme-toggle-container {
        padding: 5px 10px;
        font-size: 12px;
    }

    .theme-toggle {
        width: 50px;
        height: 26px;
    }

    .theme-slider:before {
        height: 20px;
        width: 20px;
        left: 3px;
        bottom: 3px;
    }

    input:checked+.theme-slider:before {
        transform: translateX(24px);
    }
}

/* ========================================
   CORREÇÕES FINAIS PARA SIDEBAR
======================================== */

/* Força estilos específicos para modo light */
[data-theme="light"] .app-sidebar,
[data-theme="light"] .app-sidebar .main-sidebar {
    background-color: #f8f9fa !important;
    color: #18181b !important;
}

[data-theme="light"] .app-sidebar .slide-menu li a,
[data-theme="light"] .app-sidebar .slide-menu li a span,
[data-theme="light"] .app-sidebar .slide-menu li a i {
    color: #18181b !important;
}

[data-theme="light"] .app-sidebar .slide-menu li a:hover {
    background-color: #e9ecef !important;
    color: #f3842a !important;
}

[data-theme="light"] .app-sidebar .slide-menu li a:hover span,
[data-theme="light"] .app-sidebar .slide-menu li a:hover i {
    color: #f3842a !important;
}

[data-theme="light"] .app-sidebar .slide-menu li.active a,
[data-theme="light"] .app-sidebar .slide-menu li.is-expanded a {
    background-color: #dee2e6 !important;
    color: #f3842a !important;
}

[data-theme="light"] .app-sidebar .slide-menu li.active a span,
[data-theme="light"] .app-sidebar .slide-menu li.active a i,
[data-theme="light"] .app-sidebar .slide-menu li.is-expanded a span,
[data-theme="light"] .app-sidebar .slide-menu li.is-expanded a i {
    color: #f3842a !important;
}

/* Submenus - Modo Light */
[data-theme="light"] .app-sidebar .slide-menu.child1,
[data-theme="light"] .app-sidebar .slide-menu.child2,
[data-theme="light"] .app-sidebar .slide-menu.child3 {
    background-color: #f8f9fa !important;
}

[data-theme="light"] .app-sidebar .slide-menu.child1 li,
[data-theme="light"] .app-sidebar .slide-menu.child2 li,
[data-theme="light"] .app-sidebar .slide-menu.child3 li {
    background-color: #f8f9fa !important;
}

[data-theme="light"] .app-sidebar .slide-menu.child1 li a,
[data-theme="light"] .app-sidebar .slide-menu.child2 li a,
[data-theme="light"] .app-sidebar .slide-menu.child3 li a {
    background-color: #f8f9fa !important;
    color: #6c757d !important;
}

[data-theme="light"] .app-sidebar .slide-menu.child1 li a:hover,
[data-theme="light"] .app-sidebar .slide-menu.child2 li a:hover,
[data-theme="light"] .app-sidebar .slide-menu.child3 li a:hover {
    background-color: #e9ecef !important;
    color: #f3842a !important;
}

[data-theme="light"] .app-sidebar .slide-menu.child1 li.active a,
[data-theme="light"] .app-sidebar .slide-menu.child2 li.active a,
[data-theme="light"] .app-sidebar .slide-menu.child3 li.active a {
    background-color: #dee2e6 !important;
    color: #f3842a !important;
}

/* Força estilos específicos para modo dark */
[data-theme="dark"] .app-sidebar,
[data-theme="dark"] .app-sidebar .main-sidebar {
    background-color: #18181b !important;
    color: #ffffff !important;
}

[data-theme="dark"] .app-sidebar .slide-menu li a,
[data-theme="dark"] .app-sidebar .slide-menu li a span,
[data-theme="dark"] .app-sidebar .slide-menu li a i {
    color: #ffffff !important;
}

[data-theme="dark"] .app-sidebar .slide-menu li a:hover {
    background-color: #27272a !important;
    color: #f3842a !important;
}

[data-theme="dark"] .app-sidebar .slide-menu li a:hover span,
[data-theme="dark"] .app-sidebar .slide-menu li a:hover i {
    color: #f3842a !important;
}

[data-theme="dark"] .app-sidebar .slide-menu li.active a,
[data-theme="dark"] .app-sidebar .slide-menu li.is-expanded a {
    background-color: #3f3f46 !important;
    color: #f3842a !important;
}

[data-theme="dark"] .app-sidebar .slide-menu li.active a span,
[data-theme="dark"] .app-sidebar .slide-menu li.active a i,
[data-theme="dark"] .app-sidebar .slide-menu li.is-expanded a span,
[data-theme="dark"] .app-sidebar .slide-menu li.is-expanded a i {
    color: #f3842a !important;
}

/* Submenus - Modo Dark */
[data-theme="dark"] .app-sidebar .slide-menu.child1,
[data-theme="dark"] .app-sidebar .slide-menu.child2,
[data-theme="dark"] .app-sidebar .slide-menu.child3 {
    background-color: #18181b !important;
}

[data-theme="dark"] .app-sidebar .slide-menu.child1 li,
[data-theme="dark"] .app-sidebar .slide-menu.child2 li,
[data-theme="dark"] .app-sidebar .slide-menu.child3 li {
    background-color: #18181b !important;
}

[data-theme="dark"] .app-sidebar .slide-menu.child1 li a,
[data-theme="dark"] .app-sidebar .slide-menu.child2 li a,
[data-theme="dark"] .app-sidebar .slide-menu.child3 li a {
    background-color: #18181b !important;
    color: #a1a1aa !important;
}

[data-theme="dark"] .app-sidebar .slide-menu.child1 li a:hover,
[data-theme="dark"] .app-sidebar .slide-menu.child2 li a:hover,
[data-theme="dark"] .app-sidebar .slide-menu.child3 li a:hover {
    background-color: #27272a !important;
    color: #f3842a !important;
}

[data-theme="dark"] .app-sidebar .slide-menu.child1 li.active a,
[data-theme="dark"] .app-sidebar .slide-menu.child2 li.active a,
[data-theme="dark"] .app-sidebar .slide-menu.child3 li.active a {
    background-color: #3f3f46 !important;
    color: #f3842a !important;
}

/* Submenu styling */
[data-theme="light"] .app-sidebar .slide-menu .sub-menu li a {
    color: #6c757d !important;
    padding-left: 3rem !important;
}

[data-theme="dark"] .app-sidebar .slide-menu .sub-menu li a {
    color: #a1a1aa !important;
    padding-left: 3rem !important;
}

/* Logo e header da sidebar */
[data-theme="light"] .app-sidebar .sidebar-logo,
[data-theme="light"] .app-sidebar .main-sidebar-header {
    background-color: #f8f9fa !important;
    color: #18181b !important;
    border-bottom: 1px solid #e4e4e7 !important;
}

[data-theme="dark"] .app-sidebar .sidebar-logo,
[data-theme="dark"] .app-sidebar .main-sidebar-header {
    background-color: #18181b !important;
    color: #ffffff !important;
    border-bottom: 1px solid #27272a !important;
}

/* ========================================
   CORREÇÕES ESPECÍFICAS PARA TABELAS
======================================== */

/* Modo Light - Tabelas */
[data-theme="light"] .table,
[data-theme="light"] .table th,
[data-theme="light"] .table td,
[data-theme="light"] .table tbody tr {
    color: #18181b !important;
    background-color: white !important;
}

[data-theme="light"] .table th {
    background-color: #f4f4f5 !important;
    border-color: #e4e4e7 !important;
}

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

[data-theme="light"] .table-striped>tbody>tr:nth-of-type(odd) td {
    color: #18181b !important;
}

/* Modo Dark - Tabelas */
[data-theme="dark"] .table,
[data-theme="dark"] .table th,
[data-theme="dark"] .table td,
[data-theme="dark"] .table tbody tr {
    color: #ffffff !important;
    background-color: transparent !important;
}

[data-theme="dark"] .table {
    background-color: #18181b !important;
}

[data-theme="dark"] .table th {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .table td {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .table tbody tr {
    background-color: #18181b !important;
}

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

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

/* DataTables - Modo Light */
[data-theme="light"] .dataTables_wrapper,
[data-theme="light"] .dataTables_wrapper table,
[data-theme="light"] .dataTables_wrapper table thead th,
[data-theme="light"] .dataTables_wrapper table tbody td,
[data-theme="light"] .dataTables_wrapper table tbody tr {
    color: #18181b !important;
}

[data-theme="light"] .dataTables_wrapper table thead th {
    background-color: #f4f4f5 !important;
    border-color: #e4e4e7 !important;
}

[data-theme="light"] .dataTables_wrapper table tbody td {
    background-color: transparent !important;
    border-color: #e4e4e7 !important;
}

/* DataTables - Modo Dark */
[data-theme="dark"] .dataTables_wrapper,
[data-theme="dark"] .dataTables_wrapper table,
[data-theme="dark"] .dataTables_wrapper table thead th,
[data-theme="dark"] .dataTables_wrapper table tbody td,
[data-theme="dark"] .dataTables_wrapper table tbody tr {
    color: #ffffff !important;
}

[data-theme="dark"] .dataTables_wrapper table {
    background-color: #18181b !important;
}

[data-theme="dark"] .dataTables_wrapper table thead th {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .dataTables_wrapper table tbody td {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .dataTables_wrapper table tbody tr {
    background-color: #18181b !important;
}

[data-theme="dark"] .dataTables_wrapper table tbody tr:hover {
    background-color: #27272a !important;
}

[data-theme="dark"] .dataTables_wrapper table tbody tr:hover td {
    color: #ffffff !important;
    background-color: #27272a !important;
}

/* DataTables controles - Dark mode */
[data-theme="dark"] .dataTables_info,
[data-theme="dark"] .dataTables_paginate {
    color: #ffffff !important;
}

[data-theme="dark"] .dataTables_paginate .paginate_button {
    color: #ffffff !important;
    background-color: #18181b !important;
    border-color: #27272a !important;
}

[data-theme="dark"] .dataTables_paginate .paginate_button:hover {
    color: #f3842a !important;
    background-color: #27272a !important;
}

[data-theme="dark"] .dataTables_filter input,
[data-theme="dark"] .dataTables_length select {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

/* Força aplicação em todas as células */
[data-theme="dark"] table * {
    color: #ffffff !important;
}

[data-theme="light"] table * {
    color: #18181b !important;
}

/* Override para links dentro de tabelas */
[data-theme="dark"] table a {
    color: #f3842a !important;
}

[data-theme="light"] table a {
    color: #f3842a !important;
}

/* Botões dentro de tabelas - Modo Dark */
[data-theme="dark"] table .btn,
[data-theme="dark"] .table .btn,
[data-theme="dark"] .dataTables_wrapper table .btn {
    background-color: #18181b !important;
    border: 1px solid #27272a !important;
    color: #ffffff !important;
    padding: 0.25rem 0.5rem !important;
    font-size: 0.875rem !important;
    border-radius: 0.25rem !important;
}

[data-theme="dark"] table .btn:hover,
[data-theme="dark"] .table .btn:hover,
[data-theme="dark"] .dataTables_wrapper table .btn:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

[data-theme="dark"] table .btn-primary,
[data-theme="dark"] .table .btn-primary,
[data-theme="dark"] .dataTables_wrapper table .btn-primary {
    background-color: #f3842a !important;
    border-color: #f3842a !important;
    color: #ffffff !important;
}

[data-theme="dark"] table .btn-primary:hover,
[data-theme="dark"] .table .btn-primary:hover,
[data-theme="dark"] .dataTables_wrapper table .btn-primary:hover {
    background-color: #e07527 !important;
    border-color: #e07527 !important;
    color: #ffffff !important;
}

[data-theme="dark"] table .btn-secondary,
[data-theme="dark"] .table .btn-secondary,
[data-theme="dark"] .dataTables_wrapper table .btn-secondary {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] table .btn-secondary:hover,
[data-theme="dark"] .table .btn-secondary:hover,
[data-theme="dark"] .dataTables_wrapper table .btn-secondary:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

[data-theme="dark"] table .btn-outline-primary,
[data-theme="dark"] .table .btn-outline-primary,
[data-theme="dark"] .dataTables_wrapper table .btn-outline-primary {
    background-color: transparent !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

[data-theme="dark"] table .btn-outline-primary:hover,
[data-theme="dark"] .table .btn-outline-primary:hover,
[data-theme="dark"] .dataTables_wrapper table .btn-outline-primary:hover {
    background-color: #f3842a !important;
    border-color: #f3842a !important;
    color: #ffffff !important;
}

[data-theme="dark"] table .btn-outline-secondary,
[data-theme="dark"] .table .btn-outline-secondary,
[data-theme="dark"] .dataTables_wrapper table .btn-outline-secondary {
    background-color: transparent !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] table .btn-outline-secondary:hover,
[data-theme="dark"] .table .btn-outline-secondary:hover,
[data-theme="dark"] .dataTables_wrapper table .btn-outline-secondary:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

/* Botões de ação específicos dentro de tabelas - TODOS ESCUROS */
[data-theme="dark"] table .btn-success,
[data-theme="dark"] .table .btn-success,
[data-theme="dark"] .dataTables_wrapper table .btn-success {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] table .btn-success:hover,
[data-theme="dark"] .table .btn-success:hover,
[data-theme="dark"] .dataTables_wrapper table .btn-success:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

[data-theme="dark"] table .btn-warning,
[data-theme="dark"] .table .btn-warning,
[data-theme="dark"] .dataTables_wrapper table .btn-warning {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] table .btn-warning:hover,
[data-theme="dark"] .table .btn-warning:hover,
[data-theme="dark"] .dataTables_wrapper table .btn-warning:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

[data-theme="dark"] table .btn-danger,
[data-theme="dark"] .table .btn-danger,
[data-theme="dark"] .dataTables_wrapper table .btn-danger {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] table .btn-danger:hover,
[data-theme="dark"] .table .btn-danger:hover,
[data-theme="dark"] .dataTables_wrapper table .btn-danger:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

[data-theme="dark"] table .btn-info,
[data-theme="dark"] .table .btn-info,
[data-theme="dark"] .dataTables_wrapper table .btn-info {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] table .btn-info:hover,
[data-theme="dark"] .table .btn-info:hover,
[data-theme="dark"] .dataTables_wrapper table .btn-info:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

/* Botões pequenos dentro de tabelas */
[data-theme="dark"] table .btn-sm,
[data-theme="dark"] .table .btn-sm,
[data-theme="dark"] .dataTables_wrapper table .btn-sm {
    padding: 0.15rem 0.4rem !important;
    font-size: 0.8rem !important;
}

/* Grupos de botões dentro de tabelas */
[data-theme="dark"] table .btn-group .btn,
[data-theme="dark"] .table .btn-group .btn,
[data-theme="dark"] .dataTables_wrapper table .btn-group .btn {
    border-right: 1px solid #27272a !important;
    margin-right: 0 !important;
}

[data-theme="dark"] table .btn-group .btn:last-child,
[data-theme="dark"] .table .btn-group .btn:last-child,
[data-theme="dark"] .dataTables_wrapper table .btn-group .btn:last-child {
    border-right: 1px solid #27272a !important;
}

[data-theme="dark"] table .btn-group .btn:hover,
[data-theme="dark"] .table .btn-group .btn:hover,
[data-theme="dark"] .dataTables_wrapper table .btn-group .btn:hover {
    z-index: 2;
    border-color: #f3842a !important;
}

/* Botões com ícones dentro de tabelas */
[data-theme="dark"] table .btn i,
[data-theme="dark"] .table .btn i,
[data-theme="dark"] .dataTables_wrapper table .btn i,
[data-theme="dark"] table .btn .fa,
[data-theme="dark"] .table .btn .fa,
[data-theme="dark"] .dataTables_wrapper table .btn .fa {
    color: inherit !important;
    margin-right: 0.25rem;
}

/* Estados específicos para botões em tabelas */
[data-theme="dark"] table .btn:focus,
[data-theme="dark"] .table .btn:focus,
[data-theme="dark"] .dataTables_wrapper table .btn:focus {
    box-shadow: 0 0 0 0.15rem rgba(243, 132, 42, 0.25) !important;
}

[data-theme="dark"] table .btn:disabled,
[data-theme="dark"] .table .btn:disabled,
[data-theme="dark"] .dataTables_wrapper table .btn:disabled {
    background-color: #27272a !important;
    border-color: #3f3f46 !important;
    color: #71717a !important;
    opacity: 0.6 !important;
}

/* ========================================
   FORÇA MÁXIMA - TODOS BOTÕES ESCUROS
   Sobrescreve qualquer classe de botão
======================================== */
[data-theme="dark"] button,
[data-theme="dark"] input[type="button"],
[data-theme="dark"] input[type="submit"],
[data-theme="dark"] input[type="reset"],
[data-theme="dark"] .btn,
[data-theme="dark"] a.btn {
    background-color: #18181b !important;
    border: 1px solid #27272a !important;
    color: #ffffff !important;
    transition: all 0.3s ease !important;
}

[data-theme="dark"] button:hover,
[data-theme="dark"] input[type="button"]:hover,
[data-theme="dark"] input[type="submit"]:hover,
[data-theme="dark"] input[type="reset"]:hover,
[data-theme="dark"] .btn:hover,
[data-theme="dark"] a.btn:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

/* Força aplicação em botões Bootstrap com classes específicas */
[data-theme="dark"] .btn-success,
[data-theme="dark"] .btn-warning,
[data-theme="dark"] .btn-danger,
[data-theme="dark"] .btn-info,
[data-theme="dark"] .btn-light,
[data-theme="dark"] .btn-dark,
[data-theme="dark"] .btn-outline-success,
[data-theme="dark"] .btn-outline-warning,
[data-theme="dark"] .btn-outline-danger,
[data-theme="dark"] .btn-outline-info {
    background-color: #18181b !important;
    border-color: #27272a !important;
    color: #ffffff !important;
}

[data-theme="dark"] .btn-success:hover,
[data-theme="dark"] .btn-warning:hover,
[data-theme="dark"] .btn-danger:hover,
[data-theme="dark"] .btn-info:hover,
[data-theme="dark"] .btn-light:hover,
[data-theme="dark"] .btn-dark:hover,
[data-theme="dark"] .btn-outline-success:hover,
[data-theme="dark"] .btn-outline-warning:hover,
[data-theme="dark"] .btn-outline-danger:hover,
[data-theme="dark"] .btn-outline-info:hover {
    background-color: #27272a !important;
    border-color: #f3842a !important;
    color: #f3842a !important;
}

/* ========================================
   EXPANSÃO COMPLETA DO SISTEMA DE TEMA
   Novos estilos para cobertura total
======================================== */

/* Navbar e Navigation */
.navbar {
    background-color: var(--bg-cards) !important;
    border-bottom: 1px solid var(--border-color) !important;
}

.navbar-brand {
    color: var(--text-primary) !important;
}

.navbar-nav .nav-link {
    color: var(--text-primary) !important;
}

.navbar-nav .nav-link:hover {
    color: var(--accent-color) !important;
}

.navbar-nav .nav-item.active .nav-link {
    color: var(--accent-color) !important;
}

/* Nav pills e tabs */
.nav-pills .nav-link {
    color: var(--text-primary) !important;
    background-color: transparent !important;
}

.nav-pills .nav-link:hover {
    color: var(--accent-color) !important;
    background-color: var(--hover-bg) !important;
}

.nav-pills .nav-link.active {
    background-color: var(--accent-color) !important;
    color: #ffffff !important;
}

.nav-tabs .nav-link {
    color: var(--text-primary) !important;
    border-color: transparent !important;
}

.nav-tabs .nav-link:hover {
    color: var(--accent-color) !important;
    border-color: var(--border-color) !important;
}

.nav-tabs .nav-link.active {
    color: var(--accent-color) !important;
    background-color: var(--bg-cards) !important;
    border-color: var(--border-color) !important;
}

/* Pagination - Melhorado */
.pagination {
    margin-bottom: 0 !important;
}

.page-item .page-link {
    background-color: var(--bg-cards) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
    padding: 0.5rem 0.75rem !important;
    transition: all 0.3s ease !important;
}

.page-item .page-link:hover {
    background-color: var(--hover-bg) !important;
    border-color: var(--accent-color) !important;
    color: var(--accent-color) !important;
}

.page-item.active .page-link {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
    color: #ffffff !important;
}

.page-item.disabled .page-link {
    background-color: var(--bg-cards) !important;
    border-color: var(--border-color) !important;
    color: var(--text-secondary) !important;
    opacity: 0.6 !important;
}

/* Progress bars */
.progress {
    background-color: #f8f9fa !important;
    height: 22px;
    border: 1px solid #e075274a;
}



.progress-bar-success {
    background-color: var(--success-color) !important;
}

.progress-bar-warning {
    background-color: var(--warning-color) !important;
}

.progress-bar-danger {
    background-color: var(--error-color) !important;
}

.progress-bar-info {
    background-color: var(--info-color) !important;
}

/* List groups */
.list-group {
    background-color: transparent !important;
}

.list-group-item {
    background-color: var(--bg-cards) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

.list-group-item:hover {
    background-color: var(--hover-bg) !important;
}

.list-group-item.active {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
    color: #ffffff !important;
}

.list-group-item-success {
    background-color: rgba(34, 197, 94, 0.1) !important;
    color: var(--success-color) !important;
    border-color: var(--success-color) !important;
}

.list-group-item-warning {
    background-color: rgba(234, 179, 8, 0.1) !important;
    color: var(--warning-color) !important;
    border-color: var(--warning-color) !important;
}

.list-group-item-danger {
    background-color: rgba(239, 68, 68, 0.1) !important;
    color: var(--error-color) !important;
    border-color: var(--error-color) !important;
}

.list-group-item-info {
    background-color: rgba(59, 130, 246, 0.1) !important;
    color: var(--info-color) !important;
    border-color: var(--info-color) !important;
}

/* Tooltips */
.tooltip-inner {
    background-color: var(--text-primary) !important;
    color: var(--bg-primary) !important;
}

.tooltip.bs-tooltip-top .arrow::before {
    border-top-color: var(--text-primary) !important;
}

.tooltip.bs-tooltip-bottom .arrow::before {
    border-bottom-color: var(--text-primary) !important;
}

.tooltip.bs-tooltip-start .arrow::before {
    border-left-color: var(--text-primary) !important;
}

.tooltip.bs-tooltip-end .arrow::before {
    border-right-color: var(--text-primary) !important;
}

/* Popovers */
.popover {
    background-color: var(--bg-cards) !important;
    border-color: var(--border-color) !important;
    box-shadow: 0 4px 12px var(--card-shadow) !important;
}

.popover-header {
    background-color: var(--bg-cards) !important;
    border-bottom-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

.popover-body {
    color: var(--text-primary) !important;
}

/* Accordions */
.accordion {
    background-color: transparent !important;
}

.accordion-item {
    background-color: var(--bg-cards) !important;
    border-color: var(--border-color) !important;
}

.accordion-header {
    background-color: transparent !important;
}

.accordion-button {
    background-color: var(--bg-cards) !important;
    color: var(--text-primary) !important;
    border: none !important;
}

.accordion-button:hover {
    background-color: var(--hover-bg) !important;
    color: var(--accent-color) !important;
}

.accordion-button:not(.collapsed) {
    background-color: var(--hover-bg) !important;
    color: var(--accent-color) !important;
    box-shadow: none !important;
}

.accordion-button::after {
    filter: brightness(0) saturate(100%) invert(var(--icon-invert, 0%));
}

[data-theme="dark"] .accordion-button::after {
    --icon-invert: 100%;
}

.accordion-collapse {
    border-color: var(--border-color) !important;
}

.accordion-body {
    background-color: var(--bg-cards) !important;
    color: var(--text-primary) !important;
}

/* Carousel */
.carousel {
    background-color: var(--bg-cards) !important;
}

.carousel-caption {
    background-color: rgba(0, 0, 0, 0.7) !important;
    color: #ffffff !important;
}

.carousel-control-prev,
.carousel-control-next {
    color: var(--text-primary) !important;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
    color: var(--accent-color) !important;
}

.carousel-indicators [data-bs-target] {
    background-color: var(--text-secondary) !important;
}

.carousel-indicators .active {
    background-color: var(--accent-color) !important;
}

/* Offcanvas */
.offcanvas {
    background-color: var(--bg-cards) !important;
    border-color: var(--border-color) !important;
}

.offcanvas-header {
    border-bottom-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

.offcanvas-title {
    color: var(--text-primary) !important;
}

.offcanvas-body {
    color: var(--text-primary) !important;
}

/* Close buttons */
.btn-close {
    filter: brightness(0) saturate(100%) invert(var(--close-btn-invert, 0%)) opacity(0.75);
}

[data-theme="dark"] .btn-close {
    --close-btn-invert: 100%;
}

.btn-close:hover {
    opacity: 1 !important;
}

/* Spinners e loading */
.spinner-border {
    color: var(--accent-color) !important;
}

.spinner-grow {
    color: var(--accent-color) !important;
}

/* Toast notifications */
.toast {
    background-color: var(--bg-cards) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

.toast-header {
    background-color: var(--bg-cards) !important;
    border-bottom-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

.toast-body {
    color: var(--text-primary) !important;
}

/* Step indicators */
.steps .step {
    color: var(--text-secondary) !important;
}

.steps .step.active {
    color: var(--accent-color) !important;
}

.steps .step.completed {
    color: var(--success-color) !important;
}

/* Custom select e form controls especiais */
select {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--text-primary) !important;
}

select option {
    background-color: var(--input-bg) !important;
    color: var(--text-primary) !important;
}

textarea {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--text-primary) !important;
}

textarea:focus {
    background-color: var(--input-bg) !important;
    border-color: var(--accent-color) !important;
    color: var(--text-primary) !important;
}

/* Input groups */
.input-group-text {
    background-color: var(--hover-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--text-primary) !important;
}

.input-group .form-control {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--text-primary) !important;
}

/* Form floating labels */
.form-floating>.form-control:focus~label,
.form-floating>.form-control:not(:placeholder-shown)~label {
    color: var(--accent-color) !important;
}

.form-floating>label {
    color: var(--text-secondary) !important;
}

/* Checkboxes e Radio buttons customizados */
.form-check-input {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
}

.form-check-input:checked {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
}

.form-check-input:focus {
    box-shadow: 0 0 0 0.2rem rgba(243, 132, 42, 0.25) !important;
}

.form-check-label {
    color: var(--text-primary) !important;
}

/* Form validation */
.was-validated .form-control:valid,
.form-control.is-valid {
    border-color: var(--success-color) !important;
}

.was-validated .form-control:invalid,
.form-control.is-invalid {
    border-color: var(--error-color) !important;
}

.valid-feedback {
    color: var(--success-color) !important;
}

.invalid-feedback {
    color: var(--error-color) !important;
}

/* Range inputs */
.form-range {
    background-color: transparent !important;
}

.form-range::-webkit-slider-track {
    background-color: var(--hover-bg) !important;
}

.form-range::-webkit-slider-thumb {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
}

.form-range::-moz-range-track {
    background-color: var(--hover-bg) !important;
}

.form-range::-moz-range-thumb {
    background-color: var(--accent-color) !important;
    border-color: var(--accent-color) !important;
}

/* Switches */
.form-switch .form-check-input {
    background-image: none !important;
}

.form-switch .form-check-input:checked {
    background-image: none !important;
    background-color: var(--accent-color) !important;
}

/* Text areas e editor de texto */
.ql-toolbar {
    background-color: var(--bg-cards) !important;
    border-color: var(--border-color) !important;
}

.ql-container {
    background-color: var(--input-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

.ql-editor {
    color: var(--text-primary) !important;
}

/* Code blocks e pre */
pre {
    background-color: var(--hover-bg) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
}

code {
    background-color: var(--hover-bg) !important;
    color: var(--accent-color) !important;
    padding: 0.2rem 0.4rem !important;
    border-radius: 0.25rem !important;
}

/* Blockquotes */
blockquote {
    border-left: 4px solid var(--accent-color) !important;
    background-color: var(--hover-bg) !important;
    color: var(--text-primary) !important;
    padding: 1rem !important;
    margin: 1rem 0 !important;
}

/* HR - Horizontal rules */
hr {
    border-color: var(--lines-dividers) !important;
    background-color: var(--lines-dividers) !important;
}

/* Figure e caption */
figure {
    background-color: var(--bg-cards) !important;
    border: 1px solid var(--border-color) !important;
}

figcaption {
    color: var(--text-secondary) !important;
}

/* Address */
address {
    color: var(--text-primary) !important;
}

/* Small text */
small {
    color: var(--text-secondary) !important;
}

/* Mark / highlight */
mark {
    background-color: rgba(243, 132, 42, 0.2) !important;
    color: var(--text-primary) !important;
    padding: 0.2rem !important;
}

/* Kbd - keyboard input */
kbd {
    background-color: var(--text-primary) !important;
    color: var(--bg-primary) !important;
    border: 1px solid var(--border-color) !important;
}

/* Samp - sample output */
samp {
    background-color: var(--hover-bg) !important;
    color: var(--text-primary) !important;
}

/* Var - variables */
var {
    color: var(--accent-color) !important;
    font-style: italic !important;
}

/* Details e Summary */
details {
    background-color: var(--bg-cards) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
}

summary {
    background-color: var(--hover-bg) !important;
    color: var(--text-primary) !important;
    cursor: pointer !important;
    padding: 0.5rem !important;
}

summary:hover {
    background-color: var(--active-bg) !important;
    color: var(--accent-color) !important;
}

/* Fieldset e Legend */
fieldset {
    border-color: var(--border-color) !important;
}

legend {
    color: var(--text-primary) !important;
}

/* Meter e Progress específico */
meter {
    background-color: var(--hover-bg) !important;
}

meter::-webkit-meter-optimum-value {
    background-color: var(--success-color) !important;
}

meter::-webkit-meter-suboptimum-value {
    background-color: var(--warning-color) !important;
}

meter::-webkit-meter-even-less-good-value {
    background-color: var(--error-color) !important;
}

/* Output */
output {
    color: var(--text-primary) !important;
}

/* Canvas e SVG */
canvas {
    border: 1px solid var(--border-color) !important;
}

svg {
    color: var(--text-primary) !important;
}

/* Iframe */
iframe {
    border-color: var(--border-color) !important;
}

/* Object e Embed */
object,
embed {
    border-color: var(--border-color) !important;
}

/* Dialog */
dialog {
    background-color: var(--bg-cards) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

/* Menu */
menu {
    background-color: var(--bg-cards) !important;
    border-color: var(--border-color) !important;
}

/* ========================================
   COMPONENTES ESPECÍFICOS DO SISTEMA
======================================== */

/* Dashboard widgets */
.widget,
.dashboard-widget {
    background-color: var(--bg-cards) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: 0 2px 8px var(--card-shadow) !important;
    color: var(--text-primary) !important;
}

.widget-header,
.dashboard-widget-header {
    background-color: var(--bg-cards) !important;
    border-bottom: 1px solid var(--lines-dividers) !important;
    color: var(--text-primary) !important;
}

.widget-title,
.dashboard-widget-title {
    color: var(--text-primary) !important;
}

.widget-content,
.dashboard-widget-content {
    color: var(--text-primary) !important;
}

/* Stats cards */
.stats-card {
    background-color: var(--bg-cards) !important;
    border: 1px solid var(--border-color) !important;
    box-shadow: 0 2px 8px var(--card-shadow) !important;
    color: var(--text-primary) !important;
}

.stats-number {
    color: var(--accent-color) !important;
}

.stats-label {
    color: var(--text-secondary) !important;
}

.stats-icon {
    color: var(--accent-color) !important;
}

/* Profile cards */
.profile-card {
    background-color: var(--bg-cards) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
}

.profile-header {
    background: linear-gradient(135deg, var(--accent-color) 0%, #e07527 100%) !important;
    color: #ffffff !important;
}

.profile-info {
    color: var(--text-primary) !important;
}

.profile-name {
    color: var(--text-primary) !important;
}

.profile-role {
    color: var(--text-secondary) !important;
}

/* Timeline */
.timeline {
    background-color: transparent !important;
}

.timeline-item {
    border-left: 2px solid var(--lines-dividers) !important;
}

.timeline-marker {
    background-color: var(--accent-color) !important;
    border-color: var(--bg-primary) !important;
}

.timeline-content {
    background-color: var(--bg-cards) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
}

.timeline-time {
    color: var(--text-secondary) !important;
}

/* Chat components */
.chat-container {
    background-color: var(--bg-cards) !important;
    border: 1px solid var(--border-color) !important;
}

.chat-header {
    background-color: var(--bg-cards) !important;
    border-bottom: 1px solid var(--lines-dividers) !important;
    color: var(--text-primary) !important;
}

.chat-message {
    background-color: var(--hover-bg) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--border-color) !important;
}

.chat-message.own {
    background-color: var(--accent-color) !important;
    color: #ffffff !important;
}

.chat-input {
    background-color: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--text-primary) !important;
}

/* File upload areas */
.upload-area {
    background-color: var(--bg-cards) !important;
    border: 2px dashed var(--border-color) !important;
    color: var(--text-secondary) !important;
    transition: all 0.3s ease !important;
}

.upload-area:hover {
    border-color: var(--accent-color) !important;
    background-color: var(--hover-bg) !important;
}

.upload-area.dragover {
    border-color: var(--accent-color) !important;
    background-color: rgba(243, 132, 42, 0.1) !important;
}

/* Search results */
.search-results {
    background-color: var(--bg-cards) !important;
    border: 1px solid var(--border-color) !important;
}

.search-result-item {
    color: var(--text-primary) !important;
    border-bottom: 1px solid var(--lines-dividers) !important;
}

.search-result-item:hover {
    background-color: var(--hover-bg) !important;
}

.search-result-title {
    color: var(--accent-color) !important;
}

.search-result-description {
    color: var(--text-secondary) !important;
}

/* Notification badges */
.notification-badge {
    background-color: var(--error-color) !important;
    color: #ffffff !important;
}

.notification-success {
    background-color: var(--success-color) !important;
}

.notification-warning {
    background-color: var(--warning-color) !important;
}

.notification-info {
    background-color: var(--info-color) !important;
}

/* ========================================
   MODO ESPECÍFICO - DARK MODE OVERRIDES
======================================== */

/* Força modo escuro para elementos específicos */
[data-theme="dark"] {
    color-scheme: dark !important;
}

[data-theme="dark"] * {
    scrollbar-color: var(--text-secondary) var(--bg-cards) !important;
}

[data-theme="dark"] img {
    opacity: 0.9;
    transition: opacity 0.3s ease;
}

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

/* Força light mode para elementos específicos */
[data-theme="light"] {
    color-scheme: light !important;
}

/* ========================================
   ESTADOS GLOBAIS E TRANSIÇÕES
======================================== */

/* Transições suaves para todos os elementos */
*,
*::before,
*::after {
    transition:
        background-color 0.3s ease,
        color 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        opacity 0.3s ease !important;
}

/* Estados de foco globais */
*:focus {
    outline: 2px solid var(--accent-color) !important;
    outline-offset: 2px !important;
}

*:focus:not(:focus-visible) {
    outline: none !important;
}

/* Estados hover globais para elementos interativos */
button:not(:disabled):hover,
a:hover,
.btn:hover,
[role="button"]:hover {
    transform: translateY(-1px);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Estados active globais */
button:not(:disabled):active,
a:active,
.btn:active,
[role="button"]:active {
    transform: translateY(0);
}

/* ========================================
   SELECT2 THEME INTEGRATION
======================================== */

/* Light Mode - Select2 Base Styles */
.select2-container {
    color: var(--text-primary) !important;
}

.select2-container--default .select2-selection--single {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--text-primary) !important;
    height: 38px !important;
    line-height: 36px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: var(--text-primary) !important;
    line-height: 36px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 36px !important;
    right: 10px !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
    border-color: var(--text-secondary) transparent transparent transparent !important;
    margin-left: -4px !important;
    margin-top: -2px !important;
}

/* Select2 Dropdown */
.select2-dropdown {
    background-color: var(--bg-primary) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 4px !important;
    box-shadow: 0 4px 6px var(--card-shadow) !important;
    z-index: 9999 !important;
}

.select2-container--default .select2-results__option {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
    padding: 8px 12px !important;
}

.select2-container--default .select2-results__option--highlighted {
    background-color: var(--hover-bg) !important;
    color: var(--text-primary) !important;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: var(--active-bg) !important;
    color: var(--text-primary) !important;
}

.select2-container--default .select2-results__option[data-selected=true] {
    background-color: var(--accent-color) !important;
    color: #ffffff !important;
}

/* Select2 Search */
.select2-search--dropdown {
    background-color: var(--bg-primary) !important;
    border-bottom: 1px solid var(--border-color) !important;
    padding: 8px !important;
}

.select2-search--dropdown .select2-search__field {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--text-primary) !important;
    padding: 6px 12px !important;
    border-radius: 4px !important;
}

.select2-search--dropdown .select2-search__field:focus {
    border-color: var(--accent-color) !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(243, 132, 42, 0.2) !important;
}

/* Select2 Multiple Selection */
.select2-container--default .select2-selection--multiple {
    background-color: var(--input-bg) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--text-primary) !important;
    min-height: 38px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--button-bg) !important;
    border: 1px solid var(--border-color) !important;
    color: var(--text-primary) !important;
    border-radius: 4px !important;
    padding: 2px 8px !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--text-secondary) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
    color: var(--error-color) !important;
}

/* Select2 Focus States */
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--focus .select2-selection--multiple {
    border-color: var(--accent-color) !important;
    box-shadow: 0 0 0 2px rgba(243, 132, 42, 0.2) !important;
}

/* Select2 Disabled States */
.select2-container--default .select2-selection--single.select2-selection--disabled,
.select2-container--default .select2-selection--multiple.select2-selection--disabled {
    background-color: var(--lines-dividers) !important;
    color: var(--text-secondary) !important;
    cursor: not-allowed !important;
}

/* Dark Mode Specific Adjustments */
[data-theme="dark"] .select2-dropdown {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3) !important;
}

[data-theme="dark"] .select2-container--default .select2-results__option--highlighted {
    background-color: #27272a !important;
}

[data-theme="dark"] .select2-container--default .select2-results__option[aria-selected=true] {
    background-color: #3f3f46 !important;
}

[data-theme="dark"] .select2-search--dropdown .select2-search__field:focus {
    box-shadow: 0 0 0 2px rgba(243, 132, 42, 0.4) !important;
}

/* Select2 Loading State */
.select2-container--default .select2-results__message {
    background-color: var(--bg-primary) !important;
    color: var(--text-secondary) !important;
    padding: 12px !important;
}

.select2-spinner {
    border-color: var(--text-secondary) var(--text-secondary) var(--text-secondary) var(--accent-color) !important;
}

/* Select2 No Results */
.select2-container--default .select2-results>.select2-results__options {
    background-color: var(--bg-primary) !important;
    max-height: 200px !important;
}

.select2-container--default .select2-results__option--selectable {
    cursor: pointer !important;
}

.select2-container--default .select2-results__option--disabled {
    color: var(--text-secondary) !important;
    background-color: var(--bg-primary) !important;
    cursor: not-allowed !important;
}

/* Select2 Clear Button */
.select2-container--default .select2-selection__clear {
    color: var(--text-secondary) !important;
    cursor: pointer !important;
    float: right !important;
    font-weight: bold !important;
    margin-right: 10px !important;
}

.select2-container--default .select2-selection__clear:hover {
    color: var(--error-color) !important;
}

/* Select2 Responsive */
@media (max-width: 768px) {
    .select2-dropdown {
        width: 100% !important;
        max-width: none !important;
    }

    .select2-container--default .select2-selection--single,
    .select2-container--default .select2-selection--multiple {
        min-height: 42px !important;
        font-size: 16px !important;
        /* Previne zoom no iOS */
    }
}

/* Select2 Theme Classes Applied by JavaScript */
.select2-dropdown.select2-dark-theme {
    background-color: var(--bg-primary) !important;
    border-color: var(--border-color) !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3) !important;
}

.select2-dropdown.select2-light-theme {
    background-color: var(--bg-primary) !important;
    border-color: var(--border-color) !important;
    box-shadow: 0 4px 6px var(--card-shadow) !important;
}

/* Força aplicação do tema em dropdowns dinâmicos */
[data-theme="dark"] .select2-dropdown,
[data-theme="dark"] .select2-results,
[data-theme="dark"] .select2-search--dropdown {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

[data-theme="light"] .select2-dropdown,
[data-theme="light"] .select2-results,
[data-theme="light"] .select2-search--dropdown {
    background-color: var(--bg-primary) !important;
    color: var(--text-primary) !important;
}

/* Select2 High Contrast Mode */
@media (prefers-contrast: high) {

    .select2-container--default .select2-selection--single,
    .select2-container--default .select2-selection--multiple {
        border-width: 2px !important;
    }

    .select2-dropdown {
        border-width: 2px !important;
    }
}

/* ========================================
   PRINT STYLES
======================================== */
@media print {
    * {
        background: white !important;
        color: black !important;
        box-shadow: none !important;
    }

    .sidebar,
    .header,
    .theme-toggle,
    .btn,
    button {
        display: none !important;
    }
}

/* ========================================
   HIGH CONTRAST MODE SUPPORT
======================================== */
@media (prefers-contrast: high) {
    :root {
        --border-color: #000000;
        --accent-color: #ff6b00;
    }

    [data-theme="dark"] {
        --border-color: #ffffff;
        --accent-color: #ff8533;
    }
}

/* ========================================
   REDUCED MOTION SUPPORT
======================================== */
@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

/* ========================================
   CORREÇÕES PARA TIMELINE - MODO DARK
======================================== */

/* Timeline Answer - Modo Dark */
[data-theme="dark"] .timeline-answer {
    background: var(--bg-secondary, #2a2a2a) !important;
    border-color: var(--border-color, #444) !important;
    color: var(--text-primary) !important;
}

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

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

/* Timeline Footer - Modo Dark */
[data-theme="dark"] .timeline-footer {
    background: var(--bg-secondary, #2a2a2a) !important;
    border-color: var(--border-color, #444) !important;
    color: var(--text-muted) !important;
}

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

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

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

/* Timeline Panel - Modo Dark */
[data-theme="dark"] .timeline-panel {
    background: var(--card-bg) !important;
    border-color: var(--border-color) !important;
    color: var(--text-primary) !important;
}

[data-theme="dark"] .timeline-panel:hover {
    border-color: #F97316 !important;
}

/* Timeline Context - Modo Dark */
[data-theme="dark"] .timeline-context .context-label {
    color: var(--text-muted) !important;
}

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

/* Timeline Title e Subtitle - Modo Dark */
[data-theme="dark"] .timeline-title {
    color: var(--text-primary) !important;
}

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

/* Timeline Badge Border - Modo Dark */
[data-theme="dark"] .timeline-badge {
    border-color: var(--card-bg) !important;
}

/* Timeline Body - Modo Dark */
[data-theme="dark"] .timeline-body {
    color: var(--text-primary) !important;
}

/* ========================================
   CORREÇÕES PARA KANBAN - MODO DARK/LIGHT
======================================== */

/* Kanban Cards - Modo Light */
[data-theme="light"] .kanban-card {
    background: #ffffff !important;
    border-color: var(--border-color) !important;
}

/* Kanban Cards - Modo Dark (transparente) */
[data-theme="dark"] .kanban-card {
    background: transparent !important;
    border-color: var(--border-color) !important;
}