:root {
    color-scheme: light;
}
[data-bs-theme="dark"] {
    color-scheme: dark;
}
body{
    font-size: small;
}
.navbar-brand{
    font-size: larger;
}
.fs-navbar-actions {
    gap: .25rem;
}
.fs-navbar-actions .nav-link {
    padding-left: .5rem;
    padding-right: .5rem;
}
.fs-navbar-actions .dropdown-menu {
    position: absolute;
}
.form-control {
    border-radius: .5rem;
    font-size: inherit;
}

.btn {
    font-size: smaller;
}
.dropdown-menu {    
    border-radius: 1rem;
    font-size: small;
}
.form-control:focus {
    border: 1px solid var(--bs-primary) !important;
    box-shadow: 0 4px 8px rgba(var(--bs-primary-rgb), 0.2);
}
/*
 * Bootstrap adapta las superficies generales con data-bs-theme, pero sus
 * variantes semanticas de tabla conservan la paleta clara. BaseFS es la capa
 * comun para normalizarlas sin cambiar Core ni cada plugin que use table-*.
 */
[data-bs-theme="dark"] .table {
    --bs-table-color: var(--bs-body-color);
    --bs-table-bg: transparent;
    --bs-table-border-color: var(--bs-border-color);
    --bs-table-striped-color: var(--bs-body-color);
    --bs-table-striped-bg: rgba(255, 255, 255, 0.045);
    --bs-table-active-color: var(--bs-emphasis-color);
    --bs-table-active-bg: rgba(255, 255, 255, 0.12);
    --bs-table-hover-color: var(--bs-emphasis-color);
    --bs-table-hover-bg: rgba(255, 255, 255, 0.07);
}

/* Estados de fila: conservan su significado sin convertirse en superficies claras. */
[data-bs-theme="dark"] .table-primary {
    --bs-table-color: #e3edff;
    --bs-table-bg: #142f5f;
    --bs-table-border-color: #31538a;
    --bs-table-striped-bg: #19386d;
    --bs-table-hover-bg: #1d407a;
}

[data-bs-theme="dark"] .table-secondary {
    --bs-table-color: #f1f3f5;
    --bs-table-bg: #343a40;
    --bs-table-border-color: #555d66;
    --bs-table-striped-bg: #3d444b;
    --bs-table-hover-bg: #464e56;
}

[data-bs-theme="dark"] .table-success {
    --bs-table-color: #d7f5e6;
    --bs-table-bg: #113b2d;
    --bs-table-border-color: #2d644c;
    --bs-table-striped-bg: #174533;
    --bs-table-hover-bg: #1b503b;
}

[data-bs-theme="dark"] .table-info {
    --bs-table-color: #d7f7ff;
    --bs-table-bg: #083b47;
    --bs-table-border-color: #246573;
    --bs-table-striped-bg: #0d4653;
    --bs-table-hover-bg: #10515f;
}

[data-bs-theme="dark"] .table-warning {
    --bs-table-color: #fff0b3;
    --bs-table-bg: #4b3b0a;
    --bs-table-border-color: #755f22;
    --bs-table-striped-bg: #574611;
    --bs-table-hover-bg: #625116;
    background-color: transparent;
}

[data-bs-theme="dark"] .table-danger {
    --bs-table-color: #ffe0e3;
    --bs-table-bg: #4c1f25;
    --bs-table-border-color: #7c3d46;
    --bs-table-striped-bg: #58272e;
    --bs-table-hover-bg: #633039;
}

[data-bs-theme="dark"] .table-light {
    --bs-table-color: #f8f9fa;
    --bs-table-bg: #343a40;
    --bs-table-border-color: #555d66;
    --bs-table-striped-bg: #3d444b;
    --bs-table-hover-bg: #464e56;
}

[data-bs-theme="dark"] .table-dark {
    --bs-table-color: #f8f9fa;
    --bs-table-bg: #1a1d20;
    --bs-table-border-color: #343a40;
    --bs-table-striped-bg: #24282c;
    --bs-table-hover-bg: #2c3136;
}

/* Plantillas heredadas de FacturaScripts que aun usan la utilidad Bootstrap bg-light. */
[data-bs-theme="dark"] .bg-light {
    background-color: var(--bs-tertiary-bg) !important;
}

