/* ==========================================================================
   FINDING · STAMPS — the dated marks of record (F12 freshness, F13 coverage).
   A small double-keyline box, small-caps label over a mono figure, evoking a
   library date-stamp pressed onto the page — sober, square, no gloss. Two jobs:

     • FRESHNESS — when the finding was last assessed, and when it is due for
       review. Recency is part of trust in medicine.
     • COVERAGE  — how much of the thing has actually been assessed, always with
       its denominator (spine §7: honest coverage is first-class).

   The stamp may carry a band when it reports a scored coverage health, but it
   is furniture first — it never competes with the Badge/Medallion verdict.
   ========================================================================== */

.op-stamp {
  display: inline-grid;
  gap: 0.15em;
  padding: 0.4em 0.7em;
  background: var(--surface-raised);
  border: 1px solid var(--rule-strong);
  border-radius: var(--radius-xs);
  /* the inner keyline — the "pressed twice" register of a rubber stamp */
  box-shadow: inset 0 0 0 1px var(--surface-raised), inset 0 0 0 2px var(--rule-faint);
  text-align: start;
}

.op-stamp__label {
  font-family: var(--font-furniture);
  font-size: var(--text-3xs);
  font-weight: var(--weight-semibold);
  letter-spacing: var(--tracking-caps-wide);
  text-transform: uppercase;
  color: var(--text-secondary);
}

.op-stamp__value {
  font-family: var(--font-data);
  font-size: var(--text-sm);
  font-weight: var(--weight-medium);
  font-variant-numeric: tabular-nums lining-nums;
  color: var(--text);
}
.op-stamp__value small,
.op-stamp__sub {
  font-size: var(--text-3xs);
  color: var(--text-muted);
}

/* The "stamped" character — a barely-there rotation, so it reads pressed-on,
   not laid out. Optional; off by default to keep listings flush. */
.op-stamp--pressed { transform: rotate(-1.4deg); }

/* A row of stamps sits as a flush register strip */
.op-stamps {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  align-items: stretch;
}

/* When the freshness is going stale, the value carries the warning ink (never
   the rubric, never a band) and a printed "REVIEW DUE" reads in the sublabel. */
.op-stamp--stale .op-stamp__value { color: var(--warning); }

/* A coverage stamp may take a band on its figure when coverage is itself the
   health being read (e.g. a sparse profile). Reads --bk-ink from data-band. */
.op-stamp[data-band] .op-stamp__value { color: var(--bk-ink, var(--text)); }
