/* Importação CSV (T021b). Mobile-first: base 360 px; min-width amplia (600). Sem style inline (CSP). */

.campo-simples { margin-bottom: var(--mm-e4); }
.campo-simples label { display: block; font-weight: 600; margin-bottom: var(--mm-e1); }
.campo-simples .opcional { font-weight: 400; color: var(--mm-texto-suave); }
.campo-simples input[type="file"], .campo-simples select {
  width: 100%; min-height: 48px; padding: var(--mm-e2) var(--mm-e3);
  font: inherit; color: var(--mm-texto); background: var(--mm-superficie);
  border: 2px solid var(--mm-borda); border-radius: var(--mm-raio-md);
}
.campo-simples input[aria-invalid="true"] { border-color: var(--mm-erro); }
.campo-simples .ajuda, .campo-check .ajuda, .interno > .ajuda, #motivo-aplicar { font-size: var(--mm-t-sm); color: var(--mm-texto-suave); margin: var(--mm-e1) 0 0; }

.campo-check {
  display: flex; gap: var(--mm-e3); align-items: flex-start; margin-bottom: var(--mm-e4);
  padding: var(--mm-e3) var(--mm-e4); background: var(--mm-superficie);
  border: 1px solid var(--mm-borda); border-radius: var(--mm-raio-md);
}
.campo-check input[type="checkbox"] { width: 24px; height: 24px; margin: 10px 0 0; flex: none; accent-color: var(--mm-primaria); }
.campo-check label { font-weight: 600; display: block; min-height: var(--mm-alvo); padding-top: 10px; }
.campo-check label + .ajuda { margin-top: 0; }

/* Resumo em números */
.resumo-grade { list-style: none; margin: 0 0 var(--mm-e4); padding: 0; display: grid; gap: var(--mm-e2); grid-template-columns: repeat(2, 1fr); }
.resumo-grade li {
  display: flex; flex-direction: column; align-items: center; justify-content: center; padding: var(--mm-e3);
  background: var(--mm-superficie); border: 1px solid var(--mm-borda-leve); border-radius: var(--mm-raio-md);
}
.resumo-numero { font-size: var(--mm-t-num); line-height: 1.1; }
.resumo-rotulo { font-size: var(--mm-t-sm); color: var(--mm-texto-suave); }

/* Tabela de dados: a 360 px cada linha vira cartão; rótulo vem de data-rotulo. */
.problemas { margin-bottom: var(--mm-e4); }
.tabela-bloco { overflow-x: auto; }
.tabela-dados { width: 100%; border-collapse: collapse; }
.tabela-dados thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.tabela-dados tr {
  display: block; margin-bottom: var(--mm-e2); padding: var(--mm-e2) var(--mm-e3);
  background: var(--mm-superficie); border: 1px solid var(--mm-borda-leve); border-radius: var(--mm-raio-md);
}
.tabela-dados td { display: block; padding: var(--mm-e1) 0; }
.tabela-dados td::before { content: attr(data-rotulo) ": "; font-weight: 600; color: var(--mm-texto-suave); }
.sev { font-weight: 700; }
.sev-erro { color: var(--mm-erro); }
.sev-aviso { color: var(--mm-aviso-texto); }
.diff { margin: 0; padding-left: var(--mm-e4); }

/* Paginador */
.paginador { display: flex; align-items: center; justify-content: space-between; gap: var(--mm-e2); margin: var(--mm-e3) 0 var(--mm-e4); }
.paginador .botao { min-height: var(--mm-alvo); padding: 0 var(--mm-e3); }
.paginador-texto { font-size: var(--mm-t-sm); text-align: center; }

/* Confirmação */
.confirmar { padding: var(--mm-e4); margin-bottom: var(--mm-e4); background: var(--mm-aviso-fundo); color: var(--mm-aviso-texto); border: 2px solid var(--mm-aviso-borda); border-radius: var(--mm-raio-md); }
.confirmar:focus-within h3, .confirmar h3:focus { outline: none; }

/* Lista de lotes */
.lista-lotes a.lote { display: flex; flex-direction: column; align-items: stretch; gap: var(--mm-e1); }
.lote-topo { display: flex; justify-content: space-between; align-items: center; gap: var(--mm-e2); }
.chip-status {
  display: inline-flex; align-items: center; min-height: 28px; padding: 0 var(--mm-e3); border-radius: var(--mm-raio-pill);
  border: 1px solid var(--mm-borda); font-size: var(--mm-t-sm); font-weight: 600; background: var(--mm-consulta-fundo); color: var(--mm-texto);
}
.chip-status.st-aplicado { background: var(--mm-sucesso-fundo); border-color: var(--mm-sucesso); color: var(--mm-sucesso); }
.chip-status.st-rejeitado, .chip-status.st-falhou { background: var(--mm-erro-fundo); border-color: var(--mm-erro); color: var(--mm-erro); }
.chip-status.st-validado { background: var(--mm-aviso-fundo); border-color: var(--mm-aviso-borda); color: var(--mm-aviso-texto); }

/* Ficha do lote */
.ficha { margin: 0 0 var(--mm-e4); display: grid; gap: var(--mm-e2); }
.ficha div { padding: var(--mm-e2) var(--mm-e3); background: var(--mm-superficie); border: 1px solid var(--mm-borda-leve); border-radius: var(--mm-raio-md); }
.ficha dt { font-size: var(--mm-t-sm); color: var(--mm-texto-suave); }
.ficha dd { margin: 0; font-weight: 600; }

@media (min-width: 600px) {
  .resumo-grade { grid-template-columns: repeat(3, 1fr); }
  .ficha { grid-template-columns: repeat(2, 1fr); }
  .tabela-dados thead { position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
  .tabela-dados tr { display: table-row; margin: 0; padding: 0; border: 0; background: none; }
  .tabela-dados th, .tabela-dados td { display: table-cell; padding: var(--mm-e2) var(--mm-e3); border-bottom: 1px solid var(--mm-borda-leve); text-align: left; vertical-align: top; }
  .tabela-dados td::before { content: none; }
  .tabela-dados th { font-size: var(--mm-t-sm); color: var(--mm-texto-suave); }
}
@media (min-width: 900px) {
  .resumo-grade { grid-template-columns: repeat(6, 1fr); }
}
