:root {
  color-scheme: light !important;
}

html {
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

body,
input,
select,
textarea,
button {
  -webkit-text-size-adjust: 100% !important;
  text-size-adjust: 100% !important;
}

/* Lock text autosizing in mini-program / WebView environments to avoid
   "first render big, then shrink" after viewport/layout stabilization. */
html,
body {
  color-scheme: light !important;
  background-color: #ffffff;
  color: #212529;
}

/* Keep controls and UA widgets in light appearance. */
input,
select,
textarea,
button {
  color-scheme: light !important;
}

/* If any page (or extension) sets Bootstrap dark theme, force it back to light. */
[data-bs-theme="dark"],
html[data-bs-theme="dark"],
body[data-bs-theme="dark"] {
  color-scheme: light !important;
  --bs-body-color: #212529 !important;
  --bs-body-color-rgb: 33, 37, 41 !important;
  --bs-body-bg: #ffffff !important;
  --bs-body-bg-rgb: 255, 255, 255 !important;
  --bs-tertiary-bg: #f8f9fa !important;
  --bs-border-color: #dee2e6 !important;
}

/* Neutralize common Bootstrap dark utility classes to light style. */
.bg-dark,
.text-bg-dark {
  background-color: #f8f9fa !important;
  color: #212529 !important;
}

.navbar-dark,
.navbar-dark .navbar-brand,
.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-text,
.navbar-dark .navbar-toggler {
  color: #212529 !important;
  border-color: rgba(0, 0, 0, 0.15) !important;
}

.navbar-dark .navbar-nav .nav-link.active,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover {
  color: #000000 !important;
}

.navbar-dark .navbar-toggler-icon {
  filter: invert(1) grayscale(1) brightness(0.2);
}

.table-dark {
  --bs-table-color: #212529 !important;
  --bs-table-bg: #f8f9fa !important;
  --bs-table-border-color: #dee2e6 !important;
  --bs-table-striped-bg: #eef1f4 !important;
  --bs-table-hover-bg: #e9ecef !important;
  color: #212529 !important;
  border-color: #dee2e6 !important;
}

.btn-dark {
  --bs-btn-color: #212529 !important;
  --bs-btn-bg: #f8f9fa !important;
  --bs-btn-border-color: #ced4da !important;
  --bs-btn-hover-color: #212529 !important;
  --bs-btn-hover-bg: #e9ecef !important;
  --bs-btn-hover-border-color: #adb5bd !important;
  --bs-btn-active-color: #212529 !important;
  --bs-btn-active-bg: #dee2e6 !important;
  --bs-btn-active-border-color: #adb5bd !important;
}

.alert-dark {
  --bs-alert-color: #212529 !important;
  --bs-alert-bg: #f8f9fa !important;
  --bs-alert-border-color: #dee2e6 !important;
}

@media (prefers-color-scheme: dark) {
  :root,
  html,
  body {
    color-scheme: light !important;
  }
}
