/* ---------------------------------------------------------------------------
   Tela de acesso — padrão único dos sistemas Via3 (mesma do Quadro de Férias).
   Só muda o nome do produto no <h3>. Carregada depois de via3-ui.css.
   --------------------------------------------------------------------------- */

/* Glow laranja no canto e brilho do painel: assinatura visual da tela de login. */
body.tela-acesso{
  background:
    radial-gradient(1100px 520px at 82% -12%, rgba(232,90,36,.16), transparent 60%),
    radial-gradient(900px 480px at -10% 8%, rgba(31,52,70,.85), transparent 55%),
    var(--fundo);
  background-attachment:fixed;
}
html[data-theme="claro"] body.tela-acesso{
  background:
    radial-gradient(1100px 520px at 82% -12%, rgba(209,73,15,.10), transparent 60%),
    radial-gradient(900px 480px at -10% 8%, rgba(205,216,225,.55), transparent 55%),
    var(--fundo);
  background-attachment:fixed;
}

.acesso{ min-height:100vh; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; padding:24px; }

.caixa{
  width:100%; max-width:430px; border-radius:18px; padding:34px 30px 28px;
  background:linear-gradient(180deg, rgba(31,52,70,.7), rgba(24,40,54,.96));
  border:1px solid var(--linha); box-shadow:var(--sombra);
}
html[data-theme="claro"] .caixa{ background:var(--superficie); }

.caixa .marca-via3{ margin-bottom:26px; }
.caixa h3{ font-size:23px; margin:0 0 14px; font-weight:600; letter-spacing:-.01em; }
.caixa p{ margin:-6px 0 22px; color:var(--tinta-2); font-size:13.5px; line-height:1.6; }

.caixa label{ display:block; font-size:13px; color:var(--tinta-2); margin-bottom:8px; }
.campo{ margin-bottom:14px; }
.caixa input{ width:100%; border-radius:10px; padding:10px 12px; font-size:13.5px; }

/* Campo do código: dígitos espaçados, como no Quadro de Férias. */
.codigo-campo{
  letter-spacing:14px; text-indent:14px; text-align:center; font-size:24px; font-weight:600;
  padding:14px 12px;
}
.codigo-campo::placeholder{ color:var(--tinta-fraca); font-weight:400; opacity:.55; }

/* Botão em bloco, no laranja escurecido (branco em 4,9:1 — AA). */
.caixa button.acao{
  display:flex; width:100%; justify-content:center; border-radius:10px;
  padding:14px 16px; font-size:14.5px; font-weight:600;
  background:#c64716; border-color:#c64716;
}
.caixa button.acao:hover{ background:var(--acao); border-color:var(--acao); filter:none; }

.aviso{ border-radius:10px; padding:12px 14px; font-size:13.5px; line-height:1.6; margin:0 0 16px; border:1px solid; }
.aviso.ok{ background:rgba(47,182,124,.12); border-color:rgba(47,182,124,.3); color:#7fe0b7; }
.aviso.ok strong{ color:#9be9c6; font-weight:600; overflow-wrap:anywhere; }
.aviso.erro{ background:rgba(226,74,74,.12); border-color:rgba(226,74,74,.3); color:#f09393; }
html[data-theme="claro"] .aviso.ok{ color:#1f8f57; }
html[data-theme="claro"] .aviso.ok strong{ color:#157344; }
html[data-theme="claro"] .aviso.erro{ color:#c23b32; }

.divisor{ height:1px; background:var(--linha); margin:20px 0; }
.pe{ margin:0; text-align:center; font-size:12px; color:var(--tinta-fraca); }

.tema{ font-size:12px; }
[hidden]{ display:none !important; }
