/* (PREGNORF ✅) DMXReady Factory — Auth UI (theme-agnostic, Kadence-safe) */
.dmxr4-authBody{
  --dmxr-auth-brand: var(--v4-brand, #ff2d55);
  --dmxr-auth-brand-2: var(--v4-brand-2, #ff5b7f);
  --dmxr-auth-bg: var(--v4-ink, #0b1220);
  --dmxr-auth-card: var(--v4-bg, #ffffff);
  --dmxr-auth-card-2: var(--v4-card, #f6f8fc);
  --dmxr-auth-text: var(--v4-info, #0f172a);
  --dmxr-auth-muted: color-mix(in srgb, var(--dmxr-auth-text) 58%, #64748b 42%);
  margin:0;
  min-height:100vh;
  font-family: system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:
    radial-gradient(1200px 640px at 12% 6%, color-mix(in srgb, var(--dmxr-auth-brand) 18%, transparent), transparent 58%),
    radial-gradient(1100px 760px at 88% 18%, rgba(59,130,246,.16), transparent 62%),
    radial-gradient(960px 620px at 50% 100%, rgba(16,185,129,.08), transparent 60%),
    linear-gradient(180deg, #f5f7fb 0%, #eef3f9 100%);
  color:var(--dmxr-auth-text);
}

.dmxr4-authBody a:focus-visible,
.dmxr4-authBody button:focus-visible,
.dmxr4-authBody input:focus-visible{
  outline: 2px solid rgba(255,45,85,.45);
  outline-offset: 2px;
  border-radius: 12px;
}

.dmxr4-authWrap{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(20px, 3vw, 34px) 18px;
}

.dmxr4-authStage{
  width:min(1120px, 100%);
  display:grid;
  grid-template-columns:minmax(280px, 1.05fr) minmax(380px, .95fr);
  gap:22px;
  align-items:stretch;
}

.dmxr4-authAside{
  position:relative;
  overflow:hidden;
  display:grid;
  align-content:start;
  gap:18px;
  padding:28px;
  border-radius:28px;
  color:#f8fbff;
  background:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.03)),
    radial-gradient(1100px 460px at 100% 0%, rgba(255,255,255,.14), transparent 55%),
    linear-gradient(135deg, #07172f 0%, #122f58 52%, #0e1e38 100%);
  box-shadow:0 28px 80px rgba(15,23,42,.20);
  border:1px solid rgba(255,255,255,.12);
}

.dmxr4-authAside::after{
  content:"";
  position:absolute;
  inset:auto -8% -12% auto;
  width:340px;
  height:340px;
  border-radius:32px;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.22), transparent 42%),
    linear-gradient(160deg, rgba(255,255,255,.14), rgba(255,255,255,.03));
  transform:rotate(-10deg);
  pointer-events:none;
}

.dmxr4-authCard{
  width:100%;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(148,163,184,.18);
  border-radius:28px;
  box-shadow:0 28px 84px rgba(15,23,42,.16);
  overflow:hidden;
  backdrop-filter: blur(16px);
}

.dmxr4-authCardTop{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}

.dmxr4-authLogo{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:inherit;
  opacity:.98;
  position:relative;
  z-index:1;
}

.dmxr4-authLogo .custom-logo{
  height:34px;
  width:auto;
  max-width:260px;
  display:block;
}

.dmxr4-authLogo--aside .custom-logo{
  height:38px;
  max-width:280px;
}

.dmxr4-authSiteName{
  font-size:1.15rem;
  font-weight:950;
  letter-spacing:-.02em;
}

.dmxr4-authEyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  max-width:100%;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.92);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  position:relative;
  z-index:1;
}

.dmxr4-authEyebrowDot{
  width:8px;
  height:8px;
  border-radius:999px;
  background:var(--dmxr-auth-brand);
  box-shadow:0 0 0 6px rgba(255,45,85,.18);
  flex:0 0 auto;
}

.dmxr4-authHeroTitle{
  margin:0;
  max-width:12ch;
  font-size:clamp(2rem, 4vw, 3.35rem);
  line-height:1.02;
  letter-spacing:-.04em;
  font-weight:950;
  color:#fff;
  position:relative;
  z-index:1;
}

.dmxr4-authHeroSub{
  margin:0;
  max-width:34rem;
  color:rgba(255,255,255,.82);
  font-size:1.05rem;
  line-height:1.6;
  position:relative;
  z-index:1;
}

.dmxr4-authFeatureList{
  display:grid;
  gap:10px;
  list-style:none;
  margin:0;
  padding:0;
  position:relative;
  z-index:1;
}

.dmxr4-authFeatureList li{
  position:relative;
  padding:12px 14px 12px 42px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.95);
  font-weight:700;
  line-height:1.45;
}

.dmxr4-authFeatureList li::before{
  content:"✓";
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  width:18px;
  height:18px;
  border-radius:999px;
  display:grid;
  place-items:center;
  font-size:12px;
  font-weight:900;
  color:#08111f;
  background:#fff;
}

.dmxr4-authQuickLinks{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:auto;
  position:relative;
  z-index:1;
}

.dmxr4-authQuickLink{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:12px 16px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(255,255,255,.06);
  color:#fff;
  font-weight:900;
  text-decoration:none;
  transition:transform .15s ease, background .15s ease, border-color .15s ease;
}

.dmxr4-authQuickLink:hover{
  transform:translateY(-1px);
  background:rgba(255,255,255,.10);
}

.dmxr4-authQuickLink--primary{
  background:linear-gradient(135deg, var(--dmxr-auth-brand), var(--dmxr-auth-brand-2));
  border-color:transparent;
  box-shadow:0 16px 36px rgba(255,45,85,.28);
}

.dmxr4-authTopRight{
  font-size:12px;
  font-weight:900;
  letter-spacing:.25px;
  opacity:.9;
  padding:7px 11px;
  border:1px solid rgba(148,163,184,.20);
  border-radius:999px;
  background:linear-gradient(180deg, #ffffff, #f8fbff);
  color:#334155;
}

.dmxr4-authHeader{
  padding:24px 24px 14px;
  border-bottom:1px solid rgba(148,163,184,.14);
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(248,250,252,.92));
}

.dmxr4-authTitle{
  margin:0;
  font-size:clamp(1.7rem, 2vw, 2.15rem);
  line-height:1.06;
  letter-spacing:-.04em;
  color:#0f172a;
}

.dmxr4-authSub{
  margin:10px 0 0;
  color:#64748b;
  font-size:15px;
  line-height:1.6;
}

.dmxr4-authBodyInner{
  padding:20px 24px 16px;
}

.dmxr4-authNotice{
  margin:14px 24px 0;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(34,197,94,.24);
  background:rgba(34,197,94,.08);
  color:#166534;
  font-size:13px;
}

.dmxr4-authError{
  margin:14px 24px 0;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(255,45,85,.25);
  background:rgba(255,45,85,.08);
  color:#7f1d1d;
  font-size:13px;
}
.dmxr4-authError ul{ margin:0; padding-left:18px; }
.dmxr4-authError li{ margin:4px 0; }

.dmxr4-authForm{ display:block; }
.dmxr4-authLabel{
  display:block;
  font-size:12px;
  color:#475569;
  font-weight:850;
  margin:12px 0 7px;
  letter-spacing:.01em;
}

.dmxr4-authInput{
  width:100%;
  min-height:52px;
  padding:14px 14px;
  border-radius:16px;
  background:#f8fafc;
  border:1px solid rgba(148,163,184,.26);
  color:#0f172a;
  outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
  transition:border-color .15s ease, transform .15s ease, background .15s ease, box-shadow .15s ease;
}

.dmxr4-authInput::placeholder{ color:#94a3b8; }

.dmxr4-authInput:focus{
  border-color: rgba(255,45,85,.35);
  background:#fff;
  box-shadow:0 0 0 4px rgba(255,45,85,.10);
  transform: translateY(-1px);
}

.dmxr4-authPwRow{
  display:flex;
  gap:10px;
  align-items:center;
}
.dmxr4-authPwRow .dmxr4-authInput{ flex:1; }

.dmxr4-authPwToggle{
  flex:0 0 auto;
  min-height:52px;
  padding:0 14px;
  border-radius:14px;
  border:1px solid rgba(148,163,184,.22);
  background:#fff;
  color:#0f172a;
  cursor:pointer;
  font-weight:900;
  font-size:12px;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.dmxr4-authPwToggle:hover{
  transform: translateY(-1px);
  background:#f8fafc;
  border-color: rgba(255,45,85,.24);
}

.dmxr4-authCaptcha{
  margin-top:14px;
  display:flex;
  justify-content:center;
  align-items:center;
}
.dmxr4-authCaptcha > *{ max-width:100%; }
.dmxr4-authCaptcha .g-recaptcha,
.dmxr4-authCaptcha .grecaptcha-badge,
.dmxr4-authCaptcha .cf-turnstile{ max-width:100%; }
@media (max-width:420px){
  .dmxr4-authCaptcha{ justify-content:flex-start; }
}

.dmxr4-authBtn{
  width:100%;
  margin-top:16px;
  min-height:54px;
  padding:14px 16px;
  border-radius:16px;
  border:0;
  background:linear-gradient(135deg, var(--dmxr-auth-brand) 0%, #ff4f7c 55%, #ff6b93 100%);
  color:#fff;
  font-size:1.02rem;
  font-weight:950;
  letter-spacing:-.02em;
  cursor:pointer;
  box-shadow:0 18px 36px rgba(255,45,85,.24);
  transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
}
.dmxr4-authBtn:hover{ transform: translateY(-1px); filter: brightness(1.02); box-shadow:0 22px 40px rgba(255,45,85,.28); }
.dmxr4-authBtn:active{ transform: translateY(0); }

.dmxr4-authCheck{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:12px;
  font-size:13px;
  color:#475569;
}
.dmxr4-authCheck input{ transform: translateY(-1px); }

.dmxr4-authLinks{
  margin-top:16px;
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:center;
  font-size:13px;
  flex-wrap:wrap;
}
.dmxr4-authLinks a{
  color:#334155;
  opacity:.95;
  text-decoration:none;
  border-bottom: 1px dashed rgba(148,163,184,.35);
}
.dmxr4-authLinks a:hover{
  opacity:1;
  border-bottom-color: rgba(255,45,85,.42);
}
.dmxr4-authSep{ opacity:.55; }

.dmxr4-authFooter{
  padding:14px 24px 22px;
  border-top:1px solid rgba(148,163,184,.14);
}
.dmxr4-authFine{
  font-size:12px;
  color:#64748b;
  text-align:center;
}
.dmxr4-authFine a{ color:inherit; text-decoration:none; border-bottom:1px dashed rgba(148,163,184,.35); }
.dmxr4-authFine a:hover{ opacity:1; border-bottom-color: rgba(255,45,85,.42); }

@media (max-width:980px){
  .dmxr4-authStage{ grid-template-columns:1fr; }
  .dmxr4-authAside{ padding:22px; gap:16px; }
  .dmxr4-authHeroTitle{ max-width:none; }
}

@media (max-width:520px){
  .dmxr4-authWrap{ padding:16px 12px 18px; }
  .dmxr4-authStage{ gap:14px; }
  .dmxr4-authAside,
  .dmxr4-authCard{ border-radius:22px; }
  .dmxr4-authAside{ padding:18px; }
  .dmxr4-authHeader{ padding:18px 16px 12px; }
  .dmxr4-authBodyInner{ padding:16px 16px 12px; }
  .dmxr4-authFooter{ padding:12px 16px 18px; }
  .dmxr4-authQuickLinks{ display:grid; grid-template-columns:1fr; }
  .dmxr4-authQuickLink{ width:100%; }
  .dmxr4-authCardTop{ align-items:flex-start; }
  .dmxr4-authLogo .custom-logo{ height:30px; }
}
