/* ============================================================================
   System Status
   ============================================================================ */

.ffmpeg-system-status-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: stretch;
}

.ffmpeg-status-indicator,
.ffmpeg-hardware-info {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.75rem 1rem;
  border-radius: var(--ffmpeg-radius-m);
  border: 1px solid var(--ffmpeg-border);
  background: var(--ffmpeg-surface-2);
  box-shadow: var(--ffmpeg-shadow-soft);
}

.ffmpeg-status-indicator {
  --status-accent: var(--ffmpeg-accent);
  --status-bg: var(--ffmpeg-surface-2);
  border-color: var(--status-accent);
  background: var(--status-bg);
}

.ffmpeg-status-indicator--ok {
  --status-accent: var(--ffmpeg-success);
  --status-bg: var(--ffmpeg-success-bg);
}

.ffmpeg-status-indicator--error {
  --status-accent: var(--ffmpeg-danger);
  --status-bg: var(--ffmpeg-danger-bg);
}

.ffmpeg-status-indicator__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 999px;
  background: var(--status-accent);
  color: var(--ffmpeg-on-accent);
  font-size: 0.85rem;
  font-weight: 700;
}

.ffmpeg-status-indicator__text {
  font-weight: 600;
}

.ffmpeg-status-indicator__version {
  margin-inline-start: 0.5rem;
  font-size: 0.85rem;
  color: var(--ffmpeg-text-muted);
}

.ffmpeg-hardware-info {
  gap: 0.5rem;
  background: var(--ffmpeg-surface);
}

.ffmpeg-hardware-info__gpu {
  color: var(--ffmpeg-title);
  font-weight: 600;
}

.ffmpeg-hardware-info__encoders {
  display: flex;
  gap: 0.25rem;
  flex-wrap: wrap;
}

.ffmpeg-encoder-badge {
  display: inline-block;
  padding: 0.25rem 0.55rem;
  background: var(--ffmpeg-accent-soft);
  color: var(--ffmpeg-accent-badge-text);
  border-radius: var(--ffmpeg-radius-s);
  font-size: 0.75rem;
  font-weight: 600;
  border: 1px solid var(--ffmpeg-border);
}
