/* Hamm — dark-first UI on Bootstrap 5 */

[data-bs-theme="dark"] {
  color-scheme: dark;
  --hamm-bg: #0c0e12;
  --hamm-surface: #151922;
  --hamm-surface-2: #1b2130;
  --hamm-ink: #e8edf5;
  --hamm-muted: #8b95a8;
  --hamm-line: #2a3344;
  --hamm-accent: #f0a14a;
  --hamm-accent-ink: #1a1208;
  --hamm-link: #7eb6ff;

  --bs-body-bg: var(--hamm-bg);
  --bs-body-color: var(--hamm-ink);
  --bs-secondary-color: var(--hamm-muted);
  --bs-tertiary-bg: var(--hamm-bg);
  --bs-secondary-bg: var(--hamm-surface);
  --bs-border-color: var(--hamm-line);
  --bs-primary: var(--hamm-accent);
  --bs-primary-rgb: 240, 161, 74;
  --bs-link-color: var(--hamm-link);
  --bs-link-hover-color: #a8ccff;
}

body.hamm-dark {
  min-height: 100vh;
  background:
    radial-gradient(900px 420px at 8% -12%, rgba(26, 34, 51, 0.55), transparent 60%),
    radial-gradient(700px 360px at 100% 0%, rgba(240, 161, 74, 0.06), transparent 50%),
    var(--hamm-bg);
}

[data-bs-theme="dark"] .navbar {
  background: color-mix(in srgb, var(--hamm-surface) 88%, transparent) !important;
  backdrop-filter: blur(10px);
  border-bottom-color: var(--hamm-line) !important;
}

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

[data-bs-theme="dark"] .nav-link {
  color: var(--hamm-muted);
}

[data-bs-theme="dark"] .nav-link:hover {
  color: var(--hamm-ink);
  background: var(--hamm-surface-2);
}

[data-bs-theme="dark"] .navbar-nav .nav-link.active {
  color: var(--hamm-ink);
  background: var(--hamm-surface);
  box-shadow: inset 0 0 0 1px var(--hamm-line);
}

.navbar-brand small { font-size: 0.65em; }

.section-title {
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hamm-muted) !important;
}

[data-bs-theme="dark"] .card {
  background: var(--hamm-surface);
  border-color: var(--hamm-line);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.28);
}

[data-bs-theme="dark"] .table {
  --bs-table-bg: transparent;
  --bs-table-color: var(--hamm-ink);
  --bs-table-border-color: var(--hamm-line);
  --bs-table-hover-bg: var(--hamm-surface-2);
  --bs-table-hover-color: var(--hamm-ink);
}

[data-bs-theme="dark"] .table thead th {
  background: var(--hamm-surface-2);
  color: var(--hamm-muted);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-bottom-color: var(--hamm-line);
}

[data-bs-theme="dark"] .table-secondary {
  --bs-table-bg: var(--hamm-surface-2);
  --bs-table-color: var(--hamm-muted);
}

[data-bs-theme="dark"] .form-control,
[data-bs-theme="dark"] .form-select {
  background-color: #0f131b;
  border-color: var(--hamm-line);
  color: var(--hamm-ink);
}

[data-bs-theme="dark"] .form-control:focus,
[data-bs-theme="dark"] .form-select:focus {
  background-color: #0f131b;
  border-color: var(--hamm-link);
  box-shadow: 0 0 0 0.2rem rgba(126, 182, 255, 0.15);
  color: var(--hamm-ink);
}

[data-bs-theme="dark"] .btn-primary {
  --bs-btn-bg: var(--hamm-accent);
  --bs-btn-border-color: var(--hamm-accent);
  --bs-btn-color: var(--hamm-accent-ink);
  --bs-btn-hover-bg: #f5b05c;
  --bs-btn-hover-border-color: #f5b05c;
  --bs-btn-hover-color: var(--hamm-accent-ink);
}

[data-bs-theme="dark"] .btn-outline-secondary {
  --bs-btn-color: var(--hamm-muted);
  --bs-btn-border-color: var(--hamm-line);
  --bs-btn-hover-bg: var(--hamm-surface-2);
  --bs-btn-hover-border-color: var(--hamm-line);
  --bs-btn-hover-color: var(--hamm-ink);
}

[data-bs-theme="dark"] .nav-pills .nav-link {
  color: var(--hamm-muted);
}

[data-bs-theme="dark"] .nav-pills .nav-link:hover {
  color: var(--hamm-ink);
  background: var(--hamm-surface-2);
}

[data-bs-theme="dark"] .nav-pills .nav-link.active {
  background: var(--hamm-surface);
  color: var(--hamm-ink);
  box-shadow: inset 0 0 0 1px var(--hamm-line);
}

[data-bs-theme="dark"] .badge.text-bg-secondary {
  background: color-mix(in srgb, var(--hamm-line) 75%, var(--hamm-surface)) !important;
  color: var(--hamm-muted) !important;
}

[data-bs-theme="dark"] .alert-danger {
  background: color-mix(in srgb, var(--bs-danger) 12%, var(--hamm-surface));
  border-color: color-mix(in srgb, var(--bs-danger) 35%, var(--hamm-line));
  color: #ffb4b8;
}

.col-id {
  width: 3rem;
  white-space: nowrap;
}

.job-id {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.82rem;
  color: var(--hamm-muted);
}

/* Crawl run / alert status (class name = DB value) */
.success { color: var(--bs-success); }
.failed, .error { color: var(--bs-danger); }
.running { color: var(--bs-warning); }

a.status-icon {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  text-decoration: none;
  line-height: 1;
}
a.status-icon:hover { opacity: 0.82; }
.status-icon { vertical-align: middle; line-height: 1; }

.match-hit {
  color: var(--bs-success);
  font-weight: 650;
}
.new { color: var(--hamm-link); font-weight: 700; }
.gone { color: var(--hamm-muted); text-decoration: line-through; }

.badge-auction { background: #3a2a18; color: #f0c48a; }
.badge-marketplace { background: #1a2e44; color: #9ec8f0; }

.table td pre {
  margin: 0;
  white-space: pre-wrap;
  font-size: 0.85rem;
}

.enable-switch-form .form-check {
  min-height: auto;
  padding-left: 2.5em;
  display: flex;
  align-items: center;
}

.enable-switch-form .form-check-input {
  cursor: pointer;
  margin-top: 0;
  width: 2.25em;
  height: 1.15em;
}

[data-bs-theme="dark"] .enable-switch-form .form-check-input:checked {
  background-color: var(--bs-success);
  border-color: var(--bs-success);
}

[data-bs-theme="dark"] .enable-switch-form .form-check-input:focus {
  box-shadow: 0 0 0 0.2rem rgba(93, 202, 160, 0.2);
}

.col-on { width: 3.5rem; }
.keyword-make-col { width: 8rem; }
.keyword-actions-col { width: 8.5rem; }

.table .form-control-sm {
  min-width: 0;
}
