/* HealX brand colours */
:root {
  --healx-blue:       #1a3a5c;
  --healx-blue-light: #2a5298;
  --pass-green:       #198754;
  --fail-red:         #dc3545;
}

body {
  background-color: #f4f6f9;
  font-size: 0.95rem;
}

/* ── Navbar ── */
.bg-healx { background-color: var(--healx-blue) !important; }

/* ── Primary button ── */
.btn-healx {
  background-color: var(--healx-blue);
  border-color:     var(--healx-blue);
  color: #fff;
}
.btn-healx:hover, .btn-healx:focus {
  background-color: var(--healx-blue-light);
  border-color:     var(--healx-blue-light);
  color: #fff;
}

/* ── Card header ── */
.card-header.bg-healx { background-color: var(--healx-blue) !important; }

/* ── Spinner ── */
.text-healx { color: var(--healx-blue) !important; }

/* ── Test rows (alternating stripe) ── */
.test-row:nth-child(even) { background-color: #f8f9fa; }
.test-row { transition: background-color 0.15s; }
.test-row:hover { background-color: #eef2f7; }

/* ── Field label column ── */
.test-label {
  font-size: 0.9rem;
  color: #333;
  padding-right: 1rem;
}

/* ── Tolerance range badge on label ── */
.tol-range {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 600;
  background: #e9ecef;
  color: #495057;
  border-radius: 4px;
  padding: 1px 5px;
  white-space: nowrap;
}

/* ── PASS/FAIL/N/A radio button group ── */
.btn-pf {
  font-size: 0.82rem;
  font-weight: 600;
  padding: 0.3rem 0.7rem;
  min-width: 60px;
}

/* Checked state colours */
.btn-check:checked + .btn-outline-success { background-color: var(--pass-green); color: #fff; }
.btn-check:checked + .btn-outline-danger  { background-color: var(--fail-red);   color: #fff; }
.btn-check:checked + .btn-outline-secondary { background-color: #6c757d; color: #fff; }

/* ── Live PASS/FAIL badge on numeric inputs ── */
.result-badge {
  min-width: 4.5rem;
  font-size: 0.8rem;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.03em;
}
.badge-pass {
  background-color: var(--pass-green);
  color: #fff;
  border-color: var(--pass-green);
}
.badge-fail {
  background-color: var(--fail-red);
  color: #fff;
  border-color: var(--fail-red);
}

/* ── Notes input ── */
.notes-input {
  font-size: 0.8rem;
  color: #666;
  border-color: #ddd;
}
.notes-input::placeholder { color: #aaa; }

/* ── Tablet / mobile ── */
@media (max-width: 768px) {
  .btn-pf   { font-size: 1rem; padding: 0.5rem 1rem; min-width: 70px; }
  .test-label { font-size: 1rem; padding-bottom: 0.25rem; }
  .tol-range { font-size: 0.8rem; }
}
