/*
 * Tema CLARO del backend.
 *
 * Mismos roles de color que el tema biblioteca (tinta primario, sage éxito,
 * ámbar aviso, rojo peligro, teal informativo, gris neutro) pero con la
 * paleta que se espera de un modo claro: superficies neutras frías sobre
 * blanco. Define el MISMO set de tokens --biblio-* que biblioteca, de modo
 * que todos los componentes bc-* que consumen var(--biblio-*, fallback)
 * se adaptan solos. Todo scoped a :root[data-theme-mode="claro"].
 */

/* ---------- Tokens ---------- */
:root[data-theme-mode="claro"] {
    --biblio-ink: #3b679b;
    --biblio-ink-hover: #325784;
    --biblio-sage: #347345;
    --biblio-sage-hover: #285d36;
    --biblio-parchment: #d9a440;
    --biblio-parchment-hover: #c29334;
    --biblio-terracotta: #a53f35;
    --biblio-terracotta-hover: #873229;
    --biblio-teal: #246d7d;
    --biblio-teal-hover: #185664;
    --biblio-kraft: #586572;
    --biblio-kraft-hover: #43515e;
    --biblio-cream: #f1f3f6;
    --biblio-sidebar-tree-line: rgba(59, 103, 155, 0.2);

    /* Superficies neutras frías */
    --biblio-paper: #f6f7fa;
    --biblio-paper-2: #edf0f4;
    --biblio-paper-3: #e3e7ed;
    --biblio-border-warm: #dbe1e8;

    --biblio-ink-soft: #e8eff7;
    --biblio-teal-soft: #e3f1f4;
    --biblio-teal-softer: #f1f8fa;
    --biblio-sage-soft: #e8f3e9;
    --biblio-kraft-soft: #eef1f3;
    --biblio-terracotta-soft: #faeae7;
    --biblio-border: #d9dfe6;
    --biblio-border-strong: #c2ccd5;
    --biblio-surface: #fff;
    --biblio-surface-muted: #f7f9fb;
    --biblio-text: #20262e;
    --biblio-muted: #5b6671;
    --biblio-shadow-sm: 0 1px 4px rgba(32, 45, 65, 0.06);
    --biblio-shadow-md: 0 8px 24px rgba(32, 45, 65, 0.1);

    --biblio-radius-sm: 6px;
    --biblio-radius: 8px;
    --biblio-radius-lg: 12px;
    --biblio-focus-ring: 0 0 0 0.16rem rgba(59, 103, 155, 0.22);

    /* Texto sobre botones/badges sólidos */
    --biblio-on-accent: #fff;
    --biblio-on-warning: #352707;

    /* Texto de rol y límites de controles, separados de los bordes decorativos. */
    --biblio-on-sage: #fff;
    --biblio-on-terracotta: #fff;
    --biblio-on-teal: #fff;
    --biblio-on-kraft: #fff;
    --biblio-control-border: #74818e;
    --biblio-placeholder: #5b6671;
    --biblio-focus-color: #325784;
    --biblio-focus-on-sidebar: #325784;
    --biblio-warning-border: #76571a;
    --biblio-state-success-text: #285d36;
    --biblio-state-success-bg: #e8f3e9;
    --biblio-state-success-border: #bdd6c2;
    --biblio-state-warning-text: #76571a;
    --biblio-state-warning-bg: #faf1dc;
    --biblio-state-warning-border: #d9c28e;
    --biblio-state-danger-text: #873229;
    --biblio-state-danger-bg: #faeae7;
    --biblio-state-danger-border: #dfb9b3;
    --biblio-state-info-text: #185664;
    --biblio-state-info-bg: #e3f1f4;
    --biblio-state-info-border: #b8d3d9;
    --biblio-state-muted-text: #43515e;
    --biblio-state-muted-bg: #eef1f3;
    --biblio-state-muted-border: #c6ced5;

    /* Cabecera de paneles de listado (GridView) */
    --biblio-panel-bg: var(--biblio-paper-2);
    --biblio-panel-fg: var(--biblio-text);

    /* Remapeo de superficies Bootstrap */
    --bs-body-bg: var(--biblio-paper);
    --bs-body-bg-rgb: 246, 247, 250;
    --bs-tertiary-bg: var(--biblio-paper-2);
    --bs-tertiary-bg-rgb: 237, 240, 244;
    --bs-secondary-bg: var(--biblio-paper-3);
    --bs-secondary-bg-rgb: 227, 231, 237;
    --bs-body-color: var(--biblio-text);
    --bs-body-color-rgb: 32, 38, 46;
    --bs-border-color: var(--biblio-border);
    --bs-secondary-color: var(--biblio-muted);
    --bs-secondary-color-rgb: 91, 102, 113;
    --bs-tertiary-color: var(--biblio-muted);
    --bs-tertiary-color-rgb: 91, 102, 113;
    --bs-emphasis-color: var(--biblio-text);
    --bs-primary: var(--biblio-ink);
    --bs-primary-rgb: 59, 103, 155;
    --bs-success: var(--biblio-sage);
    --bs-success-rgb: 52, 115, 69;
    --bs-warning: var(--biblio-parchment);
    --bs-warning-rgb: 217, 164, 64;
    --bs-danger: var(--biblio-terracotta);
    --bs-danger-rgb: 165, 63, 53;
    --bs-info: var(--biblio-teal);
    --bs-info-rgb: 36, 109, 125;
    --bs-secondary: var(--biblio-kraft);
    --bs-secondary-rgb: 88, 101, 114;
    --bs-primary-text-emphasis: var(--biblio-ink-hover);
    --bs-success-text-emphasis: var(--biblio-state-success-text);
    --bs-warning-text-emphasis: var(--biblio-state-warning-text);
    --bs-danger-text-emphasis: var(--biblio-state-danger-text);
    --bs-info-text-emphasis: var(--biblio-state-info-text);
    --bs-secondary-text-emphasis: var(--biblio-state-muted-text);
    --bs-primary-bg-subtle: var(--biblio-ink-soft);
    --bs-success-bg-subtle: var(--biblio-state-success-bg);
    --bs-warning-bg-subtle: var(--biblio-state-warning-bg);
    --bs-danger-bg-subtle: var(--biblio-state-danger-bg);
    --bs-info-bg-subtle: var(--biblio-state-info-bg);
    --bs-secondary-bg-subtle: var(--biblio-state-muted-bg);
    --bs-form-valid-color: var(--biblio-state-success-text);
    --bs-form-valid-border-color: var(--biblio-sage);
    --bs-form-invalid-color: var(--biblio-state-danger-text);
    --bs-form-invalid-border-color: var(--biblio-terracotta);
    --bs-link-color: var(--biblio-ink);
    --bs-link-hover-color: var(--biblio-ink-hover);
    --bs-link-color-rgb: 59, 103, 155;
    --bs-link-hover-color-rgb: 50, 87, 132;
}

