/**
 * Dark Mode Defense CSS
 * Prevents system dark mode from breaking the UI by forcing light mode
 * Ensures text remains readable regardless of system preferences
 */

/* Force light mode colors regardless of system preference */
*,
*::before,
*::after {
  /* Prevent any automatic color scheme detection */
  color-scheme: light !important;
}

/* Override any Bootstrap dark mode attempts */
[data-bs-theme="dark"] {
  --bs-body-color: var(--text-primary) !important;
  --bs-body-bg: var(--background-body) !important;
  --bs-emphasis-color: var(--text-primary) !important;
  --bs-secondary-color: var(--text-secondary) !important;
  --bs-tertiary-color: var(--text-muted) !important;
}

/* Force all text to use our color system */
body,
html {
  color: var(--text-primary) !important;
  background-color: var(--background-body) !important;
  color-scheme: light !important;
}

/* Ensure all cards and containers have proper backgrounds */
.card,
.modal-content,
.dropdown-menu,
.offcanvas,
.toast,
.popover,
.tooltip-inner {
  background-color: var(--background-card) !important;
  color: var(--text-primary) !important;
}

/* Force form elements to stay light */
.form-control,
.form-select,
.form-check-input,
input,
textarea,
select {
  background-color: var(--background-card) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-light) !important;
}

.form-control:focus,
.form-select:focus {
  background-color: var(--background-card) !important;
  color: var(--text-primary) !important;
  border-color: var(--dana-blue-light) !important;
}

/* Prevent tables from going dark */
.table {
  --bs-table-color: var(--text-primary) !important;
  --bs-table-bg: var(--background-card) !important;
  --bs-table-border-color: var(--border-light) !important;
  --bs-table-striped-bg: var(--background-muted) !important;
  --bs-table-hover-bg: var(--background-hover) !important;
}

/* Force pagination to stay light */
.pagination .page-link {
  background-color: var(--background-card) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-light) !important;
}

.pagination .page-link:hover {
  background-color: var(--background-hover) !important;
  color: var(--dana-blue-dark) !important;
}

.pagination .page-item.active .page-link {
  background-color: var(--dana-blue-dark) !important;
  border-color: var(--dana-blue-dark) !important;
  color: white !important;
}

/* Override any potential dark mode media queries from other sources */
@media (prefers-color-scheme: dark) {
  /* Force everything to stay light */
  *,
  *::before,
  *::after {
    color-scheme: light !important;
  }

  body,
  html {
    color: var(--text-primary) !important;
    background-color: var(--background-body) !important;
  }

  /* Ensure all white backgrounds stay white */
  .bg-white,
  .card,
  .modal-content,
  .dropdown-menu {
    background-color: var(--background-card) !important;
    color: var(--text-primary) !important;
  }

  /* Keep text dark */
  .text-dark {
    color: var(--text-primary) !important;
  }

  /* Prevent any text from becoming white */
  .text-white {
    color: white !important; /* Only allow explicit white text */
  }
}

/* Specific fixes for common problematic elements */
.navbar-light .navbar-nav .nav-link {
  color: var(--text-primary) !important;
}

.btn-light {
  background-color: var(--background-muted) !important;
  border-color: var(--border-light) !important;
  color: var(--text-primary) !important;
}

.btn-light:hover {
  background-color: var(--background-hover) !important;
  border-color: var(--border-medium) !important;
  color: var(--text-primary) !important;
}

/* Ensure list groups stay light */
.list-group-item {
  background-color: var(--background-card) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-light) !important;
}

/* Force alerts to use semantic colors properly */
.alert-light {
  background-color: var(--background-muted) !important;
  color: var(--text-primary) !important;
  border-color: var(--border-light) !important;
}

/* Ensure badges stay readable */
.badge.bg-light {
  background-color: var(--background-muted) !important;
  color: var(--text-primary) !important;
}

/* Fix any potential issues with offcanvas/modals */
.offcanvas,
.modal {
  --bs-offcanvas-bg: var(--background-card) !important;
  --bs-modal-bg: var(--background-card) !important;
  --bs-offcanvas-color: var(--text-primary) !important;
  --bs-modal-color: var(--text-primary) !important;
}