/* ═══════════════════════════════════════════════════════════════════════════
   LAS OPCIONES DE UN DESPLEGABLE OSCURO TIENEN QUE LEERSE
   ───────────────────────────────────────────────────────────────────────────
   Pablo, 11/09/2026: "los dropdown de marcas se ven con fondo blanco y no
   tienen contraste con la letra".

   POR QUÉ PASA: un `<select>` con estilo oscuro inline
       background: rgba(0,0,0,.3); color: #e2e8f0
   se ve bien CERRADO, pero al abrirlo el navegador dibuja la lista con el
   fondo del sistema —blanco en Windows— y el texto sigue siendo el del
   select: gris casi blanco. Resultado: blanco sobre blanco. Las `<option>`
   NO heredan el `background` de su `<select>`; hay que pintarlas aparte.

   ALCANCE MEDIDO: no era sólo el de marcas. 15+ módulos tienen selects con
   texto claro y sin una sola regla para sus opciones — commission-management
   (13), logistics-tms (7), finance-tesoreria-ops (7), consignment-dashboard,
   absence-control… Parchear el de marcas y dejar el resto habría sido tapar
   el que se vio, no arreglar el problema.

   ⭐ POR QUÉ SE ENGANCHA AL `style` INLINE Y NO A `option` A SECAS: pintar
   TODA opción de oscuro rompería los desplegables de fondo claro, que hoy se
   ven bien. El selector de atributo aplica ÚNICAMENTE donde el propio select
   declara un color de texto claro — es decir, exactamente donde está el
   defecto. Un select claro no matchea y no se toca.

   Si un módulo ya tiene su propia regla para sus opciones, la suya gana por
   especificidad o por orden; esto sólo cubre a los que no tienen ninguna.
   ═══════════════════════════════════════════════════════════════════════════ */

select[style*="color:#e2e8f0"] option,
select[style*="color: #e2e8f0"] option,
select[style*="color:#e6edf3"] option,
select[style*="color: #e6edf3"] option,
select[style*="color:#cbd5e1"] option,
select[style*="color: #cbd5e1"] option,
select[style*="color:#f8fafc"] option,
select[style*="color: #f8fafc"] option,
select[style*="color:#fff"] option,
select[style*="color: #fff"] option,
select[style*="color:#e5e7eb"] option,
select[style*="color: #e5e7eb"] option,
select[style*="color:#f1f5f9"] option,
select[style*="color: #f1f5f9"] option,
select[style*="color:#ecf2f9"] option,
select[style*="color: #ecf2f9"] option,
select[style*="color:#e8eaed"] option,
select[style*="color: #e8eaed"] option,
select[style*="color:#e0e0e0"] option,
select[style*="color: #e0e0e0"] option,
select[style*="color:#c9d1d9"] option,
select[style*="color: #c9d1d9"] option,
select[style*="color:#e0e7ff"] option,
select[style*="color: #e0e7ff"] option,
select[style*="color:#e8edf2"] option,
select[style*="color: #e8edf2"] option,
select[style*="color:#b0cce0"] option,
select[style*="color: #b0cce0"] option,
select[style*="color:#dde"] option,
select[style*="color: #dde"] option {
    background-color: #0f172a;
    color: #f1f5f9;
}

/* Lo mismo para los que toman el color de una clase del tema oscuro en vez de
   declararlo inline. `optgroup` va aparte: hereda aún menos que `option`. */
.form-select option,
.form-select optgroup,
select.wms-adv-ctx-select option,
select.wms-sb-select option {
    background-color: #0f172a;
    color: #f1f5f9;
}

/* La opción resaltada con el teclado o el mouse: sin esto, en algunos temas
   queda el mismo fondo que el resto y no se ve cuál está seleccionada. */
select[style*="color:#e2e8f0"] option:checked,
select[style*="color: #e2e8f0"] option:checked,
.form-select option:checked {
    background: #1e293b linear-gradient(0deg, #1e293b 0%, #1e293b 100%);
    color: #ffffff;
}
