:root{--navy:#022449;--orange:#ff6b00;--text:#1c2430;--muted:#687282;--border:#d9dee5;--bg:#f5f7fa}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#f8fafc 0%,#eef2f6 100%);color:var(--text);min-height:100vh}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px}.auth-card{width:min(100%,410px);background:#fff;border:1px solid var(--border);border-radius:16px;padding:34px 34px 28px;box-shadow:0 18px 45px rgba(2,36,73,.08)}.auth-brand{display:flex;flex-direction:column;gap:2px;margin-bottom:30px}.auth-brand strong{font-size:24px;letter-spacing:.7px;color:var(--navy)}.auth-brand strong span{color:var(--orange)}.auth-brand small{font-size:9px;letter-spacing:.65px;color:#7a8491}.auth-logo{display:block;width:170px;height:auto;margin-bottom:26px}.auth-logo-login{width:min(300px,82vw);margin:0 auto 18px}.auth-card h1{margin:0 0 7px;font-size:24px;color:var(--navy)}.auth-intro{margin:0 0 24px;font-size:13px;color:var(--muted);line-height:1.45}form{display:flex;flex-direction:column}label{font-size:12px;font-weight:600;margin:0 0 7px}input{height:44px;border:1px solid var(--border);border-radius:9px;padding:0 12px;font-size:14px;outline:none;margin-bottom:16px}input:focus{border-color:#9ca8b8;box-shadow:0 0 0 3px rgba(2,36,73,.05)}.auth-primary{height:44px;border:0;border-radius:9px;background:var(--navy);color:#fff;font-size:14px;font-weight:600;cursor:pointer;margin-top:5px}.auth-primary:hover{background:#032f5f}.auth-primary:disabled{opacity:.65;cursor:wait}.auth-feedback{min-height:18px;margin:12px 0 0;font-size:12px;color:#a12727;text-align:center}.auth-links{width:min(100%,410px);display:flex;justify-content:center;align-items:center;padding:16px 4px}.auth-legal-nav{width:min(100%,410px);display:flex;justify-content:center;align-items:center;gap:10px;padding:4px 4px 16px;font-size:12px;color:var(--muted);flex-wrap:wrap}.legal-link{color:var(--muted);text-decoration:none;transition:color .15s}.legal-link:hover{color:var(--navy);text-decoration:underline}.legal-link-sep{color:var(--border)}.link-button{border:0;background:transparent;color:var(--navy);font-size:12px;cursor:pointer;padding:6px}.link-strong{font-weight:700;letter-spacing:.25px}.setup-note{margin:14px 0 18px;font-size:11px;color:var(--muted);line-height:1.5;text-align:center}@media(max-width:520px){.auth-page{padding:16px;justify-content:center}.auth-card{width:100%;max-width:none;padding:30px 22px 26px;border-radius:14px}.auth-logo{width:190px;margin-bottom:28px}.auth-logo-login{width:min(292px,84vw);margin:0 auto 20px}.auth-card h1{font-size:26px}.auth-intro{font-size:14px}.auth-card label{font-size:13px}.auth-card input,.auth-primary{height:50px;font-size:16px}.auth-links{width:100%;padding-left:0;padding-right:0}.link-button{font-size:13px}.auth-legal-nav{font-size:11.5px}}

/* Keep the two login screens at the approved 80%-zoom visual size at 100% zoom. */
@media (min-width: 521px) {
  .auth-page--compact-login { padding: 22px; }
  .auth-page--compact-login .auth-card { width: min(100%, 328px); border-radius: 13px; padding: 27px 27px 22px; box-shadow: 0 14px 36px rgba(2,36,73,.08); }
  .auth-page--compact-login .auth-logo-login { width: min(240px, 82vw); margin-bottom: 14px; }
  .auth-page--compact-login .auth-card h1 { font-size: 19.2px; margin-bottom: 6px; }
  .auth-page--compact-login .auth-intro { font-size: 10.4px; margin-bottom: 19px; }
  .auth-page--compact-login label { font-size: 9.6px; margin-bottom: 6px; }
  .auth-page--compact-login input { height: 35px; border-radius: 7px; padding: 0 10px; font-size: 11.2px; margin-bottom: 13px; }
  .auth-page--compact-login .auth-primary { height: 35px; border-radius: 7px; font-size: 11.2px; margin-top: 4px; }
  .auth-page--compact-login .auth-feedback { min-height: 14px; margin-top: 10px; font-size: 9.6px; }
  .auth-page--compact-login .auth-links { width: min(100%, 328px); padding: 13px 3px; }
  .auth-page--compact-login .link-button { font-size: 9.6px; padding: 5px; }
  .auth-page--compact-login .auth-legal-nav { width: min(100%, 328px); gap: 8px; padding: 3px 3px 13px; font-size: 9.6px; }
}

@media (max-width: 520px) {
  .auth-page--compact-login .auth-card { width: min(100%, 328px); padding: 24px 18px 21px; }
  .auth-page--compact-login .auth-logo-login { width: min(234px, 84vw); margin-bottom: 16px; }
  .auth-page--compact-login .auth-card h1 { font-size: 22px; }
  .auth-page--compact-login .auth-intro { font-size: 13px; margin-bottom: 19px; }
  .auth-page--compact-login .auth-card input,
  .auth-page--compact-login .auth-primary { height: 44px; font-size: 16px; }
  .auth-page--compact-login .auth-links,
  .auth-page--compact-login .auth-legal-nav { width: min(100%, 328px); }
}

/* Esqueci minha senha: confirmacao em verde (a resposta do servidor e sempre a mesma,
   exista a conta ou nao) e link "Voltar" com aparencia de link. */
.auth-feedback--ok { color: #1f7a4d; }
.auth-links .link-button { display: inline-block; text-decoration: none; }
