html, body {
    height: 100%;
}

html.scrollable, body.scrollable {
    height: auto;
}

/* Larger screens */
@media all and (min-width: 600px) {
    html {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    body {
        display: flex;
        flex-direction: row;
        align-items: center;
        background: radial-gradient(circle, #40404b, #111118);
    }

    #page {
       width: 400px;
    }
    .card-panel {
        border-radius: 5px;
    }
  /* Only on email_otp page: widen the white box a bit */
  #page:has(form.otp-form) {
      width: 470px;
  }
}

/* OTP / 2FA — compact centered code field (legacy single-input pages) */
.otp-form #code[type="text"],
.otp-form #code:not([type="hidden"]) {
  width: 12.5rem !important;
  max-width: 100%;
  display: block;
  margin: 0 auto;
  padding: 0 18px;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
  font-size: 26px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.12em;
  text-align: left;
}

/* Hide the inline label and padlock to keep the field clean */
.otp-form label[for="code"],
.otp-form .prefix { display: none !important; }

/* Smaller screens */
@media all and (max-width: 600px) {
    #page {
       width: 100%;
       height: 100%;
    }
    .card-panel {
        width: 100%;
        height: 100%;
        margin: 0;
    }
    html, body {
        width: 100%;
    }
}

select {
    display: block;
}

.card-panel {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-in;
  -moz-transition: opacity 0.5s ease-in;
  -ms-transition: opacity 0.5s ease-in;
  -o-transition: opacity 0.5s ease-in;
  transition: opacity 0.5s ease-in;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.fadeIn {
	opacity: 1;
}

#brand-logo {
    display: block;
    margin: auto;
    max-width: 200px;
    max-height: 48px;
    width: auto;
    height: auto;
    object-fit: contain;
}

.tos-accept, .remember-otp {
    margin-bottom: 2rem!important;
}

.centered-text {
    text-align: center;
}

/* Make buttons span full width of the container */
.col.s12 > .btn {
    width: 100%;
}

.row {
    /* line-height: 1; */
    margin-bottom: 0;
}

/* label color */
.play-input-field label {
  color: #9e9e9e!important;
}
/* label focus color */
.play-input-field input:focus + label {
  color: #000!important;
}
/* label underline focus color */
.play-input-field input:focus {
  border-bottom: 1px solid #000!important;
  box-shadow: 0 1px 0 0 #000!important;
}
/* valid color */
.play-input-field input.valid {
  border-bottom: 1px solid #9e9e9e!important;
  box-shadow: 0 1px 0 0 #9e9e9e!important;
}
/* icon prefix focus color */
.play-input-field .prefix.active {
  color: #000!important;
}

.play-btn {
    background-color: #3C80BC;
}

.play-btn:hover, .play-btn:focus {
    background-color: #306695;
}

.play-checkbox[type="checkbox"].filled-in:checked + span:after {
     border: 2px solid #3C80BC!important;
     background-color: #3C80BC!important;
}

.input-error {
    color: red;
}

.btn {
  line-height: 45px;
  height: 45px;
}

 @font-face {
  font-family: 'fontello';
  src: url('../font/fontello.eot?50734484');
  src: url('../font/fontello.eot?50734484#iefix') format('embedded-opentype'),
       url('../font/fontello.svg?50734484#fontello') format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'fontello';
  src: url('data:application/octet-stream;base64,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') format('woff'),
       url('data:application/octet-stream;base64,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') format('truetype');
}

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?50734484#fontello') format('svg');
  }
}
*/

 [class^="icon-"]:before, [class*=" icon-"]:before {
  font-family: "fontello";
  font-style: normal;
  font-weight: normal;
  speak: never;

  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  margin-right: .2em;
  text-align: center;
  /* opacity: .8; */

  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  text-transform: none;

  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;

  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: .2em;

  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */

  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;

  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
}
.icon-mail:before { content: '\f0e0'; } /* '' */
.icon-angle-right:before { content: '\f105'; } /* '' */
.icon-facebook:before { content: '\f230'; } /* '' */
.icon-user:before { content: '👤'; } /* '\1f464' */
.icon-lock:before { content: '🔒'; } /* '\1f512' */

