/* ---------- AUTH SCREENS (login / signup / verify / forgot) ----------
   Mesma linguagem da tela de Início (cantos bem arredondados, CTA em
   pílula, tipografia serifada com mais presença) aplicada a um cartão
   único e centralizado — condizente com uma tela de tarefa única, sem
   precisar do sistema de tiles em largura cheia. */
.auth-shell{
  min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;
}
.auth-brand{display:flex;align-items:center;justify-content:center;margin-bottom:28px;}
.auth-brand span{font-family:var(--serif);font-weight:700;font-size:22px;letter-spacing:-0.01em;color:var(--ink);}
.auth-card{
  width:100%;max-width:420px;background:var(--paper-2);border:none;
  padding:48px 40px;border-radius:22px;
  box-shadow:0 1px 3px rgba(28,22,12,0.06);
}
.auth-title{font-family:var(--serif);font-size:28px;font-weight:600;letter-spacing:-0.01em;margin-bottom:8px;}
.auth-sub{font-size:14.5px;color:var(--ink-soft);margin-bottom:32px;line-height:1.5;}
.field{margin-bottom:18px;}
.field label{
  display:block;font-family:var(--mono);font-size:11px;letter-spacing:0.05em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:7px;
}
.field input{
  width:100%;background:var(--paper);border:1px solid var(--rule);color:var(--ink);
  padding:13px 16px;border-radius:12px;font-size:15px;
  transition:border-color .15s ease;
}
.field input:focus{border-color:var(--ink);outline:none;}
.field-error{font-size:12.5px;color:var(--accent-curso);margin-top:6px;display:none;}
.field-error.show{display:block;}
.auth-row{display:flex;justify-content:flex-end;margin:-8px 0 22px;}
.link-btn{
  background:none;border:none;font-family:var(--mono);font-size:12.5px;color:var(--ink-soft);
  text-decoration:underline;text-underline-offset:3px;padding:0;
}
.link-btn:hover{color:var(--ink);}
.btn-block{
  width:100%;background:var(--ink);color:var(--paper);border:1px solid var(--ink);
  padding:15px;border-radius:999px;font-family:var(--sans);font-weight:700;font-size:14.5px;letter-spacing:0.01em;
  transition:all .18s ease;
}
.btn-block:disabled{opacity:.55;cursor:not-allowed;}
.btn-block:hover:not(:disabled){background:transparent;color:var(--ink);}
.auth-switch{text-align:center;margin-top:24px;font-size:14px;color:var(--ink-soft);}
.auth-switch button{background:none;border:none;color:var(--ink);text-decoration:underline;text-underline-offset:3px;font:inherit;padding:0;}
.verify-code{display:flex;gap:10px;margin-bottom:22px;}
.verify-code input{
  width:100%;text-align:center;font-family:var(--mono);font-size:19px;padding:13px 0;
  background:var(--paper);border:1px solid var(--rule);border-radius:12px;letter-spacing:0.08em;
}
.confirm-box{
  text-align:center;padding:6px 0 8px;
}
.confirm-box .check{
  width:48px;height:48px;border-radius:50%;background:var(--accent-plano);color:var(--paper);
  display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:20px;
}
