/* ============================================================
   dashboard-progress.css (rx-core) — barra de progresso partilhada
   ============================================================
   RECONSTRUÍDO (Aug 2026, bug reportado: barra invisível, percentagem
   caída para debaixo do texto à esquerda). O comentário de extracção
   em dashboard-progress.js e no dashboard.css de ambos os produtos
   apontava para este ficheiro ("Ver <link> no index.html") — mas
   confirmado nos ficheiros reais: não existe em nenhum dashboard.css
   (nem CommunityRX nem ImóvelRX, os dois tinham só o comentário, sem
   as regras) nem está referenciado em nenhum <link> de nenhum
   index.html. A extracção do JS aconteceu; a do CSS nunca chegou a
   ser feita a sério — ficheiro genuinamente novo, não uma cópia de
   algo que já existisse.

   Tokens e técnica de "brilho a deslizar" (shimmer) copiados do
   .skeleton já existente no dashboard.css de ambos os produtos (--ink-2/
   --wire-2/--text-3/--amber, mesmo keyframe), para bater certo com o
   resto da UI em vez de inventar uma paleta nova.
   ============================================================ */

.analysis-progress {
  width: 100%;
  margin-top: 0.75rem;
}

.analysis-progress-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.375rem;
}

.analysis-progress-label {
  font-size: 0.75rem;
  color: var(--text-3);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  min-width: 0;
}

.analysis-progress-pct {
  font-family: var(--rx-font-mono);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--rx-accent-text);
  flex-shrink: 0;
}

.analysis-progress-bar {
  height: 4px;
  background: var(--wire-2);
  border-radius: 99px;
  overflow: hidden;
}

.analysis-progress-fill {
  height: 100%;
  border-radius: 99px;
  transition: width 0.6s ease;
  /* Brilho a deslizar sempre a animar (não só quando indeterminate) —
     mesma correcção já feita nesta funcionalidade no passado (ver
     comentário no topo de dashboard-progress.js): background-position
     relativo à largura real do preenchimento, não translateX fixo. */
  background: linear-gradient(90deg, var(--amber) 25%, color-mix(in srgb, var(--amber) 55%, white) 50%, var(--amber) 75%);
  background-size: 200% 100%;
  animation: rx-progress-shimmer 1.5s infinite;
}

/* Estado indeterminado (ainda sem progressState do backend) — o JS
   não define width inline neste caso, por isso ocupa a barra toda; o
   brilho a deslizar é o único sinal de "ainda a trabalhar". */
.analysis-progress-fill.indeterminate {
  width: 100%;
}

@keyframes rx-progress-shimmer {
  to { background-position: -200% 0; }
}