.agenda-navbar-controls {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: .375rem;
    justify-self: end;
}

.agenda-tema-boton:not([hidden]) {
    display: inline-flex;
}

.agenda-tema-boton {
    align-items: center;
    justify-content: center;
    gap: .35rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: .25rem .55rem;
    border: 1px solid currentColor;
    border-color: color-mix(in srgb, currentColor 45%, transparent);
    border-radius: var(--bs-border-radius);
    background: transparent;
    color: var(--agenda-brand-contrast, #fff);
    font-size: .875rem;
    white-space: nowrap;
}

.agenda-tema-boton:hover {
    background: color-mix(in srgb, currentColor 14%, transparent);
}

.agenda-navbar-controls .agenda-tema-boton:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.agenda-tema-boton [aria-hidden="true"] {
    font-size: 1.2rem;
    line-height: 1;
}

.agenda-tema-luna,
[data-bs-theme="dark"] .agenda-tema-sol {
    display: none;
}

[data-bs-theme="dark"] .agenda-tema-luna {
    display: inline-block;
}

.agenda-tema-aviso {
    position: absolute;
    z-index: 1050;
    inset-block-start: calc(100% + .25rem);
    inset-inline-end: 0;
    width: min(15rem, 80vw);
    padding: .5rem .65rem;
    border: 1px solid var(--bs-warning-border-subtle);
    border-radius: var(--bs-border-radius);
    background: var(--bs-warning-bg-subtle);
    color: var(--bs-warning-text-emphasis);
    font-size: .8rem;
}

@media (min-width: 992px) {
    .agenda-navbar-controls {
        order: 3;
        margin-inline-start: auto;
    }
}

@media print {
    .agenda-navbar-controls { display: none; }
}

@media screen {
    /* Bootstrap covers forms, modals and tables through its shared color mode. */
    :root[data-bs-theme="dark"] {
        --bs-body-bg: #141d2a;
        --bs-body-bg-rgb: 20, 29, 42;
        --bs-body-color: #e4edf7;
        --bs-body-color-rgb: 228, 237, 247;
        --bs-emphasis-color: #f5f9ff;
        --bs-emphasis-color-rgb: 245, 249, 255;
        --bs-secondary-color: #adbed0;
        --bs-secondary-bg: #1d2a3a;
        --bs-secondary-bg-rgb: 29, 42, 58;
        --bs-tertiary-bg: #26364a;
        --bs-tertiary-bg-rgb: 38, 54, 74;
        --bs-border-color: #465a71;
        --bs-link-color: #91c7ff;
        --bs-link-color-rgb: 145, 199, 255;
        --bs-link-hover-color: #b7daff;
        --bs-link-hover-color-rgb: 183, 218, 255;
    }

    [data-bs-theme="dark"] .app-main-navbar {
        --agenda-brand-contrast: #f5f9ff;
        background-color: #1d2a3a;
        background-color: color-mix(in srgb, var(--agenda-brand-color, #17a2b8) 18%, #141d2a);
    }

    [data-bs-theme="dark"] #menu-configuracion {
        background-color: var(--bs-secondary-bg);
        border-color: var(--bs-border-color);
    }

    [data-bs-theme="dark"] a:where(:not(.btn, .nav-link, .navbar-brand, .dropdown-item, .list-group-item, .page-link)) {
        color: var(--bs-link-color);
    }

    [data-bs-theme="dark"] :is(.bg-white, .bg-light):not(img, canvas) {
        background-color: var(--bs-tertiary-bg) !important;
    }

    [data-bs-theme="dark"] .text-dark:not(:is(.bg-warning, .bg-info, .btn-warning, .btn-info, .text-bg-warning, .text-bg-info)) {
        color: var(--bs-body-color) !important;
    }

    [data-bs-theme="dark"] .text-primary { color: var(--bs-primary-text-emphasis) !important; }
    [data-bs-theme="dark"] .text-danger { color: var(--bs-danger-text-emphasis) !important; }
    [data-bs-theme="dark"] .text-success { color: var(--bs-success-text-emphasis) !important; }
    [data-bs-theme="dark"] .text-secondary { color: var(--bs-secondary-color) !important; }

    :where([data-bs-theme="dark"]) .form-group,
    [data-bs-theme="dark"] :is(.lista-ventas-search-panel, .inventario-payment-container, .inventario-summary-value, .arqueo-filtros) {
        background-color: var(--bs-secondary-bg);
        border-color: var(--bs-border-color);
    }

    [data-bs-theme="dark"] .arqueo-page .form-group.bg-warning {
        background-color: var(--bs-warning-bg-subtle) !important;
        color: var(--bs-warning-text-emphasis);
    }

    [data-bs-theme="dark"] :is(.inventario-v2-total-banner, .arqueo-efectivo .form-control.bg-info, #tablaclientes .bg-info) {
        background-color: var(--bs-info-bg-subtle) !important;
        color: var(--bs-info-text-emphasis) !important;
    }

    [data-bs-theme="dark"] .arqueo-efectivo .form-control.bg-info::placeholder {
        color: var(--bs-info-text-emphasis);
        opacity: 1;
    }

    [data-bs-theme="dark"] .ventas-wrapper :is(.dd-select, .dd-options, .dd-option) {
        background-color: var(--bs-secondary-bg) !important;
        border-color: var(--bs-border-color);
    }

    [data-bs-theme="dark"] .ventas-wrapper :is(.dd-option:hover, .dd-option-selected) {
        background-color: var(--bs-tertiary-bg) !important;
    }

    [data-bs-theme="dark"] .ventas-wrapper :is(.dd-selected-text, .dd-option-text) {
        color: var(--bs-body-color);
    }

    [data-bs-theme="dark"] .ventas-wrapper :is(.dd-selected-description, .dd-option-description) {
        color: var(--bs-secondary-color);
    }

    [data-bs-theme="dark"] .ventas-wrapper .dd-pointer-down { border-top-color: var(--bs-body-color); }
    [data-bs-theme="dark"] .ventas-wrapper .dd-pointer-up { border-bottom-color: var(--bs-body-color) !important; }

    [data-bs-theme="dark"] .btn-outline-primary {
        --bs-btn-color: var(--bs-primary-text-emphasis);
        --bs-btn-border-color: var(--bs-primary-text-emphasis);
        --bs-btn-disabled-color: var(--bs-primary-text-emphasis);
    }

    [data-bs-theme="dark"] .btn-outline-success {
        --bs-btn-color: var(--bs-success-text-emphasis);
        --bs-btn-border-color: var(--bs-success-text-emphasis);
        --bs-btn-disabled-color: var(--bs-success-text-emphasis);
    }

    [data-bs-theme="dark"] .btn-outline-danger {
        --bs-btn-color: var(--bs-danger-text-emphasis);
        --bs-btn-border-color: var(--bs-danger-text-emphasis);
        --bs-btn-disabled-color: var(--bs-danger-text-emphasis);
    }

    [data-bs-theme="dark"] :is(.btn-light, .btn-outline-dark, .btn-outline-secondary) {
        --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-tertiary-bg);
        --bs-btn-hover-border-color: var(--bs-secondary-color);
        --bs-btn-active-color: var(--bs-emphasis-color);
        --bs-btn-active-bg: var(--bs-tertiary-bg);
        --bs-btn-active-border-color: var(--bs-secondary-color);
        --bs-btn-disabled-color: var(--bs-secondary-color);
        --bs-btn-disabled-border-color: var(--bs-border-color);
    }

    [data-bs-theme="dark"] .btn-light {
        --bs-btn-bg: var(--bs-secondary-bg);
        --bs-btn-disabled-bg: var(--bs-secondary-bg);
    }

    [data-bs-theme="dark"] :is(.table-light, .table-primary, .table-secondary, .table-success, .table-danger, .table-warning, .table-info) {
        --bs-table-bg: var(--agenda-tabla-fondo, var(--bs-tertiary-bg));
        --bs-table-border-color: var(--bs-border-color);
        --bs-table-color: var(--bs-body-color);
        --bs-table-striped-color: var(--bs-body-color);
        --bs-table-active-color: var(--bs-emphasis-color);
        --bs-table-hover-color: var(--bs-emphasis-color);
        --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), .04);
        --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), .1);
        --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), .075);
    }

    [data-bs-theme="dark"] .table-primary { --agenda-tabla-fondo: var(--bs-primary-bg-subtle); }
    [data-bs-theme="dark"] .table-success { --agenda-tabla-fondo: var(--bs-success-bg-subtle); }
    [data-bs-theme="dark"] .table-danger { --agenda-tabla-fondo: var(--bs-danger-bg-subtle); }
    [data-bs-theme="dark"] .table-warning { --agenda-tabla-fondo: var(--bs-warning-bg-subtle); }
    [data-bs-theme="dark"] .table-info { --agenda-tabla-fondo: var(--bs-info-bg-subtle); }

    /* Sales and legacy custom panels use a few fixed light surfaces. */
    [data-bs-theme="dark"] :is(
        .inventario-v2-status-row, .inventario-v2-action-row, .inventario-v2-search-row,
        .inventario-v2-panel, .inventario-v2-recent-card, .inventario-v2-empty,
        .inventario-client-panel, .orden-menu-shell, .orden-menu-header, .menu-product-card,
        .lista-ventas-search-panel, .lista-ventas-responsable, .reporte-cliente-panel,
        .lista-ventas-reportes-generales, .factura-proveedores-bloque, .factura-proveedor-campo,
        .consulta-sri-panel, .consulta-sri-cabecera, .control-whatsapp-global,
        .control-whatsapp-global-estado:not(.is-suspendido), .whatsapp-canal-card,
        .whatsapp-servicio-form, .administracion-usuarios-empresa-panel,
        .seguimiento-empresas-admin, .seguimiento-empresa-row, .panel-incidencias-admin
    ),
    [data-bs-theme="dark"] .inventario-version-v2 :is(#Ventana, #Lista),
    [data-bs-theme="dark"] #tbListaProveedores :is(tbody > tr, .factura-proveedores-estado-filtros),
    [data-bs-theme="dark"] :is(.productos-mobile-table, #tablaclientes) > tbody > tr.row {
        background: var(--bs-secondary-bg);
        border-color: var(--bs-border-color);
        color: var(--bs-body-color);
    }

    [data-bs-theme="dark"] :is(
        .inventario-v2-panel-title, .inventario-v2-panel-subtitle, .inventario-v2-recent-name,
        .inventario-v2-recent-prices, .inventario-view-switch-label, .inventario-summary-value,
        .inventario-help-text, .orden-menu-title, .orden-menu-title-compact, .menu-product-name
    ),
    [data-bs-theme="dark"] .inventario-version-v2 #vermas,
    [data-bs-theme="dark"] .inventario-client-panel :is(label, input[disabled], select[disabled]) {
        color: var(--bs-body-color);
    }

    [data-bs-theme="dark"] .inventario-client-panel a.form-control { color: var(--bs-link-color); }
    [data-bs-theme="dark"] :is(.orden-menu-title label, .menu-product-price) { color: var(--bs-success-text-emphasis); }

    [data-bs-theme="dark"] :is(
        .lista-ventas-search-mode-bar, .orden-menu-search-group .input-group-text,
        .menu-total-banner, .menu-product-stock, .inventario-v2-recent-placeholder,
        .productos-mobile-alphabet a, .clientes-mobile-alphabet a
    ) {
        background: var(--bs-tertiary-bg);
        border-color: var(--bs-border-color);
        color: var(--bs-body-color);
    }

    [data-bs-theme="dark"] :is(.inventario-v2-recent-card:hover, .inventario-v2-recent-card:focus-visible) {
        background: var(--bs-tertiary-bg);
    }

    [data-bs-theme="dark"] #Lista .inventario-stock-disponible {
        background: var(--bs-success-bg-subtle);
        color: var(--bs-success-text-emphasis);
    }

    [data-bs-theme="dark"] #Lista .inventario-stock-agotado {
        background: var(--bs-danger-bg-subtle);
        color: var(--bs-danger-text-emphasis);
    }

    [data-bs-theme="dark"] #Lista .inventario-stock-neutro {
        background: var(--bs-tertiary-bg);
        color: var(--bs-secondary-color);
    }

    [data-bs-theme="dark"] :is(.producto-modal-shell, .producto-modal-footer),
    [data-bs-theme="dark"] #modalCrearProducto :is(
        .modal-header, .producto-panel-soft, .producto-toggle, .producto-servicio-ayuda,
        .producto-servicio-ayuda-toggle, .producto-descripcion-adicional-campo,
        #DatosProductoFraccionado, .producto-fraccionado-titulo, .presentaciones-fraccionadas-editor,
        .presentacion-fraccionada-adicional, #divFotoProducto, #formProductoAsociadoStock, #ListaProductosComponente
    ) {
        background: var(--bs-secondary-bg);
        border-color: var(--bs-border-color);
        color: var(--bs-body-color);
    }

    [data-bs-theme="dark"] #modalCrearProducto :is(
        .modal-title, label, .form-label, .producto-toggle-text, .producto-fraccionado-titulo strong,
        .producto-descripcion-adicional-toggle, .producto-descripcion-adicional-contador, #lblPrecioPublico
    ) {
        color: var(--bs-body-color);
    }

    [data-bs-theme="dark"] #modalCrearProducto :is(.form-control, .form-select, select) {
        border-color: var(--bs-border-color);
    }

    [data-bs-theme="dark"] #modalCrearProducto #Precio {
        background-color: var(--bs-warning-bg-subtle);
        color: var(--bs-warning-text-emphasis);
    }

    [data-bs-theme="dark"] :is(.ui-autocomplete, .ui-datepicker) {
        background: var(--bs-secondary-bg);
        border-color: var(--bs-border-color);
        color: var(--bs-body-color);
    }

    [data-bs-theme="dark"] .ui-datepicker :is(.ui-widget-header, .ui-state-default) {
        background: var(--bs-tertiary-bg);
        border-color: var(--bs-border-color);
        color: var(--bs-body-color);
    }

    [data-bs-theme="dark"] .ui-autocomplete .ui-menu-item-wrapper {
        color: var(--bs-body-color);
    }

    [data-bs-theme="dark"] :is(.ui-autocomplete, .ui-datepicker) .ui-state-active {
        background: var(--bs-primary-bg-subtle);
        border-color: var(--bs-primary-border-subtle);
    }

    [data-bs-theme="dark"] .fc {
        --fc-page-bg-color: var(--bs-body-bg);
        --fc-neutral-bg-color: var(--bs-secondary-bg);
        --fc-border-color: var(--bs-border-color);
        --fc-today-bg-color: var(--bs-warning-bg-subtle);
    }
}
