/* ── Dark theme — Bootstrap + app component overrides ── */

[data-theme="dark"] {
  color-scheme: dark;
}

[data-theme="dark"] .ai4ch-app {
  --bs-body-bg: var(--ai4ch-bg);
  --bs-body-color: var(--ai4ch-text);
  --bs-border-color: var(--ai4ch-border);
  --bs-secondary-color: var(--ai4ch-muted);
  --bs-tertiary-bg: rgba(255, 255, 255, 0.04);
  --bs-emphasis-color: var(--ai4ch-text);
}

/* Tables */
[data-theme="dark"] .ai4ch-app .table {
  --bs-table-color: var(--ai4ch-text);
  --bs-table-bg: transparent;
  --bs-table-border-color: var(--ai4ch-border);
  --bs-table-striped-bg: rgba(255, 255, 255, 0.02);
  --bs-table-active-bg: rgba(45, 106, 79, 0.14);
  --bs-table-hover-bg: rgba(45, 106, 79, 0.1);
  --bs-table-hover-color: var(--ai4ch-text);
  color: var(--ai4ch-text);
}

[data-theme="dark"] .ai4ch-app .table-light,
[data-theme="dark"] .ai4ch-app thead.table-light {
  --bs-table-bg: rgba(255, 255, 255, 0.05);
  --bs-table-color: var(--ai4ch-muted);
  --bs-table-border-color: var(--ai4ch-border);
}

[data-theme="dark"] .ai4ch-app .table > :not(caption) > * > * {
  background-color: transparent;
  border-bottom-color: var(--ai4ch-border);
  color: var(--ai4ch-text);
  box-shadow: none;
}

[data-theme="dark"] .ai4ch-app .table thead th {
  background-color: rgba(255, 255, 255, 0.05);
  color: var(--ai4ch-muted);
  border-bottom-color: var(--ai4ch-border);
}

[data-theme="dark"] .ai4ch-app .table-hover > tbody > tr:hover > * {
  background-color: rgba(45, 106, 79, 0.1);
  color: var(--ai4ch-text);
}

/* Badges & text utilities */
[data-theme="dark"] .ai4ch-app .badge.bg-light,
[data-theme="dark"] .ai4ch-app .bg-light {
  background-color: rgba(255, 255, 255, 0.1) !important;
}

[data-theme="dark"] .ai4ch-app .badge.bg-light.text-dark,
[data-theme="dark"] .ai4ch-app .text-dark {
  color: var(--ai4ch-text) !important;
}

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

/* Buttons */
[data-theme="dark"] .ai4ch-app .btn-outline-secondary {
  color: var(--ai4ch-text);
  border-color: var(--ai4ch-border);
}

[data-theme="dark"] .ai4ch-app .btn-outline-secondary:hover,
[data-theme="dark"] .ai4ch-app .btn-outline-secondary:focus {
  background: rgba(255, 255, 255, 0.08);
  border-color: var(--ai4ch-muted);
  color: var(--ai4ch-text);
}

[data-theme="dark"] .ai4ch-app .btn-outline-success {
  color: var(--ai4ch-accent);
  border-color: var(--ai4ch-green-light);
}

[data-theme="dark"] .ai4ch-app .btn-outline-success:hover {
  background: rgba(45, 106, 79, 0.2);
  color: #fff;
}

[data-theme="dark"] .ai4ch-app .btn-light {
  background: rgba(255, 255, 255, 0.1);
  border-color: var(--ai4ch-border);
  color: var(--ai4ch-text);
}

/* Forms */
[data-theme="dark"] .ai4ch-app .form-control,
[data-theme="dark"] .ai4ch-app .form-select,
[data-theme="dark"] .ai4ch-app .form-control-plaintext {
  background-color: rgba(255, 255, 255, 0.05);
  border-color: var(--ai4ch-border);
  color: var(--ai4ch-text);
}

[data-theme="dark"] .ai4ch-app .form-control:focus,
[data-theme="dark"] .ai4ch-app .form-select:focus {
  background-color: rgba(255, 255, 255, 0.07);
  border-color: var(--ai4ch-green-light);
  color: var(--ai4ch-text);
  box-shadow: 0 0 0 0.2rem rgba(64, 145, 108, 0.2);
}

[data-theme="dark"] .ai4ch-app .form-control::placeholder {
  color: var(--ai4ch-muted);
  opacity: 0.85;
}

[data-theme="dark"] .ai4ch-app .form-control:disabled,
[data-theme="dark"] .ai4ch-app .form-select:disabled {
  background-color: rgba(255, 255, 255, 0.03);
  color: var(--ai4ch-muted);
}

[data-theme="dark"] .ai4ch-app .form-check-input {
  background-color: rgba(255, 255, 255, 0.08);
  border-color: var(--ai4ch-border);
}

[data-theme="dark"] .ai4ch-app .form-check-input:checked {
  background-color: var(--ai4ch-green);
  border-color: var(--ai4ch-green);
}

[data-theme="dark"] .ai4ch-app .form-text {
  color: var(--ai4ch-muted);
}

