/* Ajustes exclusivos do cadastro público; as demais telas de conta mantêm seu layout. */
body.pagina-conta.cadastro-publico { --cadastro-acao: #087f79; background: var(--bs-app-bg-color, #f5f9fb); }
body.pagina-conta.cadastro-publico .entrada-aplicacao { display: flex; flex-direction: column; align-items: center; width: 100%; max-width: none; min-height: 100svh; margin: 0; padding: 24px 16px; background: radial-gradient(ellipse at 50% 30%, #eaf8f7, transparent 70%); }
body.pagina-conta.cadastro-publico .auth-card { width: 100%; max-width: 480px; margin: auto 0; padding: 22px 28px 18px; border: 1px solid var(--bs-border-color, #e5edf2); border-radius: 16px; box-shadow: 0 12px 40px #143c5010; background: var(--bs-body-bg, #fff); font-size: 14px; }
body.cadastro-publico .auth-card > .aviso-banco-producao { margin: 0 0 16px; padding: 0; text-align: center; font-size: 11px; line-height: 1.5; }
body.cadastro-publico .auth-card > .marca { display: flex; align-items: center; justify-content: center; width: fit-content; margin: 0 auto 8px; font-size: 28px; line-height: 1; }
body.cadastro-publico .marca .marca-simbolo { width: 42px; height: 42px; border-radius: 12px; font-size: 31px; }
body.cadastro-publico .cadastro-apresentacao { text-align: center; margin-bottom: 16px; }
body.cadastro-publico .cadastro-apresentacao .etiqueta-validacao { display: inline-block; margin: 0 0 12px; padding: 6px 11px; border-radius: 10px; color: #076e68; background: #e0f5f1; font-size: 12px; font-weight: 650; line-height: 1.4; }
body.cadastro-publico .cadastro-apresentacao h1 { margin: 0 auto 10px; max-width: 380px; font-size: clamp(23px, 5vw, 28px); font-weight: 750; line-height: 1.18; letter-spacing: -.8px; }
body.cadastro-publico .cadastro-apresentacao p { margin: 0; font-size: 13px; line-height: 1.6; }
body.cadastro-publico .cadastro-formulario { margin: 0; }
body.cadastro-publico .cadastro-campo { margin-bottom: 12px; }
body.cadastro-publico .cadastro-campo > label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: 650; }
body.cadastro-publico .cadastro-entrada { display: flex; align-items: center; gap: 9px; width: 100%; min-width: 0; height: 44px; padding: 0 0 0 12px; border: 1px solid var(--bs-border-color, #d7e1ed); border-radius: 10px; background: var(--appnow-input-bg, #fff); }
body.cadastro-publico .cadastro-entrada > svg { flex: 0 0 18px; width: 18px; height: 18px; fill: none; stroke: var(--bs-text-gray-600, #607481); stroke-width: 1.7; }
body.cadastro-publico .cadastro-entrada > input { flex: 1 1 0; width: 0; min-width: 0; height: 42px; min-height: 0; padding: 0 10px 0 0; margin: 0; border: 0; border-radius: 10px; font-size: 14px; background: transparent; box-shadow: none; }
body.cadastro-publico .cadastro-entrada:focus-within { border-color: var(--cadastro-acao); box-shadow: 0 0 0 3px #087f791a; }
body.cadastro-publico .cadastro-entrada > input:focus { outline: none; }
body.cadastro-publico .cadastro-entrada:has(.input-validation-error) { border-color: var(--bs-danger, #b42318); }
body.cadastro-publico .cadastro-campo .field-validation-error { display: block; margin-top: 5px; font-size: 12px; line-height: 1.4; color: var(--bs-danger, #b42318); }
body.pagina-conta.cadastro-publico .auth-card .cadastro-formulario > button { width: 100%; min-height: 46px; padding: 10px 12px; margin: 3px 0 0; border: 1px solid var(--cadastro-acao); border-radius: 10px; background: var(--cadastro-acao); color: white; font-size: 14px; font-weight: 700; line-height: 1.4; }
body.pagina-conta.cadastro-publico .auth-card .cadastro-formulario > button:hover:not(:disabled) { background: #066b65; border-color: #066b65; }
body.pagina-conta.cadastro-publico .auth-card .cadastro-formulario button[data-senha-validar-envio]:disabled { opacity: .55; cursor: not-allowed; }
body.cadastro-publico .cadastro-esqueci-senha { margin: 7px 0 0; text-align: right; font-size: 12px; }
body.cadastro-publico .cadastro-esqueci-senha a { font-weight: 650; }
body.cadastro-publico form[aria-busy="true"] { cursor: progress; }
body.cadastro-publico .auth-card .cadastro-login { margin: 12px 0 0; font-size: 13px; text-align: center; }
body.cadastro-publico .cadastro-login a { font-weight: 700; }
body.cadastro-publico .cadastro-rodape { padding-top: 10px; margin-top: 14px; border-top: 1px solid var(--bs-border-color, #e6edf2); text-align: center; }
body.cadastro-publico .auth-card .cadastro-rodape p { margin: 0; font-size: 11px; line-height: 1.6; }
body.cadastro-publico .rodape-conta { display: none; }
body.cadastro-publico .auth-card .cadastro-aviso { font-size: 13px; line-height: 1.6; }
body.cadastro-publico .auth-card .validation-summary-errors { margin: 0 0 14px; padding: 12px; font-size: 12px; }
body.cadastro-publico .auth-card :focus-visible { outline: 2px solid var(--cadastro-acao); outline-offset: 3px; }
html[data-bs-theme="dark"] body.cadastro-publico .entrada-aplicacao { background: none; }
html[data-bs-theme="dark"] body.cadastro-publico .cadastro-apresentacao .etiqueta-validacao { color: #86e6dc; background: #153d3e; }
@media (max-width: 480px) {
    body.pagina-conta.cadastro-publico .entrada-aplicacao { padding: 14px 10px; }
    body.pagina-conta.cadastro-publico .auth-card { margin: 0; padding: 22px 18px 18px; }
    body.cadastro-publico .cadastro-apresentacao { margin-bottom: 18px; }
    body.cadastro-publico .cadastro-apresentacao h1 { max-width: 310px; }
    body.cadastro-publico .cadastro-entrada > input { font-size: 16px; }
    body.cadastro-publico .cadastro-entrada { gap: 6px; padding-left: 9px; }
    body.pagina-conta.cadastro-publico .auth-card:has(> .aviso-banco-producao) { padding-top: 54px; }
}
@media (prefers-reduced-motion: no-preference) { body.cadastro-publico .cadastro-entrada, body.cadastro-publico button { transition: border-color .15s, background-color .15s, box-shadow .15s; } }
