/* -------------------------------
   Health Status Cards (Unified)
-------------------------------- */

.status-card {
  height: 120px;                 /* ✅ fixed size */
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  transition: background-color 0.3s ease, color 0.3s ease;
}

.status-card .card-body {
  text-align: center;
  padding: 12px;
}

.status-card h6 {
  font-size: 0.85rem;
  opacity: 0.85;
  margin-bottom: 6px;
}

.status-card h4 {
  font-weight: 700;
  margin: 0;
}

/* -------- Status Colors -------- */

.status-ok {
  background-color: #198754;     /* Bootstrap green */
  color: #fff;
}

.status-warn {
  background-color: #ffc107;     /* Bootstrap yellow */
  color: #212529;
}

.status-bad {
  background-color: #dc3545;     /* Bootstrap red */
  color: #fff;
}

.status-unknown {
  background-color: #6c757d;     /* Bootstrap gray */
  color: #fff;
}

.log-box {
  font-family: monospace;
  font-size: 0.85rem;
  height: 200px;
  overflow-y: auto;
  background: #111;
  color: #ddd;
}

/* ===== MarketData Health – Control Plane ===== */

.md-health {
  font-size: 0.9rem;
}

/* Generic white tile with left status bar */
.health-tile {
  background: #ffffff;
  border: 1px solid #dee2e6;
  border-left: 6px solid #adb5bd;
  padding: 14px 12px;
  text-align: center;
}

.health-tile .label {
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  color: #6c757d;
}

.health-tile .value {
  font-size: 1.15rem;
  font-weight: 600;
  margin-top: 4px;
}

/* Status colors */
.tile-ok {
  border-left-color: #198754;
}

.tile-ok .value {
  color: #198754;
}

.tile-bad {
  border-left-color: #dc3545;
}

.tile-bad .value {
  color: #dc3545;
}

.tile-neutral {
  border-left-color: #0d6efd;
}

/* Meta / metric rows */
.health-panel {
  background: #ffffff;
  border: 1px solid #dee2e6;
  border-left: 6px solid #0d6efd;
}

.meta-row {
  display: flex;
  justify-content: space-between;
  font-size: 0.85rem;
}

.mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.meta-item {
  display: flex;
  align-items: center;
  gap: 8px;              /* 👈 controls spacing */
  font-size: 0.85rem;
}

.meta-label {
  color: #6c757d;
  white-space: nowrap;
}

.meta-value {
  font-weight: 600;
  white-space: nowrap;
}

.status-tile {
  background: #fff;
  border: 1px solid #dee2e6;
  border-left: 6px solid #adb5bd;
  padding: 10px;
  text-align: center;
}

.status-ok {
  border-left-color: #198754;
}

.status-bad {
  border-left-color: #dc3545;
}

.status-idle {
  border-left-color: #6c757d;
  color: #6c757d;
}

.log-line.INFO { color: #0dcaf0; }
.log-line.WARN { color: #ffc107; }
.log-line.ERROR { color: #dc3545; }
