body.sundex-auth-v2 {
  --sav2-bg: #05070c;
  --sav2-panel: #080b12;
  --sav2-surface: #0c111b;
  --sav2-surface-hover: #101725;
  --sav2-line: rgba(188, 205, 230, 0.17);
  --sav2-line-strong: rgba(194, 214, 244, 0.34);
  --sav2-text: #f2f5f9;
  --sav2-muted: #939eae;
  --sav2-blue: #91b9f4;
  --sav2-cyan: #72d7d1;
  margin: 0;
  overflow-x: clip;
  background: var(--sav2-bg);
  color: var(--sav2-text);
}

body.sundex-auth-v2,
body.sundex-auth-v2 button,
body.sundex-auth-v2 input {
  font-family: "Geist", "Helvetica Neue", Arial, sans-serif !important;
}

body.sundex-auth-v2 .sav2-shell,
body.sundex-auth-v2 .sav2-shell * {
  box-sizing: border-box;
}

body.sundex-auth-v2 .sav2-shell {
  position: relative;
  display: grid !important;
  grid-template-columns: minmax(500px, 0.88fr) minmax(0, 1.12fr) !important;
  min-height: 100dvh !important;
  overflow: hidden;
  background: var(--sav2-bg) !important;
}

body.sundex-auth-v2 .sav2-panel {
  position: relative !important;
  z-index: 2;
  grid-column: 1;
  grid-row: 1;
  display: flex !important;
  min-width: 0;
  min-height: 100dvh;
  align-items: center !important;
  justify-content: center !important;
  padding: 104px clamp(48px, 6vw, 116px) 58px !important;
  background:
    radial-gradient(circle at -10% 16%, rgba(79, 120, 183, 0.1), transparent 31%),
    linear-gradient(145deg, #090d15 0%, #05070c 66%) !important;
}

body.sundex-auth-v2 .sav2-panel::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 26%;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(2, 4, 8, 0.42));
  content: "";
}

body.sundex-auth-v2 .sav2-brand {
  position: absolute;
  z-index: 4;
  top: 32px;
  left: clamp(34px, 4vw, 72px);
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: #edf2f8 !important;
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.1em;
  text-decoration: none;
}

body.sundex-auth-v2 .sav2-brand img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  filter: grayscale(1) brightness(3.3);
}

body.sundex-auth-v2 .sav2-visual {
  position: relative !important;
  z-index: 1;
  grid-column: 2;
  grid-row: 1;
  display: block !important;
  width: auto !important;
  min-height: 100dvh !important;
  margin-left: -6vw;
  overflow: hidden !important;
  clip-path: polygon(10% 0, 100% 0, 100% 100%, 0 100%);
  background: #070b12 !important;
}

body.sundex-auth-v2 .sav2-visual > :not([data-sav2-visual]) {
  display: none !important;
}

body.sundex-auth-v2 .sav2-visual .sax-scene,
body.sundex-auth-v2 [data-sax-panel-brand],
body.sundex-auth-v2 [data-sax-trust] {
  display: none !important;
}

body.sundex-auth-v2 .sav2-stage {
  position: absolute;
  inset: 0;
  isolation: isolate;
  overflow: hidden;
}

body.sundex-auth-v2 .sav2-stage-image {
  position: absolute;
  inset: -2%;
  width: 104%;
  height: 104%;
  object-fit: cover;
  object-position: 57% 50%;
  filter: saturate(0.86) contrast(1.06) brightness(0.78);
  transform: scale(1.025);
  animation: sav2-image-in 900ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

body.sundex-auth-v2 .sav2-stage-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle 330px at var(--auth-pointer-x, 54%) var(--auth-pointer-y, 48%), rgba(106, 170, 229, 0.12), transparent 70%),
    linear-gradient(90deg, rgba(3, 5, 9, 0.76) 0%, rgba(3, 5, 9, 0.18) 37%, rgba(3, 5, 9, 0.08) 67%, rgba(3, 5, 9, 0.38) 100%),
    linear-gradient(180deg, rgba(2, 4, 8, 0.18), transparent 42%, rgba(2, 4, 8, 0.82));
}

body.sundex-auth-v2 .sav2-stage-copy {
  position: absolute;
  z-index: 2;
  right: clamp(42px, 5vw, 88px);
  bottom: clamp(50px, 8vh, 88px);
  left: clamp(92px, 10vw, 178px);
  max-width: 640px;
  animation: sav2-copy-in 700ms cubic-bezier(0.16, 1, 0.3, 1) 120ms both;
}

body.sundex-auth-v2 .sav2-stage-copy p {
  margin: 0 0 18px;
  color: #bbc6d5;
  font-size: 0.8rem;
  font-weight: 560;
}