[data-bs-theme="dark"] .bg-light.text-dark {
    color: var(--bs-light) !important;
}

/*
 * Las vistas de lista del core usan btn-outline-dark para la paginacion.
 * Bootstrap fija esa variante a #212529, por lo que sus paginas inactivas
 * pierden contraste con el fondo oscuro. Se adapta la variante desde BaseFS
 * para conservar compatibilidad con las plantillas del core.
 */
[data-bs-theme="dark"] .btn-outline-dark {
    --bs-btn-color: var(--bs-body-color);
    --bs-btn-border-color: var(--bs-border-color);
    --bs-btn-hover-color: var(--bs-emphasis-color);
    --bs-btn-hover-bg: var(--bs-secondary-bg);
    --bs-btn-hover-border-color: var(--bs-border-color);
    --bs-btn-focus-shadow-rgb: var(--bs-primary-rgb);
    --bs-btn-active-color: var(--bs-white);
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
    --bs-btn-disabled-color: var(--bs-secondary-color);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .nav-tabs-scroll {
    border-bottom-color: var(--bs-border-color) !important;
}

[data-bs-theme="dark"] .nav-tabs-wrapper::-webkit-scrollbar-track {
    background: var(--bs-tertiary-bg);
}

[data-bs-theme="dark"] .nav-tabs-wrapper::-webkit-scrollbar-thumb {
    background: var(--bs-secondary-color);
}

[data-bs-theme="dark"] .nav-tabs-wrapper::-webkit-scrollbar-thumb:hover {
    background: var(--bs-secondary-bg);
}

/* Select2 bootstrap-5 se compila con colores claros y no lee data-bs-theme. */
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border-color: var(--bs-border-color);
    border-radius: .5rem;
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 16 16'%3e%3cpath d='m4 6 4 4 4-4'/%3e%3c/svg%3e");
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered {
    color: var(--bs-body-color);
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single .select2-selection__rendered .select2-selection__placeholder,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field::placeholder,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--multiple .select2-search .select2-search__field::placeholder {
    color: var(--bs-secondary-color);
    opacity: 1;
}

[data-bs-theme="dark"] .select2-container--bootstrap-5.select2-container--focus .select2-selection,
[data-bs-theme="dark"] .select2-container--bootstrap-5.select2-container--open .select2-selection {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}

[data-bs-theme="dark"] .select2-container--bootstrap-5.select2-container--disabled .select2-selection,
[data-bs-theme="dark"] .select2-container--bootstrap-5.select2-container--disabled.select2-container--focus .select2-selection {
    color: var(--bs-secondary-color);
    background-color: var(--bs-secondary-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border-color: var(--bs-primary);
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--multiple .select2-search .select2-search__field {
    color: var(--bs-body-color);
    background-color: var(--bs-tertiary-bg);
    border-color: var(--bs-border-color);
    border-radius: .5rem;
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-search .select2-search__field:focus,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--multiple .select2-search .select2-search__field:focus {
    border-color: var(--bs-primary);
    box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option--highlighted {
    color: var(--bs-emphasis-color);
    background-color: var(--bs-tertiary-bg);
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option--selected,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option[aria-selected="true"]:not(.select2-results__option--highlighted) {
    color: var(--bs-white);
    background-color: var(--bs-primary);
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option--disabled,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__option[aria-disabled="true"],
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__message,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown .select2-results__options .select2-results__group {
    color: var(--bs-secondary-color);
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__rendered .select2-selection__choice {
    color: var(--bs-body-color);
    background-color: var(--bs-tertiary-bg);
    border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection__clear,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection__choice__remove {
    filter: invert(1) grayscale(1);
}

[data-bs-theme="dark"] .form-control[readonly],
[data-bs-theme="dark"] .form-select[readonly] {
    background-color: var(--bs-secondary-bg);
}

[data-bs-theme="dark"] input[required].form-control:not(:read-only),
[data-bs-theme="dark"] textarea[required].form-control:not(:read-only),
[data-bs-theme="dark"] select[required].form-control:not(:disabled) {
    background-image: linear-gradient(to bottom, rgba(255, 193, 7, 0.12), rgba(255, 193, 7, 0.06));
}

[data-bs-theme="dark"] .form-control:focus {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.5), 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.25);
}
#menuThemeToggleIcon {
    width: 1.1em;
    text-align: center;
}

