/* Telas de entrada, cadastro e conta. */
.auth-shell{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);min-height:calc(100vh - 160px);background:var(--soft)}
.auth-showcase{position:relative;overflow:hidden;background:radial-gradient(circle at 15% 15%,rgba(244,163,64,.28),transparent 42%),linear-gradient(150deg,#0b6b60 0%,#084d46 55%,#153b38 100%);color:#fff;display:flex;align-items:center;padding:64px clamp(28px,6vw,90px)}
.auth-showcase::after{content:"";position:absolute;right:-120px;bottom:-120px;width:380px;height:380px;border-radius:50%;background:rgba(255,255,255,.06)}
.auth-showcase-inner{position:relative;z-index:1;max-width:460px}
.auth-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);padding:7px 13px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em}
.auth-showcase h2{font-size:clamp(30px,3.4vw,44px);line-height:1.08;margin:22px 0 12px;letter-spacing:-.02em}
.auth-showcase>div>p{color:#cfe7e2;font-size:16px;margin:0 0 30px}
.auth-perks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.auth-perks li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:12px 14px}
.auth-perks li>span{width:44px;height:44px;display:grid;place-items:center;border-radius:12px;background:rgba(255,255,255,.12);font-size:20px}
.auth-perks b{display:block;font-size:14px}
.auth-perks small{color:#bfe0da;font-size:12px}
.auth-pets{display:flex;gap:10px;margin-top:30px;font-size:26px;opacity:.9}
.auth-pets span{width:52px;height:52px;display:grid;place-items:center;background:#fff8ec;border-radius:50%;box-shadow:0 10px 24px rgba(0,0,0,.18)}
.auth-panel{display:flex;align-items:center;justify-content:center;padding:56px clamp(20px,5vw,72px);background:#fff}
.auth-panel-inner{width:min(420px,100%)}
.auth-panel h1{font-size:40px;line-height:1.1;margin:8px 0 6px;letter-spacing:-.02em}
.auth-lead{color:var(--muted);margin:0 0 28px}
.auth-lead a,.auth-terms a,.auth-field-row a{color:var(--brand);font-weight:800}
.auth-lead a:hover,.auth-terms a:hover,.auth-field-row a:hover{text-decoration:underline}
.google-form{margin:0}
.google-button{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:52px;padding:12px 18px;border:1px solid #d5dfdd;border-radius:14px;background:#fff;color:#1f2a29;font:inherit;font-size:15px;font-weight:800;cursor:pointer;box-shadow:0 1px 2px rgba(16,59,55,.06);transition:box-shadow .18s,transform .18s,border-color .18s}
.google-button:hover{border-color:#b9cbc7;box-shadow:0 10px 24px rgba(21,59,56,.12);transform:translateY(-1px)}
.google-button:focus-visible{outline:3px solid rgba(66,133,244,.35);outline-offset:2px}
.google-logo{width:22px;height:22px;flex:none}
.auth-divider{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:12px;font-weight:700;margin:24px 0}
.auth-divider::before,.auth-divider::after{content:"";height:1px;background:var(--line);flex:1}
.google-setup{display:block;background:#fff8e8;border:1px dashed #e6c271;color:#6b4d00;padding:12px 14px;border-radius:12px;font-size:12px;margin:0 0 22px}
.auth-form{display:grid;gap:18px}
.auth-field{display:grid;gap:7px;font-size:13px;font-weight:800;color:var(--ink)}
.auth-field-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.auth-field-row a{font-size:12px}
.auth-field input{width:100%;height:50px;border:1px solid #cbdad7;border-radius:12px;padding:0 14px;font-size:15px;background:#fbfdfc;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
.auth-field input:focus{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px rgba(11,107,96,.12)}
.password-wrap{position:relative;display:block}
.password-wrap input{padding-right:84px}
.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--brand);font-weight:800;font-size:12px;padding:8px 10px;border-radius:8px;cursor:pointer}
.password-toggle:hover{background:var(--soft)}
.auth-error{color:var(--danger);font-weight:600}
.auth-alert{background:#fee4e2;color:#912018;border:1px solid #fbc7c2;border-radius:12px;padding:12px 14px;font-size:13px;font-weight:600}
.auth-submit{min-height:52px;font-size:15px;border-radius:14px;margin-top:4px}
.auth-terms{color:var(--muted);font-size:12px;text-align:center;margin:22px 0 0}
/* Cadastro, perfil e telas do allauth reutilizam o cartão. */
.auth-card .google-form{margin-top:18px}
.auth-card .auth-divider{margin:20px 0}
.auth-card button[type=submit]:not(.google-button):not(.button){display:inline-flex;justify-content:center;width:100%;border:0;border-radius:12px;background:var(--brand);color:#fff;font-weight:800;padding:13px 18px;cursor:pointer;margin-top:8px}
.auth-card a:not(.button){color:var(--brand);font-weight:700}
.auth-welcome{display:flex;gap:12px;align-items:flex-start;background:#effaf6;border:1px solid #bfe6d8;border-radius:14px;padding:14px 16px;margin:6px 0 18px;color:#0b5a50}
.auth-welcome b{display:block}
@media(max-width:900px){
  .auth-shell{grid-template-columns:1fr;min-height:0}
  .auth-showcase{padding:28px 20px}
  .auth-showcase h2{font-size:24px;margin:14px 0 6px}
  .auth-showcase>div>p{margin:0;font-size:14px}
  .auth-perks,.auth-pets{display:none}
  .auth-panel{padding:32px 20px 48px}
  .auth-panel h1{font-size:32px}
}
