/* ---------- Signal palette ---------- */
[data-bs-theme="dark"] {
  --bs-body-bg: #0C1014;
  --bs-body-color: #E7ECF0;
  --bs-body-secondary-color: #8A95A1;
  --bs-body-tertiary-bg: #161C22;
  --bs-border-color: #252D36;
  --bs-border-color-translucent: rgba(231, 236, 240, 0.08);
  --bs-emphasis-color: #FFFFFF;
  --bs-secondary-color: #8A95A1;
  --bs-tertiary-bg: #161C22;

  --bs-primary: #5EEAD4;
  --bs-primary-rgb: 94, 234, 212;
  --bs-success: #4ADE80;
  --bs-success-rgb: 74, 222, 128;
  --bs-warning: #FBBF24;
  --bs-warning-rgb: 251, 191, 36;
  --bs-danger: #F87171;
  --bs-danger-rgb: 248, 113, 113;
  --bs-info: #7DD3FC;
  --bs-info-rgb: 125, 211, 252;

  --bs-link-color: #5EEAD4;
  --bs-link-hover-color: #2DD4BF;
  --bs-link-color-rgb: 94, 234, 212;
  --bs-link-hover-color-rgb: 45, 212, 191;
}

[data-bs-theme="dark"] .btn-primary {
  --bs-btn-bg: #5EEAD4;
  --bs-btn-border-color: #5EEAD4;
  --bs-btn-color: #0C1014;
  --bs-btn-hover-bg: #2DD4BF;
  --bs-btn-hover-border-color: #2DD4BF;
  --bs-btn-hover-color: #0C1014;
  --bs-btn-active-bg: #14B8A6;
  --bs-btn-active-border-color: #14B8A6;
  --bs-btn-active-color: #0C1014;
  --bs-btn-disabled-bg: #5EEAD4;
  --bs-btn-disabled-border-color: #5EEAD4;
  --bs-btn-disabled-color: #0C1014;
}

[data-bs-theme="dark"] .btn-outline-primary {
  --bs-btn-color: #5EEAD4;
  --bs-btn-border-color: #5EEAD4;
  --bs-btn-hover-bg: #5EEAD4;
  --bs-btn-hover-color: #0C1014;
  --bs-btn-hover-border-color: #5EEAD4;
  --bs-btn-active-bg: #2DD4BF;
  --bs-btn-active-color: #0C1014;
  --bs-btn-active-border-color: #2DD4BF;
}

/* ---------- Minimal decorative overrides ---------- */
.metric-value {
  font-size: 2.75rem;
  line-height: 1.1;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.chart-svg {
  width: 100%;
  height: auto;
  display: block;
}

.chart-svg .axis-line { stroke: var(--bs-border-color); stroke-width: 1; }
.chart-svg .bar { fill: var(--bs-primary); }
.chart-svg .bar-muted { fill: var(--bs-border-color); }
.chart-svg .label {
  fill: var(--bs-body-secondary-color);
  font-size: 11px;
  font-family: var(--bs-font-monospace);
  paint-order: stroke fill;
  stroke: var(--bs-body-tertiary-bg);
  stroke-width: 3px;
  stroke-linejoin: round;
}
.chart-svg .line { fill: none; stroke: var(--bs-primary); stroke-width: 2; }
.chart-svg .point { fill: var(--bs-primary); }

.stage-bar-segment:not(:last-child) {
  border-right: 1px solid var(--bs-body-bg);
}

.clickable-card {
  cursor: pointer;
  transition: background-color 0.15s ease, box-shadow 0.15s ease;
}
.clickable-card:hover {
  background-color: rgba(94, 234, 212, 0.05) !important;
  box-shadow: inset 0 0 0 1px rgba(94, 234, 212, 0.25);
}
.clickable-card .stretched-link::after {
  border-radius: inherit;
}
