/* ════════════════════════════════════════════════════════════
   Outfit Exclusivos — Dark mode overrides
   Se carga AL FINAL, después de app.min.css, para ganar especificidad.
   Solo aplica cuando html[data-bs-theme="dark"].
   ════════════════════════════════════════════════════════════ */

html[data-bs-theme="dark"] {
  --oe-surface:        #1f2330;   /* cards / paneles */
  --oe-surface-2:      #272b3a;   /* hover / fila zebra */
  --oe-surface-soft:   #2a2f3e;   /* inputs / fondos suaves */
  --oe-border:         #353a4a;
  --oe-border-strong:  #404555;
  --oe-text:           #e6e8ec;
  --oe-text-muted:     #9aa3b2;
  --oe-accent:         #c5a45a;
  --oe-accent-d:       #b0903e;
  --oe-danger:         #f87171;
}

/* ─── 1. Inputs / Selects / Textareas (todas las páginas custom) ─── */
html[data-bs-theme="dark"] .inv-filter select,
html[data-bs-theme="dark"] .inv-filter input,
html[data-bs-theme="dark"] .sale-field input,
html[data-bs-theme="dark"] .sale-field select,
html[data-bs-theme="dark"] .sale-field textarea,
html[data-bs-theme="dark"] .ord-filter select,
html[data-bs-theme="dark"] .ord-filter input,
html[data-bs-theme="dark"] .cfg-field input,
html[data-bs-theme="dark"] .cfg-field select,
html[data-bs-theme="dark"] .cfg-field textarea,
html[data-bs-theme="dark"] .cat-field input,
html[data-bs-theme="dark"] .cat-field select,
html[data-bs-theme="dark"] .inv-modal input,
html[data-bs-theme="dark"] .inv-modal select,
html[data-bs-theme="dark"] .inv-modal textarea,
html[data-bs-theme="dark"] .sale-modal input,
html[data-bs-theme="dark"] .sale-modal select,
html[data-bs-theme="dark"] .sale-modal textarea,
html[data-bs-theme="dark"] .ord-modal input,
html[data-bs-theme="dark"] .ord-modal select,
html[data-bs-theme="dark"] .ord-modal textarea {
  background-color: var(--oe-surface-soft) !important;
  color: var(--oe-text) !important;
  border-color: var(--oe-border) !important;
}

html[data-bs-theme="dark"] .inv-filter input::placeholder,
html[data-bs-theme="dark"] .sale-field input::placeholder,
html[data-bs-theme="dark"] .sale-field textarea::placeholder,
html[data-bs-theme="dark"] .ord-filter input::placeholder,
html[data-bs-theme="dark"] .cfg-field input::placeholder,
html[data-bs-theme="dark"] .cfg-field textarea::placeholder,
html[data-bs-theme="dark"] .cat-field input::placeholder {
  color: var(--oe-text-muted) !important;
  opacity: 0.7;
}

/* ─── 2. <option> nativo: solo respeta background-color + color ─── */
html[data-bs-theme="dark"] select option {
  background-color: #1f2330 !important;
  color: #e6e8ec !important;
}
html[data-bs-theme="dark"] select option:checked {
  background-color: var(--oe-accent) !important;
  color: #fff !important;
}

/* ─── 3. Labels de campos ─── */
html[data-bs-theme="dark"] .inv-filter label,
html[data-bs-theme="dark"] .sale-field label,
html[data-bs-theme="dark"] .ord-filter label,
html[data-bs-theme="dark"] .cfg-field__label,
html[data-bs-theme="dark"] .cat-field > span,
html[data-bs-theme="dark"] .inv-field label {
  color: var(--oe-text-muted) !important;
}

