/* Telas de acesso: entrar, criar senha, recuperar senha, erro.
   Moldura escura com a frase da plataforma à esquerda e a folha clara com o formulário à direita. */
body[data-contexto=""] { background: var(--moldura); }
.acesso { min-height: 100svh; display: grid; align-items: stretch; font-size: var(--texto-md); color: var(--texto); grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); background: var(--moldura); padding: var(--moldura-espaco); gap: var(--moldura-espaco); }

.acesso-marca { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; gap: var(--e-10); padding: var(--e-10) var(--e-10) var(--e-12); color: var(--texto-sobre-tinta); }
.acesso-marca::after { content: ""; position: absolute; right: -230px; bottom: -300px; width: 520px; height: 520px; border-radius: 50%; border: 60px solid var(--marca); pointer-events: none; }
.acesso-marca > * { position: relative; z-index: 1; }
.acesso-marca > .acesso-logo { position: absolute; top: var(--e-10); left: var(--e-10); height: 34px; width: auto; }
.acesso-frase { max-width: 540px; display: flex; flex-direction: column; gap: var(--e-4); }
.acesso-frase .rotulo-ponto { color: var(--texto-sobre-tinta-2); }
.acesso-frase .rotulo-ponto::before { background: var(--marca-viva); }
.acesso-titulo { font-size: var(--titulo-xl); font-weight: var(--peso-semi); line-height: 1; letter-spacing: -0.045em; text-wrap: balance; }
.acesso-apoio { color: var(--texto-sobre-tinta-2); font-size: var(--texto-lg); max-width: 40ch; }
.acesso-tipos { display: flex; flex-wrap: wrap; gap: var(--e-2); margin-top: var(--e-4); }
.acesso-tipos li { display: inline-flex; align-items: center; gap: var(--e-2); height: 44px; padding: 0 var(--e-4) 0 5px; border-radius: var(--raio-pilula); background: rgba(255, 255, 255, .07); font-size: var(--texto-sm); font-weight: var(--peso-medio); }
.acesso-tipos .icone-tom { width: 34px; height: 34px; border-radius: 50%; }
.acesso-tipos .icone-tom .ic { width: 16px; height: 16px; }

.acesso-folha { display: flex; flex-direction: column; min-width: 0; background: var(--fundo); border-radius: var(--moldura-raio); }
.acesso-topo { display: flex; align-items: center; justify-content: space-between; padding: var(--e-5) var(--e-6); }
.acesso-topo .marca img { height: 32px; width: auto; display: block; }
.acesso-topo .btn-redondo { --btn-fundo: var(--superficie); box-shadow: var(--sombra-cartao); }
.acesso-marca ~ .acesso-folha .acesso-topo .marca { visibility: hidden; }
.acesso-conteudo { flex: 1; display: grid; place-items: center; padding: var(--e-6) var(--e-4) var(--e-12); }
.acesso-cartao { width: min(460px, 100%); background: var(--superficie); border: 0; border-radius: var(--raio-xl); padding: 40px; display: flex; flex-direction: column; gap: var(--e-5); box-shadow: var(--sombra-2); }
.acesso-cartao h1 { font-size: var(--titulo-lg); letter-spacing: -0.04em; }
.acesso-cartao > p { color: var(--texto-2); margin-top: calc(-1 * var(--e-3)); }
.acesso-cartao .btn--bloco { width: 100%; justify-content: center; height: var(--altura-controle-lg); font-size: var(--texto-lg); }
.acesso-rodape { text-align: center; padding: var(--e-5); }
.acesso-rodape a { color: inherit; }
.acesso-erro { text-align: center; align-items: center; }
.acesso-erro .codigo { font-size: 88px; font-weight: var(--peso-semi); letter-spacing: -0.06em; color: var(--marca); line-height: 1; }

.acesso--simples { grid-template-columns: minmax(0, 1fr); }
.acesso--simples .acesso-topo img { height: 34px; width: auto; }

@media (max-width: 960px) {
  .acesso { grid-template-columns: minmax(0, 1fr); padding: 0; background: var(--fundo); }
  body[data-contexto=""] { background: var(--fundo); }
  .acesso-marca { display: none; }
  .acesso-folha { border-radius: 0; min-height: 100svh; }
  .acesso-marca ~ .acesso-folha .acesso-topo .marca { visibility: visible; }
}
@media (max-width: 480px) { .acesso-cartao { padding: var(--e-6) var(--e-5); border-radius: var(--raio-lg); } .acesso-cartao h1 { font-size: var(--titulo-md); } }
