body.dark-mode {
    background-color: #121212 !important;
    color: #e0e0e0;
}

body.dark-mode .card {
    background-color: #1f1f1f !important;
    border-color: #333 !important;
}

body.dark-mode .navbar,
body.dark-mode .sidebar,
body.dark-mode .sidenav {
    background-color: #1c1c1c !important;
}

body.dark-mode .form-control {
    background-color: #2a2a2a;
    color: #fff;
    border-color: #555;
}

body.dark-mode .btn {
    background-color: #333;
    color: #f1f1f1;
}

body.dark-mode .table {
    color: #ccc;
}

body.dark-mode .bg-gradient-primary,
body.dark-mode .bg-gradient-success,
body.dark-mode .bg-gradient-danger {
    filter: brightness(0.9);
}

body.dark-mode .toast {
    background-color: #2d2d2d;
    color: #fff;
}

body.dark-mode hr.horizontal.dark {
    background-color: #666 !important;
}

/* Sidebar no modo escuro */
body.dark-mode .sidenav {
    background: #1a1a1a !important;
    border-right: 1px solid #333;
}

body.dark-mode .sidenav .nav-link {
    color: #ddd !important;
}

body.dark-mode .sidenav .nav-link:hover,
body.dark-mode .sidenav .nav-link.active {
    background-color: #333 !important;
    color: #fff !important;
}

body.dark-mode .sidenav-header {
    border-bottom: 1px solid #333;
}

body.dark-mode .sidenav .material-icons {
    color: #bbb;
}

body.dark-mode .sidenav-footer {
    background-color: #1a1a1a;
    border-top: 1px solid #333;
}

body.dark-mode .sidenav-footer .btn {
    background-color: #333 !important;
    color: #fff;
    border: none;
}

.sidenav-footer {
    border-top: none !important;
}

.sidenav-header {
    border-bottom: none !important;
}

/* Cards e textos */
body.dark-mode .card {
    background-color: #1e1e1e !important;
    color: #e0e0e0;
    border: none;
}

body.dark-mode .card .card-header,
body.dark-mode .card .card-body,
body.dark-mode .card .card-footer {
    background-color: transparent;
    color: #e0e0e0;
}

body.dark-mode .card p,
body.dark-mode .card h4,
body.dark-mode .card h6,
body.dark-mode .card span {
    color: #ccc;
}

body.dark-mode .text-success {
    color: #8bc34a !important;
}

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

/* Gráficos com fundo escuro */
body.dark-mode .chart .chart-canvas {
    background-color: #1e1e1e;
}

/* Fundo da página */
body.dark-mode .main-content,
body.dark-mode .container-fluid {
    background-color: #121212 !important;
}

/* Alvo: divs bg-gradient-* apenas dentro do card-header dos gráficos */
body.dark-mode .card-header .bg-gradient-primary.chart-bg,
body.dark-mode .card-header .bg-gradient-success.chart-bg,
body.dark-mode .card-header .bg-gradient-dark.chart-bg {
    background-color: #1e1e1e !important;
    background-image: none !important;
    color: #e0e0e0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5) !important;
}

/* Tabela escura */
body.dark-mode table {
    background-color: #1b1b1b;
    color: #e0e0e0;
}

body.dark-mode table thead {
    background-color: #262626 !important;
}

/* Corrige linhas ímpares e pares no dark mode */
body.dark-mode table.dataTable tbody tr.odd {
    background-color: #1e1e1e !important;
}

body.dark-mode table.dataTable tbody tr.even {
    background-color: #252525 !important;
}

/* Corrige cor de texto nas linhas */
body.dark-mode table.dataTable tbody td {
    color: #ddd;
}

/* Remove o estilo forçado do DataTables */
body.dark-mode table.dataTable tbody tr {
    background-color: transparent !important;
}

/* Corrige linhas ímpares e pares no dark mode */
body.dark-mode table.dataTable tbody tr.odd {
    background-color: #1e1e1e !important;
}

body.dark-mode table.dataTable tbody tr.even {
    background-color: #252525 !important;
}

/* Cor do texto */
body.dark-mode table.dataTable tbody td {
    color: #ddd !important;
}

/* Hover uniforme */
body.dark-mode table.dataTable tbody tr:hover {
    background-color: #333 !important;
}


body.dark-mode .table-responsive {
    background-color: #1b1b1b;
}