/* ─── 4. Cards / paneles principales ─── */
html[data-bs-theme="dark"] .inv-card,
html[data-bs-theme="dark"] .inv-mgmt-mcard,
html[data-bs-theme="dark"] .dash-card,
html[data-bs-theme="dark"] .dash-kpi,
html[data-bs-theme="dark"] .ord-card,
html[data-bs-theme="dark"] .cat-section,
html[data-bs-theme="dark"] .sale-sidebar,
html[data-bs-theme="dark"] .sale-card,
html[data-bs-theme="dark"] .cfg-pane,
html[data-bs-theme="dark"] .sale-items,
html[data-bs-theme="dark"] .inv-list-row {
  background-color: var(--oe-surface) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text);
}

/* Filas / tablas */
html[data-bs-theme="dark"] .inv-table-wrap,
html[data-bs-theme="dark"] .ord-table-wrap,
html[data-bs-theme="dark"] .cat-section__body {
  background-color: var(--oe-surface) !important;
}
html[data-bs-theme="dark"] .inv-table thead th,
html[data-bs-theme="dark"] .cat-table thead th,
html[data-bs-theme="dark"] .ord-table thead th {
  background-color: #181b27 !important;
  color: var(--oe-text-muted) !important;
  border-bottom-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .inv-table tbody td,
html[data-bs-theme="dark"] .cat-table tbody td,
html[data-bs-theme="dark"] .ord-table tbody td {
  color: var(--oe-text) !important;
  border-bottom-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .inv-table tbody tr:hover,
html[data-bs-theme="dark"] .ord-table tbody tr:hover {
  background-color: var(--oe-surface-2) !important;
}

/* Toolbar / encabezados de sección */
html[data-bs-theme="dark"] .inv-toolbar__title,
html[data-bs-theme="dark"] .sale-toolbar__title,
html[data-bs-theme="dark"] .ord-toolbar__title,
html[data-bs-theme="dark"] .cfg-header__title,
html[data-bs-theme="dark"] .cat-section__title {
  color: var(--oe-text) !important;
}

/* ─── 5. Filtros (área de filtros completos) ─── */
html[data-bs-theme="dark"] .inv-filters,
html[data-bs-theme="dark"] .ord-filters {
  background-color: var(--oe-surface) !important;
  border-color: var(--oe-border) !important;
}

/* ─── 6. Modales ─── */
html[data-bs-theme="dark"] .inv-modal,
html[data-bs-theme="dark"] .sale-modal,
html[data-bs-theme="dark"] .ord-modal,
html[data-bs-theme="dark"] .cat-modal {
  background-color: var(--oe-surface) !important;
  color: var(--oe-text);
  border-color: var(--oe-border);
}
html[data-bs-theme="dark"] .inv-modal__header,
html[data-bs-theme="dark"] .sale-modal__header,
html[data-bs-theme="dark"] .ord-modal__header,
html[data-bs-theme="dark"] .cat-modal__head {
  border-bottom-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .inv-modal__footer,
html[data-bs-theme="dark"] .sale-modal__footer,
html[data-bs-theme="dark"] .ord-modal__footer,
html[data-bs-theme="dark"] .cat-modal__foot {
  background-color: #181b27 !important;
  border-top-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .inv-modal__title,
html[data-bs-theme="dark"] .sale-modal__title,
html[data-bs-theme="dark"] .ord-modal__title {
  color: var(--oe-text) !important;
}

/* Sub-bloques con fondo soft dentro de modales */
html[data-bs-theme="dark"] .inv-add-sale__note,
html[data-bs-theme="dark"] .inv-add-sale__thumb-empty,
html[data-bs-theme="dark"] .inv-recent-thumb,
html[data-bs-theme="dark"] .sale-bg-soft {
  background-color: var(--oe-surface-soft) !important;
  color: var(--oe-text) !important;
  border-color: var(--oe-border) !important;
}

/* ─── 7. Botones genéricos custom ─── */
html[data-bs-theme="dark"] .inv-btn,
html[data-bs-theme="dark"] .sale-btn,
html[data-bs-theme="dark"] .ord-btn,
html[data-bs-theme="dark"] .cat-btn,
html[data-bs-theme="dark"] .cfg-btn {
  background-color: var(--oe-surface-soft);
  border-color: var(--oe-border);
  color: var(--oe-text);
}
html[data-bs-theme="dark"] .inv-btn:hover,
html[data-bs-theme="dark"] .sale-btn:hover,
html[data-bs-theme="dark"] .ord-btn:hover,
html[data-bs-theme="dark"] .cat-btn:hover {
  background-color: var(--oe-surface-2);
  border-color: var(--oe-accent);
}
html[data-bs-theme="dark"] .inv-btn--primary,
html[data-bs-theme="dark"] .sale-btn--primary,
html[data-bs-theme="dark"] .ord-btn--primary,
html[data-bs-theme="dark"] .cat-btn--primary,
html[data-bs-theme="dark"] .cfg-btn--primary {
  background-color: var(--oe-accent) !important;
  border-color: var(--oe-accent) !important;
  color: #1a1a1a !important;
  font-weight: 600;
}
html[data-bs-theme="dark"] .inv-btn--ghost,
html[data-bs-theme="dark"] .sale-btn--ghost,
html[data-bs-theme="dark"] .ord-btn--ghost {
  background-color: transparent !important;
  color: var(--oe-text) !important;
}

/* Chips de filtro */
html[data-bs-theme="dark"] .inv-chip-filter,
html[data-bs-theme="dark"] .inv-sort-chip,
html[data-bs-theme="dark"] .inv-view-btn {
  background-color: var(--oe-surface) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text-muted) !important;
}
html[data-bs-theme="dark"] .inv-chip-filter--active,
html[data-bs-theme="dark"] .inv-sort-chip--active,
html[data-bs-theme="dark"] .inv-view-btn--active {
  background-color: var(--oe-accent) !important;
  border-color: var(--oe-accent) !important;
  color: #1a1a1a !important;
}

/* ─── 8. Tabs / Tab triggers ─── */
html[data-bs-theme="dark"] .cfg-tabs,
html[data-bs-theme="dark"] .cfg-tab {
  background-color: var(--oe-surface) !important;
  color: var(--oe-text-muted) !important;
  border-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .cfg-tab--active {
  background-color: var(--oe-surface-2) !important;
  color: var(--oe-accent) !important;
}

/* ─── 9. Carrito de venta — items, thumbs, totales ─── */
html[data-bs-theme="dark"] .sale-item {
  background-color: var(--oe-surface) !important;
  border-bottom-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .sale-item__name { color: var(--oe-text) !important; }
html[data-bs-theme="dark"] .sale-item__meta { color: var(--oe-text-muted) !important; }
html[data-bs-theme="dark"] .sale-item__thumb,
html[data-bs-theme="dark"] .ci-photo-slot,
html[data-bs-theme="dark"] .ci-photo-preview,
html[data-bs-theme="dark"] .sale-product-picker__thumb {
  background-color: var(--oe-surface-soft) !important;
  border-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .sale-totals__label { color: var(--oe-text-muted) !important; }
html[data-bs-theme="dark"] .sale-totals__value { color: var(--oe-text) !important; }
html[data-bs-theme="dark"] .sale-channel,
html[data-bs-theme="dark"] .sale-client__chip {
  background-color: var(--oe-surface-soft) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .sale-channel--selected {
  background-color: rgba(197, 164, 90, 0.22) !important;
  border-color: var(--oe-accent) !important;
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .sale-channel__label,
html[data-bs-theme="dark"] .sale-channel--selected .sale-channel__label {
  color: var(--oe-text) !important;
}

/* Picker de productos (dropdown del buscador) */
html[data-bs-theme="dark"] .sale-product-picker__dropdown {
  background-color: var(--oe-surface) !important;
  border-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .sale-product-picker__option {
  background-color: transparent !important;
  border-bottom-color: var(--oe-border) !important;
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .sale-product-picker__option:hover {
  background-color: var(--oe-surface-2) !important;
}
html[data-bs-theme="dark"] .sale-product-picker__name { color: var(--oe-text) !important; }
html[data-bs-theme="dark"] .sale-product-picker__meta { color: var(--oe-text-muted) !important; }

/* ─── 10. Dashboard KPIs ─── */
html[data-bs-theme="dark"] .dash-kpi__label,
html[data-bs-theme="dark"] .dash-card__subtitle { color: var(--oe-text-muted) !important; }
html[data-bs-theme="dark"] .dash-kpi__value,
html[data-bs-theme="dark"] .dash-card__title { color: var(--oe-text) !important; }

/* ─── 11. Overlays / fondos modales ─── */
html[data-bs-theme="dark"] .inv-overlay,
html[data-bs-theme="dark"] .sale-overlay,
html[data-bs-theme="dark"] .ord-overlay,
html[data-bs-theme="dark"] .cat-modal-backdrop {
  background-color: rgba(0, 0, 0, 0.7) !important;
}

/* ─── 12. Empty states ─── */
html[data-bs-theme="dark"] .inv-empty,
html[data-bs-theme="dark"] .ord-empty,
html[data-bs-theme="dark"] .sale-items__empty,
html[data-bs-theme="dark"] .cat-empty {
  color: var(--oe-text-muted) !important;
}

/* ─── 13. Headers de página (toolbars) ─── */
html[data-bs-theme="dark"] .inv-toolbar,
html[data-bs-theme="dark"] .sale-toolbar,
html[data-bs-theme="dark"] .ord-toolbar,
html[data-bs-theme="dark"] .cfg-header {
  color: var(--oe-text);
}

/* ─── 14. Badges / pills suaves ─── */
html[data-bs-theme="dark"] .inv-meta-pill,
html[data-bs-theme="dark"] .cat-mono,
html[data-bs-theme="dark"] .inv-sku {
  background-color: var(--oe-surface-soft) !important;
  color: var(--oe-text) !important;
}

/* ─── 15. Switch view + sort bar ─── */
html[data-bs-theme="dark"] .inv-view-switch,
html[data-bs-theme="dark"] .inv-sort-bar {
  border-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .inv-sort-bar__label {
  color: var(--oe-text-muted) !important;
}

/* ─── 16. Action buttons en filas (lapicito, ojo, copy, etc.) ─── */
html[data-bs-theme="dark"] .inv-row-btn,
html[data-bs-theme="dark"] .cat-icon-btn,
html[data-bs-theme="dark"] .inv-icon-btn {
  background-color: transparent !important;
  color: var(--oe-text-muted) !important;
}
html[data-bs-theme="dark"] .inv-row-btn:hover,
html[data-bs-theme="dark"] .cat-icon-btn:hover {
  background-color: var(--oe-surface-2) !important;
  color: var(--oe-text) !important;
}

/* ─── 17. Cards mobile de gestión ─── */
html[data-bs-theme="dark"] .inv-mgmt-mcard__name { color: var(--oe-text) !important; }
html[data-bs-theme="dark"] .inv-mgmt-mcard__meta { color: var(--oe-text-muted) !important; }
html[data-bs-theme="dark"] .inv-mgmt-mcard__btn {
  background-color: var(--oe-surface-soft) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text) !important;
}

/* ─── 19. Textos oscuros hardcoded (#1a1a1a) en componentes custom ─── */
html[data-bs-theme="dark"] .inv-product-name,
html[data-bs-theme="dark"] .inv-card__brand,
html[data-bs-theme="dark"] .inv-toolbar__title,
html[data-bs-theme="dark"] .inv-modal__title,
html[data-bs-theme="dark"] .inv-field input,
html[data-bs-theme="dark"] .inv-field select,
html[data-bs-theme="dark"] .inv-field textarea,
html[data-bs-theme="dark"] .inv-btn,
html[data-bs-theme="dark"] .sale-field input,
html[data-bs-theme="dark"] .sale-field select,
html[data-bs-theme="dark"] .sale-field textarea,
html[data-bs-theme="dark"] .sale-toolbar__title,
html[data-bs-theme="dark"] .sale-modal__title,
html[data-bs-theme="dark"] .sale-totals__row--final .sale-totals__label,
html[data-bs-theme="dark"] .sale-totals__row--final .sale-totals__value,
html[data-bs-theme="dark"] .ord-field input,
html[data-bs-theme="dark"] .ord-field select,
html[data-bs-theme="dark"] .ord-toolbar__title,
html[data-bs-theme="dark"] .ord-modal__title,
html[data-bs-theme="dark"] .ord-totals__row--final .ord-totals__label,
html[data-bs-theme="dark"] .ord-totals__row--final .ord-totals__value,
html[data-bs-theme="dark"] .dash-header__greeting,
html[data-bs-theme="dark"] .dash-header__greeting strong,
html[data-bs-theme="dark"] .cfg-tab:hover,
html[data-bs-theme="dark"] .cfg-tab--active,
html[data-bs-theme="dark"] .inv-modal__close:hover {
  color: var(--oe-text) !important;
}

/* Por si quedó algún descendiente con color oscuro en celdas */
html[data-bs-theme="dark"] .inv-table tbody td strong,
html[data-bs-theme="dark"] .inv-table tbody td b,
html[data-bs-theme="dark"] .ord-table tbody td strong,
html[data-bs-theme="dark"] .ord-table tbody td b,
html[data-bs-theme="dark"] .cat-table tbody td strong {
  color: var(--oe-text) !important;
}

/* ─── 20. Lista de Inventario (cards) ─── */
html[data-bs-theme="dark"] .inv-card__name { color: var(--oe-text) !important; }

/* ════════════════════════════════════════════════════════════
   21. USUARIOS (.usr-*)
   ════════════════════════════════════════════════════════════ */
html[data-bs-theme="dark"] .usr-toolbar__title,
html[data-bs-theme="dark"] .usr-card__name,
html[data-bs-theme="dark"] .usr-card__email,
html[data-bs-theme="dark"] .usr-card__handle {
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .usr-card,
html[data-bs-theme="dark"] .usr-filters {
  background-color: var(--oe-surface) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text);
}
html[data-bs-theme="dark"] .usr-filter-group select,
html[data-bs-theme="dark"] .usr-filter-group input,
html[data-bs-theme="dark"] .usr-filter-search input {
  background-color: var(--oe-surface-soft) !important;
  color: var(--oe-text) !important;
  border-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .usr-filter-group label,
html[data-bs-theme="dark"] .usr-card__date {
  color: var(--oe-text-muted) !important;
}
html[data-bs-theme="dark"] .usr-toolbar__btn {
  background-color: var(--oe-surface-soft) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text) !important;
}

/* ════════════════════════════════════════════════════════════
   22. GASTOS (.exp-*)
   ════════════════════════════════════════════════════════════ */
html[data-bs-theme="dark"] .exp-toolbar__title,
html[data-bs-theme="dark"] .exp-kpi__value {
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .exp-kpi,
html[data-bs-theme="dark"] .exp-filters,
html[data-bs-theme="dark"] .exp-table-wrap,
html[data-bs-theme="dark"] .exp-card {
  background-color: var(--oe-surface) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text);
}
html[data-bs-theme="dark"] .exp-filter select,
html[data-bs-theme="dark"] .exp-filter input,
html[data-bs-theme="dark"] .exp-field input,
html[data-bs-theme="dark"] .exp-field select,
html[data-bs-theme="dark"] .exp-field textarea {
  background-color: var(--oe-surface-soft) !important;
  color: var(--oe-text) !important;
  border-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .exp-filter label,
html[data-bs-theme="dark"] .exp-field label,
html[data-bs-theme="dark"] .exp-kpi__label {
  color: var(--oe-text-muted) !important;
}
html[data-bs-theme="dark"] .exp-btn {
  background-color: var(--oe-surface-soft) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .exp-btn--primary {
  background-color: var(--oe-accent) !important;
  border-color: var(--oe-accent) !important;
  color: #1a1a1a !important;
}
html[data-bs-theme="dark"] .exp-table thead th,
html[data-bs-theme="dark"] .exp-table tbody td {
  border-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .exp-table thead th { background-color: #181b27 !important; color: var(--oe-text-muted) !important; }
html[data-bs-theme="dark"] .exp-table tbody td { color: var(--oe-text) !important; }
html[data-bs-theme="dark"] .exp-empty,
html[data-bs-theme="dark"] .exp-summary__counter {
  color: var(--oe-text-muted) !important;
}

/* ════════════════════════════════════════════════════════════
   23. CLIENTES (.cli-*)
   ════════════════════════════════════════════════════════════ */
html[data-bs-theme="dark"] .cli-toolbar__title,
html[data-bs-theme="dark"] .cli-card__name {
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .cli-filters,
html[data-bs-theme="dark"] .cli-table-wrap,
html[data-bs-theme="dark"] .cli-card {
  background-color: var(--oe-surface) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text);
}
html[data-bs-theme="dark"] .cli-filter select,
html[data-bs-theme="dark"] .cli-filter input,
html[data-bs-theme="dark"] .cli-field input,
html[data-bs-theme="dark"] .cli-field select,
html[data-bs-theme="dark"] .cli-field textarea {
  background-color: var(--oe-surface-soft) !important;
  color: var(--oe-text) !important;
  border-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .cli-filter label,
html[data-bs-theme="dark"] .cli-field label {
  color: var(--oe-text-muted) !important;
}
html[data-bs-theme="dark"] .cli-btn {
  background-color: var(--oe-surface-soft) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .cli-btn--primary {
  background-color: var(--oe-accent) !important;
  border-color: var(--oe-accent) !important;
  color: #1a1a1a !important;
}
html[data-bs-theme="dark"] .cli-table thead th { background-color: #181b27 !important; color: var(--oe-text-muted) !important; border-color: var(--oe-border) !important; }
html[data-bs-theme="dark"] .cli-table tbody td { color: var(--oe-text) !important; border-color: var(--oe-border) !important; }
html[data-bs-theme="dark"] .cli-empty,
html[data-bs-theme="dark"] .cli-toolbar__count {
  color: var(--oe-text-muted) !important;
}

/* ════════════════════════════════════════════════════════════
   24. KANBAN de pedidos (Pedidos Instagram / Encargos) — .ord-kanban
   ════════════════════════════════════════════════════════════ */
html[data-bs-theme="dark"] .ord-kanban .ord-column,
html[data-bs-theme="dark"] .ord-column {
  background-color: var(--oe-surface) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text);
}
html[data-bs-theme="dark"] .ord-column__header { border-bottom-color: var(--oe-border) !important; }
html[data-bs-theme="dark"] .ord-column__title { color: var(--oe-text) !important; }
html[data-bs-theme="dark"] .ord-column__count {
  background-color: var(--oe-surface-soft) !important;
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .ord-column__empty,
html[data-bs-theme="dark"] .ord-empty {
  color: var(--oe-text-muted) !important;
}
html[data-bs-theme="dark"] .ord-card,
html[data-bs-theme="dark"] .ord-column__cards .ord-card {
  background-color: var(--oe-surface-soft) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .ord-card__title,
html[data-bs-theme="dark"] .ord-card__total {
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .ord-card__meta,
html[data-bs-theme="dark"] .ord-card__client {
  color: var(--oe-text-muted) !important;
}

/* ════════════════════════════════════════════════════════════
   25. CALENDARIO DE DESPACHOS (.cal-* + FullCalendar .fc-*)
   ════════════════════════════════════════════════════════════ */
html[data-bs-theme="dark"] .cal-header__title { color: var(--oe-text) !important; }
html[data-bs-theme="dark"] .cal-controls,
html[data-bs-theme="dark"] .cal-wrap,
html[data-bs-theme="dark"] .cal-legend {
  background-color: var(--oe-surface) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text);
}
html[data-bs-theme="dark"] .cal-filter select {
  background-color: var(--oe-surface-soft) !important;
  color: var(--oe-text) !important;
  border-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .cal-filter label,
html[data-bs-theme="dark"] .cal-legend__item {
  color: var(--oe-text-muted) !important;
}

/* FullCalendar widget */
html[data-bs-theme="dark"] .fc {
  background-color: var(--oe-surface) !important;
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .fc .fc-toolbar-title { color: var(--oe-text) !important; }
html[data-bs-theme="dark"] .fc .fc-col-header-cell {
  background-color: #181b27 !important;
  color: var(--oe-text-muted) !important;
  border-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .fc .fc-col-header-cell-cushion { color: var(--oe-text-muted) !important; }
html[data-bs-theme="dark"] .fc .fc-scrollgrid,
html[data-bs-theme="dark"] .fc .fc-scrollgrid td,
html[data-bs-theme="dark"] .fc .fc-scrollgrid th,
html[data-bs-theme="dark"] .fc-theme-standard td,
html[data-bs-theme="dark"] .fc-theme-standard th {
  border-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .fc .fc-daygrid-day,
html[data-bs-theme="dark"] .fc-daygrid-day-frame {
  background-color: var(--oe-surface) !important;
}
html[data-bs-theme="dark"] .fc .fc-daygrid-day-number,
html[data-bs-theme="dark"] .fc .fc-daygrid-day-top { color: var(--oe-text-muted) !important; }
html[data-bs-theme="dark"] .fc .fc-day-today { background-color: rgba(197, 164, 90, 0.12) !important; }
html[data-bs-theme="dark"] .fc .fc-day-other .fc-daygrid-day-frame { background-color: #181b27 !important; }
html[data-bs-theme="dark"] .fc .fc-day-other .fc-daygrid-day-number { opacity: 0.5; }

/* FullCalendar buttons (Mes / Semana / Hoy / nav) */
html[data-bs-theme="dark"] .fc .fc-button,
html[data-bs-theme="dark"] .fc .fc-button-primary {
  background-color: var(--oe-surface-soft) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .fc .fc-button:hover {
  background-color: var(--oe-surface-2) !important;
}
html[data-bs-theme="dark"] .fc .fc-button-active,
html[data-bs-theme="dark"] .fc .fc-button-primary:not(:disabled).fc-button-active,
html[data-bs-theme="dark"] .fc .fc-button-primary:not(:disabled):active {
  background-color: var(--oe-accent) !important;
  border-color: var(--oe-accent) !important;
  color: #1a1a1a !important;
}
html[data-bs-theme="dark"] .fc .fc-button-primary:disabled {
  background-color: var(--oe-surface) !important;
  color: var(--oe-text-muted) !important;
  border-color: var(--oe-border) !important;
}
html[data-bs-theme="dark"] .fc .fc-event {
  border-color: transparent !important;
}
html[data-bs-theme="dark"] .fc .fc-popover {
  background-color: var(--oe-surface) !important;
  border-color: var(--oe-border) !important;
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .fc .fc-popover-header {
  background-color: #181b27 !important;
  color: var(--oe-text) !important;
}
html[data-bs-theme="dark"] .inv-card__type,
html[data-bs-theme="dark"] .inv-card__meta { color: var(--oe-text-muted) !important; }
html[data-bs-theme="dark"] .inv-card__brand { color: var(--oe-text) !important; }
html[data-bs-theme="dark"] .inv-card__image,
html[data-bs-theme="dark"] .inv-mgmt-mcard__image,
html[data-bs-theme="dark"] .inv-thumb {
  background-color: var(--oe-surface-soft) !important;
}
html[data-bs-theme="dark"] .inv-card__add {
  background-color: var(--oe-surface-soft) !important;
  border-color: var(--oe-accent) !important;
  color: var(--oe-accent) !important;
}
html[data-bs-theme="dark"] .inv-card__add:hover {
  background-color: var(--oe-accent) !important;
  color: #1a1a1a !important;
}
