/* DATAMAP EFC — Estilos específicos da página ml_projection
 * Depende de: efc-tokens.css + efc-components.css (carregados antes via base.html).
 * Zero hex hardcoded — todas as cores via var(--*).
 * Disciplina Vale: --vale-green/--vale-gold EXCLUSIVOS para chrome/identidade.
 * Cor de estado: --efc-info-*/--efc-caution-*/--efc-blocked-* / --efc-ink-mut.
 */

/* =====================================================================
 * ROOT / LAYOUT
 * ===================================================================== */
#ml-proj-root {
  padding: var(--efc-4);
  background: var(--efc-bg);
  min-height: calc(100vh - var(--efc-ml-chrome, 106px));
}

/* =====================================================================
 * TOOLBAR (card)
 * ===================================================================== */
#ml-proj-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--efc-3);
  margin-bottom: var(--efc-4);
}

.efc-proj-toolbar__meta {
  display: flex;
  align-items: center;
  gap: var(--efc-2);
}

.efc-proj-toolbar__title {
  font-size: .95rem;
  font-weight: 700;
  color: var(--efc-ink);
  margin: 0;
  line-height: 1.3;
}

.efc-proj-toolbar__sub {
  font-size: .78rem;
  color: var(--efc-ink-mut);
  margin: 0;
}

/* =====================================================================
 * FORMULÁRIO
 * ===================================================================== */
#ml-proj-form {
  display: flex;
  gap: var(--efc-2);
  align-items: center;
  flex-wrap: wrap;
}

#ml-proj-form input {
  max-width: 200px;
}

/* Mensagem de status inline */
#ml-proj-status-msg {
  font-size: .82rem;
  color: var(--efc-ink-mut);
  padding-left: var(--efc-2);
}

#ml-proj-status-msg.error {
  color: var(--efc-blocked-ink);
}

/* =====================================================================
 * TABELA DE SNAPSHOTS
 * ===================================================================== */
#ml-proj-list-wrap {
  overflow-x: auto;
}

#ml-proj-list {
  width: 100%;
  font-size: .88rem;
}

#ml-proj-list th {
  background: var(--efc-surface-2);
  font-weight: 600;
  font-size: .75rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: var(--efc-ink-mut);
  position: sticky;
  top: 0;
  border-bottom: 1px solid var(--efc-border);
}

#ml-proj-list td {
  vertical-align: middle;
  border-bottom: 1px solid var(--efc-border);
  color: var(--efc-ink);
}

/* Zebra leve */
#ml-proj-list tbody tr:nth-child(even) td {
  background: var(--efc-surface-2);
}

/* Hover row — usa token, sem transform para evitar layout shift */
#ml-proj-list tbody tr {
  transition: background 120ms ease;
}

#ml-proj-list tbody tr:hover td {
  background: var(--vale-green-050);
}

@media (prefers-reduced-motion: reduce) {
  #ml-proj-list tbody tr { transition: none; }
}

/* =====================================================================
 * STATUS BADGES
 * ===================================================================== */
.ml-proj-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: .72rem;
  padding: 2px 8px;
  border-radius: 999px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .03em;
}

/* done — positivo: usa verde Vale (operação, não dado) */
.ml-proj-status-done {
  background: var(--efc-info-bg);
  color: var(--efc-info-ink);
}

/* running — atenção: âmbar */
.ml-proj-status-running {
  background: var(--efc-caution-bg);
  color: var(--efc-caution-ink);
}

/* failed — bloqueado: vermelho */
.ml-proj-status-failed {
  background: var(--efc-blocked-bg);
  color: var(--efc-blocked-ink);
}

/* queued — neutro/muted */
.ml-proj-status-queued {
  background: var(--efc-surface-2);
  color: var(--efc-ink-mut);
  border: 1px solid var(--efc-border);
}

/* =====================================================================
 * PAGINAÇÃO
 * ===================================================================== */
.efc-proj-pagination {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: var(--efc-2);
  padding: var(--efc-2) var(--efc-3);
  border-top: 1px solid var(--efc-border);
}

.efc-proj-pagination__info {
  font-size: .8rem;
  color: var(--efc-ink-mut);
}
