/* One compact line: age of each automatic supplier's last complete read.
   Quiet by default; a late or failed supplier uses the warning token. */
.supplier-freshness-line {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 2px 10px;
  min-width: 0;
  color: var(--lococo-muted, #64748b);
  font-size: var(--lococo-text-xs, 0.75rem);
  font-weight: 500;
  line-height: 1.4;
}
/* The toolbar cell must be allowed to shrink, or the line grows past a phone's width instead of wrapping. */
.catalog-result-toolbar > div:has(> #productSupplierFreshness) { min-width: 0; max-width: 100%; align-self: stretch; }
.catalog-result-toolbar > div:has(> #productSupplierFreshness) .catalog-health-headline { white-space: normal; }
.supplier-freshness-label { font-weight: 600; }
.supplier-freshness-chip { white-space: nowrap; }
.supplier-freshness-chip.is-warning { color: var(--lococo-warning, #a96a00); font-weight: 700; }

/* Cotizar (admin only): a slim second line inside the customer bar, same tokens. */
.sales-supplier-freshness { flex: 1 0 100%; min-width: 0; padding-top: 4px; border-top: 1px solid var(--lococo-line, #dde4ed); }
.sales-supplier-freshness[hidden] { display: none; }
/* Phone: one line, late suppliers first so the warning is never scrolled out of sight; the rest scrolls inside the line. */
@media (max-width: 560px) {
  .sales-supplier-freshness { padding-top: 2px; }
  .sales-supplier-freshness .supplier-freshness-line { display: flex; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; gap: 0 10px; -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 24px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 24px), transparent); }
  .sales-supplier-freshness .supplier-freshness-line::-webkit-scrollbar { display: none; }
  .sales-supplier-freshness .supplier-freshness-label { order: -2; flex: none; }
  .sales-supplier-freshness .supplier-freshness-chip { flex: none; }
  .sales-supplier-freshness .supplier-freshness-chip.is-warning { order: -1; }
}
