

@layer telas {

.anon {
  display: grid;
  gap: var(--e-4);
  min-width: 0;
}

/* -- modo: automático ou PDF próprio ------------------------------------- */

.anon-modos {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--e-3);
}
.anon-modo {
  display: flex;
  gap: var(--e-3);
  align-items: flex-start;
  padding: var(--e-3) var(--e-3);
  border: 1px solid var(--linha-forte);
  border-radius: var(--raio-2, 10px);
  background: var(--superficie);
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.anon-modo:hover { background: var(--superficie-2); }
.anon-modo:has(input:checked) {
  border-color: var(--acao);
  box-shadow: var(--sombra-1);
}
.anon-modo input { margin-top: var(--e-1); accent-color: var(--acao, var(--link)); }
.anon-modo span { display: grid; gap: 2px; min-width: 0; }
.anon-modo strong { font-weight: 600; }
.anon-modo small { color: var(--texto-2); font-size: var(--fs-2); line-height: 1.4; }

/* -- estado, resumo e avisos ---------------------------------------------- */

.anon-estado:empty { display: none; }
.anon-estado p { margin: var(--e-2) 0 0; }
.anon-resumo {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--e-2);
}
.anon-numero {
  display: inline-flex;
  align-items: baseline;
  gap: var(--e-1);
  padding: var(--e-1) var(--e-3);
  border-radius: var(--raio-pilula);
  background: var(--ok-suave);
  color: var(--ok);
  font-size: var(--fs-2);
}
.anon-numero strong { font-size: var(--fs-3); font-variant-numeric: tabular-nums; }
.anon-numero small { color: inherit; opacity: .8; }
.anon-numero.conferir { background: var(--atencao-suave); color: var(--atencao); }
.anon-numero.neutro { background: var(--superficie-3, var(--fundo)); color: var(--texto-2); }
.anon-modo-geracao { font-size: var(--fs-2); color: var(--texto-2); }
.anon-hash, .anon-pendente, .anon-aviso, .anon-erro { font-size: var(--fs-2); line-height: 1.45; }
.anon-hash { color: var(--texto-2); }
.anon-hash .mono, .anon-aceite .mono { font-size: var(--fs-1); }
.anon-pendente {
  padding: var(--e-2) var(--e-3);
  border-radius: var(--raio-2, 10px);
  background: var(--acao-suave);
  color: var(--texto);
}
.anon-aviso {
  padding: var(--e-2) var(--e-3);
  border-radius: var(--raio-2, 10px);
  background: var(--atencao-suave);
  color: var(--texto);
  box-shadow: none;
}
.anon-erro { color: var(--vencido); }
.anon-progresso {
  position: relative;
  height: 3px;
  overflow: hidden;
  border-radius: var(--raio-1);
  background: var(--acao-suave);
}
.anon-progresso span {
  position: absolute;
  inset: 0 auto 0 -40%;
  width: 40%;
  border-radius: var(--raio-1);
  background: var(--acao);
  animation: anon-progresso 1.2s ease-in-out infinite;
}
@keyframes anon-progresso { to { left: 100%; } }

/* -- painel: lista à esquerda, prévia à direita --------------------------- */

