/* ============================================================================
   Capi Când-IA Pro — File Badge (Fase 2)
   Badge dourado pra arquivos anexados no chat input.
   ============================================================================ */

.ds-file-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--ds-gold-dim);
  border: 1px solid var(--ds-gold-border);
  border-radius: var(--ds-radius);
  padding: 4px 8px 4px 10px;
  font-family: var(--ds-font-sans);
  font-size: 11.5px;
  color: var(--ds-gold);
  max-width: 220px;
}

.ds-file-badge svg {
  width: 12px;
  height: 12px;
  stroke: currentColor;
  flex-shrink: 0;
}

.ds-file-badge-name {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ds-file-badge-remove {
  background: transparent;
  border: none;
  color: inherit;
  cursor: pointer;
  padding: 0 2px;
  display: flex;
  opacity: 0.7;
  transition: opacity 0.12s ease;
}

.ds-file-badge-remove:hover {
  opacity: 1;
}

.ds-file-badge-remove svg {
  width: 11px;
  height: 11px;
}

/* Badge de loading (upload em progresso) */
.ds-file-badge.is-loading {
  opacity: 0.6;
}

.ds-file-badge-spinner {
  width: 12px;
  height: 12px;
  border: 1.5px solid rgba(212,160,23,0.20);
  border-top-color: var(--ds-gold);
  border-radius: 50%;
  animation: ds-file-spin 0.7s linear infinite;
}

@keyframes ds-file-spin {
  to { transform: rotate(360deg) }
}

.ds-file-badge-meta {
  color: var(--ds-text-muted);
  font-size: 10.5px;
  flex-shrink: 0;
  white-space: nowrap;
}

.ds-file-badge.is-error {
  background: rgba(239,68,68,0.06);
  border-color: rgba(239,68,68,0.28);
  color: #f3a4a4;
}

.ds-file-badge.is-error .ds-file-badge-meta {
  color: #ef8a8a;
}

.ds-file-badge.is-ok .ds-file-badge-meta {
  color: var(--ds-text-2);
}
