* { box-sizing: border-box; }
body {
  margin: 0;
  background: #f3f2f2;
  color: #201e1d;
  font-family: "Archivo", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
input, button, textarea { font-family: inherit; font-size: 14px; }
button { appearance: none; cursor: pointer; }
:focus-visible { outline: 2px solid #042159; outline-offset: 2px; }

.topo {
  display: flex; align-items: center; gap: 14px;
  padding: 16px 28px; background: #fff; border-bottom: 1px solid #e2e0df;
}
.topo .logo { height: 36px; }
.topo h1 { font-size: 18px; margin: 0; font-weight: 800; color: #042159; }

.layout {
  max-width: 760px; margin: 24px auto; padding: 0 20px;
}

.ajuda { font-size: 12.5px; color: #605d5d; line-height: 1.5; margin: 0 0 14px; }

.conteudo { display: flex; flex-direction: column; gap: 20px; }
.cartao {
  background: #fff; border: 1px solid #e2e0df; border-radius: 8px; padding: 20px;
}
.cartao h2 { font-size: 15px; margin: 0 0 12px; color: #042159; }

.tipo-busca { display: flex; gap: 18px; margin-bottom: 12px; font-size: 13px; }
.tipo-busca label { display: flex; align-items: center; gap: 6px; }

.linha-busca { display: flex; gap: 10px; }
.linha-busca input {
  flex: 1; padding: 9px 12px; border: 1px solid #cfcccb; border-radius: 6px;
}
.linha-busca .btn { margin-top: 0; min-width: 130px; text-align: center; }

textarea {
  width: 100%; padding: 10px 12px; border: 1px solid #cfcccb; border-radius: 6px;
  resize: vertical; margin-bottom: 10px;
}

.btn {
  padding: 9px 16px; border-radius: 6px; border: none; font-weight: 600;
  font-size: 13.5px; text-decoration: none; display: inline-block;
}
.btn.primario { background: #042159; color: #fff; border: 1px solid transparent; }
.btn.primario:hover { background: #0b3a91; }
.btn.primario:disabled { background: #9aa5bd; cursor: not-allowed; }
.btn.secundario {
  background: #fff; border: 1px solid #042159; color: #042159; margin-top: 10px;
}
.btn.secundario:hover { background: #eef1f8; }

.resultado, #lote-progresso { margin-top: 14px; font-size: 13px; }
.oculto { display: none; }

.ok {
  background: #dff0d8; color: #274d16; border-left: 3px solid #4a8a2a;
  padding: 12px 14px; border-radius: 4px; display: flex; align-items: center;
  gap: 14px; flex-wrap: wrap;
}
.erro {
  background: #f4d9d9; color: #6b1414; border-left: 3px solid #a11f1f;
  padding: 10px 14px; border-radius: 4px; font-size: 12.5px; line-height: 1.5;
}
.carregando {
  color: #605d5d; font-size: 12.5px;
  display: inline-flex; align-items: center; gap: 8px;
}
.spinner {
  width: 14px; height: 14px; border-radius: 50%; flex: none;
  border: 2px solid rgba(4, 33, 89, 0.2); border-top-color: #042159;
  animation: girar 0.7s linear infinite;
}
@keyframes girar { to { transform: rotate(360deg); } }

.tabela { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: 13px; }
.tabela th, .tabela td {
  text-align: left; padding: 8px 10px; border-bottom: 1px solid #ece9e9;
}
.tabela th { color: #605d5d; font-weight: 600; font-size: 12px; }
.tabela .vazio { color: #918d8c; text-align: center; padding: 16px; }

.status-concluído { color: #274d16; font-weight: 600; }
.status-falha { color: #6b1414; font-weight: 600; }
.status-em-curso { color: #0b3a91; font-weight: 600; }
.status-na-fila { color: #918d8c; }

.paginacao {
  display: flex; align-items: center; justify-content: center; gap: 14px;
  margin-top: 12px; font-size: 12.5px; color: #605d5d;
}
.btn.mini { padding: 5px 12px; margin-top: 0; font-size: 12.5px; }
.btn.mini:disabled { opacity: 0.4; cursor: not-allowed; }