.anon-painel {
  display: grid;
  grid-template-columns: minmax(290px, 400px) minmax(0, 700px);
  gap: var(--e-5);
  align-items: start;
}
.anon-lista {
  max-height: max(480px, calc(100vh - 150px));
  overflow: auto;
  padding: 2px var(--e-1) 2px 0;
  overscroll-behavior: contain;
}
.anon-vazio { color: var(--texto-2); }
.anon-grupo {
  margin: 0 0 var(--e-3);
  padding: 0;
  border: 0;
  min-width: 0;
}
.anon-grupo legend {
  display: flex;
  align-items: center;
  gap: var(--e-2);
  margin-bottom: var(--e-2);
  padding: 0;
  font-size: var(--fs-1);
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--texto-2);
}
.anon-conta {
  padding: 0 var(--e-2);
  border-radius: var(--raio-pilula);
  background: var(--neutro-suave);
  font-size: var(--fs-1);
  font-variant-numeric: tabular-nums;
  text-transform: none;
}
.anon-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: var(--e-1) var(--e-2);
  align-items: start;
  margin-bottom: var(--e-2);
  padding: var(--e-2) var(--e-3);
  border: 1px solid var(--linha);
  border-radius: var(--raio-2, 10px);
  background: var(--superficie);
  transition: border-color .15s ease, background .15s ease;
}
.anon-item:hover { border-color: var(--linha-forte); }
.anon-item input { grid-column: 1; grid-row: 1; margin-top: var(--e-1); accent-color: var(--acao, var(--link)); }
.anon-item label { display: grid; grid-column: 2; grid-row: 1 / span 2; gap: 2px; min-width: 0; cursor: pointer; }
.anon-item:not(.marcado) .anon-trecho { text-decoration: none; opacity: .85; }
.anon-item.marcado .anon-trecho {
  text-decoration: line-through;
  text-decoration-color: var(--texto-3);
}
.anon-item.conferir {
  border-color: var(--atencao-linha);
  background: var(--atencao-suave);
}
.anon-trecho { font-weight: 600; overflow-wrap: anywhere; }
.anon-meta, .anon-motivo { font-size: var(--fs-1); line-height: 1.4; color: var(--texto-2); }
.anon-confianca { white-space: nowrap; opacity: .9; }
.anon-confianca.c-baixa { color: var(--atencao); font-weight: 600; }
.anon-selo {
  grid-column: 3;
  grid-row: 1;
  align-self: start;
  padding: 1px var(--e-2);
  border-radius: var(--raio-pilula);
  background: var(--atencao);
  color: var(--texto);
  font-size: var(--fs-1);
  font-weight: 600;
}
.anon-ir {
  grid-column: 3;
  grid-row: 2;
  align-self: end;
  justify-self: end;
  padding: 2px var(--e-2);
  border: 1px solid var(--linha);
  border-radius: var(--raio-pilula);
  background: transparent;
  color: var(--link);
  font-size: var(--fs-1);
  cursor: pointer;
}
.anon-ir:hover { background: var(--acao-suave); }

.anon-previa {
  position: sticky;
  top: 12px;
  min-width: 0;
}
.anon-barra {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--e-2);
  margin-bottom: var(--e-2);
}
.anon-alternar {
  display: inline-flex;
  padding: 2px;
  border-radius: var(--raio-2);
  background: var(--neutro-suave);
}
.anon-alternar button {
  padding: var(--e-1) var(--e-3);
  border: 0;
  border-radius: var(--raio-1);
  background: transparent;
  color: var(--texto-2);
  font-size: var(--fs-2);
  font-weight: 600;
  cursor: pointer;
}
.anon-alternar button[aria-selected="true"] {
  background: var(--superficie);
  color: var(--texto);
  box-shadow: var(--sombra-1);
}
.anon-paginas {
  display: inline-flex;
  align-items: center;
  gap: var(--e-2);
  font-size: var(--fs-2);
  color: var(--texto-2);
  font-variant-numeric: tabular-nums;
}
.anon-seta {
  width: 28px;
  height: 28px;
  border: 1px solid var(--linha);
  border-radius: 50%;
  background: var(--superficie);
  color: var(--texto);
  font-size: var(--fs-5);
  line-height: 1;
  cursor: pointer;
}
.anon-seta:disabled { opacity: .4; cursor: default; }

.anon-folha {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--linha);
  border-radius: var(--raio-1);
  background: var(--superficie);
  box-shadow: none;
}
.anon-folha img { display: block; width: 100%; height: auto; }
.anon-carregando {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--e-4);
  color: var(--texto-2);
  font-size: var(--fs-2);
  text-align: center;
}
.anon-marcas { position: absolute; inset: 0; }
.anon-folha.publica .anon-marcas { display: none; }
.anon-marca {
  position: absolute;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--raio-1);
  background: var(--acao-suave);
  outline: 1.5px dashed var(--linha-forte);
  outline-offset: 0;
  cursor: pointer;
}
/* Na conferência o texto marcado continua legível sob a marca; a aba
 * «Versão pública» mostra a tarja definitiva. */
