/* Digital24Affiliates auth (login/register) — split-screen, matches dashboard theme.
   Relies on /d24/affiliate.css for the design tokens (--brand, --ink, .field, .input, .a-alert). */
.auth-wrap{ min-height:100vh; display:grid; grid-template-columns:1.05fr 1fr; }

/* ---- Left brand panel ---- */
.auth-brand{
  position:relative; overflow:hidden; color:#fff; padding:56px 52px;
  background:linear-gradient(155deg,#6b78d6 0%,#5c6ac4 45%,#434f9e 100%);
  display:flex; flex-direction:column; justify-content:space-between;
}
.auth-brand::before,.auth-brand::after{ content:""; position:absolute; border-radius:50%; background:rgba(255,255,255,.08); }
.auth-brand::before{ width:420px; height:420px; right:-140px; top:-120px; }
.auth-brand::after{ width:300px; height:300px; left:-120px; bottom:-110px; background:rgba(255,255,255,.06); }
.auth-brand > *{ position:relative; z-index:1; }
.ab-logo{ display:flex; align-items:center; gap:12px; font-weight:800; font-size:22px; }
.ab-logo .m{ display:grid; place-items:center; color:#fff; }
.ab-logo .m svg{ width:40px; height:48px; }
.ab-head{ max-width:420px; }
.ab-head h2{ font-size:34px; line-height:1.2; font-weight:800; margin:0 0 14px; color:#fff; }
.ab-head p{ font-size:15.5px; line-height:1.6; color:rgba(255,255,255,.82); margin:0 0 30px; }
.ab-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.ab-list li{ display:flex; align-items:center; gap:13px; font-weight:600; font-size:14.5px; color:rgba(255,255,255,.95); }
.ab-list .tick{ width:30px; height:30px; border-radius:9px; background:rgba(255,255,255,.16); display:grid; place-items:center; flex:none; }
.ab-list .tick svg{ width:17px; height:17px; stroke:#fff; stroke-width:2.4; fill:none; }
.ab-foot{ font-size:12.5px; color:rgba(255,255,255,.65); }

/* ---- Right form panel ---- */
.auth-main{ display:flex; align-items:center; justify-content:center; padding:44px 26px; background:var(--bg); }
.auth-card{ width:100%; max-width:430px; }
.auth-card.wide{ max-width:520px; }
.auth-logo-m{ display:none; align-items:center; gap:10px; justify-content:center; font-weight:800; font-size:20px; color:var(--ink); margin-bottom:26px; }
.auth-logo-m .m{ display:grid; place-items:center; color:var(--brand); }
.auth-logo-m .m svg{ width:32px; height:38px; }
.auth-card h1{ font-size:26px; font-weight:800; margin:0 0 6px; letter-spacing:-.4px; }
.auth-card .lead{ color:var(--muted); font-size:14.5px; margin:0 0 26px; }
.auth-card .field{ margin-bottom:16px; }
.auth-card .btn-primary.btn-block{ width:100%; padding:13px; font-size:15px; margin-top:4px; }
.auth-row{ display:flex; align-items:center; justify-content:space-between; margin:2px 0 20px; gap:12px; flex-wrap:wrap; }
.checkline{ display:flex; align-items:center; gap:8px; font-size:13.5px; color:var(--ink-2); font-weight:600; }
.checkline input{ width:16px; height:16px; accent-color:var(--brand); }
.auth-link{ color:var(--brand); font-weight:700; font-size:13.5px; }
.auth-sep{ display:flex; align-items:center; gap:14px; color:var(--muted); font-size:12.5px; font-weight:600; margin:22px 0; }
.auth-sep::before,.auth-sep::after{ content:""; height:1px; background:var(--line); flex:1; }
.btn-google{ display:flex; align-items:center; justify-content:center; gap:10px; width:100%; padding:12px; border:1px solid #e2e5ee; border-radius:11px; background:#fff; font-weight:700; font-size:14px; color:var(--ink); cursor:pointer; }
.btn-google:hover{ border-color:var(--brand); background:var(--brand-soft); }
.auth-alt{ text-align:center; margin-top:22px; font-size:13.5px; color:var(--muted); }
.auth-copy{ text-align:center; margin-top:16px; font-size:11.5px; color:var(--muted); }
.field-err{ color:#c0392b; font-size:12px; margin-top:6px; display:block; }
.auth-two{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }

@media (max-width:900px){
  .auth-wrap{ grid-template-columns:1fr; }
  .auth-brand{ display:none; }
  .auth-logo-m{ display:flex; }
}
@media (max-width:520px){
  .auth-two{ grid-template-columns:1fr; gap:0; }
  .auth-main{ padding:28px 18px; }
}
