/* Acesso: prioridade para o formulário e estados de conta explícitos. */
.acesso-shell { max-width: 1264px; min-height: 100dvh; margin-inline: auto; padding-inline: var(--space-8); display: flex; flex-direction: column; }
.acesso-cabecalho { min-height: 88px; display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); border-bottom: 1px solid var(--linha); }
.acesso-cabecalho .portal-link { color: var(--texto-2); }
.acesso-grade { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 464px); gap: var(--space-16); align-items: start; flex: 1; padding-block: var(--space-16); }
.acesso-apresentacao { padding-top: var(--space-4); }
.acesso-apresentacao h2 { max-width: 19ch; margin: 0; font: 300 var(--font-2xl)/1.15 var(--font-voz); letter-spacing: -.02em; text-wrap: balance; }
.acesso-apresentacao > p { max-width: 48ch; margin: var(--space-6) 0 0; color: var(--texto-2); font-size: var(--font-md); line-height: 1.5; }
.acesso-editorial { display: grid; gap: var(--space-6); max-width: 48ch; margin: var(--space-12) 0 0; }
.acesso-editorial dt { margin-bottom: var(--space-1); font-size: var(--font-sm); font-weight: 600; }
.acesso-editorial dd { margin: 0; color: var(--texto-2); font-size: var(--font-sm); line-height: 1.5; }
.acesso-cartao { min-width: 0; max-width: none; padding-left: var(--space-12); border-left: 1px solid var(--linha); }
.acesso-cartao h1 { margin: 0; font: 400 var(--font-xl)/1.2 var(--font-voz); letter-spacing: -.015em; }
.acesso-frase { margin: var(--space-3) 0 var(--space-6); color: var(--texto-2); font-size: var(--font-sm); line-height: 1.5; }
.acesso-cartao .seg { width: 100%; margin-bottom: var(--space-6); padding: var(--space-1); border-color: var(--linha-forte); background: var(--superficie); }
.acesso-cartao .seg button { flex: 1; min-height: var(--control-size); padding: var(--space-2) var(--space-3); font-size: var(--font-sm); line-height: 1.4; }
.acesso-cartao .seg button[aria-pressed="true"] { background: var(--destaque); color: var(--fundo); box-shadow: none; }
.acesso-google { text-align: center; }
.acesso-google .card-note { margin: var(--space-2) 0 0; color: var(--texto-2); font-size: var(--font-xs); line-height: 1.5; }
#google-botao { min-height: var(--control-size); display: flex; align-items: center; justify-content: center; }
#google-botao[hidden] { display: none; }
.google-indisponivel { min-height: var(--control-size); border-color: var(--linha-forte); }
.google-indisponivel:disabled { opacity: .65; }
.acesso-separador { display: flex; align-items: center; gap: var(--space-4); margin: var(--space-6) 0; color: var(--texto-2); font-size: var(--font-xs); }
.acesso-separador::before, .acesso-separador::after { content: ""; height: 1px; flex: 1; background: var(--linha); }
.acesso-cartao .entrada-form { gap: var(--space-6); margin-top: var(--space-6); }
.acesso-cartao .field { gap: var(--space-2); margin: 0; }
.acesso-cartao .field label { color: var(--texto); font-size: var(--font-sm); font-weight: 600; }
.acesso-cartao input:not([type="checkbox"]) { min-width: 0; min-height: var(--control-size); padding-block: var(--space-2); border-radius: var(--r-md); font-size: var(--font-sm); line-height: 1.5; background: var(--superficie); }
.acesso-cartao .senha-campo input { min-height: 52px; }
.acesso-cartao .senha-campo .btn { padding-inline: var(--space-3); font-size: var(--font-xs); }
.acesso-cartao .hint { font-size: var(--font-xs); line-height: 1.5; color: var(--texto-2); }
.acesso-cartao .entrada-manter { min-height: var(--control-size); align-items: flex-start; gap: var(--space-3); color: var(--texto); font-size: var(--font-sm); line-height: 1.5; }
.acesso-cartao .entrada-manter .check { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--destaque); }
.acesso-cartao .entrada-nota { margin: var(--space-6) 0 0; color: var(--texto-2); font-size: var(--font-xs); line-height: 1.6; }
.acesso-cartao .notice { margin-bottom: var(--space-6); padding: var(--space-4); color: var(--texto-2); border: 1px solid var(--linha); border-radius: var(--r-md); font-size: var(--font-sm); line-height: 1.5; }
.acesso-cartao .notice .ic { display: none; }
.acesso-estado { margin: 0; color: var(--texto-2); font-size: var(--font-sm); line-height: 1.5; }
.acesso-estado:empty, .acesso-cartao .err:empty { display: none; }
.acesso-cartao .err { color: var(--critical-text); font-size: var(--font-sm); font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.acesso-local { margin-bottom: var(--space-6); }
.google-pendente { margin-block: var(--space-4) var(--space-6); }
.google-pendente > p:first-child { font-weight: 600; overflow-wrap: anywhere; }
.google-pendente .card-note { color: var(--texto-2); font-size: var(--font-sm); line-height: 1.5; }
.google-pendente .field { margin-block: var(--space-6); }
.google-pendente .entrada-manter { margin-block: var(--space-6); }
.google-pendente .btn + .btn { margin-top: var(--space-2); }
@media (max-width: 1050px) {
  .acesso-grade { gap: var(--space-8); grid-template-columns: minmax(0, 1fr) minmax(0, 420px); }
  .acesso-cartao { padding-left: var(--space-8); }
  .acesso-apresentacao h2 { font-size: var(--font-xl); }
  .acesso-apresentacao > p { font-size: var(--font-sm); }
}
@media (max-width: 760px) {
  .acesso-shell { padding-inline: var(--space-4); }
  .acesso-cabecalho { min-height: 76px; gap: var(--space-4); }
  .acesso-grade { display: block; padding-block: var(--space-8); }
  .acesso-apresentacao { display: none; }
  .acesso-cartao { max-width: 440px; margin-inline: auto; padding: 0; border: 0; }
  .acesso-cartao h1 { font-size: var(--font-lg); }
}
