/* ============================================================================
   fhrs-data.css — data tables, charts, and citation components
   Scoped to .fhrs-* only. Inherits site tokens (--navy, --gold, --white,
   --muted, --border) with fallbacks so it degrades safely if a token is absent.
   Load AFTER blog.css / service-page.css.
   ========================================================================== */
.fhrs-table-wrap {
  margin: 28px 0 34px;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--border, #dce3e8);
  border-radius: 8px;
  background: var(--white, #fff);
}
.fhrs-table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: 0.92rem;
  line-height: 1.55;
  color: #23323c;
}
.fhrs-table__caption {
  caption-side: top;
  text-align: left;
  padding: 16px 18px 12px;
  font-weight: 700;
  font-size: 0.95rem;
  color: var(--navy, #1f3b4d);
  border-bottom: 1px solid var(--border, #dce3e8);
}
.fhrs-table__src {
  display: block;
  margin-top: 6px;
  font-weight: 400;
  font-size: 0.78rem;
  color: var(--muted, #6b7a85);
  font-style: italic;
}
.fhrs-table thead th {
  background: var(--navy, #1f3b4d);
  color: #fff;
  text-align: left;
  padding: 11px 14px;
  font-size: 0.8rem;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-weight: 700;
  vertical-align: bottom;
}
.fhrs-table tbody th,
.fhrs-table tbody td {
  padding: 12px 14px;
  border-top: 1px solid var(--border, #dce3e8);
  vertical-align: top;
  text-align: left;
}
.fhrs-table tbody th {
  font-weight: 700;
  color: var(--navy, #1f3b4d);
  width: 22%;
}
.fhrs-table tbody tr:nth-child(even) { background: rgba(31, 59, 77, 0.035); }
.fhrs-table tbody tr:hover { background: rgba(201, 162, 39, 0.09); }
.fhrs-table a { color: var(--navy, #1f3b4d); text-decoration: underline; }

/* ---------- Pending-verification state ---------- */
.fhrs-table-wrap--pending { border-color: #c0392b; border-width: 2px; }
.fhrs-table-wrap--pending .fhrs-table thead th { background: #7b2d22; }
.fhrs-verify {
  display: inline-block;
  padding: 1px 7px;
  border-radius: 3px;
  background: #fdecea;
  color: #c0392b;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  cursor: help;
}
.fhrs-table__pending-note {
  margin: 0;
  padding: 12px 18px 14px;
  font-size: 0.82rem;
  line-height: 1.6;
  color: #7b2d22;
  background: #fdecea;
  border-top: 1px solid #f2c4bd;
}

/* ---------- Charts ---------- */
.fhrs-chart {
  margin: 28px 0 34px;
  padding: 20px 20px 16px;
  border: 1px solid var(--border, #dce3e8);
  border-radius: 8px;
  background: var(--white, #fff);
}
.fhrs-chart__svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
  font-family: inherit;
}
.fhrs-chart__caption {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--border, #dce3e8);
  font-size: 0.85rem;
  line-height: 1.6;
  color: var(--navy, #1f3b4d);
}
.fhrs-chart__label {
  display: inline-block;
  margin-right: 6px;
  padding: 2px 8px;
  border-radius: 3px;
  background: var(--navy, #1f3b4d);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  vertical-align: 1px;
}
.fhrs-chart__source {
  display: block;
  margin-top: 8px;
  font-size: 0.76rem;
  font-style: italic;
  color: var(--muted, #6b7a85);
}
.fhrs-src-note {
  margin-top: -4px;
  font-size: 0.79rem;
  font-style: italic;
  color: var(--muted, #6b7a85);
}

/* ---------- Mobile ---------- */
@media (max-width: 720px) {
  .fhrs-table { font-size: 0.86rem; min-width: 520px; }
  .fhrs-table thead th { font-size: 0.72rem; padding: 9px 11px; }
  .fhrs-table tbody th,
  .fhrs-table tbody td { padding: 10px 11px; }
  .fhrs-table-wrap::after {
    content: "Scroll for more \2192";
    display: block;
    padding: 7px 12px;
    font-size: 0.72rem;
    color: var(--muted, #6b7a85);
    border-top: 1px solid var(--border, #dce3e8);
  }
  .fhrs-chart { padding: 14px 12px 12px; }
}
@media print {
  .fhrs-table-wrap { overflow: visible; break-inside: avoid; }
  .fhrs-chart { break-inside: avoid; }
  .fhrs-table-wrap::after { display: none; }
}
