[data-bs-theme="light"] {
    /* Tema claro neutro */
    --tbl-bg-light: #f6f7fb;
    /* fundo da tabela */
    --tbl-color-light: #1f2933;
    /* texto */
    --tbl-border-light: #d4d7e0;
    /* borda suave */
    --tbl-striped-bg-light: #e8ebf2;
    /* listras leves */
    --tbl-hover-bg-light: #e0e3ea;
    /* hover um pouco mais forte */
    --tbl-hover-color-light: #111827;
}

[data-bs-theme="dark"] {
    /* Tema escuro neutro (cinzas) */
    --tbl-bg-dark: #121212;
    /* fundo principal */
    --tbl-color-dark: #e5e5e5;
    /* texto claro */
    --tbl-border-dark: #2a2a2a;
    /* borda */
    --tbl-striped-bg-dark: #1a1a1a;
    /* listras */
    --tbl-hover-bg-dark: #222222;
    /* hover */
    --tbl-hover-color-dark: #fafafa;
}

/* Ligação com as variáveis do Bootstrap */
[data-bs-theme="light"] .table {
    --bs-table-bg: var(--tbl-bg-light);
    --bs-table-color: var(--tbl-color-light);
    --bs-table-border-color: var(--tbl-border-light);
    --bs-table-striped-bg: var(--tbl-striped-bg-light);
    --bs-table-striped-color: var(--tbl-color-light);
    --bs-table-hover-bg: var(--tbl-hover-bg-light);
    --bs-table-hover-color: var(--tbl-hover-color-light);
}

[data-bs-theme="dark"] .table {
    --bs-table-bg: var(--tbl-bg-dark);
    --bs-table-color: var(--tbl-color-dark);
    --bs-table-border-color: var(--tbl-border-dark);
    --bs-table-striped-bg: var(--tbl-striped-bg-dark);
    --bs-table-striped-color: var(--tbl-color-dark);
    --bs-table-hover-bg: var(--tbl-hover-bg-dark);
    --bs-table-hover-color: var(--tbl-hover-color-dark);
}

/* Checkboxes dentro das tabelas */
.table .form-check-input,
.table input[type="checkbox"] {
    width: 1rem;
    height: 1rem;
    border-radius: 0.25rem;
    border: 1px solid rgba(15, 23, 42, 0.45);
    /* borda bem visível no claro */
    background-color: rgba(248, 250, 252, 0.95);
}

/* Tema escuro para os checkboxes */
[data-bs-theme="dark"] .table .form-check-input,
[data-bs-theme="dark"] .table input[type="checkbox"] {
    border-color: rgba(249, 250, 251, 0.7);
    /* borda clara */
    background-color: #111111;
}

/* Estado marcado */
.table .form-check-input:checked,
.table input[type="checkbox"]:checked {
    border-color: #2563eb;
    background-color: #2563eb;
}

/* Foco via teclado */
.table .form-check-input:focus,
.table input[type="checkbox"]:focus {
    box-shadow: 0 0 0 0.15rem rgba(37, 99, 235, 0.25);
}


/* Cabeçalhos ordenáveis */
[data-bs-theme="light"] table.dataTable thead .sorting:after,
[data-bs-theme="light"] table.dataTable thead .sorting_asc:after,
[data-bs-theme="light"] table.dataTable thead .sorting_desc:after {
    color: #1068e4;
    opacity: 0.9 !important;
}

[data-bs-theme="dark"] table.dataTable thead .sorting:after,
[data-bs-theme="dark"] table.dataTable thead .sorting_asc:after,
[data-bs-theme="dark"] table.dataTable thead .sorting_desc:after {
    color: #1068e4;
    opacity: 1 !important;
}