/* ============================================================================
   Estudio Martinez - parches del modo oscuro
   ----------------------------------------------------------------------------
   Bootstrap 5.3 ya recalcula solo, via data-bs-theme, todo lo que cuelga de
   --bs-body-bg / --bs-body-color / --bs-border-color / --bs-secondary-bg /
   --bs-tertiary-bg: cards, dropdowns, modales, offcanvas, .table, form
   controls, .btn-close, accordion, .list-group y .text-muted.

   Aca va SOLO lo que Bootstrap no cubre. Cargar despues del CSS de
   componentes y antes de _tema_vars.html.
   ============================================================================ */

/* ---------------------------------------------------------------------------
   1. Utilities de color fijo
   Bootstrap las compila a un hex literal, no a una variable de tema, asi que
   no se adaptan. Reescribirlas aca evita editar ~180 usos repartidos en los
   templates.
   --------------------------------------------------------------------------- */
[data-bs-theme="dark"] .bg-light {
  background-color: var(--erp-subtle-bg) !important;
}

[data-bs-theme="dark"] .bg-white {
  background-color: var(--erp-card-bg) !important;
}

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

[data-bs-theme="dark"] .table-light {
  --bs-table-bg: var(--erp-subtle-bg);
  --bs-table-color: var(--erp-text);
  --bs-table-border-color: var(--erp-border);
}

/* ---------------------------------------------------------------------------
   2. Select2
   select2-bootstrap-5-theme@1.3.0 es anterior a data-bs-theme y hardcodea
   blancos. Sin esto, todos los selectores con busqueda quedan en blanco.
   --------------------------------------------------------------------------- */
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-dropdown,
[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-search__field {
  background-color: var(--erp-input-bg);
  border-color: var(--erp-input-border);
  color: var(--erp-input-text);
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-results__option {
  background-color: var(--erp-card-bg);
  color: var(--erp-text);
}

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

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--multiple .select2-selection__choice {
  background-color: var(--erp-primary-soft);
  border-color: var(--erp-border-strong);
  color: var(--erp-text);
}

[data-bs-theme="dark"] .select2-container--bootstrap-5 .select2-selection--single .select2-selection__placeholder {
  color: var(--erp-text-muted);
}

/* ---------------------------------------------------------------------------
   3. Toggle de tema (navbar)
   --------------------------------------------------------------------------- */
.nav-theme-toggle {
  color: var(--erp-sidebar-text, #fff);
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: 10px;
  line-height: 1;
  padding: .35rem .55rem;
  background: rgba(255, 255, 255, .06);
  transition: background-color .15s ease, border-color .15s ease;
}

.nav-theme-toggle:hover,
.nav-theme-toggle:focus {
  color: var(--erp-accent);
  background: rgba(255, 255, 255, .14);
  border-color: rgba(255, 255, 255, .30);
}

/* El toggle del login y del portal van sobre fondo claro, no sobre el navbar. */
.theme-toggle-floating {
  position: fixed;
  top: 1rem;
  right: 1rem;
  z-index: 1080;
  color: var(--erp-primary);
  background: var(--erp-card-bg);
  border: 1px solid var(--erp-border);
  border-radius: 10px;
  padding: .4rem .6rem;
  line-height: 1;
  box-shadow: var(--erp-shadow-sm);
}

.theme-toggle-floating:hover,
.theme-toggle-floating:focus {
  color: var(--erp-accent-dark);
  border-color: var(--erp-border-strong);
}