body.sundex-auth-v2 .sav2-stage-copy h2 {
  max-width: 600px;
  margin: 0;
  color: #f0f4f9;
  font-size: clamp(3.1rem, 5.1vw, 5.8rem);
  font-weight: 510;
  letter-spacing: -0.05em;
  line-height: 0.94;
  text-wrap: balance;
}

body.sundex-auth-v2 .sav2-stage-copy > span {
  display: block;
  max-width: 430px;
  margin-top: 24px;
  color: #9faab9;
  font-size: 0.98rem;
  line-height: 1.6;
}

body.sundex-auth-v2 .sav2-card {
  position: relative;
  z-index: 3;
  width: min(100%, 520px) !important;
  max-width: 520px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--sav2-text) !important;
  animation: sav2-form-in 620ms cubic-bezier(0.16, 1, 0.3, 1) both;
}

body.sundex-auth-v2 .sav2-card > div:first-child {
  margin-bottom: 32px !important;
}

body.sundex-auth-v2 .sav2-card h1 {
  margin: 0 !important;
  color: var(--sav2-text) !important;
  font-size: clamp(2.45rem, 3.5vw, 3.55rem) !important;
  font-weight: 560 !important;
  letter-spacing: -0.045em !important;
  line-height: 1 !important;
}

body.sundex-auth-v2 .sav2-card h1 + p {
  max-width: 360px;
  margin: 14px 0 0 !important;
  color: var(--sav2-muted) !important;
  font-size: 0.98rem !important;
  line-height: 1.55 !important;
}

body.sundex-auth-v2 .sav2-form {
  display: flex !important;
  flex-direction: column;
  gap: 20px !important;
}

body.sundex-auth-v2 .sav2-form > div {
  margin: 0 !important;
}

body.sundex-auth-v2 .sav2-form label {
  display: block;
  color: #d7dee8 !important;
  font-size: 0.8rem !important;
  font-weight: 560 !important;
  line-height: 1.35;
}

body.sundex-auth-v2 .sav2-form input:not([type="checkbox"]):not([type="radio"]) {
  width: 100%;
  height: 56px !important;
  margin-top: 9px !important;
  padding: 0 17px !important;
  border: 1px solid var(--sav2-line) !important;
  border-radius: 14px !important;
  outline: none !important;
  background: rgba(12, 17, 27, 0.86) !important;
  color: var(--sav2-text) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025) !important;
  font-size: 0.98rem !important;
  transition: border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease !important;
}

body.sundex-auth-v2 .sav2-form input:not([type="checkbox"]):not([type="radio"])::placeholder {
  color: #727e90 !important;
  opacity: 1;
}

body.sundex-auth-v2 .sav2-form input:not([type="checkbox"]):not([type="radio"]):hover {
  border-color: rgba(196, 214, 241, 0.29) !important;
  background: var(--sav2-surface-hover) !important;
}

body.sundex-auth-v2 .sav2-form input:not([type="checkbox"]):not([type="radio"]):focus {
  border-color: rgba(139, 184, 244, 0.78) !important;
  background: var(--sav2-surface-hover) !important;
  box-shadow: 0 0 0 4px rgba(83, 137, 213, 0.15) !important;
}

body.sundex-auth-v2 .sav2-captcha {
  display: flex;
  flex-direction: column;
  gap: 9px;
}

body.sundex-auth-v2 .sav2-captcha-label {
  margin: 0;
}

