/**
 * Freshness Badge — Data Staleness Indicator
 * EPIC 8.3: 🟢 LIVE, 📦 CACHED, ⏱️ STALE, ❌ ERROR
 * AI Worker: Component Builder
 * Health: badge_render_ms
 * DoD: Auto-compute from timestamp, 4 states, visible without JS
 */

.freshness-badge {
  display: inline-flex;
  align-items: center;
  gap: var(--s-1);
  font-size: var(--fs-xs);
  padding: 2px 8px;
  border-radius: var(--radius-sm);
  font-weight: var(--fw-medium);
  text-transform: uppercase;
  letter-spacing: var(--tracking-wide);
  border: 1px solid transparent;
}

/* LIVE: < 10 seconds */
.freshness-badge[data-freshness="live"] {
  background: rgba(0, 255, 136, 0.1);
  color: var(--live);
  border-color: var(--live);
}

.freshness-badge[data-freshness="live"]::before {
  content: "🟢";
  font-size: var(--fs-xs);
}

/* CACHED: 10-30 seconds */
.freshness-badge[data-freshness="cached"] {
  background: rgba(59, 130, 246, 0.1);
  color: var(--cached);
  border-color: var(--cached);
}

.freshness-badge[data-freshness="cached"]::before {
  content: "📦";
  font-size: var(--fs-xs);
}

/* STALE: > 30 seconds */
.freshness-badge[data-freshness="stale"] {
  background: rgba(255, 184, 0, 0.1);
  color: var(--stale);
  border-color: var(--stale);
}

.freshness-badge[data-freshness="stale"]::before {
  content: "⏱️";
  font-size: var(--fs-xs);
}

/* ERROR: API failed */
.freshness-badge[data-freshness="error"] {
  background: rgba(255, 71, 87, 0.1);
  color: var(--error);
  border-color: var(--error);
}

.freshness-badge[data-freshness="error"]::before {
  content: "❌";
  font-size: var(--fs-xs);
}

/* Timestamp tooltip */
.freshness-badge__tooltip {
  position: absolute;
  bottom: calc(100% + 4px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--surface-2);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: var(--s-2) var(--s-3);
  font-size: var(--fs-xs);
  color: var(--text-1);
  white-space: nowrap;
  pointer-events: none;
  opacity: 0;
  transition: var(--transition-base);
}

.freshness-badge:hover .freshness-badge__tooltip {
  opacity: 1;
}
