/* Desktop host and embedded forms share one layout, independent of iframe width. */
.desktop-auth-overlay {
  padding: 24px;
  background: rgba(4, 5, 8, .78);
  backdrop-filter: blur(8px);
}
.desktop-auth-overlay .desktop-auth-dialog,
.desktop-auth-overlay.is-register .desktop-auth-dialog {
  display: block;
  width: min(560px, calc(100vw - 48px));
  height: min(640px, calc(100dvh - 48px));
  border: 1px solid #3b3946;
  border-radius: 20px;
  background: #111217;
  box-shadow: 0 28px 96px #0009, inset 0 1px 0 #ffffff06;
}
.desktop-auth-overlay .desktop-auth-frame {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .24s cubic-bezier(.2,.8,.2,1);
}
.desktop-auth-overlay.is-frame-ready .desktop-auth-frame {
  opacity: 1;
  transform: none;
}
.desktop-auth-overlay.is-switching .desktop-auth-frame {
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;
}
.desktop-auth-overlay .desktop-auth-dialog::before {
  content: '';
  position: absolute;
  z-index: 4;
  top: 0;
  left: 40px;
  right: 40px;
  height: 2px;
  background: #df60b8;
  opacity: 0;
  transform: scaleX(.2);
  transition: opacity .18s ease, transform .3s ease;
}
.desktop-auth-overlay.is-switching .desktop-auth-dialog::before {
  opacity: 1;
  transform: scaleX(1);
}
.desktop-auth-overlay .desktop-auth-close {
  top: 20px;
  right: 20px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #aaabb6;
  font: 26px/1 Arial, sans-serif;
}
.desktop-auth-overlay .desktop-auth-close:hover { background: #25262f; color: #fff; }
.desktop-auth-overlay .desktop-auth-close:focus-visible { outline: 2px solid #f07ecb; outline-offset: 2px; }
.auth-desktop-nav, .auth-desktop-intro { display: none; }
html:not(.is-desktop-auth-frame) .client-auth-card > .auth-desktop-intro + .client-auth-form { margin-top: 26px; }

html.is-desktop-auth-frame {
  height: 100%;
  overflow-y: auto !important;
  scrollbar-width: thin;
  scrollbar-color: #454651 #111217;
  color-scheme: dark;
  scrollbar-gutter: stable both-edges;
}
html.is-desktop-auth-frame body.client-auth-page.is-auth-modal,
html.is-desktop-auth-frame body.client-auth-page.is-auth-modal .page {
  height: auto !important;
  min-height: 100% !important;
  overflow: visible !important;
  background: #111217 !important;
}
html.is-desktop-auth-frame body.client-auth-page.is-auth-modal .client-auth-shell {
  display: block;
  height: auto !important;
  min-height: 100% !important;
  padding: 28px 40px 26px !important;
  overflow: visible !important;
  box-sizing: border-box;
}
html.is-desktop-auth-frame .client-auth-page.is-auth-modal .client-login-layout {
  display: block;
  width: 100%;
  margin: 0;
}
html.is-desktop-auth-frame .client-auth-page.is-auth-modal .client-auth-card,
html.is-desktop-auth-frame .client-auth-page.is-auth-modal .client-auth-card.is-register {
  display: block;
  width: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  animation: none !important;
  text-align: left;
}
html.is-desktop-auth-frame .client-auth-page.is-auth-modal .client-auth-card h1 {
  margin: 0 !important;
  color: #f6f5f8;
  font-size: 30px !important;
  line-height: 1.2;
  letter-spacing: -.025em;
  font-weight: 700;
  text-align: left !important;
  text-transform: none !important;
}
html.is-desktop-auth-frame .auth-desktop-intro {
  display: block;
  margin: 10px 0 26px;
  color: #a6a7b3;
  font-size: 14px;
  line-height: 1.5;
}
html.is-desktop-auth-frame .client-auth-card h1[tabindex="-1"]:focus { outline: none !important; }
html.is-desktop-auth-frame .client-auth-page.is-auth-modal .client-auth-form {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}
html.is-desktop-auth-frame .client-login-tabs {
  gap: 4px;
  padding: 4px;
  border: 1px solid #33343f;
  border-radius: 10px;
  background: #0b0c10;
}
html.is-desktop-auth-frame .client-login-tabs button {
  min-height: 40px;
  border-radius: 6px;
  color: #a6a7b3;
  font-size: 13px;
  font-weight: 600;
}
html.is-desktop-auth-frame .client-login-tabs button.is-active { background: #30303b; color: #fff; }
html.is-desktop-auth-frame .client-login-tabs button:hover { color: #fff; }
html.is-desktop-auth-frame .client-auth-page .client-auth-form label { min-width: 0; }
html.is-desktop-auth-frame .client-auth-page .client-auth-form label > span:first-child {
  margin-bottom: 8px;
  color: #d1d1da;
  font-size: 13px;
  font-weight: 500;
}
html.is-desktop-auth-frame .client-auth-page .client-auth-form input:not([type=checkbox]):not([type=hidden]) {
  height: 48px;
  padding: 0 14px;
  border: 1px solid #444551 !important;
  border-radius: 8px !important;
  background: #191a21 !important;
  color: #f6f5f8;
  font-size: 14px;
  box-shadow: none !important;
  transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease;
}
html.is-desktop-auth-frame .client-auth-page .client-auth-form input:not([type=checkbox]):hover { border-color: #686472 !important; }
html.is-desktop-auth-frame .client-auth-page .client-auth-form input::placeholder { color: #999aa7; opacity: 1; }
html.is-desktop-auth-frame .client-auth-page .client-auth-input input { padding-left: 42px !important; }
html.is-desktop-auth-frame .client-auth-page .client-password input { padding-right: 46px !important; }
html.is-desktop-auth-frame .client-auth-page .client-password button { top: 5px; right: 5px; color: #b0b1bf; }
html.is-desktop-auth-frame .client-auth-page .client-auth-form input:focus-visible {
  border-color: #ed70c7 !important;
  outline: 2px solid #ed70c740;
  outline-offset: 2px;
}
html.is-desktop-auth-frame .client-auth-page .client-auth-form > .primary-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 48px;
  margin-top: 4px;
  padding: 12px 18px;
  border-radius: 8px !important;
  background: #bc1688 !important;
  box-shadow: none !important;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  transition: background-color .18s ease, transform .18s ease;
}
html.is-desktop-auth-frame .client-auth-page .client-auth-form > .primary-btn:hover { background: #cd2196 !important; transform: translateY(-1px); }
html.is-desktop-auth-frame .client-auth-page .client-auth-form > .primary-btn:active { transform: translateY(0); }
html.is-desktop-auth-frame .client-auth-legal {
  margin-top: 18px;
  color: #a6a7b3;
  font-size: 12px;
  line-height: 1.6;
}
html.is-desktop-auth-frame .client-auth-page .client-auth-switch {
  display: block;
  margin: 18px 0 0;
  color: #b7b8c3;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}
html.is-desktop-auth-frame .client-auth-switch a { color: #f08dce; text-underline-offset: 3px; }
html.is-desktop-auth-frame .client-auth-switch a:hover { text-decoration: underline; }
html.is-desktop-auth-frame .client-auth-credit {
  margin: 24px 0 0;
  padding: 18px 0 0;
  border-color: #30313b;
  color: #a6a7b3;
  font-size: 11px;
}
html.is-desktop-auth-frame .client-auth-credit::after { display: none; }
html.is-desktop-auth-frame .client-auth-credit img { width: 26px; height: 26px; flex-basis: 26px; filter: none; }
html.is-desktop-auth-frame .client-auth-credit b { font-size: 12px; font-weight: 600; }
html.is-desktop-auth-frame .client-auth-legal a,
html.is-desktop-auth-frame .client-legal-consent a { color: #f08dce; text-decoration: underline; text-underline-offset: 3px; }
html.is-desktop-auth-frame a:focus-visible,
html.is-desktop-auth-frame button:focus-visible { outline: 2px solid #f08dce; outline-offset: 3px; }
html.is-desktop-auth-frame .client-auth-page.is-register-page .client-auth-form { grid-template-columns: minmax(0, 1fr); gap: 16px; }
html.is-desktop-auth-frame .client-form-grid { display: contents; }
html.is-desktop-auth-frame .client-auth-form > .client-legal-consent,
html.is-desktop-auth-frame .is-register-page .client-auth-form > .primary-btn { grid-column: 1 / -1; }
html.is-desktop-auth-frame .client-auth-form .client-legal-consent {
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 10px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}
html.is-desktop-auth-frame .client-auth-form .client-legal-consent > span {
  color: #b7b8c3 !important;
  font-size: 12px !important;
  line-height: 1.5;
}
html.is-desktop-auth-frame .client-auth-form .client-legal-consent > input {
  appearance: none;
  display: grid;
  place-content: center;
  width: 18px !important;
  height: 18px !important;
  padding: 0;
  margin-top: 1px;
  border: 1px solid #737583;
  border-radius: 4px !important;
  background: #191a21;
  cursor: pointer;
}
html.is-desktop-auth-frame .client-legal-consent > input:checked { background: #bc1688; border-color: #e56abd; }
html.is-desktop-auth-frame .client-legal-consent > input:checked::after {
  content: '';
  width: 8px;
  height: 4px;
  border-left: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: translateY(-1px) rotate(-45deg);
}
html.is-desktop-auth-frame .client-auth-page .client-auth-message { margin: 20px 0; font-size: 13px; line-height: 1.5; }
/* One field per row; labels share the row to keep registration visible. */
html.is-desktop-auth-frame .client-auth-page.is-register-page .auth-desktop-intro { display: none; }
html.is-desktop-auth-frame .client-auth-page.is-register-page .client-auth-form {
  gap: 10px;
  margin-top: 24px;
}
html.is-desktop-auth-frame .is-register-page .client-auth-form label:not(.client-legal-consent) {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}
html.is-desktop-auth-frame .is-register-page .client-auth-form label:not(.client-legal-consent) > span:first-child {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
}
html.is-desktop-auth-frame .client-auth-page.is-register-page .client-auth-form input:not([type=checkbox]):not([type=hidden]) {
  height: 40px;
  font-size: 13px;
}
html.is-desktop-auth-frame .client-auth-page.is-register-page .client-password button { top: 1px; right: 2px; }
html.is-desktop-auth-frame .is-register-page .client-auth-form .client-legal-consent { margin-top: 4px; }
html.is-desktop-auth-frame .is-register-page .client-auth-form .client-legal-consent > span { font-weight: 400 !important; }
html.is-desktop-auth-frame .client-auth-page.is-register-page .client-auth-form > .primary-btn { min-height: 42px; padding-block: 10px; }
html.is-desktop-auth-frame .is-register-page .client-auth-credit { margin-top: 18px; padding-top: 14px; }
@media (max-height: 700px) {
  html.is-desktop-auth-frame body.client-auth-page.is-register-page.is-auth-modal .client-auth-shell { padding-block: 22px !important; }
  html.is-desktop-auth-frame .client-auth-page.is-register-page .client-auth-form { margin-top: 18px; gap: 8px; }
  html.is-desktop-auth-frame .client-auth-page.is-register-page .client-auth-switch { margin-top: 12px; }
  html.is-desktop-auth-frame .is-register-page .client-auth-credit { margin-top: 12px; padding-top: 10px; }
}
@media (max-width: 480px) {
  html.is-desktop-auth-frame body.client-auth-page.is-auth-modal .client-auth-shell { padding-inline: 24px !important; }
  html.is-desktop-auth-frame .client-auth-page.is-register-page .client-auth-form { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  .desktop-auth-overlay, .desktop-auth-dialog, .desktop-auth-frame, .desktop-auth-dialog::before,
  html.is-desktop-auth-frame *, html.is-desktop-auth-frame *::before { transition: none !important; animation: none !important; }
  .desktop-auth-overlay .desktop-auth-frame, html.is-desktop-auth-frame .client-auth-page .client-auth-form > .primary-btn:hover { transform: none; }
}
html.is-desktop-auth-frame .register-progress {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 0 0 16px;
  padding: 0;
  list-style: none;
}
html.is-desktop-auth-frame .register-progress li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 14px;
  border-bottom: 2px solid #34343f;
  color: #a6a7b3;
  font-size: 12px;
}
html.is-desktop-auth-frame .register-progress li span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  border: 1px solid #55535f;
  border-radius: 50%;
}
html.is-desktop-auth-frame .register-progress li[aria-current],
html.is-desktop-auth-frame .register-progress li.is-complete { color: #f4cee9; border-color: #d961b4; }
html.is-desktop-auth-frame .register-progress li[aria-current] span { background: #563045; border-color: #d961b4; }
html.is-desktop-auth-frame .register-step {
  display: grid;
  align-content: start;
  gap: 18px;
  min-height: 262px;
}
html.is-desktop-auth-frame .register-step .client-form-grid { display: contents; }
html.is-desktop-auth-frame .register-step-actions {
  display: flex;
  gap: 12px;
  margin-top: 8px;
}
html.is-desktop-auth-frame .register-step-actions .primary-btn {
  flex: 1;
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 8px !important;
  background: #bc1688 !important;
  color: #fff;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color .18s ease;
}
html.is-desktop-auth-frame .register-step-actions .primary-btn:hover { background: #cd2196 !important; }
html.is-desktop-auth-frame .register-step-actions .primary-btn:disabled { opacity: .65; cursor: wait; }
html.is-desktop-auth-frame .register-step-back {
  min-width: 92px;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid #494754;
  border-radius: 8px;
  background: transparent;
  color: #dddce5;
  font: inherit;
  font-size: 13px;
  cursor: pointer;
}
html.is-desktop-auth-frame .register-step-back:hover { background: #24232d; }
html.is-desktop-auth-frame .register-step[hidden],
html.is-desktop-auth-frame .register-step-actions [hidden] { display: none !important; }
@media (forced-colors: active) {
  html.is-desktop-auth-frame .client-auth-form .client-legal-consent > input { appearance: auto; }
  html.is-desktop-auth-frame .client-legal-consent > input:checked::after { display: none; }
}
