:root {
  /* Brand colors inspired by staff CSS */
  --brit-background-dark: #0d0d0d;
  --brit-background-darker: #1a1a1a;
  --brit-surface-dark: rgba(26, 26, 26, 0.8);
  --brit-border-dark: hsla(0, 0%, 100%, 0.16);
  --brit-text-main: #f0f0f0;
  --brit-text-muted: #999999;
  --brit-text-secondary: #cccccc;
  --brit-gold: #f2c66c;
  --brit-gold-muted: #b8956b;
  --brit-orange: #c9a227;
  --brit-orange-hover: #d4af37;

  --brit-background-light: #f9fafb;
  --brit-surface-light: #ffffff;
  --brit-border-light: rgba(15, 23, 42, 0.08);
  --brit-text-main-light: #111827;
  --brit-text-muted-light: #6b7280;
  --brit-text-secondary-light: #4b5563;

  --bs-primary: var(--brit-orange);
  --bs-primary-rgb: 201, 162, 39;
  --bs-link-color: var(--brit-orange);
  --bs-link-hover-color: var(--brit-orange-hover);
}

/* Light mode - default */
:root,
[data-bs-theme="light"] {
  color-scheme: light;

  --bs-body-bg: var(--brit-background-light);
  --bs-body-color: var(--brit-text-main-light);
  --bs-border-color: var(--brit-border-light);
  --bs-card-bg: var(--brit-surface-light);
  --bs-card-border-color: var(--brit-border-light);
  --bs-modal-bg: var(--brit-surface-light);
  --bs-dropdown-bg: var(--brit-surface-light);
  --bs-table-bg: var(--brit-surface-light);
  --bs-table-striped-bg: #f3f4f6;
}

/* Dark mode */
[data-bs-theme="dark"] {
  color-scheme: dark;

  --bs-body-bg: var(--brit-background-dark);
  --bs-body-color: var(--brit-text-main);
  --bs-border-color: var(--brit-border-dark);
  --bs-card-bg: var(--brit-surface-dark);
  --bs-card-border-color: var(--brit-border-dark);
  --bs-modal-bg: var(--brit-surface-dark);
  --bs-dropdown-bg: var(--brit-surface-dark);
  --bs-table-bg: var(--brit-surface-dark);
  --bs-table-striped-bg: rgba(26, 26, 26, 0.9);
}

body {
  background-color: var(--bs-body-bg);
  color: var(--bs-body-color);
}

.card {
  background-color: var(--bs-card-bg);
  border-color: var(--bs-card-border-color);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.35);
}

/* Dark mode: headers and nav in gold */
[data-bs-theme="dark"] h1,
[data-bs-theme="dark"] h2,
[data-bs-theme="dark"] h3,
[data-bs-theme="dark"] h4,
[data-bs-theme="dark"] h5,
[data-bs-theme="dark"] h6,
[data-bs-theme="dark"] .card-title,
[data-bs-theme="dark"] .modal-title,
[data-bs-theme="dark"] .table thead th,
[data-bs-theme="dark"] .table-light,
[data-bs-theme="dark"] thead.table-light th,
[data-bs-theme="dark"] .navbar-brand,
[data-bs-theme="dark"] .nav-link {
  color: var(--brit-gold);
}

[data-bs-theme="dark"] thead.table-light,
[data-bs-theme="dark"] .table thead {
  background-color: var(--brit-background-darker);
}

[data-bs-theme="dark"] thead.table-light th,
[data-bs-theme="dark"] .table thead th {
  background-color: var(--brit-background-darker);
  border-color: var(--brit-border-dark);
  color: var(--brit-gold);
}

/* Dark mode: table borders and cell background (no white) */
[data-bs-theme="dark"] .table,
[data-bs-theme="dark"] .table.bg-white,
[data-bs-theme="dark"] .table td,
[data-bs-theme="dark"] .table th,
[data-bs-theme="dark"] .table thead th,
[data-bs-theme="dark"] .table tbody td {
  border-color: var(--brit-border-dark);
}

[data-bs-theme="dark"] .table,
[data-bs-theme="dark"] .table.bg-white,
[data-bs-theme="dark"] .table tbody tr,
[data-bs-theme="dark"] .table tbody td {
  background-color: var(--brit-background-darker);
  color: var(--brit-text-main);
}

/* Type badges (Hub, World, Raid, Proxy) – theme-aware */
.badge-type {
  font-weight: 500;
  border: 1px solid transparent;
}

[data-bs-theme="light"] .badge-type {
  background-color: #f3f4f6;
  color: #374151;
  border-color: rgba(0, 0, 0, 0.1);
}

[data-bs-theme="dark"] .badge-type {
  background-color: rgba(242, 198, 108, 0.15);
  color: var(--brit-gold);
  border-color: rgba(242, 198, 108, 0.5);
}

[data-bs-theme="dark"] .nav-link:hover,
[data-bs-theme="dark"] .nav-link.active,
[data-bs-theme="dark"] .dropdown-item:hover {
  color: var(--brit-gold);
  filter: brightness(1.1);
}

[data-bs-theme="dark"] .navbar-brand:hover {
  color: var(--brit-gold);
}

.btn-primary,
.btn-primary:hover,
.btn-primary:focus {
  color: #0d0d0d;
  background-color: var(--brit-orange);
  border-color: var(--brit-orange);
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: var(--brit-orange-hover);
  border-color: var(--brit-orange-hover);
  color: #0d0d0d;
}

[data-bs-theme="dark"] .btn-primary,
[data-bs-theme="dark"] .btn-primary:hover,
[data-bs-theme="dark"] .btn-primary:focus {
  color: #0d0d0d;
  background-color: var(--brit-orange);
  border-color: var(--brit-orange);
}

[data-bs-theme="dark"] .btn-primary:hover,
[data-bs-theme="dark"] .btn-primary:focus {
  background-color: var(--brit-orange-hover);
  border-color: var(--brit-orange-hover);
  color: #0d0d0d;
}

.btn-outline-secondary {
  border-color: rgba(148, 163, 184, 0.6);
}

[data-bs-theme="dark"] .btn-outline-secondary,
[data-bs-theme="dark"] .btn-secondary {
  color: var(--brit-gold);
  border-color: hsla(43, 89%, 68%, 0.5);
}

[data-bs-theme="dark"] .btn-outline-secondary:hover,
[data-bs-theme="dark"] .btn-secondary:hover {
  border-color: var(--brit-gold);
  color: var(--brit-background-dark);
  background-color: var(--brit-gold);
}

[data-bs-theme="dark"] .btn-success,
[data-bs-theme="dark"] .btn-info {
  color: var(--brit-background-dark);
}

[data-bs-theme="dark"] .btn-warning {
  color: var(--brit-background-dark);
}

[data-bs-theme="dark"] .btn-danger:hover,
[data-bs-theme="dark"] .btn-danger:focus {
  color: #fff;
}

/* Log / code-like panels */
.log-panel {
  min-height: 300px;
  max-height: 500px;
  overflow: auto;
  padding: 1em;
  border-radius: 8px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

[data-bs-theme="dark"] .log-panel {
  background-color: #111827;
  color: #e5e7eb;
}

[data-bs-theme="light"] .log-panel {
  background-color: #f3f4f6;
  color: #111827;
}