.anon-marca.tarjado {
  background: var(--neutro-suave);
  outline: 1.5px solid var(--linha-forte);
}
.anon-marca.conferir:not(.tarjado) {
  background: var(--atencao-suave);
  outline: 2px dashed var(--atencao);
}
.anon-marca:hover { outline-width: 2px; }
.anon-marca:focus-visible {
  outline: 2px solid var(--acao);
  box-shadow: var(--sombra-1);
  z-index: 1;
}
.anon-marca.destaque { animation: anon-destaque 1.4s ease-out 2; z-index: 1; }
@keyframes anon-destaque {
  0% { box-shadow: var(--sombra-1); }
  100% { box-shadow: var(--sombra-1); }
}
.anon-sem-texto {
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 8px;
  padding: var(--e-2) var(--e-2);
  border-radius: var(--raio-2);
  background: var(--atencao-suave);
  color: var(--atencao);
  font-size: var(--fs-1);
}
.anon-legenda {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--e-2) var(--e-3);
  margin-top: var(--e-2);
  font-size: var(--fs-1);
  color: var(--texto-2);
}
.anon-chip {
  display: inline-block;
  width: 18px;
  height: 10px;
  margin-right: calc(var(--e-1) * -1);
  border-radius: var(--raio-1);
  vertical-align: middle;
}
.anon-chip.tarjado {
  background: linear-gradient(var(--neutro-suave), var(--neutro-suave)), var(--superficie);
  outline: 1.5px solid var(--linha-forte);
  outline-offset: -1.5px;
}
html[data-tema="escuro"] .anon-chip.tarjado { outline-color: var(--linha-forte); }
.anon-chip.mantido { outline: 1.5px dashed var(--linha-forte); outline-offset: -1.5px; background: var(--superficie); }
.anon-chip.conferir { outline: 2px dashed var(--atencao); outline-offset: -2px; background: linear-gradient(var(--atencao-suave), var(--atencao-suave)), var(--superficie); }

/* -- «ocultar também», ações e aceite -------------------------------------- */

.anon-extras { display: grid; gap: var(--e-1); }
.anon-extras label { font-weight: 600; }
.anon-extras input { width: 100%; box-sizing: border-box; }
.anon-extras small { color: var(--texto-2); font-size: var(--fs-1); }
.anon-acoes { display: flex; flex-wrap: wrap; gap: var(--e-2); }
.anon-acoes .acao.anon-em-uso,
.anon-acoes .acao.anon-em-uso:disabled {
  border-color: var(--ok-linha);
  background: var(--ok-suave);
  color: var(--ok);
  opacity: 1;
  cursor: default;
}
.anon-aceite {
  padding: var(--e-2) var(--e-3);
  border-radius: var(--raio-2, 10px);
  background: var(--ok-suave);
  box-shadow: none;
  font-size: var(--fs-2);
  line-height: 1.45;
}

.anon button:focus-visible,
.anon input:focus-visible {
  outline: 2px solid var(--acao);
  outline-offset: 2px;
}

/* -- telas estreitas --------------------------------------------------------- */

@media (max-width: 920px) {
  .anon-painel { grid-template-columns: minmax(0, 1fr); }
  .anon-previa { position: static; order: -1; }
  .anon-lista { max-height: none; overflow: visible; }
}
@media (max-width: 560px) {
  .anon-modos { grid-template-columns: minmax(0, 1fr); }
  .anon-barra { flex-direction: column; align-items: stretch; }
  .anon-alternar { width: 100%; }
  .anon-alternar button { flex: 1; }
  .anon-paginas { justify-content: space-between; }
  .anon-acoes .acao { flex: 1 1 auto; }
}

@media (prefers-reduced-motion: reduce) {
  .anon-progresso span, .anon-marca.destaque { animation: none; }
  .anon-modo, .anon-item { transition: none; }
}

}
