/* Auth (login / signup / forgot) — brand tokens from style.css, own .au-* classes */
.au{--o:var(--c-orange,#FF8C42);--od:var(--c-orange-deep,#E67529);--os:var(--c-orange-soft,#FFEFE2);
 --ink:var(--c-ink,#1A1A1A);--soft:var(--c-ink-soft,#4A4A4A);--mute:var(--c-ink-mute,#757575);
 --line:#EEE8DE;--card:#fff;--sans:'Poppins',system-ui,sans-serif;--serif:'Fraunces',Georgia,serif;
 min-height:100vh;background:linear-gradient(180deg,#FFF4EA 0%,#FDF1F4 45%,#FFFFFF 100%);display:flex;align-items:center;justify-content:center;padding:clamp(84px,9vw,104px) 18px 48px}
.au *{box-sizing:border-box}
.au-wrap{width:100%;max-width:430px}
.au-card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:34px 28px;box-shadow:0 40px 90px -50px rgba(40,20,0,.4)}
.au-logo{display:flex;justify-content:center;margin-bottom:18px}
.au-logo img{height:40px;width:auto}
.au-title{font-family:var(--sans);font-weight:700;font-size:1.6rem;letter-spacing:-.02em;color:var(--ink);text-align:center;margin:0 0 6px}
.au-subtitle{color:var(--soft);font-size:.92rem;line-height:1.5;text-align:center;margin:0 0 22px}
.au-alert{background:#FDECEC;border:1px solid #F5C2C2;color:#B3261E;font-size:.86rem;padding:11px 14px;border-radius:12px;margin-bottom:16px}
.au-form{display:flex;flex-direction:column;gap:15px}
.au-label{display:flex;flex-direction:column;gap:7px;font-size:.82rem;font-weight:600;color:var(--ink)}
.au-label input{width:100%;min-height:50px;padding:13px 15px;border-radius:12px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-size:1rem;font-family:inherit;font-weight:400}
.au-label input:focus{outline:none;border-color:var(--od);box-shadow:0 0 0 3px var(--os)}
.au-pass{position:relative;display:flex}
.au-pass input{flex:1;padding-right:48px}
.au-eye{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:1.1rem;cursor:pointer;padding:8px;line-height:1}
.au-row{display:flex;justify-content:flex-end;margin-top:-4px}
.au-link{color:var(--od);font-weight:600;font-size:.86rem;text-decoration:none}
.au-link:hover{text-decoration:underline}
.au-btn{width:100%;min-height:52px;background:var(--od);color:#fff;border:none;border-radius:50px;font-family:var(--sans);font-weight:600;font-size:1rem;cursor:pointer;margin-top:4px;transition:background .25s,transform .2s}
.au-btn:hover{background:#d9651f}.au-btn:active{transform:scale(.98)}
.au-hint{font-size:.78rem;color:var(--mute);line-height:1.5;text-align:center;margin:2px 0 0}
.au-foot{text-align:center;color:var(--soft);font-size:.9rem;margin:20px 0 0}

/* success state */
.au-success{text-align:center}
.au-tick{width:64px;height:64px;border-radius:50%;background:var(--c-green-soft,#E8F7E9);color:var(--c-green-deep,#2E7D32);font-size:2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}

/* ── Secondary action ────────────────────────────────────────────
   The "Log in" / "Create account" cross-link used to be a small text
   link inside a sentence, so returning users missed it and signed up
   twice. It is now a real outlined button with a labelled divider -
   clearly secondary to the primary submit, but impossible to miss. */
.au-alt{margin:22px 0 0;padding-top:20px;border-top:1px solid var(--line);text-align:center}
.au-alt-or{display:block;font-size:.83rem;color:var(--mute);margin-bottom:11px}
.au-alt-btn{
  display:flex;align-items:center;justify-content:center;
  width:100%;min-height:48px;padding:0 18px;
  border:1.5px solid var(--line);border-radius:999px;
  background:#fff;color:var(--ink);
  font:600 .9rem var(--sans);text-decoration:none;
  transition:border-color .18s ease,background-color .18s ease,transform .18s ease;
}
.au-alt-btn:hover{border-color:var(--od);color:var(--od);background:var(--os);transform:translateY(-1px)}
.au-alt-btn:focus-visible{outline:2px solid var(--od);outline-offset:2px}
@media(prefers-reduced-motion:reduce){.au-alt-btn:hover{transform:none}}