/* Galaxy Command Station shell for the six-digit Google Authenticator challenge. */
body[data-page-id="login-login-otp"],
body:has(#kc-otp-login-form) {
  min-height: 100svh;
  color: #fff;
  background:
    radial-gradient(circle at 28% 48%, rgba(116,66,214,.2), transparent 29%),
    radial-gradient(circle at 75% 35%, rgba(28,144,210,.13), transparent 24%),
    linear-gradient(125deg, #0b0610, #2b0714 52%, #4a0f21) !important;
  background-attachment: fixed !important;
  font-family: "SATU Poppins", Arial, Helvetica, sans-serif;
}

body:has(#kc-otp-login-form)::before {
  z-index: 0;
  opacity: .38;
  background-image:
    radial-gradient(circle at 12% 22%, rgba(255,255,255,.76) 0 1px, transparent 1.6px),
    radial-gradient(circle at 73% 19%, rgba(160,213,255,.72) 0 1px, transparent 1.7px),
    radial-gradient(circle at 88% 71%, rgba(255,194,217,.75) 0 1px, transparent 1.6px),
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size: 151px 157px, 223px 229px, 283px 271px, 72px 72px, 72px 72px;
}

body:has(#kc-otp-login-form)::after {
  content: "SATU // COMMAND     ─────     MFA CHANNEL";
  position: fixed;
  z-index: 30;
  top: 18px;
  left: 50%;
  color: rgba(123,213,255,.66);
  font-family: "SATU Michroma", sans-serif;
  font-size: 7px;
  letter-spacing: .14em;
  pointer-events: none;
  transform: translateX(-50%);
}

body:has(#kc-otp-login-form) .pf-v5-c-login::before,
body:has(#kc-otp-login-form) .pf-c-login::before {
  content: "•••   SATU MFA / 02   •   IDENTITY VERIFY   •••";
  position: fixed;
  z-index: 8;
  bottom: 0;
  left: 50%;
  display: grid;
  place-items: center;
  width: min(440px, 38vw);
  height: 38px;
  border: 1px solid rgba(91,199,246,.18);
  border-bottom: 0;
  clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%);
  color: rgba(121,211,255,.42);
  background: linear-gradient(180deg, rgba(13,19,34,.84), rgba(24,7,18,.96));
  font-family: "SATU Michroma", sans-serif;
  font-size: 5px;
  letter-spacing: .18em;
  pointer-events: none;
  transform: translateX(-50%);
}

body:has(#kc-otp-login-form) .pf-v5-c-login__main,
body:has(#kc-otp-login-form) .pf-c-login__main,
body:has(#kc-otp-login-form) .card-pf {
  border: 1px solid rgba(117,199,242,.2) !important;
  border-radius: 5px 28px 5px 28px !important;
  color: #fff !important;
  background: linear-gradient(145deg, rgba(16,23,40,.9), rgba(64,14,37,.86)) !important;
  box-shadow: 0 34px 85px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.08) !important;
  backdrop-filter: none;
}

body:has(#kc-otp-login-form) .satu-login-badge {
  color: #74203f;
  background: linear-gradient(100deg, #ffe8b4, #f5c7dc);
  font-family: "SATU Poppins", sans-serif;
}

body:has(#kc-otp-login-form) .satu-login-heading {
  margin-top: 10px;
  color: #fff7e5;
  font-family: "SATU Michroma", sans-serif;
  font-size: 32px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -.035em;
}

body:has(#kc-otp-login-form) .satu-login-copy {
  margin-top: 5px;
  color: rgba(255,255,255,.58);
  font-family: "SATU Poppins", sans-serif;
}

body:has(#kc-otp-login-form) .pf-v5-c-form__label,
body:has(#kc-otp-login-form) .pf-v5-c-form__label-text,
body:has(#kc-otp-login-form) .pf-c-form__label,
body:has(#kc-otp-login-form) label.control-label { color: rgba(255,255,255,.78) !important; }

body:has(#kc-otp-login-form) input.satu-otp-digit,
body:has(#kc-otp-login-form) .satu-otp-boxes input.satu-otp-digit {
  height: 54px;
  border-color: rgba(135,207,244,.3) !important;
  border-radius: 4px 13px 4px 13px !important;
  color: #35131f !important;
  background: linear-gradient(145deg, #fff, #fff7fa) !important;
  box-shadow: 0 9px 22px rgba(0,0,0,.16) !important;
  font-family: "SATU Poppins", sans-serif !important;
}

body:has(#kc-otp-login-form) input.satu-otp-digit:focus {
  border-color: #75d9ff !important;
  box-shadow: 0 0 0 3px rgba(83,201,255,.14), 0 10px 26px rgba(0,0,0,.2) !important;
}

body:has(#kc-otp-login-form) .satu-otp-devices button {
  border-color: rgba(117,199,242,.2);
  color: rgba(255,255,255,.72);
  background: rgba(255,255,255,.06);
  font-family: "SATU Poppins", sans-serif;
}

body:has(#kc-otp-login-form) .satu-otp-devices button:hover,
body:has(#kc-otp-login-form) .satu-otp-devices button[class*="selected"] {
  border-color: #75d9ff;
  color: #fff;
  background: rgba(73,176,225,.13);
}

body:has(#kc-otp-login-form) input[type="submit"],
body:has(#kc-otp-login-form) button[type="submit"],
body:has(#kc-otp-login-form) #kc-login {
  min-height: 48px;
  border-radius: 4px 14px 4px 14px !important;
  color: #261019 !important;
  background: linear-gradient(100deg, #f9d47e, #ff9f70 51%, #e669b0) !important;
  box-shadow: 0 16px 34px rgba(224,76,137,.18) !important;
  font-family: "SATU Poppins", sans-serif;
  font-weight: 800;
}

body:has(#kc-otp-login-form) .satu-mfa-note { color: rgba(255,255,255,.42); }
body:has(#kc-otp-login-form) .satu-security-divider { margin: 14px 0 11px; color: rgba(255,255,255,.43); }
body:has(#kc-otp-login-form) .satu-security-divider::before,
body:has(#kc-otp-login-form) .satu-security-divider::after { background: rgba(255,255,255,.12); }
body:has(#kc-otp-login-form) .satu-login-security strong { color: #fff4df; }
body:has(#kc-otp-login-form) .satu-login-security small { color: rgba(255,255,255,.48); }

@media (min-width: 981px) {
  body:has(#kc-otp-login-form) { min-height: 720px; overflow: hidden; }

  body:has(#kc-otp-login-form) .pf-v5-c-login,
  body:has(#kc-otp-login-form) .pf-c-login {
    display: block !important;
    min-height: 720px;
    height: 100svh;
    padding: 82px 0 0 !important;
  }

  body:has(#kc-otp-login-form) .pf-v5-c-login__container,
  body:has(#kc-otp-login-form) .pf-c-login__container {
    grid-template-columns: minmax(420px, 1fr) minmax(390px, 450px) !important;
    gap: 0 clamp(34px, 4vw, 64px) !important;
    width: min(1180px, calc(100% - 96px));
    min-height: calc(100svh - 82px);
    margin: 0 auto;
    padding: 20px 0;
  }

  body:has(#kc-otp-login-form) .pf-v5-c-login__container::before,
  body:has(#kc-otp-login-form) .pf-c-login__container::before {
    top: 81px;
    width: min(1180px, calc(100% - 96px));
    border-color: rgba(126,207,255,.13);
  }

  body:has(#kc-otp-login-form) #kc-header {
    display: flex;
    grid-column: 1;
    grid-row: 1;
    justify-content: flex-start;
    min-width: 0;
    margin: 0;
    padding: 104px 0 0;
    transform: none;
  }

  body:has(#kc-otp-login-form) #kc-header-wrapper::before {
    color: #f2d49b;
    font-family: "SATU Poppins", sans-serif;
    font-size: 12px;
  }

  body:has(#kc-otp-login-form) #kc-header::before {
    max-width: 650px;
    margin-top: 14px;
    color: transparent;
    background: linear-gradient(110deg, #fff, #ffe5a7 43%, #ff90ba 72%, #9fe2ff);
    -webkit-background-clip: text;
    background-clip: text;
    font-family: "SATU Michroma", sans-serif;
    font-size: clamp(40px, 4vw, 56px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.035em;
  }

  body:has(#kc-otp-login-form) #kc-header::after {
    max-width: 590px;
    margin-top: 14px;
    color: rgba(255,255,255,.62);
    font-family: "SATU Poppins", sans-serif;
    font-size: 14px;
    line-height: 1.6;
  }

  body:has(#kc-otp-login-form) .pf-v5-c-login__main,
  body:has(#kc-otp-login-form) .pf-c-login__main,
  body:has(#kc-otp-login-form) .card-pf {
    grid-column: 2;
    grid-row: 1;
    width: 100% !important;
    max-width: 450px;
    max-height: none;
    overflow: visible;
  }

  body:has(#kc-otp-login-form) .pf-v5-c-login__main-header,
  body:has(#kc-otp-login-form) .pf-c-login__main-header { padding: 20px 28px 0 !important; }

  body:has(#kc-otp-login-form) .pf-v5-c-login__main-body,
  body:has(#kc-otp-login-form) .pf-c-login__main-body { padding: 12px 28px 20px !important; }

  body:has(#kc-otp-login-form) #kc-otp-login-form .pf-v5-c-form__group { margin-bottom: 10px; }

  body:has(#kc-otp-login-form) .satu-auth-brand {
    position: fixed;
    top: 17px;
    left: max(50px, calc((100vw - 1180px) / 2));
  }

  body:has(#kc-otp-login-form) .satu-auth-back {
    position: fixed;
    top: 32px;
    right: max(50px, calc((100vw - 1180px) / 2));
  }

  body:has(#kc-otp-login-form) .satu-auth-orbit {
    position: fixed;
    top: calc(50svh + 104px);
    left: max(35px, calc((100vw - 1180px) / 2 + 35px));
    display: block;
    width: 310px;
    height: 148px;
    scale: .78;
    transform-origin: left top;
  }
}

@media (max-width: 980px) {
  body:has(#kc-otp-login-form)::after,
  body:has(#kc-otp-login-form) .pf-v5-c-login::before,
  body:has(#kc-otp-login-form) .pf-c-login::before { display: none; }

  body:has(#kc-otp-login-form) .pf-v5-c-login,
  body:has(#kc-otp-login-form) .pf-c-login { display: block !important; min-height: 100svh; padding: 82px 0 0 !important; }

  body:has(#kc-otp-login-form) .pf-v5-c-login__container,
  body:has(#kc-otp-login-form) .pf-c-login__container {
    width: min(540px, calc(100% - 34px));
    min-height: calc(100svh - 82px);
    margin: 0 auto;
    padding: 24px 0 40px;
  }

  body:has(#kc-otp-login-form) .pf-v5-c-login__container::before,
  body:has(#kc-otp-login-form) .pf-c-login__container::before { top: 81px; width: calc(100% - 34px); }

  body:has(#kc-otp-login-form) .pf-v5-c-login__main-header,
  body:has(#kc-otp-login-form) .pf-c-login__main-header { padding: 24px 23px 0 !important; }

  body:has(#kc-otp-login-form) .pf-v5-c-login__main-body,
  body:has(#kc-otp-login-form) .pf-c-login__main-body { padding: 16px 23px 24px !important; }

  body:has(#kc-otp-login-form) .satu-login-heading { font-size: clamp(28px, 8vw, 34px); }

  body:has(#kc-otp-login-form) .satu-auth-brand { position: fixed; top: 18px; left: 17px; }
  body:has(#kc-otp-login-form) .satu-auth-back { position: fixed; top: 33px; right: 17px; }
}

@media (prefers-reduced-motion: reduce) {
  body:has(#kc-otp-login-form) *,
  body:has(#kc-otp-login-form) *::before,
  body:has(#kc-otp-login-form) *::after { animation: none !important; transition: none !important; }
}