.link-button {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  color: #1976d2;
  text-decoration: underline;
  cursor: pointer;
  font: inherit;
  line-height: inherit;
}
.link-button:hover,
.link-button:focus {
  text-decoration: none;
}

/* ========== Modern auth ========== */
html.scrollable:has(.auth-modern),
body.scrollable:has(.auth-modern) {
  min-height: 100vh;
  height: auto;
}

@media all and (min-width: 600px) {
  #page:has(.auth-modern) {
    width: 420px;
  }

  #page:has(.auth-modern--team-cols-2) {
    width: 720px;
  }

  #page:has(.auth-modern--team-cols-3) {
    width: 980px;
  }

  body:has(.auth-modern) {
    background-color: #f5f7fa !important;
    background-image:
      radial-gradient(ellipse 58% 48% at 56% 40%, rgba(120, 175, 230, 0.42) 0%, transparent 68%),
      radial-gradient(ellipse 42% 36% at 10% 94%, rgba(110, 170, 220, 0.32) 0%, transparent 62%),
      radial-gradient(ellipse 40% 34% at 92% 96%, rgba(100, 165, 225, 0.26) 0%, transparent 62%),
      radial-gradient(ellipse 55% 28% at 82% 10%, rgba(140, 190, 235, 0.2) 0%, transparent 70%),
      radial-gradient(ellipse 80% 60% at 48% 55%, rgba(60, 128, 188, 0.08) 0%, transparent 72%);
    background-attachment: fixed;
    background-repeat: no-repeat;
    justify-content: center;
    padding: 48px 24px;
    box-sizing: border-box;
  }

  .card-panel:has(.auth-modern) {
    position: relative;
    overflow: visible;
    border-radius: 28px;
    padding: 36px 36px 30px;
    background: #fff;
    box-shadow:
      0 0 0 1px rgba(60, 128, 188, 0.05),
      0 18px 44px rgba(60, 128, 188, 0.12),
      0 6px 16px rgba(80, 100, 180, 0.06);
  }

  /* page mesh handles atmosphere — no extra oval behind the card */
  .card-panel:has(.auth-modern)::before,
  .card-panel:has(.auth-modern)::after {
    content: none;
  }
}

.auth-modern__alerts {
  margin: 2px 0 14px;
}

.auth-modern__alert {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 18px;
  border-radius: 999px;
  background: #fff5f5;
  border: 1px solid #f0c7c7;
  color: #9b2c2c;
  font-size: 14px;
  line-height: 1.35;
  box-sizing: border-box;
  animation: auth-alert-in 0.35s ease-out;
}

.auth-modern__alert-icon {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 0;
  color: #c53030;
}

.auth-modern__alert-icon svg {
  display: block;
  width: 18px;
  height: 18px;
}

.auth-modern__alert-text {
  flex: 1 1 auto;
  font-weight: 500;
}

@keyframes auth-alert-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.auth-modern__social {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin: 8px 0 2px;
}

.auth-modern .social-btn {
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  width: 100%;
  height: 48px;
  min-height: 48px;
  padding: 5px 20px 5px 5px !important;
  margin: 0;
  box-sizing: border-box;
  border-radius: 999px !important;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 0.04em;
  line-height: 1 !important;
  text-decoration: none;
  box-shadow: none !important;
  background-image: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, opacity 0.15s ease;
}

.auth-modern .social-btn:hover,
.auth-modern .social-btn:focus {
  box-shadow: none !important;
  opacity: 0.94;
}

.auth-modern .social-btn__icon {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  margin: 0;
  border-radius: 999px;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-sizing: border-box;
  position: static;
  transform: none;
  top: auto;
  left: auto;
}

.auth-modern .social-btn__icon svg {
  width: 18px;
  height: 18px;
  display: block;
}