[data-theme="dark"] .ai4ch-app .input-group-text {
  background: rgba(255, 255, 255, 0.06);
  border-color: var(--ai4ch-border);
  color: var(--ai4ch-muted);
}

/* Pagination & borders */
[data-theme="dark"] .ai4ch-app .pagination .page-link {
  background-color: var(--ai4ch-surface);
  border-color: var(--ai4ch-border);
  color: var(--ai4ch-text);
}

[data-theme="dark"] .ai4ch-app .pagination .page-link:hover {
  background-color: rgba(45, 106, 79, 0.15);
  border-color: var(--ai4ch-border);
  color: var(--ai4ch-text);
}

[data-theme="dark"] .ai4ch-app .pagination .page-item.active .page-link {
  background-color: var(--ai4ch-green);
  border-color: var(--ai4ch-green);
}

[data-theme="dark"] .ai4ch-app .border,
[data-theme="dark"] .ai4ch-app .border-top,
[data-theme="dark"] .ai4ch-app .border-bottom {
  border-color: var(--ai4ch-border) !important;
}

/* Dropdowns & modals */
[data-theme="dark"] .ai4ch-app .dropdown-menu {
  background: var(--ai4ch-surface);
  border-color: var(--ai4ch-border);
}

[data-theme="dark"] .ai4ch-app .dropdown-item {
  color: var(--ai4ch-text);
}

[data-theme="dark"] .ai4ch-app .dropdown-item:hover,
[data-theme="dark"] .ai4ch-app .dropdown-item:focus {
  background: rgba(45, 106, 79, 0.12);
  color: var(--ai4ch-text);
}

[data-theme="dark"] .ai4ch-app .modal-content {
  background: var(--ai4ch-surface);
  border-color: var(--ai4ch-border);
  color: var(--ai4ch-text);
}

[data-theme="dark"] .ai4ch-app .modal-header,
[data-theme="dark"] .ai4ch-app .modal-footer {
  border-color: var(--ai4ch-border);
}

[data-theme="dark"] .ai4ch-app .card {
  background: var(--ai4ch-surface);
  border-color: var(--ai4ch-border);
  color: var(--ai4ch-text);
}

[data-theme="dark"] .ai4ch-app .card-header,
[data-theme="dark"] .ai4ch-app .card-footer {
  background: rgba(255, 255, 255, 0.03);
  border-color: var(--ai4ch-border);
  color: var(--ai4ch-text);
}

[data-theme="dark"] .ai4ch-app .list-group-item {
  background: var(--ai4ch-surface);
  border-color: var(--ai4ch-border);
  color: var(--ai4ch-text);
}

[data-theme="dark"] .ai4ch-app .list-group-item-action:hover {
  background: rgba(45, 106, 79, 0.1);
  color: var(--ai4ch-text);
}

/* Alerts */
[data-theme="dark"] .ai4ch-app .alert {
  border-color: var(--ai4ch-border);
}

/* Code / pre blocks */
[data-theme="dark"] .ai4ch-app pre.bg-light,
[data-theme="dark"] .ai4ch-app code.bg-light {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--ai4ch-text);
}

/* Mobile nav */
[data-theme="dark"] .mobile-bottom-nav {
  background: var(--ai4ch-surface);
  border-top: 1px solid var(--ai4ch-border);
}

/* Leaflet map popups */
[data-theme="dark"] .leaflet-popup-content-wrapper,
[data-theme="dark"] .leaflet-popup-tip {
  background: var(--ai4ch-surface);
  color: var(--ai4ch-text);
  box-shadow: var(--ai4ch-shadow);
}

[data-theme="dark"] .leaflet-container {
  background: #1a2332;
}

/* Detection UI */
[data-theme="dark"] .detection-mode-tabs a.active {
  background: var(--ai4ch-surface);
  color: var(--ai4ch-green-light);
}

[data-theme="dark"] .detection-dropzone {
  background: rgba(45, 106, 79, 0.08);
}

[data-theme="dark"] .detection-explainer-section,
[data-theme="dark"] .detection-result-card,
[data-theme="dark"] .detection-preview-thumb {
  background: var(--ai4ch-surface);
  border-color: var(--ai4ch-border);
}

/* Monitoring */
[data-theme="dark"] .sensor-setup-panel {
  background: rgba(45, 106, 79, 0.1);
  border-color: rgba(64, 145, 108, 0.35);
}

[data-theme="dark"] .field-location-map {
  background: #243044;
}

/* Notifications */
[data-theme="dark"] .notification-item:hover {
  background: rgba(45, 106, 79, 0.1);
}

[data-theme="dark"] .notification-item.is-unread {
  background: rgba(45, 106, 79, 0.12);
}

/* Skeleton loader */
[data-theme="dark"] .skeleton {
  background: linear-gradient(
    90deg,
    rgba(255, 255, 255, 0.06) 25%,
    rgba(255, 255, 255, 0.12) 50%,
    rgba(255, 255, 255, 0.06) 75%
  );
  background-size: 200% 100%;
}

/* Account quick links hover */
[data-theme="dark"] .account-quick-link:hover {
  background: rgba(45, 106, 79, 0.12);
}

[data-theme="dark"] .stat-card-link:hover .stat-card {
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.35);
}