:root[data-theme-mode="claro"] ::selection {
    background: rgba(59, 103, 155, 0.22);
}

/* ---------- Botones: azul guardar, verde crear, neutro herramientas ---------- */
:root[data-theme-mode="claro"] .btn-primary {
    --claro-button-bg: var(--biblio-ink);
    --claro-button-hover: var(--biblio-ink-hover);
    --claro-button-on: var(--biblio-on-accent);
    --claro-button-border: var(--biblio-ink);
}

:root[data-theme-mode="claro"] .btn-outline-primary {
    --claro-button-bg: var(--biblio-ink);
    --claro-button-on: var(--biblio-on-accent);
    --claro-button-border: var(--biblio-ink);
    --claro-button-text: var(--biblio-ink-hover);
}

:root[data-theme-mode="claro"] .btn-success {
    --claro-button-bg: var(--biblio-sage);
    --claro-button-hover: var(--biblio-sage-hover);
    --claro-button-on: var(--biblio-on-sage);
    --claro-button-border: var(--biblio-sage);
}

:root[data-theme-mode="claro"] .btn-outline-success {
    --claro-button-bg: var(--biblio-sage);
    --claro-button-on: var(--biblio-on-sage);
    --claro-button-border: var(--biblio-sage);
    --claro-button-text: var(--biblio-state-success-text);
}

:root[data-theme-mode="claro"] .btn-danger {
    --claro-button-bg: var(--biblio-terracotta);
    --claro-button-hover: var(--biblio-terracotta-hover);
    --claro-button-on: var(--biblio-on-terracotta);
    --claro-button-border: var(--biblio-terracotta);
}

:root[data-theme-mode="claro"] .btn-outline-danger {
    --claro-button-bg: var(--biblio-terracotta);
    --claro-button-on: var(--biblio-on-terracotta);
    --claro-button-border: var(--biblio-terracotta);
    --claro-button-text: var(--biblio-state-danger-text);
}

:root[data-theme-mode="claro"] .btn-info {
    --claro-button-bg: var(--biblio-teal);
    --claro-button-hover: var(--biblio-teal-hover);
    --claro-button-on: var(--biblio-on-teal);
    --claro-button-border: var(--biblio-teal);
}

:root[data-theme-mode="claro"] .btn-outline-info {
    --claro-button-bg: var(--biblio-teal);
    --claro-button-on: var(--biblio-on-teal);
    --claro-button-border: var(--biblio-teal);
    --claro-button-text: var(--biblio-state-info-text);
}

:root[data-theme-mode="claro"] .btn-secondary {
    --claro-button-bg: var(--biblio-kraft);
    --claro-button-hover: var(--biblio-kraft-hover);
    --claro-button-on: var(--biblio-on-kraft);
    --claro-button-border: var(--biblio-kraft);
}

:root[data-theme-mode="claro"] .btn-outline-secondary {
    --claro-button-bg: var(--biblio-kraft);
    --claro-button-on: var(--biblio-on-kraft);
    --claro-button-border: var(--biblio-kraft);
    --claro-button-text: var(--biblio-kraft-hover);
}

:root[data-theme-mode="claro"] .btn-warning {
    --claro-button-bg: var(--biblio-parchment);
    --claro-button-hover: var(--biblio-parchment-hover);
    --claro-button-on: var(--biblio-on-warning);
    --claro-button-border: var(--biblio-warning-border);
}

:root[data-theme-mode="claro"] .btn-outline-warning {
    --claro-button-bg: var(--biblio-parchment);
    --claro-button-on: var(--biblio-on-warning);
    --claro-button-border: var(--biblio-warning-border);
    --claro-button-text: var(--biblio-state-warning-text);
}

:root[data-theme-mode="claro"] :is(.btn-primary, .btn-success, .btn-danger, .btn-info, .btn-secondary, .btn-warning) {
    --bs-btn-color: var(--claro-button-on);
    --bs-btn-bg: var(--claro-button-bg);
    --bs-btn-border-color: var(--claro-button-border);
    --bs-btn-hover-color: var(--claro-button-on);
    --bs-btn-hover-bg: var(--claro-button-hover);
    --bs-btn-hover-border-color: var(--claro-button-border);
    --bs-btn-active-color: var(--claro-button-on);
    --bs-btn-active-bg: var(--claro-button-hover);
    --bs-btn-active-border-color: var(--claro-button-border);
    --bs-btn-disabled-color: var(--claro-button-on);
    --bs-btn-disabled-bg: var(--claro-button-bg);
    --bs-btn-disabled-border-color: var(--claro-button-border);
}

:root[data-theme-mode="claro"] :is(.btn-outline-primary, .btn-outline-success, .btn-outline-danger, .btn-outline-info, .btn-outline-secondary, .btn-outline-warning) {
    --bs-btn-color: var(--claro-button-text);
    --bs-btn-border-color: var(--claro-button-border);
    --bs-btn-hover-color: var(--claro-button-on);
    --bs-btn-hover-bg: var(--claro-button-bg);
    --bs-btn-hover-border-color: var(--claro-button-border);
    --bs-btn-active-color: var(--claro-button-on);
    --bs-btn-active-bg: var(--claro-button-bg);
    --bs-btn-active-border-color: var(--claro-button-border);
    --bs-btn-disabled-color: var(--claro-button-text);
    --bs-btn-disabled-border-color: var(--claro-button-border);
}

:root[data-theme-mode="claro"] :is(.btn-default, .btn-light) {
    --bs-btn-color: var(--biblio-kraft-hover);
    --bs-btn-bg: var(--biblio-surface);
    --bs-btn-border-color: var(--biblio-control-border);
    --bs-btn-hover-color: var(--biblio-text);
    --bs-btn-hover-bg: var(--biblio-paper-2);
    --bs-btn-hover-border-color: var(--biblio-control-border);
    --bs-btn-active-color: var(--biblio-text);
    --bs-btn-active-bg: var(--biblio-paper-3);
    --bs-btn-active-border-color: var(--biblio-control-border);
}

