/* Compatibility for existing fixed-color Bootstrap utilities. */
[data-bs-theme="dark"] .bg-light {
  background-color: var(--bs-tertiary-bg) !important;
}

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

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

[data-bs-theme="dark"] .btn-outline-dark {
  --bs-btn-color: var(--bs-body-color);
  --bs-btn-border-color: var(--bs-secondary-color);
  --bs-btn-hover-color: var(--bs-body-bg);
  --bs-btn-hover-bg: var(--bs-body-color);
  --bs-btn-hover-border-color: var(--bs-body-color);
  --bs-btn-active-color: var(--bs-body-bg);
  --bs-btn-active-bg: var(--bs-body-color);
  --bs-btn-active-border-color: var(--bs-body-color);
  --bs-btn-disabled-color: var(--bs-secondary-color);
  --bs-btn-disabled-border-color: var(--bs-secondary-color);
}

[data-bs-theme="dark"] .table-light {
  --bs-table-color: var(--bs-body-color);
  --bs-table-bg: var(--bs-tertiary-bg);
  --bs-table-border-color: var(--bs-border-color);
  --bs-table-striped-color: var(--bs-body-color);
  --bs-table-striped-bg: var(--bs-secondary-bg);
  --bs-table-hover-color: var(--bs-body-color);
  --bs-table-hover-bg: var(--bs-secondary-bg);
  --bs-table-active-color: var(--bs-body-color);
  --bs-table-active-bg: var(--bs-secondary-bg);
}

/* jQuery UI autocomplete and datepicker use a separate, light-only theme. */
[data-bs-theme="dark"] .ui-widget-content,
[data-bs-theme="dark"] .ui-widget-header {
  color: var(--bs-body-color);
  background: var(--bs-tertiary-bg);
  border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .ui-widget-content a {
  color: var(--bs-link-color);
}

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

[data-bs-theme="dark"] .ui-state-hover,
[data-bs-theme="dark"] .ui-state-focus,
[data-bs-theme="dark"] .ui-state-active,
[data-bs-theme="dark"] .ui-state-highlight {
  color: var(--bs-primary-text-emphasis);
  background: var(--bs-primary-bg-subtle);
  border-color: var(--bs-primary-border-subtle);
}
