/* Auth pages: full-screen animated background + centered card */
.auth-body { margin:0; background:#06090f; color:var(--clr-text); font-family:var(--font-stack); min-height:100vh; overflow:hidden; }
.bg-canvas { position:fixed; inset:0; width:100%; height:100%; z-index:0; display:block; }
.bg-overlay { position:fixed; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(1200px 800px at 12% 88%, rgba(var(--clr-accent-rgb), .22), transparent 60%),
    radial-gradient(900px 700px at 100% 0%, rgba(241,194,64, .18), transparent 55%),
    linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.65));
}

.auth-wrap { position:relative; z-index:2; min-height:100vh; display:grid; place-items:center; padding:2rem 1rem; }
.auth-brand { display:flex; flex-direction:column; align-items:center; gap:.65rem; margin-bottom:1rem; }
.brand-mark { width:68px; height:68px; border-radius:16px; box-shadow:var(--shadow-sm); background:#000; object-fit:contain; }
.brand-text { margin:0; font-weight:800; letter-spacing:.18rem; font-size:1.15rem; background:var(--grad-gold); -webkit-background-clip:text; background-clip:text; color:transparent; }

.auth-card { width:min(94vw, 520px); background:rgba(20,22,26,.8); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border:1px solid rgba(255,255,255,.06);
  border-radius:16px; padding:1.35rem 1.35rem 1.15rem; box-shadow:0 10px 40px rgba(0,0,0,.55);
}
.auth-title { margin:.25rem 0 1rem; font-size:1rem; font-weight:700; letter-spacing:.04rem; text-align:center; }
.auth-form { display:flex; flex-direction:column; gap:.75rem; }
.auth-label { font-size:.75rem; font-weight:600; letter-spacing:.06rem; color:var(--clr-text-dim); }
.label-row { display:flex; align-items:center; justify-content:space-between; }
.aux-link { font-size:.7rem; color:var(--clr-accent-alt); text-decoration:none; opacity:.9; }
.aux-link:hover { text-decoration:underline; opacity:1; }

.auth-field { position:relative; display:flex; align-items:center; }
.auth-input { width:100%; background:#0c1218; border:1px solid #182028; color:var(--clr-text); padding:.8rem .95rem; padding-right:2.2rem;
  font-size:.85rem; border-radius:10px; font-family:inherit; transition:var(--trans-fast);
}
.auth-input::placeholder { color:#5f6772; }
.auth-input:focus { outline:none; border-color:rgba(var(--clr-accent-rgb),0.55); box-shadow:0 0 0 1px rgba(var(--clr-accent-rgb),0.45),0 0 0 6px rgba(var(--clr-accent-rgb),0.08); }
.input-icon { position:absolute; right:.65rem; color:#8ea0b5; font-size:1rem; opacity:.85; }
.toggle-pass { position:absolute; right:.45rem; background:transparent; border:none; cursor:pointer; font-size:1rem; color:var(--clr-accent); display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; }
.toggle-pass svg { width:18px; height:18px; }
.toggle-pass:focus { outline:2px solid rgba(var(--clr-accent-rgb),.55); outline-offset:2px; border-radius:8px; }

.auth-btn { --btn-bg: var(--grad-gold); --btn-color:#1d1d1d; border:none;
  background:var(--btn-bg); color:var(--btn-color); width:100%; padding:.9rem 1.1rem; font-weight:800; letter-spacing:.04rem; font-size:.9rem;
  border-radius:12px; display:inline-flex; align-items:center; justify-content:center; gap:.6rem; box-shadow:0 6px 20px rgba(var(--clr-accent-rgb), .35);
}
.auth-btn:hover { filter:brightness(1.06); }
.btn-icon { font-size:1rem; }

.auth-meta { margin:.6rem 0 0; text-align:center; font-size:.8rem; color:var(--clr-text-dim); }
.auth-meta a { color:var(--clr-accent-alt2); text-decoration:none; }
.auth-meta a:hover { text-decoration:underline; }
.auth-meta.small { font-size:.7rem; }

@media (max-width: 520px) {
  .auth-card { padding:1.1rem .95rem; }
}