/* Ajuste de zebra se quiser: */
body.dark-mode table tbody tr:nth-child(even) {
    background-color: #202020;
}

body.dark-mode select,
body.dark-mode .form-select,
body.dark-mode select.form-select-sm {
    background-color: #2a2a2a;
    color: #e0e0e0;
    border: 1px solid #444;
}

body.dark-mode input[type="checkbox"] {
    accent-color: #2196f3; /* Azul padrão Material */
    background-color: #2a2a2a;
    border: 1px solid #555;
}

body.dark-mode .page-link {
    background-color: #2a2a2a;
    color: #ccc;
    border: 1px solid #444;
}

body.dark-mode .page-item.active .page-link {
    background-color: #444;
    color: #fff;
    border-color: #555;
}

body.dark-mode .page-item.disabled .page-link {
    background-color: #1c1c1c;
    color: #666;
    border-color: #333;
}

/* Modal base */
body.dark-mode .modal-content {
    background-color: #1e1e1e;
    color: #e0e0e0;
    border: 1px solid #333;
}

/* Cabeçalho do modal */
body.dark-mode .modal-header {
    border-bottom: 1px solid #444;
}

body.dark-mode .modal-title {
    color: #90caf9; /* Azul Material claro */
}

/* Texto central */
body.dark-mode .modal-body p {
    color: #ccc;
}

/* Campos de formulário */
body.dark-mode .form-control {
    background-color: #2a2a2a;
    color: #fff;
    border-color: #555;
}

body.dark-mode .form-label {
    color: #bbb;
}

/* Selects + input-group-text */
body.dark-mode .input-group-text {
    background-color: #333;
    color: #eee;
    border: 1px solid #444;
}

/* Botões do rodapé */
body.dark-mode .modal-footer .btn.bg-gradient-secondary {
    background-color: #555 !important;
    color: #eee !important;
}

body.dark-mode .modal-footer .btn.bg-gradient-success {
    background-color: #388e3c !important;
    color: #fff;
}

/* Se preferir, ajustar sombra */
body.dark-mode .modal-dialog {
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.8);
}

/* Input group no dark mode — alinha select + ícone */
body.dark-mode .input-group .form-control {
    background-color: #2a2a2a;
    color: #fff;
    border: 1px solid #444;
    border-right: 0; /* junta com input-group-text */
}

body.dark-mode .input-group .input-group-text {
    background-color: #333;
    color: #eee;
    border: 1px solid #444;
    border-left: 0; /* junta com o select */
}

/* Corrige borda clara dos inputs no dark */
body.dark-mode .form-control {
    background-color: #2a2a2a;
    color: #f1f1f1;
    border: 1px solid #444 !important;
    box-shadow: none !important;
}

/* Remove o contorno branco ao focar */
body.dark-mode .form-control:focus {
    border-color: #666 !important;
    box-shadow: none !important;
    outline: none !important;
}

/* Ajusta select também */
body.dark-mode select.form-control {
    background-color: #2a2a2a;
    color: #f1f1f1;
    border: 1px solid #444 !important;
    box-shadow: none !important;
}

/* Alinha altura do select com o input-group-text */
body.dark-mode .input-group .form-control {
    height: 38px; /* Alinhado ao padrão Bootstrap */
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 0.875rem;
    line-height: 1.5;
}

body.dark-mode .input-group .input-group-text {
    height: 38px;
    padding-top: 6px;
    padding-bottom: 6px;
    font-size: 0.875rem;
    line-height: 1.5;
}

body.dark-mode .modal-content {
    background-color: #1e1e1e;
    color: #f1f1f1;
    border: 1px solid #444;
}

body.dark-mode .modal-dialog {
    box-shadow: none;
    margin-top: 0 !important;
}

body.dark-mode .modal {
    background-color: rgba(0, 0, 0, 0.7);
}

body.dark-mode .form-control {
    background-color: #2a2a2a;
    color: #eee;
    border: 1px solid #444;
    box-shadow: none;
}

body.dark-mode .form-control:focus {
    border-color: #666;
    outline: none;
    box-shadow: none;
}

body.dark-mode table {
    background-color: #1e1e1e;
}

body.dark-mode table thead {
    background-color: #262626;
}

body.dark-mode table tbody tr.odd {
    background-color: #1f1f1f;
}

body.dark-mode table tbody tr.even {
    background-color: #262626;
}