:root[data-theme-mode="claro"] .btn:not(:disabled):not(.disabled):hover {
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

:root[data-theme-mode="claro"] .btn:not(:disabled):not(.disabled):is(:active, .active, [aria-pressed="true"]) {
    box-shadow: inset 0 -2px 0 currentColor !important;
}

/* ---------- Enlaces ---------- */
:root[data-theme-mode="claro"] a:not(.btn):not(.nav-link):not(.navbar-brand):not(.breadcrumb-item a):not(.dropdown-item) {
    color: var(--biblio-ink);
    text-decoration: none;
}

:root[data-theme-mode="claro"] a:not(.btn):not(.nav-link):not(.navbar-brand):not(.dropdown-item):hover {
    color: var(--biblio-ink-hover);
    text-decoration: underline;
}

/* ---------- Navbar superior: tinta, como biblioteca ---------- */
:root[data-theme-mode="claro"] .app-header {
    background-color: var(--biblio-ink) !important;
    --bs-navbar-color: #fff;
    --bs-navbar-hover-color: #fff;
    --bs-navbar-active-color: #fff;
    --bs-navbar-brand-color: #fff;
    --bs-navbar-brand-hover-color: #fff;
    --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.3);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

:root[data-theme-mode="claro"] .app-header .nav-link,
:root[data-theme-mode="claro"] .app-header .navbar-brand,
:root[data-theme-mode="claro"] .app-header .btn-link {
    color: #fff;
}

:root[data-theme-mode="claro"] .app-header .nav-link:hover,
:root[data-theme-mode="claro"] .app-header .btn-link:hover {
    color: #fff;
}

:root[data-theme-mode="claro"] .app-header .dropdown-menu {
    --bs-dropdown-link-color: var(--biblio-text);
}

/* ---------- Sidebar claro con ítem activo tinta ---------- */
:root[data-theme-mode="claro"] .app-sidebar {
    background-color: #eef1f5 !important;
    box-shadow: inset -1px 0 0 var(--biblio-border);
}

:root[data-theme-mode="claro"] .app-sidebar .sidebar-brand {
    border-bottom: 1px solid var(--biblio-border);
}

:root[data-theme-mode="claro"] .app-sidebar .brand-text,
:root[data-theme-mode="claro"] .app-sidebar .logo-xs {
    color: var(--biblio-ink-hover);
}

:root[data-theme-mode="claro"] .app-sidebar .sidebar-wrapper {
    scrollbar-width: thin;
    scrollbar-color: rgba(32, 38, 46, 0.25) transparent;
}

:root[data-theme-mode="claro"] .app-sidebar .sidebar-menu>.nav-item>.nav-link,
:root[data-theme-mode="claro"] .app-sidebar .sidebar-menu .nav-treeview .nav-link {
    margin: 1px 8px;
    border-radius: var(--biblio-radius-sm);
    color: #3c4854;
}

:root[data-theme-mode="claro"] .app-sidebar .sidebar-menu .nav-link:hover,
:root[data-theme-mode="claro"] .app-sidebar .sidebar-menu .nav-link:focus-visible {
    background-color: rgba(32, 38, 46, 0.06);
    color: var(--biblio-text);
}

:root[data-theme-mode="claro"] .app-sidebar .sidebar-menu .nav-link.active,
:root[data-theme-mode="claro"] .app-sidebar .sidebar-menu .nav-item.active>.nav-link {
    background-color: #dce7f3;
    color: var(--biblio-ink-hover);
    font-weight: 600;
    box-shadow: inset 3px 0 0 var(--biblio-ink);
}

:root[data-theme-mode="claro"] .app-sidebar .sidebar-menu .nav-item.menu-open:has(>.nav-treeview)>.nav-link,
:root[data-theme-mode="claro"] .app-sidebar .sidebar-menu .nav-item.active:has(>.nav-treeview)>.nav-link {
    background-color: rgba(59, 103, 155, 0.07);
    color: var(--biblio-ink-hover);
    box-shadow: none;
}

:root[data-theme-mode="claro"] .app-sidebar .sidebar-menu .nav-treeview {
    margin: 0 8px;
    border-radius: var(--biblio-radius-sm);
    background: rgba(32, 38, 46, 0.04);
}

:root[data-theme-mode="claro"] .app-sidebar .sidebar-menu .nav-treeview .nav-link {
    margin: 1px 4px;
}

:root[data-theme-mode="claro"] .app-sidebar .nav-header {
    color: var(--biblio-muted);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

/* Widget de control de accesos: el original asume sidebar oscuro (texto
   blanco); en claro el sidebar es claro, así que se invierte. */
:root[data-theme-mode="claro"] .control-accesos-card {
    background: rgba(32, 38, 46, 0.05);
}

:root[data-theme-mode="claro"] .control-accesos-title {
    color: var(--biblio-muted);
}

:root[data-theme-mode="claro"] .control-accesos-total {
    color: #3c4854;
    border-top-color: rgba(32, 38, 46, 0.12);
}

:root[data-theme-mode="claro"] .control-accesos-total strong {
    color: var(--biblio-text);
}

/* ---------- Footer ---------- */
:root[data-theme-mode="claro"] .app-footer {
    background-color: var(--biblio-paper-2) !important;
    border-top: 1px solid var(--biblio-border);
    color: var(--biblio-muted);
}

/* ---------- GridView: panel, cabeceras y barra de herramientas ---------- */
:root[data-theme-mode="claro"] .grid-view>.card,
:root[data-theme-mode="claro"] .kv-grid-container,
:root[data-theme-mode="claro"] .kv-grid-container>.card,
:root[data-theme-mode="claro"] .kv-grid-container>.panel {
    border-color: var(--bc-ui-table-border, var(--biblio-border)) !important;
}

:root[data-theme-mode="claro"] .grid-view .panel-heading,
:root[data-theme-mode="claro"] .grid-view .card-header,
:root[data-theme-mode="claro"] .kv-grid-container .panel-heading,
:root[data-theme-mode="claro"] .kv-grid-container .card-header {
    background-color: var(--bc-ui-soft, var(--biblio-paper-2)) !important;
    border-color: var(--bc-ui-table-border, var(--biblio-border)) !important;
    color: var(--bc-ui-text, var(--biblio-text)) !important;
}

:root[data-theme-mode="claro"] .grid-view table>thead>tr>th,
:root[data-theme-mode="claro"] .kv-grid-table>thead>tr>th,
:root[data-theme-mode="claro"] .table>thead>tr>th {
    background-color: var(--bc-ui-soft, var(--biblio-paper-2)) !important;
    color: var(--bc-ui-text, var(--biblio-text)) !important;
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.025em;
    border-color: var(--bc-ui-table-border, var(--biblio-border)) !important;
    border-bottom: 2px solid var(--bc-ui-accent, var(--biblio-ink)) !important;
    vertical-align: middle;
    padding: 0.58rem 0.55rem;
    text-transform: uppercase;
}

:root[data-theme-mode="claro"] .grid-view table>thead>tr>th a,
:root[data-theme-mode="claro"] .kv-grid-table>thead>tr>th a,
:root[data-theme-mode="claro"] .table>thead>tr>th a {
    color: var(--bc-ui-text, var(--biblio-text)) !important;
    text-decoration: none;
}

:root[data-theme-mode="claro"] .grid-view table>thead>tr>th a:hover,
:root[data-theme-mode="claro"] .kv-grid-table>thead>tr>th a:hover,
:root[data-theme-mode="claro"] .table>thead>tr>th a:hover {
    color: var(--biblio-ink) !important;
    text-decoration: underline;
}

:root[data-theme-mode="claro"] .grid-view table>thead>tr.filters>td,
:root[data-theme-mode="claro"] .grid-view table>thead>tr:nth-child(2)>td,
:root[data-theme-mode="claro"] .kv-grid-table>thead>tr.filters>td {
    background-color: var(--bc-ui-soft, var(--biblio-paper-2)) !important;
    border-bottom: 1px solid var(--bc-ui-table-border, var(--biblio-border)) !important;
}

:root[data-theme-mode="claro"] .grid-view table>thead>tr>th[rowspan],
:root[data-theme-mode="claro"] .kv-grid-table>thead>tr>th[rowspan] {
    vertical-align: middle !important;
    background-color: var(--bc-ui-soft, var(--biblio-paper-2)) !important;
}

:root[data-theme-mode="claro"] .kv-panel-before,
:root[data-theme-mode="claro"] .kv-panel-after {
    background-color: var(--bc-ui-soft, var(--biblio-paper-2)) !important;
    border-top: 1px solid var(--bc-ui-table-border, var(--biblio-border)) !important;
    border-bottom: 1px solid var(--bc-ui-table-border, var(--biblio-border)) !important;
    padding: 0.55rem 0.75rem;
}

:root[data-theme-mode="claro"] .kv-panel-before .summary,
:root[data-theme-mode="claro"] .kv-panel-after .summary {
    color: var(--biblio-ink-hover);
}

:root[data-theme-mode="claro"] .grid-view .table>tbody>tr>td,
:root[data-theme-mode="claro"] .kv-grid-table>tbody>tr>td {
    vertical-align: middle;
    border-color: var(--bc-ui-table-border, var(--biblio-border));
}

:root[data-theme-mode="claro"] .grid-view .table>tbody>tr:hover>td,
:root[data-theme-mode="claro"] .kv-grid-table>tbody>tr:hover>td {
    background-color: var(--bc-ui-table-hover, #eef5fb);
}

:root[data-theme-mode="claro"] .table {
    --bs-table-striped-bg: rgba(59, 103, 155, 0.04);
}

/* ---------- Cards: superficie elevada sobre el fondo ---------- */
:root[data-theme-mode="claro"] .card {
    --bs-card-bg: var(--biblio-surface);
    --bs-card-border-color: var(--biblio-border);
    --bs-card-border-radius: var(--biblio-radius);
    --bs-card-inner-border-radius: calc(var(--biblio-radius) - 1px);
    --bs-card-cap-bg: var(--biblio-paper-2);
}

/* ---------- Migas de pan ---------- */
:root[data-theme-mode="claro"] .breadcrumb {
    --bs-breadcrumb-divider: "›";
    --bs-breadcrumb-item-active-color: var(--biblio-muted);
}

:root[data-theme-mode="claro"] .breadcrumb a {
    color: var(--biblio-ink);
    text-decoration: none;
}

:root[data-theme-mode="claro"] .breadcrumb a:hover {
    color: var(--biblio-ink-hover);
    text-decoration: underline;
}

/* ---------- Paginación ---------- */
:root[data-theme-mode="claro"] .pagination {
    --bs-pagination-color: var(--biblio-ink);
    --bs-pagination-bg: var(--biblio-surface);
    --bs-pagination-border-color: var(--biblio-border);
    --bs-pagination-hover-color: var(--biblio-ink-hover);
    --bs-pagination-hover-bg: var(--biblio-ink-soft);
    --bs-pagination-hover-border-color: var(--biblio-border-strong);
    --bs-pagination-focus-color: var(--biblio-ink-hover);
    --bs-pagination-focus-bg: var(--biblio-ink-soft);
    --bs-pagination-focus-box-shadow: var(--biblio-focus-ring);
    --bs-pagination-active-color: var(--biblio-on-accent);
    --bs-pagination-active-bg: var(--biblio-ink);
    --bs-pagination-active-border-color: var(--biblio-ink);
    --bs-pagination-disabled-bg: var(--biblio-surface-muted);
    --bs-pagination-disabled-border-color: var(--biblio-border);
}

/* ---------- Pestañas y pills ---------- */
:root[data-theme-mode="claro"] .nav-tabs {
    --bs-nav-tabs-border-color: var(--biblio-border);
    --bs-nav-tabs-link-active-color: var(--biblio-text);
    --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
    --bs-nav-tabs-link-active-border-color: var(--biblio-border) var(--biblio-border) var(--bs-body-bg);
    --bs-nav-link-color: var(--biblio-ink);
    --bs-nav-link-hover-color: var(--biblio-ink-hover);
}

:root[data-theme-mode="claro"] .nav-pills {
    --bs-nav-pills-link-active-color: var(--biblio-on-accent);
    --bs-nav-pills-link-active-bg: var(--biblio-ink);
    --bs-nav-link-color: var(--biblio-ink);
    --bs-nav-link-hover-color: var(--biblio-ink-hover);
}

/* ---------- Dropdowns y modales ---------- */
:root[data-theme-mode="claro"] .dropdown-menu {
    --bs-dropdown-bg: var(--biblio-surface);
    --bs-dropdown-border-color: var(--biblio-border);
    --bs-dropdown-border-radius: var(--biblio-radius);
    --bs-dropdown-link-hover-bg: var(--biblio-ink-soft);
    --bs-dropdown-link-active-color: var(--biblio-on-accent);
    --bs-dropdown-link-active-bg: var(--biblio-ink);
    box-shadow: var(--biblio-shadow-md);
}

:root[data-theme-mode="claro"] .modal-content {
    --bs-modal-bg: var(--biblio-surface);
    border: 1px solid var(--biblio-border);
    border-radius: var(--biblio-radius-lg);
    box-shadow: var(--biblio-shadow-md);
}

:root[data-theme-mode="claro"] .modal-header {
    background: var(--biblio-paper-2);
    border-bottom-color: var(--biblio-border);
}

:root[data-theme-mode="claro"] .modal-footer {
    border-top-color: var(--biblio-border);
}

/* ---------- Alertas ---------- */
:root[data-theme-mode="claro"] .alert-success {
    --bs-alert-color: var(--biblio-state-success-text);
    --bs-alert-bg: var(--biblio-state-success-bg);
    --bs-alert-border-color: var(--biblio-state-success-border);
    --bs-alert-link-color: var(--biblio-state-success-text);
}

:root[data-theme-mode="claro"] .alert-danger {
    --bs-alert-color: var(--biblio-state-danger-text);
    --bs-alert-bg: var(--biblio-state-danger-bg);
    --bs-alert-border-color: var(--biblio-state-danger-border);
    --bs-alert-link-color: var(--biblio-state-danger-text);
}

:root[data-theme-mode="claro"] .alert-warning {
    --bs-alert-color: var(--biblio-state-warning-text);
    --bs-alert-bg: var(--biblio-state-warning-bg);
    --bs-alert-border-color: var(--biblio-state-warning-border);
    --bs-alert-link-color: var(--biblio-state-warning-text);
}

:root[data-theme-mode="claro"] .alert-info {
    --bs-alert-color: var(--biblio-state-info-text);
    --bs-alert-bg: var(--biblio-state-info-bg);
    --bs-alert-border-color: var(--biblio-state-info-border);
    --bs-alert-link-color: var(--biblio-state-info-text);
}

/* ---------- Formularios: borde, radio y foco coherentes ---------- */
:root[data-theme-mode="claro"] .form-control,
:root[data-theme-mode="claro"] .form-select {
    border-color: var(--biblio-border-strong);
    border-radius: var(--biblio-radius-sm);
}

:root[data-theme-mode="claro"] .form-control:focus,
:root[data-theme-mode="claro"] .form-select:focus {
    border-color: var(--biblio-ink);
    box-shadow: var(--biblio-focus-ring);
}

:root[data-theme-mode="claro"] .form-check-input:checked {
    background-color: var(--biblio-ink);
    border-color: var(--biblio-ink);
}

:root[data-theme-mode="claro"] .form-check-input:focus {
    border-color: var(--biblio-ink);
    box-shadow: var(--biblio-focus-ring);
}

/* ---------- Utilidades contextuales ---------- */
:root[data-theme-mode="claro"] .text-primary {
    color: var(--biblio-ink) !important;
}

:root[data-theme-mode="claro"] .text-success {
    color: var(--biblio-state-success-text) !important;
}

:root[data-theme-mode="claro"] .text-danger {
    color: var(--biblio-state-danger-text) !important;
}

:root[data-theme-mode="claro"] .text-info {
    color: var(--biblio-state-info-text) !important;
}

:root[data-theme-mode="claro"] .text-warning {
    color: var(--biblio-state-warning-text) !important;
}

:root[data-theme-mode="claro"] .bg-primary {
    background-color: var(--biblio-ink) !important;
    color: var(--biblio-on-accent) !important;
}

:root[data-theme-mode="claro"] .bg-success {
    background-color: var(--biblio-sage) !important;
    color: var(--biblio-on-sage) !important;
}

:root[data-theme-mode="claro"] .bg-warning {
    background-color: var(--biblio-parchment) !important;
    color: var(--biblio-on-warning) !important;
}

:root[data-theme-mode="claro"] .bg-danger {
    background-color: var(--biblio-terracotta) !important;
    color: var(--biblio-on-terracotta) !important;
}

:root[data-theme-mode="claro"] .bg-info {
    background-color: var(--biblio-teal) !important;
    color: var(--biblio-on-teal) !important;
}

:root[data-theme-mode="claro"] .badge {
    border-radius: 999px;
    font-weight: 600;
    letter-spacing: 0.2px;
}

/* ---------- Barra de progreso ---------- */
:root[data-theme-mode="claro"] .progress {
    --bs-progress-bar-bg: var(--biblio-ink);
}

/* ---------- Cards AdminLTE "card-primary" ---------- */
:root[data-theme-mode="claro"] .card-primary:not(.card-outline)>.card-header {
    background-color: var(--bc-ui-soft, var(--biblio-paper-2));
    border-color: var(--bc-ui-table-border, var(--biblio-border));
    color: var(--bc-ui-text, var(--biblio-text));
}

:root[data-theme-mode="claro"] .card-primary:not(.card-outline)>.card-header .card-title {
    color: var(--bc-ui-text, var(--biblio-text));
}

/* ---------- Formularios bc-*: acento azul del tema ---------- */
:root[data-theme-mode="claro"] .bc-form,
:root[data-theme-mode="claro"] .libro-form-wrapper,
:root[data-theme-mode="claro"] .biblioteca-form-wrapper,
:root[data-theme-mode="claro"] .configuracion-form-wrapper {
    --bc-accent: var(--biblio-ink);
    --bc-accent-hover: var(--biblio-ink-hover);
    --bc-accent-soft: var(--biblio-ink-soft);
    --bc-section-bg: var(--biblio-surface);
    --bc-section-border: var(--biblio-border);
    --bc-actionbar-bg: rgba(255, 255, 255, 0.96);
    --bc-actionbar-border: var(--biblio-border);
}

/* Select2: el CSS del widget trae fondo blanco fijo; se repinta con el
   mismo fondo que usan el resto de inputs (var(--bs-body-bg)). */
:root[data-theme-mode="claro"] .select2-container .select2-selection {
    background-color: var(--bs-body-bg) !important;
}

:root[data-theme-mode="claro"] .select2-container .select2-search--inline .select2-search__field {
    background-color: transparent;
}

/* ---------- Controles identificables y texto secundario legible ---------- */
:root[data-theme-mode="claro"] :where(.form-control, .form-select, .form-check-input) {
    border-color: var(--biblio-control-border) !important;
}

:root[data-theme-mode="claro"] :where(.form-control, .form-select, .input-group-text) {
    color: var(--biblio-text);
}

:root[data-theme-mode="claro"] :where(.form-control, .form-select)[readonly] {
    background-color: var(--biblio-paper-2);
}

:root[data-theme-mode="claro"] ::placeholder,
:root[data-theme-mode="claro"] .select2-container .select2-search__field::placeholder,
:root[data-theme-mode="claro"] .select2-container .select2-selection__placeholder {
    color: var(--biblio-placeholder) !important;
    opacity: 1;
}

:root[data-theme-mode="claro"] .form-check-input:checked {
    border-color: var(--biblio-ink) !important;
    background-color: var(--biblio-ink);
}

:root[data-theme-mode="claro"] .form-range::-webkit-slider-thumb {
    background-color: var(--biblio-text);
}

:root[data-theme-mode="claro"] .form-range::-moz-range-thumb {
    background-color: var(--biblio-text);
}

:root[data-theme-mode="claro"] .form-range::-webkit-slider-runnable-track {
    background-color: var(--biblio-control-border);
}

:root[data-theme-mode="claro"] .form-range::-moz-range-track {
    background-color: var(--biblio-control-border);
}

:root[data-theme-mode="claro"] input:-webkit-autofill,
:root[data-theme-mode="claro"] textarea:-webkit-autofill,
:root[data-theme-mode="claro"] select:-webkit-autofill {
    -webkit-text-fill-color: var(--biblio-text);
    caret-color: var(--biblio-text);
    -webkit-box-shadow: 0 0 0 1000px var(--biblio-surface) inset;
    box-shadow: 0 0 0 1000px var(--biblio-surface) inset;
}

:root[data-theme-mode="claro"] input:autofill {
    color: var(--biblio-text);
    background-color: var(--biblio-surface);
    caret-color: var(--biblio-text);
}

/* El navegador conserva el formato de Select2; solo se ajustan sus colores. */
:root[data-theme-mode="claro"] .select2-container .select2-selection,
:root[data-theme-mode="claro"] .select2-dropdown,
:root[data-theme-mode="claro"] .select2-container .select2-search__field,
:root[data-theme-mode="claro"] .select2-dropdown .select2-search__field {
    border-color: var(--biblio-control-border) !important;
    background-color: var(--biblio-surface) !important;
    color: var(--biblio-text) !important;
}

:root[data-theme-mode="claro"] .select2-container .select2-selection__rendered,
:root[data-theme-mode="claro"] .select2-dropdown .select2-results__option {
    color: var(--biblio-text);
}

:root[data-theme-mode="claro"] .select2-container .select2-selection__choice {
    border-color: var(--biblio-border-strong);
    background-color: var(--biblio-ink-soft);
    color: var(--biblio-ink-hover);
}

:root[data-theme-mode="claro"] :is(.select2-selection__clear, .select2-selection__choice__remove) {
    color: var(--biblio-ink-hover) !important;
}

:root[data-theme-mode="claro"] .select2-selection__arrow b {
    border-top-color: var(--biblio-muted) !important;
}

:root[data-theme-mode="claro"] .select2-container--open .select2-selection__arrow b {
    border-top-color: transparent !important;
    border-bottom-color: var(--biblio-muted) !important;
}

:root[data-theme-mode="claro"] .select2-results__option[aria-selected="true"],
:root[data-theme-mode="claro"] .select2-results__option--selected {
    background-color: var(--biblio-ink-soft);
    font-weight: 700;
}

:root[data-theme-mode="claro"] .select2-dropdown .select2-results__option--highlighted[aria-selected],
:root[data-theme-mode="claro"] .select2-dropdown .select2-results__option--highlighted[aria-selected="true"] {
    background-color: var(--biblio-ink) !important;
    color: var(--biblio-on-accent) !important;
    box-shadow: inset 3px 0 0 var(--biblio-on-accent);
}

:root[data-theme-mode="claro"] .select2-container--focus .select2-selection,
:root[data-theme-mode="claro"] .select2-container--open .select2-selection,
:root[data-theme-mode="claro"] .select2-selection:focus-visible {
    border-color: var(--biblio-focus-color) !important;
    outline: 2px solid var(--biblio-focus-color);
    outline-offset: 3px;
    box-shadow: var(--biblio-focus-ring);
}

/* ---------- Badges y etiquetas antiguas: el par completo pertenece al rol ---------- */
:root[data-theme-mode="claro"] :is(.badge.bg-primary, .text-bg-primary, .label-primary) {
    background-color: var(--biblio-ink) !important;
    color: var(--biblio-on-accent) !important;
}

:root[data-theme-mode="claro"] :is(.badge.bg-success, .text-bg-success, .label-success) {
    background-color: var(--biblio-sage) !important;
    color: var(--biblio-on-sage) !important;
}

:root[data-theme-mode="claro"] :is(.badge.bg-warning, .text-bg-warning, .label-warning) {
    background-color: var(--biblio-parchment) !important;
    color: var(--biblio-on-warning) !important;
}

:root[data-theme-mode="claro"] :is(.badge.bg-danger, .text-bg-danger, .label-danger) {
    background-color: var(--biblio-terracotta) !important;
    color: var(--biblio-on-terracotta) !important;
}

:root[data-theme-mode="claro"] :is(.badge.bg-info, .text-bg-info, .label-info) {
    background-color: var(--biblio-teal) !important;
    color: var(--biblio-on-teal) !important;
}

:root[data-theme-mode="claro"] :is(.badge.bg-secondary, .text-bg-secondary, .label-default) {
    background-color: var(--biblio-kraft) !important;
    color: var(--biblio-on-kraft) !important;
}

:root[data-theme-mode="claro"] .progress-bar.bg-warning {
    background-color: var(--biblio-state-warning-text) !important;
    color: var(--biblio-on-accent) !important;
}

/* ---------- Subtemas Bootstrap locales y navegación ---------- */
:root[data-theme-mode="claro"] :is(.app-sidebar, .app-footer) {
    --bs-body-bg: var(--biblio-surface);
    --bs-tertiary-bg: var(--biblio-paper-2);
    --bs-secondary-bg: var(--biblio-paper-3);
    --bs-body-color: var(--biblio-text);
    --bs-secondary-color: var(--biblio-muted);
    --bs-secondary-color-rgb: 91, 102, 113;
    --bs-tertiary-color: var(--biblio-muted);
    --bs-tertiary-color-rgb: 91, 102, 113;
    --bs-border-color: var(--biblio-border);
    --bs-link-color: var(--biblio-ink);
    --bs-link-hover-color: var(--biblio-ink-hover);
}

:root[data-theme-mode="claro"] .dropdown-menu {
    --bs-dropdown-color: var(--biblio-text);
    --bs-dropdown-link-color: var(--biblio-text);
    --bs-dropdown-link-hover-color: var(--biblio-ink-hover);
    --bs-dropdown-link-disabled-color: var(--biblio-muted);
}

:root[data-theme-mode="claro"] .app-header :is(.nav-link, .navbar-brand, .btn-link):focus-visible {
    outline: 2px solid #fff !important;
    outline-offset: 3px;
    box-shadow: 0 0 0 0.16rem rgba(255, 255, 255, 0.25) !important;
}

:root[data-theme-mode="claro"] .app-sidebar :is(a, button, input, [tabindex]):focus-visible {
    outline-color: var(--biblio-focus-on-sidebar) !important;
}

:root[data-theme-mode="claro"] :is(.app-header, .app-sidebar) .nav-link:hover {
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

:root[data-theme-mode="claro"] :is(.nav-tabs, .nav-pills, .dropdown-menu, .pagination) :is(.active, [aria-current="page"]) {
    font-weight: 700;
}

:root[data-theme-mode="claro"] .pagination :is(.active > .page-link, .page-link[aria-current="page"]) {
    box-shadow: inset 0 -2px 0 var(--biblio-on-accent);
}

:root[data-theme-mode="claro"] .pagination .page-link:hover {
    text-decoration: underline;
}

/* ---------- Ayudas flotantes y cierre de modales ---------- */
:root[data-theme-mode="claro"] .popover {
    --bs-popover-bg: var(--biblio-surface);
    --bs-popover-body-color: var(--biblio-text);
    --bs-popover-header-bg: var(--biblio-paper-2);
    --bs-popover-header-color: var(--biblio-text);
    --bs-popover-border-color: var(--biblio-border);
}

:root[data-theme-mode="claro"] .tooltip {
    --bs-tooltip-bg: var(--biblio-text);
    --bs-tooltip-color: var(--biblio-on-accent);
    --bs-tooltip-opacity: 1;
}

:root[data-theme-mode="claro"] .btn-close {
    --bs-btn-close-opacity: 1;
    --bs-btn-close-hover-opacity: 1;
    --bs-btn-close-focus-opacity: 1;
    filter: none;
}

:root[data-theme-mode="claro"] :is(a, button, input, select, textarea, [tabindex], [role="button"]):focus-visible {
    outline: 2px solid var(--biblio-focus-color) !important;
    outline-offset: 3px;
}

:root[data-theme-mode="claro"] .has-error .select2-container .select2-selection {
    border-color: var(--biblio-terracotta) !important;
}

:root[data-theme-mode="claro"] .has-success .select2-container .select2-selection {
    border-color: var(--biblio-sage) !important;
}

:root[data-theme-mode="claro"] :is(input, textarea, select):-webkit-autofill:focus {
    -webkit-box-shadow: 0 0 0 1000px var(--biblio-surface) inset, var(--biblio-focus-ring);
    box-shadow: 0 0 0 1000px var(--biblio-surface) inset, var(--biblio-focus-ring);
}

:root[data-theme-mode="claro"] .bg-secondary {
    background-color: var(--biblio-kraft) !important;
    color: var(--biblio-on-kraft) !important;
}

/* Un label que actúa como botón conserva el par del botón, también en formularios. */
:root[data-theme-mode="claro"] label.btn {
    color: var(--bs-btn-color) !important;
}

:root[data-theme-mode="claro"] label.btn:is(:hover, :focus-visible) {
    color: var(--bs-btn-hover-color, var(--bs-btn-color)) !important;
}

:root[data-theme-mode="claro"] label.btn:is(:active, .active, [aria-pressed="true"]) {
    color: var(--bs-btn-active-color, var(--bs-btn-color)) !important;
}

:root[data-theme-mode="claro"] label.btn:is(.disabled, [aria-disabled="true"]) {
    color: var(--bs-btn-disabled-color, var(--bs-btn-color)) !important;
}

/* Calendarios heredados: sus colores fijos no consumen las variables de Bootstrap. */
:root[data-theme-mode="claro"] :is(.daterangepicker, .datepicker, .bootstrap-datetimepicker-widget, .datetimepicker) {
    background-color: var(--biblio-surface);
    border-color: var(--biblio-border);
    color: var(--biblio-text);
}

:root[data-theme-mode="claro"] .daterangepicker :is(.calendar-table, .drp-buttons, .ranges),
:root[data-theme-mode="claro"] :is(.datepicker, .bootstrap-datetimepicker-widget, .datetimepicker) table {
    background-color: var(--biblio-surface);
    border-color: var(--biblio-border);
    color: var(--biblio-text);
}

:root[data-theme-mode="claro"] .daterangepicker.show-ranges :is(.drp-calendar.left, .drp-buttons) {
    border-color: var(--biblio-border);
}

:root[data-theme-mode="claro"] .daterangepicker::before,
:root[data-theme-mode="claro"] .datepicker-dropdown::before,
:root[data-theme-mode="claro"] .bootstrap-datetimepicker-widget.dropdown-menu::before,
:root[data-theme-mode="claro"] .datetimepicker-dropdown-bottom-left::before,
:root[data-theme-mode="claro"] .datetimepicker-dropdown-bottom-right::before {
    border-bottom-color: var(--biblio-border);
}

:root[data-theme-mode="claro"] .daterangepicker::after,
:root[data-theme-mode="claro"] .datepicker-dropdown::after,
:root[data-theme-mode="claro"] .bootstrap-datetimepicker-widget.dropdown-menu::after,
:root[data-theme-mode="claro"] .datetimepicker-dropdown-bottom-left::after,
:root[data-theme-mode="claro"] .datetimepicker-dropdown-bottom-right::after {
    border-bottom-color: var(--biblio-surface);
}

:root[data-theme-mode="claro"] .datepicker-dropdown.datepicker-orient-top::before,
:root[data-theme-mode="claro"] .bootstrap-datetimepicker-widget.dropdown-menu.top::before,
:root[data-theme-mode="claro"] .datetimepicker-dropdown-top-left::before,
:root[data-theme-mode="claro"] .datetimepicker-dropdown-top-right::before {
    border-top-color: var(--biblio-border);
}

:root[data-theme-mode="claro"] .datepicker-dropdown.datepicker-orient-top::after,
:root[data-theme-mode="claro"] .bootstrap-datetimepicker-widget.dropdown-menu.top::after,
:root[data-theme-mode="claro"] .datetimepicker-dropdown-top-left::after,
:root[data-theme-mode="claro"] .datetimepicker-dropdown-top-right::after {
    border-top-color: var(--biblio-surface);
}

:root[data-theme-mode="claro"] .daterangepicker :is(.ranges li, td, th) {
    color: var(--biblio-text);
}

:root[data-theme-mode="claro"] .daterangepicker :is(.drp-selected, td.week, th.week),
:root[data-theme-mode="claro"] .datepicker table tr :is(td.cw, th.cw) {
    color: var(--biblio-muted);
}

:root[data-theme-mode="claro"] .daterangepicker :is(select, .calendar-time select, input),
:root[data-theme-mode="claro"] :is(.bootstrap-datetimepicker-widget, .datetimepicker) :is(select, input) {
    background-color: var(--biblio-surface);
    border-color: var(--biblio-control-border);
    color: var(--biblio-text);
}

:root[data-theme-mode="claro"] .daterangepicker :is(td.off, td.off.in-range, td.off.start-date, td.off.end-date),
:root[data-theme-mode="claro"] .datepicker table tr :is(td.old, td.new, td span.old, td span.new),
:root[data-theme-mode="claro"] :is(.bootstrap-datetimepicker-widget, .datetimepicker) table :is(td.old, td.new, td span.old, td span.new) {
    background-color: var(--biblio-paper-2);
    color: var(--biblio-muted);
}

:root[data-theme-mode="claro"] .daterangepicker td.in-range,
:root[data-theme-mode="claro"] .datepicker table tr :is(td.range, td.highlighted, td span.highlighted),
:root[data-theme-mode="claro"] :is(.bootstrap-datetimepicker-widget, .datetimepicker) table td.highlighted {
    background-color: var(--biblio-ink-soft);
    background-image: none;
    color: var(--biblio-ink-hover);
    text-shadow: none;
}

:root[data-theme-mode="claro"] .datepicker table tr :is(td.today, td.today:hover, td.today.disabled),
:root[data-theme-mode="claro"] :is(.bootstrap-datetimepicker-widget, .datetimepicker) table td.today {
    background-color: var(--biblio-state-warning-bg);
    background-image: none;
    color: var(--biblio-state-warning-text);
    text-shadow: none;
}

:root[data-theme-mode="claro"] :is(.bootstrap-datetimepicker-widget, .datetimepicker) table td.today::before {
    border-bottom-color: var(--biblio-state-warning-text);
}

:root[data-theme-mode="claro"] .daterangepicker :is(td.available:hover, th.available:hover, .ranges li:hover),
:root[data-theme-mode="claro"] .datepicker table tr :is(td.day:hover, td.focused, td span:hover, th.prev:hover, th.next:hover, th.datepicker-switch:hover, th.today:hover, th.clear:hover),
:root[data-theme-mode="claro"] :is(.bootstrap-datetimepicker-widget, .datetimepicker) table :is(td.day:hover, td.hour:hover, td.minute:hover, td.second:hover, td span:hover, th.prev:hover, th.next:hover, th.picker-switch:hover) {
    background-color: var(--biblio-ink-soft);
    background-image: none;
    color: var(--biblio-text);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

/* Selección y extremos del rango: blanco/tinta 5,83:1; se conserva su forma. */
:root[data-theme-mode="claro"] .daterangepicker :is(td.active, td.active:hover, .ranges li.active, .ranges li.active:hover),
:root[data-theme-mode="claro"] .datepicker table tr :is(td.active, td.active:hover, td.active.highlighted, td.active.highlighted:hover, td.selected, td.selected:hover, td span.active, td span.active:hover),
:root[data-theme-mode="claro"] :is(.bootstrap-datetimepicker-widget, .datetimepicker) table :is(td.active, td.active:hover, td span.active, td span.active:hover) {
    background-color: var(--biblio-ink);
    background-image: none;
    color: var(--biblio-on-accent);
    font-weight: 700;
    text-shadow: none;
    box-shadow: inset 0 -2px 0 var(--biblio-on-accent);
}

:root[data-theme-mode="claro"] :is(.bootstrap-datetimepicker-widget, .datetimepicker) table td.today.active::before {
    border-bottom-color: var(--biblio-on-accent);
}

:root[data-theme-mode="claro"] .daterangepicker :is(td.disabled, option:disabled),
:root[data-theme-mode="claro"] .datepicker table tr :is(td.disabled, td.disabled:hover, td span.disabled, td span.disabled:hover, th.disabled, th.disabled:hover),
:root[data-theme-mode="claro"] :is(.bootstrap-datetimepicker-widget, .datetimepicker) table :is(td.disabled, td.disabled:hover, td span.disabled, td span.disabled:hover, th.disabled, th.disabled:hover) {
    background-color: var(--biblio-paper-2);
    background-image: none;
    color: var(--biblio-muted);
    text-decoration: line-through;
    text-shadow: none;
    box-shadow: none;
}

:root[data-theme-mode="claro"] .daterangepicker .calendar-table :is(.next span, .prev span) {
    border-color: var(--biblio-text);
}

:root[data-theme-mode="claro"] .daterangepicker .calendar-table :is(.next.disabled span, .prev.disabled span) {
    border-color: var(--biblio-muted);
}

:root[data-theme-mode="claro"] :is(.daterangepicker, .datepicker, .bootstrap-datetimepicker-widget, .datetimepicker) :is(td, th, li, span)[tabindex]:focus-visible {
    outline: 2px solid var(--biblio-focus-color) !important;
    outline-offset: 2px;
}