.auth-modern .social-btn__label {
  flex: 1 1 auto;
  text-align: center;
  padding-right: 38px; /* optical center vs icon column */
}

.auth-modern .social-btn--google {
  background-color: #fff !important;
  color: #3c4043 !important;
  border: 1px solid #dadce0;
}

.auth-modern .social-btn--google:hover,
.auth-modern .social-btn--google:focus {
  background-color: #f8f9fa !important;
  border-color: #c6c9ce;
}

.auth-modern .social-btn--google .social-btn__icon {
  border: 1px solid #ececec;
}

.auth-modern .social-btn--google .social-btn__icon svg {
  width: 25px;
  height: 25px;
}

.auth-modern .social-btn--apple {
  background-color: #111 !important;
  color: #fff !important;
  border: 0;
}

.auth-modern .social-btn--apple:hover,
.auth-modern .social-btn--apple:focus {
  background-color: #222 !important;
}

.auth-modern .social-btn--apple .social-btn__icon {
  background: rgba(255, 255, 255, 0.12);
  border: 0;
}

.auth-modern .social-btn--apple .social-btn__icon svg {
  width: 20px;
  height: 24px;
  transform: translate(-1px, -1px);
}

.auth-modern .social-btn--microsoft {
  background-color: #fff !important;
  color: #1f1f1f !important;
  border: 1px solid #dadce0;
}

.auth-modern .social-btn--microsoft:hover,
.auth-modern .social-btn--microsoft:focus {
  background-color: #f8f9fa !important;
  border-color: #c6c9ce;
}

.auth-modern .social-btn--microsoft .social-btn__icon {
  border: 1px solid #ececec;
}

.auth-modern .social-btn--microsoft .social-btn__icon svg {
  width: 19px;
  height: 19px;
  transform: translateX(-1px);
}

.auth-modern .social-btn--facebook {
  background-color: #1877f2 !important;
  color: #fff !important;
  border: 0;
}

.auth-modern .social-btn--facebook:hover,
.auth-modern .social-btn--facebook:focus {
  background-color: #166fe5 !important;
}

.auth-modern .social-btn--facebook .social-btn__icon {
  background: #166fe5;
  border: 0;
}

.auth-modern .social-btn--facebook .social-btn__icon svg {
  width: 27px;
  height: 27px;
}

