/**
 * Central dashboard — light / dark via html[data-bs-theme].
 * Complements Bootstrap 5.3 color modes.
 */

:root,
[data-bs-theme="light"] {
  --cb-link: #0d6efd;
  --cb-code-bg: #f1f3f5;
  --cb-code-border: #dee2e6;
  --cb-table-stripe: rgba(0, 0, 0, 0.02);
}

[data-bs-theme="dark"] {
  --cb-link: #6ea8fe;
  --cb-code-bg: #212529;
  --cb-code-border: #495057;
  --cb-table-stripe: rgba(255, 255, 255, 0.04);
  color-scheme: dark;
}

html {
  scroll-behavior: smooth;
}

body {
  -webkit-font-smoothing: antialiased;
}

/* Navbar: readable on both themes */
.central-navbar {
  border-color: var(--bs-border-color-translucent) !important;
}

/* Tables: zebra + hover for scanability */
.dashboard-table tbody tr:nth-child(even) {
  background-color: var(--cb-table-stripe);
}
.dashboard-table tbody tr:hover {
  background-color: var(--bs-secondary-bg);
}

/* Sticky header row */
.dashboard-thead th {
  background-color: var(--bs-tertiary-bg);
  color: var(--bs-emphasis-color);
  border-bottom: 2px solid var(--bs-border-color);
  box-shadow: 0 1px 0 var(--bs-border-color-translucent);
}

/* JSON / log blocks (modal) */
.json-block {
  background-color: var(--cb-code-bg) !important;
  border-color: var(--cb-code-border) !important;
  color: var(--bs-body-color);
}

/* WB hardware device cards */
.hw-devices-root .hw-device-card {
  background-color: var(--bs-body-bg);
  border-color: var(--bs-border-color) !important;
}
[data-bs-theme="dark"] .hw-devices-root .hw-device-card {
  background-color: var(--bs-tertiary-bg);
}

.json-block {
  font-size: 0.8125rem;
  line-height: 1.45;
}

/* Overview metric cards (no global link underline) */
main a.dashboard-metric-link {
  color: inherit !important;
  text-decoration: none !important;
}
main a.dashboard-metric-link:hover .card {
  box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.12);
}

/* Links on dashboard pages */
main a:not(.btn):not(.nav-link):not(.dashboard-metric-link) {
  color: var(--cb-link);
  text-decoration: underline;
  text-underline-offset: 2px;
}
main a:not(.btn):not(.nav-link):not(.dashboard-metric-link):hover {
  filter: brightness(1.1);
}

[data-bs-theme="dark"] main a:not(.btn):not(.nav-link):not(.dashboard-metric-link):hover {
  filter: brightness(1.15);
}

/* Theme toggle focus ring */
.theme-toggle:focus-visible {
  box-shadow: 0 0 0 0.2rem rgba(var(--bs-primary-rgb), 0.45);
}

/* Cards: subtle separation in dark */
[data-bs-theme="dark"] .card {
  border-color: var(--bs-border-color-translucent);
}

/* Accordion in advanced search */
[data-bs-theme="dark"] .accordion-button:not(.collapsed) {
  background-color: var(--bs-tertiary-bg);
  color: var(--bs-body-color);
}
