/* BioAP theme - augment Bootswatch (light) + custom dark palette */
:root {
  /* Custom surfaces for cards/nav (keep light Bootswatch palette for core colors) */
  --ag-surface: #FFFFFF;
  --ag-surface-subtle: #FAFAF7;
  --ag-navbar-bg: #FFFFFF;
  --ag-navbar-border: var(--bs-border-color);
}

/* Dark mode variables */
[data-theme="dark"] {
  /* Tuned emerald palette for dark mode */
  --bs-primary: #4CAF50;
  --bs-primary-rgb: 76, 175, 80;
  --bs-success: #84E28A;
  --bs-success-rgb: 132, 226, 138;
  --bs-secondary: #C2CEC7;
  --bs-secondary-rgb: 194, 206, 199;
  --bs-info: #73D0B8;
  --bs-info-rgb: 115, 208, 184;
  --bs-warning: #F0C85A;
  --bs-warning-rgb: 240, 200, 90;
  --bs-danger: #EF6E63;
  --bs-danger-rgb: 239, 110, 99;

  --bs-body-bg: #101311;            /* deep greenish charcoal */
  --bs-body-color: #EEF2EE;         /* brighter text for contrast */
  --bs-border-color: #3B463F;

  --ag-surface: #151A17;
  --ag-surface-subtle: #111612;
  --ag-navbar-bg: #141915;
  --ag-navbar-border: var(--bs-border-color);

  /* Help browsers render native controls in dark mode */
  color-scheme: dark;
}

/* Navbar tweaks to use themed surfaces */
.navbar.bg-white {
  background-color: var(--ag-navbar-bg) !important;
  border-bottom: 1px solid var(--ag-navbar-border) !important;
}

/* Improve readability of links and "secondary" text in dark mode */
[data-theme="dark"] a,
[data-theme="dark"] .nav-link,
[data-theme="dark"] .navbar .nav-link,
[data-theme="dark"] .navbar-brand,
[data-theme="dark"] .navbar-text {
  color: var(--bs-body-color) !important;
}
[data-theme="dark"] .text-muted {
  color: #B8C2BC !important;
}
[data-theme="dark"] .text-secondary:not(.nav-link) {
  color: var(--bs-secondary) !important;
}
[data-theme="dark"] .form-text {
  color: #C8D2CC !important;
}
[data-theme="dark"] .btn-outline-secondary {
  color: var(--bs-secondary);
  border-color: var(--bs-secondary);
}

/* Form controls (fix "flash white" file input and selects) */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select,
[data-theme="dark"] .input-group-text {
  background-color: #1A1F1C;
  color: var(--bs-body-color);
  border-color: var(--bs-border-color);
}
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
  background-color: #1A1F1C;
  color: var(--bs-body-color);
  border-color: rgba(var(--bs-primary-rgb), 0.6);
  box-shadow: 0 0 0 .2rem rgba(var(--bs-primary-rgb), .25);
}
[data-theme="dark"] ::placeholder {
  color: #A8B2AD;
  opacity: 1;
}
[data-theme="dark"] input[type="file"]::file-selector-button {
  background-color: var(--bs-primary);
  color: #fff;
  border: 1px solid rgba(var(--bs-primary-rgb), .5);
}
[data-theme="dark"] input[type="file"]::-webkit-file-upload-button {
  background-color: var(--bs-primary);
  color: #fff;
  border: 1px solid rgba(var(--bs-primary-rgb), .5);
}
[data-theme="dark"] .form-check-input {
  background-color: #1A1F1C;
  border-color: var(--bs-border-color);
}
[data-theme="dark"] .form-check-input:checked {
  background-color: var(--bs-primary);
  border-color: var(--bs-primary);
}

/* Prevent white bars for generic bg-white containers (e.g., mobile bottom nav) */
[data-theme="dark"] .bg-white {
  background-color: var(--ag-surface) !important;
}
[data-theme="dark"] .border,
[data-theme="dark"] [style*="border-top: 1px solid #dee2e6"] {
  border-color: var(--bs-border-color) !important;
}

/* Improve visibility of bottom nav toggle (button link) */
[data-theme="dark"] .btn-link.text-secondary,
[data-theme="dark"] .btn-link.text-secondary small,
[data-theme="dark"] .btn-link.text-secondary i {
  color: var(--bs-body-color) !important;
}

/* Page bottom spacing for better scroll feel and to clear fixed mobile nav */
:root {
  --pg-bottom-space: 4rem;
}
main.container {
  padding-bottom: var(--pg-bottom-space);
}
@media (max-width: 992px) {
  main.container {
    padding-bottom: calc(var(--pg-bottom-space) + 4.5rem);
  }
}

/* Card and table subtle polish to match agricultural look */
.card {
  background-color: var(--ag-surface);
  border-color: var(--bs-border-color);
}
.table {
  --bs-table-bg: transparent;
  --bs-table-color: inherit;
  --bs-table-border-color: var(--bs-border-color);
}

/* Utility: themed empty state card and icon colors */
.empty-state-card {
  background-color: var(--ag-surface);
  border-color: var(--bs-border-color);
}
.empty-state-icon {
  color: var(--bs-secondary);
}