body.sundex-auth-v2 .sav2-captcha-row {
  position: relative;
  display: grid !important;
  grid-template-columns: 148px 42px minmax(112px, 1fr);
  align-items: center;
  gap: 8px !important;
  width: 100%;
  min-height: 58px;
  padding: 5px;
  border: 1px solid rgba(125, 171, 231, 0.27);
  border-radius: 14px;
  background:
    linear-gradient(118deg, rgba(51, 102, 178, 0.21), rgba(35, 163, 179, 0.1) 48%, rgba(13, 22, 37, 0.9)),
    #09101c;
  box-shadow: inset 0 1px 0 rgba(205, 228, 255, 0.08);
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

body.sundex-auth-v2 .sav2-captcha-row:focus-within {
  border-color: rgba(122, 184, 242, 0.7);
  box-shadow: 0 0 0 4px rgba(67, 137, 213, 0.12), inset 0 1px 0 rgba(205, 228, 255, 0.1);
}

body.sundex-auth-v2 .sav2-captcha-art {
  width: 148px !important;
  max-width: none !important;
  height: 46px !important;
  border: 0 !important;
  border-radius: 10px !important;
  opacity: 0.95;
  mix-blend-mode: screen;
  filter: invert(1) grayscale(1) sepia(1) saturate(4.5) hue-rotate(155deg) brightness(0.82) contrast(1.22);
}

body.sundex-auth-v2 .sav2-captcha-refresh {
  display: grid !important;
  width: 42px !important;
  height: 42px !important;
  min-width: 42px;
  padding: 0 !important;
  place-items: center;
  border: 1px solid rgba(175, 204, 239, 0.16) !important;
  border-radius: 11px !important;
  background: rgba(6, 11, 19, 0.62) !important;
  color: #8db7ee !important;
  transition: border-color 180ms ease, color 180ms ease, transform 180ms cubic-bezier(0.16, 1, 0.3, 1) !important;
}

body.sundex-auth-v2 .sav2-captcha-refresh:hover {
  border-color: rgba(153, 196, 244, 0.42) !important;
  color: #c5def9 !important;
  transform: rotate(-12deg);
}

body.sundex-auth-v2 .sav2-captcha-input {
  height: 46px !important;
  margin: 0 !important;
  border-color: rgba(180, 207, 239, 0.13) !important;
  background: rgba(4, 8, 14, 0.62) !important;
  color: #cce7ff !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.23em !important;
}

body.sundex-auth-v2 .sav2-captcha > p {
  margin: 0;
  color: var(--sav2-cyan) !important;
  font-size: 0.72rem !important;
}

body.sundex-auth-v2 .sav2-form button[role="checkbox"] {
  width: 18px !important;
  height: 18px !important;
  min-width: 18px;
  margin: 0 !important;
  border: 1px solid rgba(185, 205, 234, 0.26) !important;
  border-radius: 5px !important;
  background: #0c121c !important;
  color: #071019 !important;
}

body.sundex-auth-v2 .sav2-form button[role="checkbox"][data-state="checked"] {
  border-color: #9cc6f5 !important;
  background: linear-gradient(135deg, #a9cdf6, #74d7d0) !important;
}

body.sundex-auth-v2 .sav2-form button[role="checkbox"] + label {
  color: #909baa !important;
  font-size: 0.82rem !important;
  font-weight: 430 !important;
  line-height: 1.45 !important;
}

body.sundex-auth-v2 .sav2-form button[role="checkbox"] + label span {
  color: #dce4ee !important;
  text-decoration-color: rgba(202, 217, 238, 0.36) !important;
}

body.sundex-auth-v2 .auth-submit-shell {
  position: relative;
  isolation: isolate;
  width: 100%;
  margin-top: 2px !important;
  padding: 1px;
  overflow: hidden;
  border-radius: 14px;
  background: linear-gradient(110deg, #e3ebf5 0%, #536277 23%, #283547 50%, #87a2c4 75%, #eef4fb 100%);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

body.sundex-auth-v2 .auth-submit-shell::before {
  display: none !important;
}

body.sundex-auth-v2 .sav2-submit,
body.sundex-auth-v2 .sav2-submit.sundex-liquid-metal {
  position: relative;
  z-index: 1;
  width: 100% !important;
  height: 54px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: linear-gradient(180deg, #121824 0%, #080c13 54%, #05070b 100%) !important;
  color: #eef3f8 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), inset 0 -8px 18px rgba(0, 0, 0, 0.28) !important;
  font-size: 0.94rem !important;
  font-weight: 620 !important;
  cursor: pointer;
  transition: filter 180ms ease, transform 180ms cubic-bezier(0.16, 1, 0.3, 1), opacity 180ms ease !important;
}

body.sundex-auth-v2 .sav2-submit::before,
body.sundex-auth-v2 .sav2-submit > canvas {
  display: none !important;
}

body.sundex-auth-v2 .sav2-submit:hover:not(:disabled) {
  filter: brightness(1.16);
  transform: translateY(-1px);
}

body.sundex-auth-v2 .sav2-submit:active:not(:disabled) {
  transform: scale(0.987);
}

body.sundex-auth-v2 .sav2-submit:disabled {
  cursor: not-allowed;
  opacity: 0.48 !important;
}

body.sundex-auth-v2 .sav2-submit:focus-visible,
body.sundex-auth-v2 .sav2-brand:focus-visible,
body.sundex-auth-v2 .sav2-captcha-refresh:focus-visible,
body.sundex-auth-v2 .sav2-card button:not([type="submit"]):focus-visible {
  outline: 2px solid #9fc6f3 !important;
  outline-offset: 4px;
}

body.sundex-auth-v2 .sav2-card > div:last-child {
  margin-top: 24px !important;
  padding-top: 22px !important;
  border-color: rgba(186, 204, 229, 0.12) !important;
}

body.sundex-auth-v2 .sav2-card button:not([type="submit"]):not([role="checkbox"]) {
  color: #939fad !important;
  font-size: 0.84rem !important;
  font-weight: 450 !important;
  transition: color 180ms ease !important;
}

body.sundex-auth-v2 .sav2-card button:not([type="submit"]):not([role="checkbox"]):hover {
  color: #edf2f8 !important;
}

body.sundex-auth-v2 .support-launcher,
body.sundex-auth-v2 .sax-chat {
  border: 1px solid rgba(180, 203, 235, 0.25) !important;
  background: linear-gradient(180deg, #121a27, #060a10) !important;
  color: #e4ecf7 !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.07) !important;
}

@keyframes sav2-form-in {
  from { opacity: 0; transform: translate3d(-18px, 0, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes sav2-copy-in {
  from { opacity: 0; transform: translate3d(0, 20px, 0); }
  to { opacity: 1; transform: translate3d(0, 0, 0); }
}

@keyframes sav2-image-in {
  from { opacity: 0; transform: scale(1.06); }
  to { opacity: 1; transform: scale(1.025); }
}

@media (max-width: 1180px) {
  body.sundex-auth-v2 .sav2-shell {
    grid-template-columns: minmax(460px, 0.95fr) minmax(0, 1.05fr) !important;
  }

  body.sundex-auth-v2 .sav2-panel {
    padding-right: 56px !important;
    padding-left: 44px !important;
  }

  body.sundex-auth-v2 .sav2-stage-copy {
    left: 96px;
  }
}

@media (max-width: 900px) {
  body.sundex-auth-v2 .sav2-shell {
    display: block !important;
    min-height: 100dvh !important;
    overflow: visible;
  }

  body.sundex-auth-v2 .sav2-visual {
    display: none !important;
  }

  body.sundex-auth-v2 .sav2-panel {
    width: 100%;
    min-height: 100dvh;
    padding: max(104px, calc(env(safe-area-inset-top) + 88px)) 28px max(48px, calc(env(safe-area-inset-bottom) + 36px)) !important;
    background:
      linear-gradient(180deg, rgba(4, 7, 12, 0.58), #05070c 43%),
      url("/assets/sundex-auth-access-v2-p25.jpg") 65% 14% / 150% auto no-repeat,
      #05070c !important;
  }

  body.sundex-auth-v2 .sav2-panel::before {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(5, 7, 12, 0.12), #05070c 40%);
    content: "";
  }

  body.sundex-auth-v2 .sav2-brand {
    top: max(26px, calc(env(safe-area-inset-top) + 14px));
    left: 28px;
  }

  body.sundex-auth-v2 .sav2-card {
    width: min(100%, 540px) !important;
  }
}

@media (max-width: 560px) {
  body.sundex-auth-v2 .sav2-panel {
    justify-content: flex-start !important;
    padding-right: 18px !important;
    padding-left: 18px !important;
  }

  body.sundex-auth-v2 .sav2-brand {
    left: 18px;
  }

  body.sundex-auth-v2 .sav2-card h1 {
    font-size: 2.45rem !important;
  }

  body.sundex-auth-v2 .sav2-card > div:first-child {
    margin-bottom: 28px !important;
  }

  body.sundex-auth-v2 .sav2-form {
    gap: 18px !important;
  }

  body.sundex-auth-v2 .sav2-captcha-row {
    grid-template-columns: minmax(116px, 1fr) 42px minmax(92px, 0.9fr);
  }

  body.sundex-auth-v2 .sav2-captcha-art {
    width: 100% !important;
  }

  body.sundex-auth-v2 .support-launcher,
  body.sundex-auth-v2 .sax-chat {
    right: 14px !important;
    bottom: 14px !important;
    width: 46px !important;
    height: 46px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.sundex-auth-v2 .sav2-card,
  body.sundex-auth-v2 .sav2-stage-copy,
  body.sundex-auth-v2 .sav2-stage-image {
    animation: none !important;
  }

  body.sundex-auth-v2 .sav2-submit,
  body.sundex-auth-v2 .sav2-captcha-refresh,
  body.sundex-auth-v2 .sav2-form input {
    transition-duration: 0.01ms !important;
  }
}

@media (prefers-reduced-transparency: reduce) {
  body.sundex-auth-v2 .sav2-panel,
  body.sundex-auth-v2 .sav2-form input:not([type="checkbox"]):not([type="radio"]) {
    background-color: #090d14 !important;
    backdrop-filter: none !important;
  }
}