body.dark-mode table th,
body.dark-mode table td {
    color: #ddd;
    border-color: #333;
}

body.dark-mode .btn.bg-gradient-primary,
body.dark-mode .btn.bg-gradient-success,
body.dark-mode .btn.bg-gradient-danger {
    background-color: #333 !important;
    color: #fff !important;
    border: none;
}

body.dark-mode .group-info-box {
    background-color: #2a2a2a;
    color: #eee;
}

.bg-group-summary {
    background-color: #f8f9fa; /* cor clara no light */
}

body.dark-mode .bg-group-summary {
    background-color: #343a40; /* cor escura no dark */
}

body.dark-mode .custom-card,
body.dark-mode .custom-subheader,
body.dark-mode .custom-table,
body.dark-mode .custom-input,
body.dark-mode .custom-select {
    background-color: #1f1f1f;
    color: #f1f1f1;
    border-color: #333;
}

body.dark-mode .custom-header {
    background-color: #222;
    color: #fff;
}

body.dark-mode .custom-thead th {
    background-color: #2b2b2b;
    color: #e0e0e0;
}

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

body.dark-mode .custom-tabs {
    background-color: #1f1f1f;
    border-bottom: 1px solid #444;
}

body.dark-mode .custom-tab-link {
    color: #ccc;
    background-color: transparent;
    border: 1px solid transparent;
    margin-bottom: -1px;
}

body.dark-mode .custom-tab-link.active {
    background-color: #2a2a2a;
    color: #fff;
    border-color: #444 #444 #1f1f1f;
    border-bottom: none;
}

body.dark-mode .custom-tab-link:hover {
    background-color: #2a2a2a;
    color: #fff;
}

/* Dark Mode - Steps */
.dark-mode .progress-track {
    background-color: #444 !important;
}

.dark-mode .progress-circle .circle {
    background-color: #555 !important;
    color: #ccc !important;
    border: 1px solid #777;
}

.dark-mode .progress-circle .circle.active {
    background-color: #4caf50 !important;
    color: #fff !important;
}

.dark-mode .progress-bar {
    background-color: #4caf50 !important;
}

/* Corrige fundo claro no dark mode */
.dark-mode .bg-light {
    background-color: #2c2c2c !important;
    color: #f1f1f1 !important;
}

/* Corrige botões e links */
.dark-mode .btn.bg-gradient-success {
    background: linear-gradient(87deg, #28a745 0, #218838 100%) !important;
    color: #fff !important;
}

.dark-mode .link-primary {
    color: #90caf9 !important;
}

.dark-mode .link-primary:hover {
    color: #64b5f6 !important;
    text-decoration: underline !important;
}

/* Estilo para dark mode das tabelas */
body.dark-mode .dark-table {
    background-color: #1e1e2f;
    color: #f1f1f1;
}

body.dark-mode .dark-table thead {
    background-color: #2b2b3c;
    color: #fff;
}

body.dark-mode .dark-table td,
body.dark-mode .dark-table th {
    border-color: #3c3c4f;
}

body.dark-mode .table-hover tbody tr:hover {
    background-color: #33334d;
}

/* Paginação em dark mode */
body.dark-mode .pagination .page-link {
    background-color: #2c2c3c;
    color: #f1f1f1;
    border-color: #444;
}

body.dark-mode .pagination .page-item.active .page-link {
    background-color: #007bff;
    color: #fff;
    border-color: #007bff;
}

/* Gradientes escurecidos no dark mode */
body.dark-mode .card .icon.bg-gradient-info {
    background: linear-gradient(135deg, #274c5e, #1f3b47) !important;
    color: #e0f7fa !important;
    box-shadow: none !important;
}

body.dark-mode .card .icon.bg-gradient-primary {
    background: linear-gradient(135deg, #3a416f, #1a1f40) !important;
    color: #e3f2fd !important;
    box-shadow: none !important;
}

body.dark-mode .card .icon.bg-gradient-success {
    background: linear-gradient(135deg, #2e7d32, #1b5e20) !important;
    color: #c8e6c9 !important;
    box-shadow: none !important;
}

body.dark-mode .card .icon.bg-gradient-dark {
    background: linear-gradient(135deg, #424242, #212121) !important;
    color: #eeeeee !important;
    box-shadow: none !important;
}

/* Reduzir brilho dos ícones */
body.dark-mode .card .icon i.material-icons {
    opacity: 0.7;
}
