/* ============================================================================
   BSM GROUP theme — puente Bootstrap/SB Admin 2 -> tokens
   Hace que las utilidades y componentes de vendor sigan el tema activo (clave
   para el modo oscuro). En temas claros los tokens resuelven a valores cercanos
   a los originales, así que el look no cambia; en 'medianoche' se corrige todo.
   ============================================================================ */

/* --- Texto base y utilidades de color de SB Admin --------------------- */
body {
    color: var(--bsm-text);
}

.text-gray-900,
.text-gray-800,
.text-gray-700,
.text-dark {
    color: var(--bsm-text) !important;
}

.text-gray-600,
.text-gray-500,
.text-muted {
    color: var(--bsm-text-muted) !important;
}

.text-gray-400,
.text-gray-300 {
    color: var(--bsm-text-subtle) !important;
}

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

.bg-primary,
.border-left-primary {
    background-color: var(--bsm-primary) !important;
    border-color: var(--bsm-primary) !important;
}

.bg-gradient-primary {
    background-color: var(--bsm-primary) !important;
    background-image: none !important;
}

.bg-white {
    background-color: var(--bsm-surface) !important;
}

/* --- Superficies: cards, footer, scroll-top --------------------------- */
.card {
    background-color: var(--bsm-surface);
    color: var(--bsm-text);
}

.card-header,
.card-footer {
    background-color: var(--bsm-surface);
    border-color: var(--bsm-border);
    color: var(--bsm-text);
}

.sticky-footer {
    background-color: var(--bsm-content-bg);
    color: var(--bsm-text-muted);
}

.sticky-footer .copyright {
    color: var(--bsm-text-muted);
}

.scroll-to-top {
    background: var(--bsm-primary);
    color: var(--bsm-primary-contrast);
}

.scroll-to-top:hover {
    background: var(--bsm-primary-hover);
    color: var(--bsm-primary-contrast);
}

.card-bsm {
    border: 1px solid var(--bsm-border);
    border-radius: var(--bsm-radius-md);
    box-shadow: var(--bsm-shadow-1);
    background-color: var(--bsm-surface);
}

.card-bsm .card-header {
    background-color: var(--bsm-surface);
    border-bottom: 1px solid var(--bsm-border);
    color: var(--bsm-primary);
    font-weight: 800;
}

/* --- Tablas ----------------------------------------------------------- */
.table {
    color: var(--bsm-text);
}

.table td,
.table th,
.table thead th,
.table-bordered,
.table-bordered td,
.table-bordered th {
    border-color: var(--bsm-table-border);
}

.table-striped tbody tr:nth-of-type(odd) {
    background-color: var(--bsm-table-stripe);
}

.table-hover tbody tr:hover {
    background-color: var(--bsm-table-hover);
    color: var(--bsm-text);
}

.table-bsm thead th {
    background-color: var(--bsm-table-header-bg);
    border-color: var(--bsm-table-border);
    color: var(--bsm-table-header-fg);
    font-size: 0.75rem;
    letter-spacing: 0.04rem;
    text-transform: uppercase;
    vertical-align: middle;
}

/* --- Tabs ------------------------------------------------------------- */
.nav-tabs {
    border-bottom-color: var(--bsm-border);
}

.nav-tabs-bsm .nav-link {
    border: none;
    color: var(--bsm-text-muted);
    font-size: 0.85rem;
    font-weight: 700;
    padding: 0.75rem 1rem;
}

.nav-tabs-bsm .nav-link.active {
    background: transparent;
    border-bottom: 3px solid var(--bsm-primary-accent);
    color: var(--bsm-primary);
}

/* --- Badges de estado ------------------------------------------------- */
.badge-status-pending {
    background-color: var(--bsm-warning-subtle);
    color: var(--bsm-warning);
    font-weight: 700;
}

/* --- Formularios ------------------------------------------------------ */
.form-control,
.custom-select,
.custom-file-label {
    background-color: var(--bsm-surface);
    border-color: var(--bsm-border-strong);
    color: var(--bsm-text);
}

.form-control:focus,
.custom-select:focus {
    background-color: var(--bsm-surface);
    border-color: var(--bsm-primary-accent);
    color: var(--bsm-text);
    box-shadow: 0 0 0 0.2rem var(--bsm-focus-ring);
}

.form-control::placeholder {
    color: var(--bsm-text-subtle);
}

.form-control:disabled,
.form-control[readonly] {
    background-color: var(--bsm-surface-sunken);
    color: var(--bsm-text-muted);
}

.input-group-text {
    background-color: var(--bsm-surface-sunken);
    border-color: var(--bsm-border-strong);
    color: var(--bsm-text-muted);
}

/* --- Dropdowns / menús ------------------------------------------------ */
.dropdown-menu {
    background-color: var(--bsm-surface);
    border-color: var(--bsm-border);
    color: var(--bsm-text);
    box-shadow: var(--bsm-shadow-2);
}

.dropdown-item {
    color: var(--bsm-text);
}

.dropdown-item:hover,
.dropdown-item:focus {
    background-color: var(--bsm-primary-subtle);
    color: var(--bsm-primary);
}

.dropdown-divider {
    border-color: var(--bsm-border);
}

/* --- Separadores / bordes genéricos ----------------------------------- */
hr {
    border-color: var(--bsm-border);
}

.border,
.border-top,
.border-right,
.border-bottom,
.border-left {
    border-color: var(--bsm-border) !important;
}

/* --- Listas ----------------------------------------------------------- */
.list-group-item {
    background-color: var(--bsm-surface);
    border-color: var(--bsm-border);
    color: var(--bsm-text);
}

/* --- Paginación ------------------------------------------------------- */
.page-item .page-link {
    background-color: var(--bsm-surface);
    border-color: var(--bsm-border);
    color: var(--bsm-primary-accent);
}

.page-item.active .page-link {
    background-color: var(--bsm-primary);
    border-color: var(--bsm-primary);
    color: var(--bsm-primary-contrast);
}

.page-item.disabled .page-link {
    background-color: var(--bsm-surface);
    border-color: var(--bsm-border);
    color: var(--bsm-text-subtle);
}

/* --- Botón cerrar genérico ------------------------------------------- */
.close {
    color: var(--bsm-text);
    text-shadow: none;
}

.close:hover {
    color: var(--bsm-text);
}

/* --- DataTables ------------------------------------------------------- */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_processing,
.dataTables_wrapper .dataTables_paginate {
    color: var(--bsm-text-muted);
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
    color: var(--bsm-text) !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
    background: var(--bsm-primary);
    border-color: var(--bsm-primary);
    color: var(--bsm-primary-contrast) !important;
}

/* Login BSM — estilos en wwwroot/css/authentication/login.css */
