/* Telas de entrada (login, troca de senha, saída). Usa só os tokens de design-system.css. */
*,*::before,*::after{box-sizing:border-box}
body.acesso-pagina{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg);color:var(--color-text);font:15px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.pular:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pular:focus{position:fixed;top:8px;left:16px;z-index:10;padding:12px;background:var(--color-surface)}
.acesso-grade{flex:1;display:grid;place-items:center;padding:32px 16px;background:var(--gradient-primary)}
.acesso-cartao{width:100%;max-width:420px;padding:32px;border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg)}
.acesso-marca{display:block;margin-bottom:24px}
.acesso-cartao h1{margin:0 0 8px;font-size:24px;line-height:1.25}
.acesso-cartao p{margin:0 0 20px;color:var(--color-text-muted-on-bg)}
.campo{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.campo label{font-weight:600;font-size:14px}
.campo small{color:var(--color-text-muted-on-bg);font-size:13px}
.campo input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--color-control-border);border-radius:var(--radius-sm);font:inherit;color:var(--color-text);background:var(--color-surface)}
.campo input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}
.campo input[aria-invalid="true"]{border-color:var(--color-danger)}
.senha-campo{display:flex;gap:8px}
.senha-campo input{flex:1}
.senha-campo button{min-width:84px;border:1px solid var(--color-control-border);border-radius:var(--radius-sm);background:var(--color-surface-alt);color:var(--color-primary);font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.botao{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--color-control-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-primary);font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.botao.primario{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}
.botao.primario:hover{background:var(--color-primary-hover)}
.botao.secundario:hover{background:var(--color-primary-light)}
.botao:focus-visible,.senha-campo button:focus-visible,a:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.largura-total{width:100%}
.acesso-ajuda{margin-top:20px !important;font-size:14px}
.acesso-ajuda a,.acesso-cartao a:not(.botao){color:var(--color-primary)}
.acesso-sair{margin-top:12px;text-align:center}
.acesso-aviso{margin-bottom:16px;padding:12px 14px;border-radius:var(--radius-sm);font-size:14px}
.acesso-aviso.erro{background:var(--color-danger-bg);color:var(--color-danger)}
.acesso-aviso.sucesso{background:var(--color-success-bg);color:var(--color-success)}
.acesso-rodape{padding:16px;text-align:center;font-size:13px;color:var(--color-text-muted-on-bg);background:var(--color-surface)}
@media (max-width:480px){.acesso-cartao{padding:24px 20px}}