.auth-modern__divider {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 20px 0 16px;
  text-align: center;
  color: #9aa0a8;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.auth-modern__divider::before,
.auth-modern__divider::after {
  content: "";
  flex: 1 1 auto;
  height: 1px;
  background: #e2e6eb;
}

.auth-modern__divider span {
  flex: 0 0 auto;
}

.auth-modern .row {
  margin-bottom: 0;
}

.auth-modern .play-input-field {
  margin-top: 0;
  margin-bottom: 14px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.auth-modern .play-input-field > label {
  display: none !important;
}

.auth-modern .play-input-field .prefix {
  top: calc(0.55rem - 2px);
  left: 16px;
  font-size: 1.35rem;
  color: #9aa0a8 !important;
  width: 2.5rem;
  text-align: center;
}

.auth-modern__password .prefix {
  top: calc(0.55rem - 1px);
}

.auth-modern .play-input-field .prefix.active {
  color: #3C80BC !important;
}

.auth-modern .play-input-field input {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 14px 0 calc(2.8rem + 16px) !important;
  border-radius: 999px !important;
  border: 1px solid #d5dae0 !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 15px !important;
  color: #2a2d33;
}

/* OTP / 2FA — six digit boxes */
.auth-modern__otp {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin: 0 0 14px;
}

.auth-modern__otp-digit {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #d5dae0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
  font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace !important;
  font-size: 24px !important;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  text-align: center;
  color: #2a2d33;
  box-sizing: border-box;
}

.auth-modern__otp-digit:focus {
  outline: none;
  border-color: #3C80BC !important;
  box-shadow: 0 0 0 3px rgba(60, 128, 188, 0.15) !important;
}

.auth-modern__otp-error {
  text-align: center;
  margin: -6px 0 12px;
}

@media all and (max-width: 420px) {
  .auth-modern__otp {
    gap: 6px;
  }

  .auth-modern__otp-digit {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
    font-size: 20px !important;
    border-radius: 12px !important;
  }
}

.auth-modern.otp-form .auth-modern__option {
  text-align: center;
}

.auth-modern.otp-form .auth-modern__option label {
  display: inline-block;
  text-align: left;
}

.auth-modern__password {
  position: relative;
}

.auth-modern__password input {
  padding-right: 46px !important;
}

.auth-modern__toggle-password {
  position: absolute;
  right: 14px;
  top: 5px;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #9aa0a8;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
}

.auth-modern__toggle-password:hover,
.auth-modern__toggle-password:focus {
  color: #3C80BC;
  outline: none;
  background: transparent;
}

.auth-modern__toggle-password svg {
  width: 20px;
  height: 20px;
  display: none;
}

.auth-modern__toggle-password .auth-modern__eye--show {
  display: block;
}

.auth-modern__toggle-password.is-showing .auth-modern__eye--show {
  display: none;
}

.auth-modern__toggle-password.is-showing .auth-modern__eye--hide {
  display: block;
}

.auth-modern .play-input-field input::placeholder {
  color: #9aa0a8;
  opacity: 1;
}

.auth-modern .play-input-field input:focus {
  border: 1px solid #3C80BC !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(60, 128, 188, 0.12) !important;
}

.auth-modern .play-input-field .input-error {
  margin: 6px 0 0;
  padding-left: 2px;
}

.auth-modern__submit {
  margin-top: 4px !important;
  margin-bottom: 4px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Rendered after the action button so Tab goes from the last input straight to it */
.auth-modern .cf-turnstile {
  width: 100%;
  margin: 14px 0 0;
  display: flex;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
  border-radius: 10px;
  overflow: hidden;
  line-height: 0;
}

.auth-modern .cf-turnstile::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  box-sizing: border-box;
  border: 1px solid #d5dae0;
  border-radius: inherit;
  pointer-events: none;
}

.auth-modern .cf-turnstile > div,
.auth-modern .cf-turnstile > div > div,
.auth-modern .cf-turnstile iframe {
  width: 100% !important;
  min-width: 0 !important;
  display: block;
  line-height: 0;
  border-radius: inherit;
  overflow: hidden;
}

.auth-modern .play-btn {
  width: 100%;
  height: 46px;
  line-height: 46px;
  margin: 0;
  border-radius: 999px;
  border: 1px solid rgba(73, 152, 222, 0.45) !important;
  text-transform: none;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.01em;
  box-shadow: none !important;
  /* match front dialog soft blue pill (fade(#4998DE, 14%) / darken 12%) */
  background: rgba(73, 152, 222, 0.14) !important;
  color: #247ac6 !important;
}

.auth-modern .play-btn:hover,
.auth-modern .play-btn:focus {
  background: rgba(73, 152, 222, 0.22) !important;
  border-color: rgba(73, 152, 222, 0.65) !important;
  color: #247ac6 !important;
  box-shadow: none !important;
}

.auth-modern__alt {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px 12px;
  margin: 4px 0 8px;
  text-align: center;
}

.auth-modern__alt .link-button {
  color: #3C80BC;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
}

.auth-modern__alt .link-button:hover,
.auth-modern__alt .link-button:focus {
  text-decoration: underline;
  color: #306695;
}

.auth-modern__alt-sep {
  color: #9aa0a8;
  font-size: 12px;
}

.auth-modern__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 16px;
  padding: 0 2px;
}

.auth-modern__footer--center {
  justify-content: center;
}

.auth-modern__footer a {
  color: #3C80BC;
  font-size: 13px;
  font-weight: 500;
  text-decoration: none;
}

.auth-modern__footer a:hover,
.auth-modern__footer a:focus {
  text-decoration: underline;
  color: #306695;
}

.auth-modern__intro {
  margin: 4px 0 18px;
  text-align: center;
  color: #5c636c;
  font-size: 14px;
  line-height: 1.45;
}

.auth-modern__intro p {
  margin: 0;
}

.auth-modern__intro--rich a {
  color: #3C80BC;
  text-decoration: none;
  font-weight: 600;
}

.auth-modern__intro--rich a:hover,
.auth-modern__intro--rich a:focus {
  text-decoration: underline;
}

.auth-modern__intro-secondary {
  margin-top: 8px !important;
  font-size: 13px;
  color: #7a828c;
}

.auth-modern__intro-secondary strong {
  color: #3a4048;
  font-weight: 600;
}

.auth-modern__resend {
  margin-top: 10px !important;
}

.auth-modern__resend .link-button {
  color: #3C80BC;
  text-decoration: none;
  font-weight: 600;
}

.auth-modern__resend .link-button:hover,
.auth-modern__resend .link-button:focus {
  text-decoration: underline;
}

.auth-modern__resend .link-button[disabled] {
  color: #9aa0a8;
  cursor: default;
  text-decoration: none;
}

.auth-modern__note {
  margin: 4px 0 0;
  text-align: center;
  color: #8a929c;
  font-size: 12px;
  line-height: 1.45;
}

.auth-modern__option,
.auth-modern__tos {
  margin: 2px 0 16px !important;
  padding: 0 2px;
}

.auth-modern__option label,
.auth-modern__tos label {
  color: #5c636c;
  font-size: 12.5px;
  line-height: 1.35;
}

.auth-modern__option [type="checkbox"] + span,
.auth-modern__tos [type="checkbox"] + span {
  padding-left: 28px !important;
  height: auto;
  line-height: 1.35;
}

@media all and (min-width: 600px) {
  .auth-modern__option [type="checkbox"] + span,
  .auth-modern__tos [type="checkbox"] + span {
    white-space: nowrap;
  }
}

.auth-modern__option a,
.auth-modern__tos a {
  color: #3C80BC;
  text-decoration: none;
}

.auth-modern__option a:hover,
.auth-modern__option a:focus,
.auth-modern__tos a:hover,
.auth-modern__tos a:focus {
  text-decoration: underline;
}

.auth-modern__teams {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin: 4px 0 8px;
}

.auth-modern__team-group {
  border: 1px solid #e2e6eb;
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}

.auth-modern__team-heading {
  padding: 12px 16px;
  background: #f7f9fb;
  color: #5c636c;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border-bottom: 1px solid #e2e6eb;
}

.auth-modern__team-heading--search {
  display: flex;
  align-items: center;
  gap: 20px;
  padding-top: 8px;
  padding-bottom: 8px;
}

.auth-modern__team-heading--search > span {
  flex: 0 0 auto;
}

.auth-modern__team-search {
  flex: 1 1 auto;
  min-width: 0;
  height: 34px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 1px solid #d5dae0 !important;
  border-radius: 999px !important;
  background: #fff !important;
  box-shadow: none !important;
  font-size: 14px !important;
  font-weight: 500;
  letter-spacing: normal;
  text-transform: none;
  color: #2a2d33;
  box-sizing: border-box;
}

.auth-modern__team-search:focus {
  outline: none;
  border-color: #3C80BC !important;
  box-shadow: 0 0 0 3px rgba(60, 128, 188, 0.12) !important;
}

.auth-modern__team-search::placeholder {
  color: #9aa0a8;
  opacity: 1;
  text-transform: none;
  letter-spacing: normal;
  font-weight: 500;
}

.auth-modern__team-columns {
  display: grid;
  grid-template-columns: 1fr;
}

.auth-modern__team-columns--2 {
  grid-template-columns: 1fr 1fr;
}

.auth-modern__team-columns--3 {
  grid-template-columns: 1fr 1fr 1fr;
}

.auth-modern__team-column {
  position: relative;
  min-width: 0;
}

.auth-modern__team-glow {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 3;
  border-radius: 12px;
  pointer-events: none;
  box-shadow:
    inset 0 0 0 2px rgba(120, 186, 230, 0.85),
    inset 0 0 16px rgba(120, 186, 230, 0.35),
    0 0 14px rgba(120, 186, 230, 0.45);
}

.auth-modern__team-columns--2 .auth-modern__team-column + .auth-modern__team-column,
.auth-modern__team-columns--3 .auth-modern__team-column + .auth-modern__team-column {
  border-left: 1px solid #eef1f4;
}

.auth-modern__team-item {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 14px 16px !important;
  margin: 0 !important;
  color: #2a2d33 !important;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none !important;
  border-bottom: 1px solid #eef1f4;
  background: #fff;
  transition: background-color 0.18s ease, box-shadow 0.18s ease, color 0.18s ease, opacity 0.18s ease;
  box-sizing: border-box;
}

.auth-modern__team-item span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.auth-modern__team-column .auth-modern__team-item:last-child {
  border-bottom: 0;
}

.auth-modern__team-item--empty {
  min-height: 49px;
  pointer-events: none;
  border-bottom: 0 !important;
}

.auth-modern__team-item:last-child {
  border-bottom: 0;
}

.auth-modern__team-item:hover,
.auth-modern__team-item:focus {
  background: #f5f9fc !important;
  color: #3C80BC !important;
}

.auth-modern__team-item.is-match {
  background: #fff !important;
  color: #2a2d33 !important;
}

.auth-modern__team-item.is-match:hover,
.auth-modern__team-item.is-match:focus {
  background: #f5f9fc !important;
  color: #3C80BC !important;
}

.auth-modern__team-item.is-dim {
  opacity: 0.42;
}

.auth-modern__team-item.is-dim:hover,
.auth-modern__team-item.is-dim:focus {
  opacity: 1;
}

.auth-modern__team-item i {
  color: #9aa0a8;
  font-size: 1rem;
  flex: 0 0 auto;
}

@media all and (max-width: 900px) {
  .auth-modern__team-columns--2,
  .auth-modern__team-columns--3 {
    grid-template-columns: 1fr;
  }

  .auth-modern__team-columns--2 .auth-modern__team-column + .auth-modern__team-column,
  .auth-modern__team-columns--3 .auth-modern__team-column + .auth-modern__team-column {
    border-left: 0;
    border-top: 1px solid #eef1f4;
  }
}

/* Login submit in flight (waiting on Turnstile, then on the server) */
.auth-modern [aria-busy="true"]::after {
  content: '';
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.5em;
  vertical-align: -0.15em;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: auth-busy-spin 0.7s linear infinite;
}

@keyframes auth-busy-spin {
  to { transform: rotate(360deg); }
}

.auth-modern .play-btn.disabled,
.auth-modern .play-btn:disabled {
  background: rgba(155, 165, 175, 0.35) !important;
  border-color: rgba(155, 165, 175, 0.45) !important;
  color: #9aa0a8 !important;
  opacity: 1;
  cursor: not-allowed;
}

@media all and (max-width: 600px) {
  .card-panel:has(.auth-modern) {
    position: relative;
    overflow: visible;
    padding: 28px 20px 24px;
    border-radius: 0;
    box-shadow: none;
    background: #fff;
  }

  body:has(.auth-modern) {
    background-color: #f5f7fa !important;
    background-image:
      radial-gradient(ellipse 70% 45% at 55% 28%, rgba(120, 175, 230, 0.36) 0%, transparent 68%),
      radial-gradient(ellipse 50% 35% at 8% 90%, rgba(110, 170, 220, 0.28) 0%, transparent 62%),
      radial-gradient(ellipse 48% 32% at 95% 92%, rgba(100, 165, 225, 0.22) 0%, transparent 62%);
    background-attachment: fixed;
    background-repeat: no-repeat;
  }

  .card-panel:has(.auth-modern)::before,
  .card-panel:has(.auth-modern)::after {
    content: none;
  }
}
