  .login-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--paper)}
  .login-top{padding:1rem 1.25rem}
  .login-top a{display:inline-flex;align-items:center;gap:.5em;text-decoration:none;color:var(--ink);font-family:var(--font-serif);font-weight:600;font-size:1.15rem}
  .login-top img{height:36px;width:auto;display:block}
  .login-main{flex:1;display:flex;align-items:center;justify-content:center;padding:1.5rem 1.25rem 2.5rem}
  .login-card{width:100%;max-width:26rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:2rem 1.75rem}
  .login-card h1{font-size:1.7rem;margin:.2rem 0 .4rem}
  .login-card .lead-s{color:var(--muted);font-size:.95rem;margin:0 0 1.4rem}
  .login-field{margin-bottom:1rem}
  .login-field label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.35rem}
  .login-field input{width:100%;padding:.75rem .9rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font:inherit;font-size:1rem}
  .login-field input:focus{outline:2px solid var(--brand);outline-offset:1px;border-color:var(--brand)}
  .pw-wrap{position:relative}
  .pw-wrap input{padding-right:5.2rem}
  .pw-toggle{position:absolute;right:.4rem;top:50%;transform:translateY(-50%);border:none;background:transparent;color:var(--brand-dark);font:inherit;font-weight:700;font-size:.85rem;padding:.4rem .6rem;cursor:pointer;border-radius:99px}
  .pw-toggle:hover{background:var(--brand-light)}
  .login-erro{display:none;margin:0 0 1rem;padding:.7rem .9rem;border-radius:var(--radius-sm);background:var(--vermelho-bg);color:var(--vermelho);font-size:.9rem;font-weight:600}
  .login-erro.on{display:block}
  .login-card .btn-primary{width:100%;justify-content:center;font-size:1rem;padding:.85em 1.5em}
  .login-card .btn[disabled]{opacity:.55;cursor:not-allowed}
  .login-aviso{margin:0 0 1.2rem}
  .login-links{margin-top:1.3rem;display:grid;gap:.6rem}
  .login-links details{border:1px solid var(--line);border-radius:var(--radius-sm);padding:.6rem .8rem;font-size:.9rem}
  .login-links summary{cursor:pointer;font-weight:600}
  .login-links details p{margin:.6rem 0 0;color:var(--ink-soft)}
  .login-sep{height:1px;background:var(--line);margin:1.4rem 0 1.1rem}
  .login-compra{text-align:center;font-size:.92rem;color:var(--ink-soft)}
  .login-compra a{color:var(--brand-dark);font-weight:700}
  .login-rodape{text-align:center;padding:0 1.25rem 1.6rem;font-size:.78rem;color:var(--muted);line-height:1.5}

/* ---- cadastro ---- */
.login-field select{width:100%;padding:.75rem .9rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);font:inherit;font-size:1rem}
.login-field input[readonly]{opacity:.75}
.login-dica{font-size:.82rem;color:var(--muted);margin:.3rem 0 0}
.login-card .btn-ghost{width:100%;justify-content:center;margin-top:.6rem}
.cad-passos{display:flex;gap:.4rem;margin:0 0 1.2rem}
.cad-passos span{flex:1;height:5px;border-radius:99px;background:var(--surface-3)}
.cad-passos span.on{background:var(--brand)}
