/* ------------------------------------------------------------------ *
 * Listas — o motor de segmentação (fatia 7).
 * Layout de duas colunas (barra de listas + conteúdo) e o construtor
 * visual de critérios. Usa apenas tokens do design system.
 * ------------------------------------------------------------------ */

.lista-pagina {
  display: grid;
  grid-template-columns: minmax(220px, 300px) 1fr;
  gap: var(--esp-4);
  align-items: start;
}

.lista-pagina__lateral {
  position: sticky;
  top: var(--esp-4);
  display: flex;
  flex-direction: column;
  gap: var(--esp-3);
  padding: var(--esp-3);
  background: var(--cor-superficie);
  border: 1px solid var(--cor-borda);
  border-radius: var(--raio-2, 12px);
}

.lista-pagina__lateral-topo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--esp-2);
}

.lista-pagina__conteudo {
  display: flex;
  flex-direction: column;
  gap: var(--esp-4);
  min-width: 0;
}

.lista-pagina__vazio,
.lista-pagina__acoes-dados {
  padding: var(--esp-3);
}

.lista-pagina__acoes-dados {
  display: flex;
  gap: var(--esp-2);
  flex-wrap: wrap;
}

/* Construtor visual --------------------------------------------------- */

.lista-construtor__grupo {
  border: 1px solid var(--cor-borda);
}

.lista-construtor__grupo-cab {
  display: flex;
  align-items: center;
  gap: var(--esp-3);
  flex-wrap: wrap;
  justify-content: space-between;
}

.lista-construtor__condicao {
  display: flex;
  align-items: center;
  gap: var(--esp-2);
  flex-wrap: wrap;
  padding: var(--esp-2);
  background: var(--cor-fundo-suave, rgba(0, 0, 0, 0.02));
  border-radius: var(--raio-1, 8px);
}

.lista-construtor__condicao > .campo__controle,
.lista-construtor__valor > .campo__controle {
  min-width: 8rem;
}

.lista-construtor__valor {
  display: inline-flex;
  flex: 1 1 8rem;
}

.lista-construtor__valor > .campo__controle {
  width: 100%;
}

.lista-construtor__previa {
  display: flex;
  flex-direction: column;
  gap: var(--esp-2);
}

.lista-construtor__regras {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--esp-2);
}

.lista-construtor__regras li {
  display: flex;
  align-items: center;
  gap: var(--esp-2);
}

.campo__controle--inline {
  display: inline-block;
  width: auto;
  min-width: 7rem;
}

.texto--suave {
  color: var(--cor-texto-suave, var(--cor-texto-secundario, #6b7280));
  font-size: 0.9em;
}

@media (max-width: 860px) {
  .lista-pagina {
    grid-template-columns: 1fr;
  }
  .lista-pagina__lateral {
    position: static;
  }
}
