/* Routras SSO visual polish. Keep this file presentation-only. */

html,
body,
#root,
#root .ant-layout,
#root .ant-layout-content,
#root .ant-layout-footer,
footer#footer {
  background: #02050d !important;
}

/* Mobile-only: remove Casdoor's outer login shell from layout and paint.
   The white auth card should sit directly on the page gradient without an
   intermediate translucent panel. Desktop keeps Casdoor's existing shell. */
@media (max-width: 768px) {
  body.routras-auth-page .loginBackground,
  body.routras-auth-page .loginBackgroundDark {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    display: contents !important;
    filter: none !important;
    height: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    outline: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    width: auto !important;
  }

  body.routras-auth-page .login-form {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    border-radius: 5px !important;
  }
}

/* Final Casdoor signup/language polish, kept after the older mobile overrides. */
body.routras-auth-page .login-form .ant-form-item-explain,
body.routras-auth-page .login-form .ant-form-item-extra {
  top: calc(100% + 2px) !important;
  line-height: 14px !important;
  min-height: 14px !important;
}

body.routras-auth-page .login-form .ant-form-item-explain-error,
body.routras-auth-page .login-form .ant-form-item-explain-error div {
  line-height: 14px !important;
}

body.routras-auth-page .ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item:not(:hover):not([data-routras-language-current='true']):not(.routras-language-current):not([data-routras-language-hovered='true']) {
  background: transparent !important;
  background-color: transparent !important;
}

body.routras-auth-page .ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item:hover,
body.routras-auth-page .ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item[data-routras-language-hovered='true'],
body.routras-auth-page .ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item[data-routras-language-current='true'],
body.routras-auth-page .ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item.routras-language-current {
  background: #f1f5f9 !important;
  background-color: #f1f5f9 !important;
}

body.routras-auth-page.routras-language-open .login-languages .select-box,
body.routras-auth-page.routras-language-open .login-form > .select-box,
body.routras-auth-page .login-languages:hover .select-box,
body.routras-auth-page .login-form > .select-box:hover {
  background: #fff !important;
  background-color: #fff !important;
  border-color: #fff !important;
}

body.routras-auth-page.routras-language-open .login-languages .select-box .anticon-global,
body.routras-auth-page.routras-language-open .login-form > .select-box .anticon-global,
body.routras-auth-page.routras-language-open .login-languages .select-box svg,
body.routras-auth-page.routras-language-open .login-form > .select-box svg {
  opacity: 1 !important;
  visibility: visible !important;
}

body.routras-auth-page #routras-language-surface,
body.routras-auth-page #routras-language-globe-overlay {
  display: none !important;
  pointer-events: none !important;
}

body.routras-auth-page .ant-dropdown {
  pointer-events: none !important;
}

body.routras-auth-page .ant-dropdown .ant-dropdown-menu,
body.routras-auth-page .ant-dropdown .ant-dropdown-menu * {
  pointer-events: auto !important;
}

body.routras-auth-page .login-languages,
body.routras-auth-page .login-form > .select-box,
body.routras-auth-page .ant-dropdown {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

body.routras-auth-page #routras-language-picker {
  display: none !important;
  pointer-events: none !important;
  position: fixed !important;
  right: 34px !important;
  top: 28px !important;
  z-index: 2147483600 !important;
}

body.routras-auth-page .routras-language-picker-inner {
  position: relative !important;
}

body.routras-auth-page .routras-language-button {
  align-items: center !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(148, 163, 184, 0.34) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
  color: #2563eb !important;
  cursor: pointer !important;
  display: inline-flex !important;
  gap: 7px !important;
  height: 40px !important;
  justify-content: center !important;
  min-width: 56px !important;
  padding: 0 10px !important;
  transition: background-color 120ms ease, border-color 120ms ease !important;
}

body.routras-auth-page .routras-language-button:hover,
body.routras-auth-page .routras-language-button[aria-expanded='true'] {
  background: #fff !important;
  border-color: #fff !important;
}

body.routras-auth-page .routras-language-button svg {
  display: block !important;
  height: 18px !important;
  width: 18px !important;
}

body.routras-auth-page .routras-language-current-code {
  color: #1e3a8a !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

body.routras-auth-page .routras-language-menu {
  background: #fff !important;
  border: 1px solid rgba(226, 232, 240, 0.92) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.14) !important;
  box-sizing: border-box !important;
  display: none !important;
  min-width: 168px !important;
  padding: 6px !important;
  position: absolute !important;
  right: 0 !important;
  top: calc(100% + 6px) !important;
}

body.routras-auth-page #routras-language-picker[data-open='true'] .routras-language-menu {
  display: block !important;
}

body.routras-auth-page .routras-language-option {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 5px !important;
  color: #334155 !important;
  cursor: pointer !important;
  display: flex !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  gap: 10px !important;
  height: 32px !important;
  justify-content: space-between !important;
  line-height: 1 !important;
  padding: 0 9px 0 7px !important;
  text-align: left !important;
  width: 100% !important;
}

body.routras-auth-page .routras-language-option-main {
  align-items: center !important;
  display: inline-flex !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body.routras-auth-page .routras-language-flag {
  align-items: center !important;
  background: #f8fafc !important;
  border: 1px solid #dbe3ef !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex: 0 0 25px !important;
  font-size: 14px !important;
  height: 18px !important;
  justify-content: center !important;
  line-height: 1 !important;
  overflow: hidden !important;
  width: 25px !important;
}

body.routras-auth-page .routras-language-label {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.routras-auth-page .routras-language-option:hover,
body.routras-auth-page .routras-language-option[aria-current='true'] {
  background: #f1f5f9 !important;
  color: #0f172a !important;
}

body.routras-auth-page .routras-language-check {
  align-items: center !important;
  color: #2563eb !important;
  display: inline-flex !important;
  flex: 0 0 16px !important;
  height: 16px !important;
  justify-content: center !important;
  width: 16px !important;
}

body.routras-auth-page .routras-language-check svg {
  display: block !important;
  height: 15px !important;
  stroke: currentColor !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-width: 2 !important;
  width: 15px !important;
}

body.routras-auth-page #signup .routras-signup-agreement {
  box-sizing: border-box !important;
  color: #475569 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  margin: -2px 0 12px !important;
  text-align: left !important;
  width: 100% !important;
}

body.routras-auth-page #signup .routras-native-signup-agreement {
  display: none !important;
}

body.routras-auth-page #signup .routras-agreement-label {
  align-items: flex-start !important;
  cursor: pointer !important;
  display: flex !important;
  gap: 8px !important;
  margin: 0 !important;
  width: 100% !important;
}

body.routras-auth-page #signup .routras-agreement-checkbox {
  accent-color: #2563eb !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
  height: 15px !important;
  margin: 2px 0 0 !important;
  width: 15px !important;
}

body.routras-auth-page #signup .routras-agreement-copy {
  display: block !important;
  min-width: 0 !important;
}

body.routras-auth-page #signup .routras-agreement-link {
  background: transparent !important;
  border: 0 !important;
  color: #2563eb !important;
  cursor: pointer !important;
  display: inline !important;
  font: inherit !important;
  line-height: inherit !important;
  margin: 0 !important;
  padding: 0 !important;
  text-decoration: none !important;
}

body.routras-auth-page #signup .routras-agreement-link:hover {
  text-decoration: underline !important;
}

body.routras-auth-page #signup .routras-agreement-error {
  color: #ef4444 !important;
  font-size: 12px !important;
  line-height: 14px !important;
  margin: 3px 0 0 23px !important;
}

body.routras-auth-page #signup .routras-agreement-error[hidden] {
  display: none !important;
}

body.routras-auth-page #signup .routras-signup-agreement + .ant-form-item:has(button[type='submit']) {
  margin-top: 0 !important;
}

.routras-agreement-modal-backdrop {
  align-items: center !important;
  background: rgba(15, 23, 42, 0.42) !important;
  box-sizing: border-box !important;
  display: flex !important;
  inset: 0 !important;
  justify-content: center !important;
  padding: 20px !important;
  position: fixed !important;
  z-index: 2147483640 !important;
}

.routras-agreement-modal {
  background: #fff !important;
  border-radius: 8px !important;
  box-shadow: 0 24px 72px rgba(15, 23, 42, 0.22) !important;
  box-sizing: border-box !important;
  color: #1f2937 !important;
  max-height: min(720px, calc(100vh - 40px)) !important;
  max-width: 620px !important;
  overflow: auto !important;
  padding: 24px !important;
  width: 100% !important;
}

.routras-agreement-modal-head {
  align-items: center !important;
  display: flex !important;
  gap: 16px !important;
  justify-content: space-between !important;
  margin-bottom: 14px !important;
}

.routras-agreement-modal-title {
  color: #0f172a !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  margin: 0 !important;
}

.routras-agreement-modal-close {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  color: #334155 !important;
  cursor: pointer !important;
  flex: 0 0 auto !important;
  font-size: 18px !important;
  height: 34px !important;
  line-height: 1 !important;
  width: 34px !important;
}

.routras-agreement-modal-body {
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.routras-agreement-modal-body p {
  margin: 0 0 10px !important;
}

.routras-agreement-modal-body ul {
  margin: 0 !important;
  padding-left: 20px !important;
}

.routras-agreement-modal-body li {
  margin: 0 0 8px !important;
}

@media (max-width: 768px) {
  body.routras-auth-page .login-form .ant-form-item-explain,
  body.routras-auth-page .login-form .ant-form-item-extra {
    top: calc(100% + 1px) !important;
    line-height: 13px !important;
    min-height: 13px !important;
  }

  body.routras-auth-page #signup .routras-signup-agreement {
    font-size: 12px !important;
    margin: -3px 0 10px !important;
  }

  body.routras-auth-page #signup .routras-agreement-error {
    font-size: 11px !important;
    line-height: 13px !important;
    margin-top: 2px !important;
  }

  body.routras-auth-page #routras-language-surface {
    border-radius: 5px !important;
  }

  .routras-agreement-modal-backdrop {
    padding: 14px !important;
  }

  .routras-agreement-modal {
    border-radius: 5px !important;
    max-height: calc(100vh - 28px) !important;
    padding: 18px !important;
  }
}

/* Mobile-only final shell removal. Keep this at the end so no earlier mobile
   layout rule can reintroduce the translucent login wrapper. */
@media (max-width: 768px) {
  body.routras-auth-page .loginBackground,
  body.routras-auth-page .loginBackgroundDark {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    display: contents !important;
    filter: none !important;
    height: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    outline: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    width: auto !important;
  }

  body.routras-auth-page .login-form {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    border-radius: 5px !important;
  }
}

body.routras-auth-page,
body.routras-auth-page .loginBackground,
body.routras-auth-page .loginBackgroundDark {
  background: #02050d !important;
}

body.routras-auth-page .routras-auth-brand {
  align-items: center !important;
  display: flex !important;
  height: 76px !important;
  justify-content: flex-start !important;
  left: 36px !important;
  position: fixed !important;
  text-decoration: none !important;
  top: 30px !important;
  width: 260px !important;
  z-index: 20 !important;
}

body.routras-auth-page .routras-auth-brand img {
  display: block !important;
  height: auto !important;
  max-height: 76px !important;
  object-fit: contain !important;
  width: 260px !important;
}

body.routras-auth-page::before,
body.routras-auth-page::after {
  background: none !important;
  content: none !important;
  display: none !important;
}

body.routras-auth-page .login-panel {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.routras-auth-page .login-form {
  align-items: center !important;
  background: #fff !important;
  box-sizing: border-box !important;
  border-radius: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-width: 560px !important;
  padding: 56px 70px !important;
  width: 560px !important;
}

body.routras-auth-page .login-logo-box {
  margin: 0 0 30px !important;
  text-align: center !important;
}

body.routras-auth-page .login-logo-box .panel-logo,
body.routras-auth-page .login-logo-box a {
  display: none !important;
}

body.routras-auth-page .login-form > a[href="https://www.routras.com"] {
  display: none !important;
}

body.routras-auth-page footer#footer,
body.routras-forget-page footer#footer {
  align-items: center !important;
  background: #02050d !important;
  color: #9ca3af !important;
  display: flex !important;
  font-size: 16px !important;
  gap: 8px !important;
  justify-content: center !important;
  line-height: 28px !important;
}

body.routras-auth-page footer#footer a,
body.routras-forget-page footer#footer a {
  align-items: center !important;
  display: inline-flex !important;
  height: 28px !important;
  justify-content: center !important;
  line-height: 28px !important;
}

body.routras-auth-page footer#footer img,
body.routras-forget-page footer#footer img {
  display: block !important;
  height: 28px !important;
  max-height: 28px !important;
  object-fit: contain !important;
  transform: translateY(2px) !important;
  vertical-align: middle !important;
  width: auto !important;
}

body.routras-forget-page form[id^="step"] .ant-input,
body.routras-forget-page form[id^="step"] .ant-input-affix-wrapper,
body.routras-forget-page form[id^="step"] .ant-btn,
body.routras-forget-page form[id^="step"] button {
  border-radius: 6px !important;
}

body.routras-auth-page .routras-auth-title {
  color: #0f172a !important;
  font-size: 30px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.15 !important;
  margin: 0 auto !important;
  text-align: center !important;
  white-space: normal !important;
}

body.routras-auth-page #normal_login,
body.routras-auth-page #signup {
  box-sizing: border-box !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  max-width: 100% !important;
  width: 420px !important;
}

body.routras-auth-page .login-signup-link,
body.routras-auth-page .login-signin-link {
  margin-bottom: 0 !important;
}

body.routras-auth-page #signup .ant-form-item:has(button[type="submit"]) {
  margin-top: 10px !important;
  margin-bottom: 10px !important;
}

body.routras-auth-page #signup button[type="submit"] {
  display: flex !important;
  margin-bottom: 10px !important;
  width: 100% !important;
}

body.routras-auth-page #normal_login > div:last-child:has(.ant-form-item-control-input-content:empty),
body.routras-auth-page #signup > div:last-child:has(.ant-form-item-control-input-content:empty) {
  display: none !important;
}

body.routras-auth-page .signin-methods .ant-tabs-nav {
  margin-bottom: 40px !important;
}

body.routras-auth-page .signin-methods .ant-tabs-tab {
  padding: 14px 0 !important;
}

body.routras-auth-page .signin-methods .ant-tabs-tab .ant-tabs-tab-btn {
  color: #64748b !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
}

body.routras-auth-page .signin-methods .ant-tabs-tab-active .ant-tabs-tab-btn {
  color: #0f172a !important;
}

body.routras-auth-page .signin-methods .ant-tabs-ink-bar {
  background: #3b82ff !important;
  height: 4px !important;
  border-radius: 999px !important;
}

body.routras-auth-page .login-form .ant-form-item:not(.ant-form-item-hidden) {
  margin-bottom: 18px !important;
}

body.routras-auth-page .login-form .ant-form-item:not(.ant-form-item-hidden) .ant-form-item-row {
  display: block !important;
}

body.routras-auth-page .login-form .ant-form-item-label {
  display: block !important;
  flex: none !important;
  max-width: none !important;
  padding: 0 0 8px !important;
  text-align: left !important;
}

body.routras-auth-page .login-form .ant-form-item-label > label {
  color: #0f172a !important;
  display: block !important;
  font-size: 18px !important;
  font-weight: 750 !important;
  height: auto !important;
  line-height: 1.25 !important;
}

body.routras-auth-page .login-form .ant-form-item-label > label::before,
body.routras-auth-page .login-form .ant-form-item-label > label::after {
  content: "" !important;
  display: none !important;
}

body.routras-auth-page .login-form .ant-form-item-control {
  display: block !important;
  flex: none !important;
  max-width: none !important;
  position: relative !important;
  width: 100% !important;
}

body.routras-auth-page .login-form .ant-form-item-control-input,
body.routras-auth-page .login-form .ant-form-item-control-input-content {
  width: 100% !important;
}

body.routras-auth-page #normal_login > div:has(.login-username),
body.routras-auth-page #normal_login > div:has(.login-password),
body.routras-auth-page #normal_login > div:has(.verification-code) {
  box-sizing: content-box !important;
  min-height: 48px !important;
  padding-bottom: 18px !important;
  position: relative !important;
}

body.routras-auth-page #normal_login > div:has(.login-username) {
  padding-bottom: 24px !important;
}

body.routras-auth-page #normal_login > div:has(.login-username) .ant-form-item,
body.routras-auth-page #normal_login > div:has(.login-password) .ant-form-item,
body.routras-auth-page #normal_login > div:has(.verification-code) .ant-form-item {
  margin-bottom: 0 !important;
}

body.routras-auth-page .login-form .ant-form-item-explain,
body.routras-auth-page .login-form .ant-form-item-extra {
  font-size: 12px !important;
  left: 0 !important;
  line-height: 16px !important;
  margin: 0 !important;
  min-height: 16px !important;
  position: absolute !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  top: 50px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  width: 100% !important;
  z-index: 3 !important;
}

body.routras-auth-page .login-form .ant-form-item-explain-error,
body.routras-auth-page .login-form .ant-form-item-explain-error div {
  color: #ef4444 !important;
  font-size: 12px !important;
  line-height: 16px !important;
  overflow: hidden !important;
  text-align: left !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.routras-auth-page .login-form .ant-input,
body.routras-auth-page .login-form input,
body.routras-auth-page .login-form .ant-input-affix-wrapper {
  background: #fff !important;
}

body.routras-auth-page .login-form .ant-input,
body.routras-auth-page .login-form .ant-input-affix-wrapper {
  border: 1px solid #cbd5e1 !important;
  border-radius: 6px !important;
  color: #0f172a !important;
  font-size: 16px !important;
  min-height: 48px !important;
}

body.routras-auth-page .login-form .ant-input {
  height: 48px !important;
  padding: 0 18px !important;
}

body.routras-auth-page .login-form .ant-input-affix-wrapper {
  align-items: center !important;
  display: flex !important;
  padding: 0 18px !important;
}

body.routras-auth-page .login-form .ant-input-affix-wrapper .ant-input {
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  height: auto !important;
  min-height: 0 !important;
  outline: 0 !important;
  padding: 0 0 0 10px !important;
}

body.routras-auth-page #signup .ant-input-password .ant-input {
  padding-left: 0 !important;
}

body.routras-auth-page .login-form input:focus,
body.routras-auth-page .login-form .ant-input:focus,
body.routras-auth-page .login-form .ant-input-focused,
body.routras-auth-page .login-form .ant-input-affix-wrapper input:focus {
  box-shadow: none !important;
  outline: 0 !important;
}

body.routras-auth-page .login-form .ant-input-affix-wrapper-focused,
body.routras-auth-page .login-form .ant-input:focus {
  border-color: #3b82ff !important;
  box-shadow: 0 0 0 3px rgba(59, 130, 255, 0.18) !important;
}

body.routras-auth-page .login-form .ant-space-compact {
  display: block !important;
  height: 48px !important;
  min-height: 48px !important;
  position: relative !important;
  width: 100% !important;
}

body.routras-auth-page .login-form .ant-space-compact .ant-input,
body.routras-auth-page .login-form .ant-space-compact .ant-input-affix-wrapper {
  border-radius: 6px !important;
  padding-right: 132px !important;
  position: relative !important;
  width: 100% !important;
  z-index: 1 !important;
}

body.routras-auth-page .login-form .ant-space-compact .ant-input-affix-wrapper-focused,
body.routras-auth-page .login-form .ant-space-compact .ant-input-affix-wrapper:hover,
body.routras-auth-page .login-form .ant-space-compact .ant-input:focus,
body.routras-auth-page .login-form .ant-space-compact .ant-input:hover {
  z-index: 1 !important;
}

body.routras-auth-page .login-form .ant-space-compact .ant-input-affix-wrapper .ant-input {
  padding-right: 0 !important;
  text-overflow: clip !important;
  width: 100% !important;
}

body.routras-auth-page .login-form .ant-space-compact > .ant-btn {
  border-radius: 5px !important;
  box-shadow: none !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 16px !important;
  position: absolute !important;
  right: 4px !important;
  top: 4px !important;
  transform: none !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  width: 118px !important;
  z-index: 30 !important;
}

body.routras-auth-page .login-form .ant-space-compact > .ant-btn[disabled],
body.routras-auth-page .login-form .ant-space-compact > .ant-btn[disabled]:hover,
body.routras-auth-page .login-form .ant-space-compact > .ant-btn[disabled]:focus,
body.routras-auth-page .login-form .ant-space-compact > .ant-btn[disabled]:active,
body.routras-auth-page .login-form .ant-space-compact > .ant-btn.ant-btn-disabled,
body.routras-auth-page .login-form .ant-space-compact > .ant-btn.ant-btn-disabled:hover,
body.routras-auth-page .login-form .ant-space-compact > .ant-btn.ant-btn-disabled:focus,
body.routras-auth-page .login-form .ant-space-compact > .ant-btn.ant-btn-disabled:active {
  background: #dbeafe !important;
  border-color: #bfdbfe !important;
  color: #60a5fa !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  text-shadow: none !important;
  transform: none !important;
}

body.routras-auth-page .login-form .ant-space-compact > .ant-btn:not([disabled]):not(.ant-btn-disabled),
body.routras-auth-page .login-form .ant-space-compact > .ant-btn:not([disabled]):not(.ant-btn-disabled):hover,
body.routras-auth-page .login-form .ant-space-compact > .ant-btn:not([disabled]):not(.ant-btn-disabled):focus,
body.routras-auth-page .login-form .ant-space-compact > .ant-btn:not([disabled]):not(.ant-btn-disabled):active {
  background: #3b82f6 !important;
  border-color: #3b82f6 !important;
  color: #fff !important;
  cursor: pointer !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  text-shadow: none !important;
  transform: none !important;
}

body.routras-auth-page .login-form .ant-input::placeholder {
  color: #94a3b8 !important;
  font-size: 16px !important;
}

body.routras-auth-page .login-form input:-webkit-autofill,
body.routras-auth-page .login-form input:-webkit-autofill:hover,
body.routras-auth-page .login-form input:-webkit-autofill:focus {
  -webkit-text-fill-color: #0f172a !important;
  box-shadow: 0 0 0 1000px #fff inset !important;
  transition: background-color 9999s ease-out 0s !important;
}

body.routras-auth-page .login-form .ant-btn-primary,
body.routras-auth-page .login-form button[type="submit"] {
  background: #3b82f6 !important;
  border-color: #3b82f6 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  height: 52px !important;
  text-shadow: none !important;
  transform: none !important;
}

body.routras-auth-page .login-form .ant-btn-primary:hover,
body.routras-auth-page .login-form .ant-btn-primary:focus,
body.routras-auth-page .login-form .ant-btn-primary:active,
body.routras-auth-page .login-form button[type="submit"]:hover,
body.routras-auth-page .login-form button[type="submit"]:focus,
body.routras-auth-page .login-form button[type="submit"]:active {
  background: #2563eb !important;
  border-color: #2563eb !important;
  box-shadow: none !important;
  transform: none !important;
}

body.routras-auth-page .ant-checkbox .ant-checkbox-inner {
  border-radius: 6px !important;
}

body.routras-auth-page .login-languages,
body.routras-auth-page .login-form > .select-box {
  height: 48px !important;
  position: fixed !important;
  right: 34px !important;
  top: 28px !important;
  transform: none !important;
  width: 48px !important;
  z-index: 2147483602 !important;
}

body.routras-auth-page .login-languages > div:first-child {
  display: none !important;
}

body.routras-auth-page .login-languages .select-box,
body.routras-auth-page .login-form > .select-box {
  align-items: center !important;
  background: transparent !important;
  border: 1px solid rgba(148, 163, 184, 0.36) !important;
  border-radius: 10px !important;
  color: #3b82ff !important;
  display: flex !important;
  height: 48px !important;
  justify-content: center !important;
  position: relative !important;
  transition: none !important;
  transform: none !important;
  width: 48px !important;
  z-index: 2147483605 !important;
}

body.routras-auth-page .login-languages .select-box {
  position: relative !important;
}

body.routras-auth-page .login-form > .select-box {
  position: fixed !important;
  right: 34px !important;
  top: 28px !important;
  z-index: 2147483602 !important;
}

body.routras-auth-page #routras-language-surface {
  background: #fff !important;
  border-radius: 10px 0 10px 10px !important;
  box-shadow: none !important;
  display: none !important;
  opacity: 1 !important;
  pointer-events: none !important;
  position: fixed !important;
  transition: none !important;
  z-index: 2147483500 !important;
}

body.routras-auth-page #routras-language-globe-overlay {
  background-color: transparent !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='64 64 896 896'%3E%3Cpath fill='%232563eb' d='M854.6 289.1a362.5 362.5 0 0 0-79.9-115.7 370.8 370.8 0 0 0-118.4-77.8A369.2 369.2 0 0 0 512 67.9a369.2 369.2 0 0 0-144.3 27.7 370.8 370.8 0 0 0-118.4 77.8 362.5 362.5 0 0 0-79.9 115.7A353.3 353.3 0 0 0 140 432a353.3 353.3 0 0 0 29.4 142.9 362.5 362.5 0 0 0 79.9 115.7 370.8 370.8 0 0 0 118.4 77.8A369.2 369.2 0 0 0 512 796.1a369.2 369.2 0 0 0 144.3-27.7 370.8 370.8 0 0 0 118.4-77.8 362.5 362.5 0 0 0 79.9-115.7A353.3 353.3 0 0 0 884 432a353.3 353.3 0 0 0-29.4-142.9zM512 728.1c-10.9 0-36.9-30.9-58.9-95.1-8-23.5-14.6-49.8-19.5-78h156.8c-4.9 28.2-11.5 54.5-19.5 78-22 64.2-48 95.1-58.9 95.1zm90.1-241.1H421.9a548.1 548.1 0 0 1 0-110h180.2a548.1 548.1 0 0 1 0 110zM512 135.9c10.9 0 36.9 30.9 58.9 95.1 8 23.5 14.6 49.8 19.5 78H433.6c4.9-28.2 11.5-54.5 19.5-78 22-64.2 48-95.1 58.9-95.1zM349.3 309H224.8c25.8-64.2 78.5-116.8 145.3-142.6-8.4 15.2-16.3 32.7-23.4 52.2-9.6 26.4-17.5 56.9-23.4 90.4zm-30.1 68a620.9 620.9 0 0 0 0 110H209.8A284.2 284.2 0 0 1 204 432c0-18.8 1.9-37.2 5.8-55h109.4zm4.1 178c5.9 33.5 13.8 64 23.4 90.4 7.1 19.5 15 37 23.4 52.2-66.8-25.8-119.5-78.4-145.3-142.6h98.5zm377.4 0h98.5c-25.8 64.2-78.5 116.8-145.3 142.6 8.4-15.2 16.3-32.7 23.4-52.2 9.6-26.4 17.5-56.9 23.4-90.4zm113.5-68H704.8a620.9 620.9 0 0 0 0-110h109.4c3.9 17.8 5.8 36.2 5.8 55s-1.9 37.2-5.8 55zM700.7 309c-5.9-33.5-13.8-64-23.4-90.4-7.1-19.5-15-37-23.4-52.2 66.8 25.8 119.5 78.4 145.3 142.6H700.7z'/%3E%3C/svg%3E") !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
  display: none !important;
  height: 20px !important;
  pointer-events: none !important;
  position: fixed !important;
  width: 20px !important;
  z-index: 2147483610 !important;
}

body.routras-auth-page.routras-language-open #routras-language-globe-overlay {
  display: block !important;
}

body.routras-auth-page #routras-language-surface::before {
  background: #fff !important;
  border-radius: 10px 10px 0 0 !important;
  content: "" !important;
  height: var(--routras-language-trigger-height, 48px) !important;
  left: var(--routras-language-trigger-left, 0px) !important;
  position: absolute !important;
  top: var(--routras-language-trigger-top, -48px) !important;
  width: var(--routras-language-trigger-width, 48px) !important;
}

body.routras-auth-page.routras-language-open #routras-language-surface {
  display: block !important;
}

body.routras-auth-page .login-languages .select-box .anticon-global,
body.routras-auth-page .login-form > .select-box .anticon-global {
  color: #2563eb !important;
  font-size: 19px !important;
  line-height: 1 !important;
  opacity: 1 !important;
  position: relative !important;
  z-index: 2147483606 !important;
}

body.routras-auth-page .login-languages .select-box .anticon-global svg,
body.routras-auth-page .login-form > .select-box .anticon-global svg,
body.routras-auth-page .login-languages .select-box .anticon-global path,
body.routras-auth-page .login-form > .select-box .anticon-global path {
  color: #2563eb !important;
  fill: #2563eb !important;
  opacity: 1 !important;
  position: relative !important;
  stroke: #2563eb !important;
  z-index: 2147483606 !important;
}

body.routras-auth-page.routras-language-open .login-languages .select-box .anticon-global,
body.routras-auth-page.routras-language-open .login-form > .select-box .anticon-global,
body.routras-auth-page.routras-language-open .login-languages .select-box svg,
body.routras-auth-page.routras-language-open .login-form > .select-box svg {
  color: #2563eb !important;
  fill: #2563eb !important;
  opacity: 0 !important;
  stroke: #2563eb !important;
  visibility: hidden !important;
  z-index: 2147483606 !important;
}

body.routras-auth-page.routras-language-open .login-languages .select-box,
body.routras-auth-page.routras-language-open .login-form > .select-box,
body.routras-auth-page .login-languages:hover .select-box,
body.routras-auth-page .login-form > .select-box:hover {
  background: #fff !important;
  border-color: #fff !important;
  box-shadow: none !important;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

body.routras-auth-page.routras-language-open .login-languages .select-box::after,
body.routras-auth-page.routras-language-open .login-form > .select-box::after,
body.routras-auth-page .login-languages:hover .select-box::after,
body.routras-auth-page .login-form > .select-box:hover::after {
  background: #fff !important;
  bottom: -16px !important;
  content: "" !important;
  height: 18px !important;
  left: -1px !important;
  position: absolute !important;
  right: -1px !important;
  z-index: 10021 !important;
}

body.routras-auth-page.routras-language-open .login-languages .select-box,
body.routras-auth-page.routras-language-open .login-form > .select-box,
body.routras-auth-page .login-languages .select-box.ant-dropdown-open,
body.routras-auth-page .login-form > .select-box.ant-dropdown-open {
  background: transparent !important;
  border-color: transparent !important;
  border-radius: 10px 10px 0 0 !important;
  box-shadow: none !important;
}

body.routras-auth-page.routras-language-open .login-languages .select-box::after,
body.routras-auth-page.routras-language-open .login-form > .select-box::after,
body.routras-auth-page .login-languages .select-box.ant-dropdown-open::after,
body.routras-auth-page .login-form > .select-box.ant-dropdown-open::after {
  display: none !important;
}

body.routras-auth-page .ant-dropdown {
  transform: translateY(-14px) !important;
  transition: none !important;
  z-index: 2147483501 !important;
}

body.routras-auth-page .ant-dropdown .ant-dropdown-menu {
  background: #fff !important;
  border: 0 !important;
  border-radius: 10px 0 10px 10px !important;
  box-shadow: none !important;
  padding: 7px !important;
}

body.routras-auth-page.routras-language-open .ant-dropdown .ant-dropdown-menu {
  background: transparent !important;
}

body.routras-auth-page .ant-dropdown .ant-dropdown-menu-item {
  align-items: center !important;
  border-radius: 7px !important;
  color: #0f172a !important;
  display: flex !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
  min-height: 30px !important;
  padding: 3px 7px !important;
}

body.routras-auth-page .ant-dropdown .ant-dropdown-menu-item:hover,
body.routras-auth-page .ant-dropdown .ant-dropdown-menu-item-active {
  background: #f1f5f9 !important;
}

body.routras-auth-page .ant-dropdown .ant-dropdown-menu-item-icon {
  background: #fff !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 3px !important;
  box-sizing: border-box !important;
  height: 16px !important;
  margin-right: 9px !important;
  object-fit: cover !important;
  padding: 1px !important;
  width: 25px !important;
}

@media (max-width: 768px) {
  html,
  body,
  #root,
  #root .ant-layout,
  #root .ant-layout-content,
  #root .ant-layout-footer {
    background:
      radial-gradient(circle at 50% -8%, rgba(93, 135, 255, 0.16), transparent 34%),
      radial-gradient(circle at 88% 12%, rgba(34, 211, 238, 0.12), transparent 30%),
      linear-gradient(180deg, #f8fbff 0%, #ffffff 48%, #f6f9ff 100%) !important;
    min-width: 0 !important;
    margin: 0 !important;
    overflow-x: hidden !important;
    width: 100% !important;
  }

  body.routras-auth-page,
  body.routras-auth-page .loginBackground,
  body.routras-auth-page .loginBackgroundDark {
    background:
      radial-gradient(circle at 50% -8%, rgba(93, 135, 255, 0.16), transparent 34%),
      radial-gradient(circle at 88% 12%, rgba(34, 211, 238, 0.12), transparent 30%),
      linear-gradient(180deg, #f8fbff 0%, #ffffff 48%, #f6f9ff 100%) !important;
    min-height: 100svh !important;
    overflow-x: hidden !important;
    width: 100% !important;
  }

  body.routras-auth-page::before {
    background:
      linear-gradient(90deg, rgba(37, 99, 235, 0.14), transparent 46%, rgba(14, 165, 233, 0.1)),
      rgba(255, 255, 255, 0.62) !important;
    content: "" !important;
    display: block !important;
    height: 1px !important;
    left: 18px !important;
    position: fixed !important;
    right: 18px !important;
    top: 74px !important;
    z-index: 5 !important;
  }

  body.routras-auth-page #root .ant-layout-content,
  body.routras-auth-page .loginBackground,
  body.routras-auth-page .loginBackgroundDark {
    align-items: flex-start !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
    min-height: 100svh !important;
    padding: 92px 16px max(24px, env(safe-area-inset-bottom)) !important;
  }

  body.routras-auth-page .routras-auth-brand {
    height: 38px !important;
    justify-content: center !important;
    left: 50% !important;
    max-width: calc(100vw - 128px) !important;
    top: max(18px, env(safe-area-inset-top)) !important;
    transform: translateX(-50%) !important;
    width: 158px !important;
  }

  body.routras-auth-page .routras-auth-brand img {
    max-height: 38px !important;
    width: 158px !important;
  }

  body.routras-auth-page .login-content {
    background: transparent !important;
    background-image: none !important;
    box-sizing: border-box !important;
    display: flex !important;
    height: auto !important;
    justify-content: center !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    min-height: 0 !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.routras-auth-page .login-panel {
    align-items: stretch !important;
    background: transparent !important;
    background-image: none !important;
    box-sizing: border-box !important;
    display: flex !important;
    justify-content: center !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    min-height: 0 !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.routras-auth-page .login-panel > :not(.login-form):not(:has(#normal_login)):not(:has(#signup)) {
    display: none !important;
  }

  body.routras-auth-page .loginBackground::before,
  body.routras-auth-page .loginBackground::after,
  body.routras-auth-page .loginBackgroundDark::before,
  body.routras-auth-page .loginBackgroundDark::after,
  body.routras-auth-page .login-panel::before,
  body.routras-auth-page .login-panel::after,
  body.routras-auth-page .login-form::before,
  body.routras-auth-page .login-form::after,
  body.routras-auth-page .login-logo-box::before,
  body.routras-auth-page .login-logo-box::after {
    background: none !important;
    content: none !important;
    display: none !important;
  }

  body.routras-auth-page .login-form {
    align-self: center !important;
    background: rgba(255, 255, 255, 0.94) !important;
    background-image: none !important;
    border: 1px solid rgba(148, 163, 184, 0.2) !important;
    border-radius: 24px !important;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.1) !important;
    flex: 0 0 auto !important;
    justify-content: flex-start !important;
    margin: 0 auto !important;
    max-width: 430px !important;
    min-height: auto !important;
    min-width: 0 !important;
    overflow: visible !important;
    padding: 34px 22px 24px !important;
    width: 100% !important;
  }

  body.routras-auth-page .routras-auth-title {
    color: #0f172a !important;
    font-size: clamp(25px, 7vw, 32px) !important;
    font-weight: 760 !important;
    letter-spacing: 0 !important;
    line-height: 1.08 !important;
    max-width: 100% !important;
  }

  body.routras-auth-page .login-logo-box {
    background: transparent !important;
    background-image: none !important;
    height: auto !important;
    margin: 0 0 26px !important;
    max-width: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    width: 100% !important;
  }

  body.routras-auth-page .login-logo-box a,
  body.routras-auth-page .login-logo-box img,
  body.routras-auth-page .login-logo-box .panel-logo {
    background: transparent !important;
    background-image: none !important;
    max-height: none !important;
  }

  body.routras-auth-page #normal_login,
  body.routras-auth-page #signup {
    background: transparent !important;
    background-image: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  body.routras-auth-page .login-form .ant-form-item,
  body.routras-auth-page .login-form .ant-form-item-row,
  body.routras-auth-page .login-form .ant-form-item-control,
  body.routras-auth-page .login-form .ant-form-item-control-input,
  body.routras-auth-page .login-form .ant-form-item-control-input-content {
    box-sizing: border-box !important;
    max-width: none !important;
    width: 100% !important;
  }

  body.routras-auth-page .signin-methods .ant-tabs-nav {
    margin-bottom: 26px !important;
  }

  body.routras-auth-page .signin-methods .ant-tabs-tab {
    padding: 10px 0 !important;
  }

  body.routras-auth-page .signin-methods .ant-tabs-tab .ant-tabs-tab-btn {
    font-size: 16px !important;
  }

  body.routras-auth-page .signin-methods .ant-tabs-nav-wrap,
  body.routras-auth-page .signin-methods .ant-tabs-nav-list {
    justify-content: center !important;
  }

  body.routras-auth-page .login-form .ant-form-item:not(.ant-form-item-hidden) {
    margin-bottom: 16px !important;
  }

  body.routras-auth-page #normal_login > div:has(.login-username),
  body.routras-auth-page #normal_login > div:has(.login-password),
  body.routras-auth-page #normal_login > div:has(.verification-code) {
    min-height: 48px !important;
    padding-bottom: 16px !important;
  }

  body.routras-auth-page #normal_login > div:has(.login-username) {
    padding-bottom: 18px !important;
  }

  body.routras-auth-page .login-form .ant-input,
  body.routras-auth-page .login-form .ant-input-affix-wrapper {
    border-color: #d6e0ec !important;
    border-radius: 14px !important;
    font-size: 16px !important;
    min-height: 52px !important;
  }

  body.routras-auth-page .login-form .ant-input {
    height: 52px !important;
    padding: 0 16px !important;
  }

  body.routras-auth-page .login-form .ant-input-affix-wrapper {
    padding: 0 16px !important;
  }

  body.routras-auth-page .login-form .ant-input-affix-wrapper .ant-input {
    padding-left: 9px !important;
  }

  body.routras-auth-page .login-form .ant-space-compact {
    height: 52px !important;
    min-height: 52px !important;
  }

  body.routras-auth-page .login-form .ant-space-compact .ant-input,
  body.routras-auth-page .login-form .ant-space-compact .ant-input-affix-wrapper {
    border-radius: 14px !important;
    padding-right: 112px !important;
  }

  body.routras-auth-page .login-form .ant-space-compact > .ant-btn {
    border-radius: 11px !important;
    font-size: 14px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 12px !important;
    right: 5px !important;
    top: 5px !important;
    width: 100px !important;
  }

  body.routras-auth-page .login-form .ant-form-item-explain,
  body.routras-auth-page .login-form .ant-form-item-extra {
    top: 54px !important;
  }

  body.routras-auth-page .login-form .ant-btn-primary,
  body.routras-auth-page .login-form button[type="submit"] {
    border-radius: 14px !important;
    display: flex !important;
    font-size: 18px !important;
    height: 52px !important;
    justify-content: center !important;
    min-height: 52px !important;
    width: 100% !important;
  }

  body.routras-auth-page .login-form .ant-checkbox-wrapper,
  body.routras-auth-page .login-form .ant-form-item-control-input-content,
  body.routras-auth-page .login-form .login-signup-link,
  body.routras-auth-page .login-form .login-signin-link {
    font-size: 15px !important;
  }

  body.routras-auth-page .login-form .login-signup-link,
  body.routras-auth-page .login-form .login-signin-link {
    margin-top: 4px !important;
    text-align: right !important;
  }

  body.routras-auth-page #signup .ant-form-item:has(button[type="submit"]) {
    margin-top: 4px !important;
    margin-bottom: 8px !important;
  }

  body.routras-auth-page .login-languages,
  body.routras-auth-page .login-form > .select-box {
    height: 42px !important;
    right: 16px !important;
    top: max(16px, env(safe-area-inset-top)) !important;
    width: 42px !important;
  }

  body.routras-auth-page .login-languages .select-box,
  body.routras-auth-page .login-form > .select-box {
    background: rgba(255, 255, 255, 0.72) !important;
    border-color: rgba(148, 163, 184, 0.28) !important;
    border-radius: 14px !important;
    height: 42px !important;
    width: 42px !important;
  }

  body.routras-auth-page #routras-language-surface {
    border-radius: 14px !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12) !important;
    max-width: calc(100vw - 32px) !important;
  }

  body.routras-auth-page .ant-dropdown {
    max-width: calc(100vw - 32px) !important;
    transform: translateY(-8px) !important;
  }

  body.routras-auth-page footer#footer {
    background: transparent !important;
    color: #94a3b8 !important;
    font-size: 12px !important;
    min-height: 24px !important;
    padding: 0 12px max(12px, env(safe-area-inset-bottom)) !important;
  }

  body.routras-auth-page footer#footer img {
    height: 18px !important;
    max-height: 18px !important;
  }
}

@media (max-width: 390px) {
  body.routras-auth-page #root .ant-layout-content,
  body.routras-auth-page .loginBackground,
  body.routras-auth-page .loginBackgroundDark {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  body.routras-auth-page .login-form {
    border-radius: 20px !important;
    padding: 30px 18px 22px !important;
    width: 100% !important;
  }

  body.routras-auth-page .routras-auth-title {
    font-size: clamp(24px, 8vw, 30px) !important;
  }
}

@media (max-width: 768px) {
  body.routras-auth-page::before {
    content: none !important;
    display: none !important;
  }

  body.routras-auth-page .login-form {
    background: #fff !important;
    border-radius: 5px !important;
    box-shadow: none !important;
  }

  body.routras-auth-page .login-panel,
  body.routras-auth-page .login-content {
    background: transparent !important;
    box-shadow: none !important;
  }

  body.routras-auth-page .login-form .ant-input,
  body.routras-auth-page .login-form .ant-input-affix-wrapper,
  body.routras-auth-page .loginBackground .login-form .ant-input.ant-input-lg,
  body.routras-auth-page .loginBackground .login-form .ant-input-affix-wrapper.ant-input-affix-wrapper-lg,
  body.routras-auth-page .loginBackground .login-form .ant-space-compact .ant-input.ant-input-lg,
  body.routras-auth-page .loginBackground .login-form .ant-space-compact .ant-input-affix-wrapper.ant-input-affix-wrapper-lg,
  body.routras-auth-page .login-form .ant-btn-primary,
  body.routras-auth-page .login-form button[type="submit"] {
    border-radius: 5px !important;
  }

  body.routras-auth-page .signin-methods .ant-tabs-ink-bar {
    border-radius: 5px !important;
    height: 2px !important;
  }

  body.routras-auth-page .login-form .ant-space-compact {
    align-items: center !important;
    display: flex !important;
    position: relative !important;
  }

  body.routras-auth-page .login-form .ant-space-compact .ant-input,
  body.routras-auth-page .login-form .ant-space-compact .ant-input-affix-wrapper {
    border-radius: 5px !important;
    padding-right: 120px !important;
  }

  body.routras-auth-page .login-form .ant-space-compact > .ant-btn {
    align-items: center !important;
    border-radius: 5px !important;
    display: inline-flex !important;
    height: 40px !important;
    justify-content: center !important;
    margin: 0 !important;
    min-height: 40px !important;
    position: absolute !important;
    right: 5px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }

  body.routras-auth-page .login-languages,
  body.routras-auth-page .login-form > .select-box,
  body.routras-auth-page .login-languages .select-box,
  body.routras-auth-page .login-form > .select-box,
  body.routras-auth-page.routras-language-open .login-languages .select-box,
  body.routras-auth-page.routras-language-open .login-form > .select-box,
  body.routras-auth-page .login-languages:hover .select-box,
  body.routras-auth-page .login-form > .select-box:hover,
  body.routras-auth-page .login-languages .select-box:active,
  body.routras-auth-page .login-form > .select-box:active,
  body.routras-auth-page .login-languages .select-box:focus,
  body.routras-auth-page .login-form > .select-box:focus {
    background: #fff !important;
    border-color: rgba(148, 163, 184, 0.3) !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    outline: 0 !important;
    transform: none !important;
  }

  body.routras-auth-page #routras-language-globe-overlay,
  body.routras-auth-page.routras-language-open #routras-language-globe-overlay,
  body.routras-auth-page #routras-language-surface::before,
  body.routras-auth-page.routras-language-open .login-languages .select-box::after,
  body.routras-auth-page.routras-language-open .login-form > .select-box::after {
    content: none !important;
    display: none !important;
  }

  body.routras-auth-page.routras-language-open .login-languages .select-box .anticon-global,
  body.routras-auth-page.routras-language-open .login-form > .select-box .anticon-global,
  body.routras-auth-page.routras-language-open .login-languages .select-box svg,
  body.routras-auth-page.routras-language-open .login-form > .select-box svg {
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.routras-auth-page #routras-language-surface,
  body.routras-auth-page .ant-dropdown .ant-dropdown-menu {
    background: #fff !important;
    border-radius: 5px !important;
    box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12) !important;
  }

  body.routras-auth-page .ant-dropdown .ant-dropdown-menu-item {
    border-radius: 5px !important;
  }

  body.routras-auth-page .ant-dropdown .ant-dropdown-menu-item:hover,
  body.routras-auth-page .ant-dropdown .ant-dropdown-menu-item-active,
  body.routras-auth-page .ant-dropdown .ant-dropdown-menu-item-selected {
    background: transparent !important;
  }
}

@media (max-width: 390px) {
  body.routras-auth-page .login-form {
    border-radius: 5px !important;
  }
}

/* Mobile-only: keep Casdoor's outer login shell visually invisible.
   The page root owns the soft blue gradient; the white form card should sit
   directly on that background without an extra tinted layer. */
@media (max-width: 768px) {
  body.routras-auth-page .loginBackground,
  body.routras-auth-page .loginBackgroundDark {
    background: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
  }
}

/* Mobile-only: center verification-code send buttons inside the input row.
   Casdoor renders login and signup code fields as a compact input/button group;
   this locks that group to one stable positioning box on small screens. */
@media (max-width: 768px) {
  body.routras-auth-page .login-form .ant-form-item-control-input-content > .ant-space-compact,
  body.routras-auth-page .login-form .ant-space-compact {
    align-items: center !important;
    box-sizing: border-box !important;
    display: flex !important;
    height: 56px !important;
    min-height: 56px !important;
    position: relative !important;
    width: 100% !important;
  }

  body.routras-auth-page .login-form .ant-space-compact > .ant-input,
  body.routras-auth-page .login-form .ant-space-compact > .ant-input-affix-wrapper,
  body.routras-auth-page .login-form .ant-space-compact .ant-input,
  body.routras-auth-page .login-form .ant-space-compact .ant-input-affix-wrapper {
    box-sizing: border-box !important;
    flex: 1 1 auto !important;
    height: 56px !important;
    min-height: 56px !important;
    padding-right: 138px !important;
    width: 100% !important;
  }

  body.routras-auth-page .login-form .ant-space-compact > .ant-btn,
  body.routras-auth-page .login-form .ant-space-compact button.ant-btn {
    align-items: center !important;
    bottom: auto !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    height: 44px !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    max-width: 128px !important;
    min-height: 44px !important;
    padding: 0 14px !important;
    position: absolute !important;
    right: 6px !important;
    top: 6px !important;
    transform: none !important;
    white-space: nowrap !important;
    width: auto !important;
    z-index: 3 !important;
  }
}

/* Mobile-only final sizing pass for login/signup forms.
   Keep all input rows compact and make the verification-code button
   geometrically centered without relying on transforms. */
@media (max-width: 768px) {
  body.routras-auth-page .login-form .ant-form-item-control-input,
  body.routras-auth-page .login-form .ant-form-item-control-input-content {
    min-height: 40px !important;
  }

  body.routras-auth-page .login-form .ant-input,
  body.routras-auth-page .login-form .ant-input-affix-wrapper,
  body.routras-auth-page .loginBackground .login-form .ant-input.ant-input-lg,
  body.routras-auth-page .loginBackground .login-form .ant-input-affix-wrapper.ant-input-affix-wrapper-lg {
    height: 40px !important;
    min-height: 40px !important;
  }

  body.routras-auth-page .login-form .ant-input {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body.routras-auth-page .login-form .ant-input-affix-wrapper {
    align-items: center !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  body.routras-auth-page .login-form .ant-input-affix-wrapper .ant-input {
    height: auto !important;
    min-height: 0 !important;
  }

  body.routras-auth-page .login-form .ant-space-compact {
    align-items: center !important;
    box-sizing: border-box !important;
    display: flex !important;
    height: 40px !important;
    min-height: 40px !important;
    position: relative !important;
    width: 100% !important;
  }

  body.routras-auth-page .login-form .ant-space-compact > .ant-input,
  body.routras-auth-page .login-form .ant-space-compact > .ant-input-affix-wrapper,
  body.routras-auth-page .loginBackground .login-form .ant-space-compact .ant-input.ant-input-lg,
  body.routras-auth-page .loginBackground .login-form .ant-space-compact .ant-input-affix-wrapper.ant-input-affix-wrapper-lg,
  body.routras-auth-page .login-form .ant-space-compact .ant-input,
  body.routras-auth-page .login-form .ant-space-compact .ant-input-affix-wrapper {
    height: 40px !important;
    min-height: 40px !important;
    padding-right: 130px !important;
  }

  body.routras-auth-page .login-form .ant-btn-primary,
  body.routras-auth-page .login-form button[type="submit"] {
    align-items: center !important;
    display: inline-flex !important;
    height: 42px !important;
    justify-content: center !important;
    min-height: 42px !important;
  }

  body.routras-auth-page .login-form .ant-space-compact > .ant-btn,
  body.routras-auth-page .login-form .ant-space-compact button.ant-btn {
    align-items: center !important;
    bottom: auto !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    height: 36px !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    max-width: 122px !important;
    min-height: 36px !important;
    padding: 0 12px !important;
    position: absolute !important;
    right: 2px !important;
    top: 2px !important;
    transform: none !important;
    white-space: nowrap !important;
    width: auto !important;
    z-index: 30 !important;
  }

  body.routras-auth-page .login-form .ant-form-item-explain,
  body.routras-auth-page .login-form .ant-form-item-extra {
    top: 42px !important;
  }
}

/* Mobile-only absolute final override.
   This block intentionally mirrors Casdoor/AntD's more specific DOM selectors
   so compact verification rows cannot fall back to the older 56px sizing. */
@media (max-width: 768px) {
  body.routras-auth-page .loginBackground .login-form .ant-form-item-control-input,
  body.routras-auth-page .loginBackground .login-form .ant-form-item-control-input-content {
    min-height: 40px !important;
  }

  body.routras-auth-page .loginBackground .login-form .ant-form-item .ant-input.ant-input-lg,
  body.routras-auth-page .loginBackground .login-form .ant-form-item .ant-input-affix-wrapper.ant-input-affix-wrapper-lg,
  body.routras-auth-page .loginBackground .login-form input.ant-input.ant-input-lg,
  body.routras-auth-page .loginBackground .login-form span.ant-input-affix-wrapper.ant-input-affix-wrapper-lg {
    box-sizing: border-box !important;
    height: 40px !important;
    min-height: 40px !important;
  }

  body.routras-auth-page .loginBackground .login-form span.ant-input-affix-wrapper.ant-input-affix-wrapper-lg {
    align-items: center !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }

  body.routras-auth-page .loginBackground .login-form span.ant-input-affix-wrapper.ant-input-affix-wrapper-lg .ant-input {
    height: auto !important;
    min-height: 0 !important;
  }

  body.routras-auth-page .loginBackground .login-form .ant-form-item-control-input-content > .ant-space-compact,
  body.routras-auth-page .loginBackground .login-form .ant-space-compact {
    align-items: center !important;
    box-sizing: border-box !important;
    display: flex !important;
    height: 40px !important;
    min-height: 40px !important;
    position: relative !important;
    width: 100% !important;
  }

  body.routras-auth-page .loginBackground .login-form .ant-space-compact > .ant-input,
  body.routras-auth-page .loginBackground .login-form .ant-space-compact > .ant-input-affix-wrapper,
  body.routras-auth-page .loginBackground .login-form .ant-space-compact .verification-code-input,
  body.routras-auth-page .loginBackground .login-form .ant-space-compact .ant-input.ant-input-lg,
  body.routras-auth-page .loginBackground .login-form .ant-space-compact .ant-input-affix-wrapper.ant-input-affix-wrapper-lg {
    box-sizing: border-box !important;
    height: 40px !important;
    min-height: 40px !important;
    padding-right: 130px !important;
  }

  body.routras-auth-page .loginBackground .login-form .ant-space-compact > .ant-btn,
  body.routras-auth-page .loginBackground .login-form .ant-space-compact button.ant-btn,
  body.routras-auth-page .loginBackground .login-form .ant-space-compact button.ant-btn.ant-btn-lg {
    align-items: center !important;
    bottom: auto !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    height: 36px !important;
    justify-content: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    max-width: 122px !important;
    min-height: 36px !important;
    padding: 0 12px !important;
    position: absolute !important;
    right: 2px !important;
    top: 2px !important;
    transform: none !important;
    white-space: nowrap !important;
    width: auto !important;
    z-index: 30 !important;
  }

  body.routras-auth-page .loginBackground .login-form .ant-btn.ant-btn-primary:not(.ant-space-compact .ant-btn),
  body.routras-auth-page .loginBackground .login-form button.ant-btn.ant-btn-primary[type="submit"] {
    align-items: center !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    height: 42px !important;
    justify-content: center !important;
    min-height: 42px !important;
  }

body.routras-auth-page .loginBackground .login-form .ant-space-compact > .ant-input-affix-wrapper.ant-input-disabled,
body.routras-auth-page .loginBackground .login-form .ant-space-compact > .ant-input-affix-wrapper.ant-input-compact-item,
body.routras-auth-page .loginBackground .login-form .ant-space-compact .ant-input-affix-wrapper.ant-input-disabled,
body.routras-auth-page .loginBackground .login-form .ant-space-compact .ant-input-affix-wrapper.ant-input-compact-item {
  align-items: center !important;
    box-sizing: border-box !important;
    height: 40px !important;
    min-height: 40px !important;
    padding-bottom: 0 !important;
  padding-top: 0 !important;
}

/* Mobile-only verification input strongest sizing override. */
@media (max-width: 768px) {
  body.routras-auth-page .loginBackground .login-form .ant-form-item.verification-code .ant-form-item-control-input-content > .ant-space-compact > span.ant-input-affix-wrapper.verification-code-input.ant-input-affix-wrapper-lg.ant-input-compact-item,
  body.routras-auth-page .loginBackground .login-form .ant-form-item.verification-code .ant-space-compact > span.ant-input-affix-wrapper.ant-input-disabled.ant-input-affix-wrapper-disabled.ant-input-affix-wrapper-lg.verification-code-input.ant-input-compact-item.ant-input-compact-first-item,
  body.routras-auth-page .loginBackground .login-form .ant-form-item.signup-email-code .ant-form-item-control-input-content > .ant-space-compact > span.ant-input-affix-wrapper.verification-code-input.ant-input-affix-wrapper-lg.ant-input-compact-item,
  body.routras-auth-page .loginBackground .login-form .ant-form-item.signup-email-code .ant-space-compact > span.ant-input-affix-wrapper.ant-input-disabled.ant-input-affix-wrapper-disabled.ant-input-affix-wrapper-lg.verification-code-input.ant-input-compact-item.ant-input-compact-first-item {
    align-items: center !important;
    box-sizing: border-box !important;
    display: flex !important;
    height: 40px !important;
    max-height: 40px !important;
    min-height: 40px !important;
    padding-bottom: 0 !important;
    padding-top: 0 !important;
  }
}
}

/* Mobile-only absolute final shell removal. This block intentionally stays
   after all form sizing rules so the outer Casdoor login wrapper cannot paint
   or reserve an intermediate layer on phones. */
@media (max-width: 768px) {
  body.routras-auth-page .loginBackground,
  body.routras-auth-page .loginBackgroundDark {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    border: 0 !important;
    box-shadow: none !important;
    display: contents !important;
    filter: none !important;
    height: auto !important;
    margin: 0 !important;
    min-height: 0 !important;
    outline: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    width: auto !important;
  }

  body.routras-auth-page .login-form {
    background: #fff !important;
    background-color: #fff !important;
    background-image: none !important;
    border-radius: 5px !important;
  }
}

/* Absolute last override for signup agreement and language hover cleanup. */
body.routras-auth-page .login-form .ant-form-item-explain,
body.routras-auth-page .login-form .ant-form-item-extra {
  top: calc(100% + 2px) !important;
  line-height: 14px !important;
  min-height: 14px !important;
}

body.routras-auth-page .ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item:not(:hover):not([data-routras-language-current='true']):not(.routras-language-current):not([data-routras-language-hovered='true']) {
  background: transparent !important;
  background-color: transparent !important;
}

body.routras-auth-page .ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item:hover,
body.routras-auth-page .ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item[data-routras-language-hovered='true'],
body.routras-auth-page .ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item[data-routras-language-current='true'],
body.routras-auth-page .ant-dropdown .ant-dropdown-menu .ant-dropdown-menu-item.routras-language-current {
  background: #f1f5f9 !important;
  background-color: #f1f5f9 !important;
}

body.routras-auth-page.routras-language-open .login-languages .select-box,
body.routras-auth-page.routras-language-open .login-form > .select-box,
body.routras-auth-page .login-languages:hover .select-box,
body.routras-auth-page .login-form > .select-box:hover {
  background: #fff !important;
  background-color: #fff !important;
  border-color: #fff !important;
}

body.routras-auth-page.routras-language-open .login-languages .select-box .anticon-global,
body.routras-auth-page.routras-language-open .login-form > .select-box .anticon-global,
body.routras-auth-page.routras-language-open .login-languages .select-box svg,
body.routras-auth-page.routras-language-open .login-form > .select-box svg {
  opacity: 1 !important;
  visibility: visible !important;
}

body.routras-auth-page #routras-language-surface,
body.routras-auth-page #routras-language-globe-overlay {
  display: none !important;
  pointer-events: none !important;
}

body.routras-auth-page .ant-dropdown {
  pointer-events: none !important;
}

body.routras-auth-page .ant-dropdown .ant-dropdown-menu,
body.routras-auth-page .ant-dropdown .ant-dropdown-menu * {
  pointer-events: auto !important;
}

body.routras-auth-page .login-languages,
body.routras-auth-page .login-form > .select-box,
body.routras-auth-page .ant-dropdown {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

body.routras-auth-page #routras-language-picker {
  display: none !important;
  pointer-events: none !important;
  position: fixed !important;
  right: 34px !important;
  top: 28px !important;
  z-index: 2147483600 !important;
}

body.routras-auth-page .routras-language-picker-inner {
  position: relative !important;
}

body.routras-auth-page .routras-language-button {
  align-items: center !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(148, 163, 184, 0.34) !important;
  border-radius: 8px !important;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
  color: #2563eb !important;
  cursor: pointer !important;
  display: inline-flex !important;
  gap: 7px !important;
  height: 40px !important;
  justify-content: center !important;
  min-width: 56px !important;
  padding: 0 10px !important;
  transition: background-color 120ms ease, border-color 120ms ease !important;
}

body.routras-auth-page .routras-language-button:hover,
body.routras-auth-page .routras-language-button[aria-expanded='true'] {
  background: #fff !important;
  border-color: #fff !important;
}

body.routras-auth-page .routras-language-button svg {
  display: block !important;
  height: 18px !important;
  width: 18px !important;
}

body.routras-auth-page .routras-language-current-code {
  color: #1e3a8a !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}

body.routras-auth-page .routras-language-menu {
  background: #fff !important;
  border: 1px solid rgba(226, 232, 240, 0.92) !important;
  border-radius: 8px !important;
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.14) !important;
  box-sizing: border-box !important;
  display: none !important;
  min-width: 168px !important;
  padding: 6px !important;
  position: absolute !important;
  right: 0 !important;
  top: calc(100% + 6px) !important;
}

body.routras-auth-page #routras-language-picker[data-open='true'] .routras-language-menu {
  display: block !important;
}

body.routras-auth-page .routras-language-option {
  align-items: center !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 5px !important;
  color: #334155 !important;
  cursor: pointer !important;
  display: flex !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  gap: 10px !important;
  height: 32px !important;
  justify-content: space-between !important;
  line-height: 1 !important;
  padding: 0 9px 0 7px !important;
  text-align: left !important;
  width: 100% !important;
}

body.routras-auth-page .routras-language-option-main {
  align-items: center !important;
  display: inline-flex !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body.routras-auth-page .routras-language-flag {
  align-items: center !important;
  background: #f8fafc !important;
  border: 1px solid #dbe3ef !important;
  border-radius: 4px !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  flex: 0 0 25px !important;
  font-size: 14px !important;
  height: 18px !important;
  justify-content: center !important;
  line-height: 1 !important;
  overflow: hidden !important;
  width: 25px !important;
}

body.routras-auth-page .routras-language-label {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.routras-auth-page .routras-language-option:hover,
body.routras-auth-page .routras-language-option[aria-current='true'] {
  background: #f1f5f9 !important;
  color: #0f172a !important;
}

body.routras-auth-page .routras-language-check {
  align-items: center !important;
  color: #2563eb !important;
  display: inline-flex !important;
  flex: 0 0 16px !important;
  height: 16px !important;
  justify-content: center !important;
  width: 16px !important;
}

body.routras-auth-page .routras-language-check svg {
  display: block !important;
  height: 15px !important;
  stroke: currentColor !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  stroke-width: 2 !important;
  width: 15px !important;
}

@media (max-width: 768px) {
  body.routras-auth-page #routras-language-picker {
    right: 16px !important;
    top: max(16px, env(safe-area-inset-top)) !important;
  }

  body.routras-auth-page .routras-language-button {
    background: #fff !important;
    border-color: #fff !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    height: 42px !important;
    min-width: 42px !important;
    padding: 0 9px !important;
  }

  body.routras-auth-page .routras-language-current-code {
    display: none !important;
  }

  body.routras-auth-page .routras-language-menu {
    border-radius: 5px !important;
    min-width: 154px !important;
    top: calc(100% + 5px) !important;
  }
}

@media (max-width: 768px) {
  body.routras-auth-page .login-form .ant-form-item-explain,
  body.routras-auth-page .login-form .ant-form-item-extra {
    top: calc(100% + 1px) !important;
    line-height: 13px !important;
    min-height: 13px !important;
  }
}

/* Stable custom language picker. Keep at file end to override older AntD
   dropdown polish that can leave fullscreen click-blocking layers behind. */
body.routras-auth-page #routras-language-surface,
body.routras-auth-page #routras-language-globe-overlay,
body.routras-auth-page .login-languages,
body.routras-auth-page .login-form > .select-box,
body.routras-auth-page .ant-dropdown {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

body.routras-auth-page #routras-language-picker {
  display: block !important;
  pointer-events: auto !important;
  position: fixed !important;
  right: 34px !important;
  top: 28px !important;
  z-index: 2147483600 !important;
}

body.routras-auth-page .routras-language-button:hover,
body.routras-auth-page .routras-language-button[aria-expanded='true'] {
  background: #fff !important;
  border-color: #fff !important;
  box-shadow: none !important;
}

body.routras-auth-page #routras-language-picker[data-open='true'] .routras-language-button {
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

body.routras-auth-page .routras-language-flag {
  flex: 0 0 22px !important;
  font-size: 13px !important;
  height: 16px !important;
  padding: 1px !important;
  width: 22px !important;
}

body.routras-auth-page .routras-language-check svg {
  stroke-width: 2 !important;
}

@media (max-width: 768px) {
  body.routras-auth-page #routras-language-picker {
    right: 16px !important;
    top: max(16px, env(safe-area-inset-top)) !important;
  }

  body.routras-auth-page .routras-language-button,
  body.routras-auth-page .routras-language-button:hover,
  body.routras-auth-page .routras-language-button[aria-expanded='true'] {
    background: #fff !important;
    border-color: #fff !important;
    border-radius: 5px !important;
    box-shadow: none !important;
  }
}

/* Route picker 11: mobile shell, validation spacing, language touch, toast, and code input polish. */
body.routras-auth-page #root,
body.routras-forget-page #root,
body.routras-auth-page .login-panel,
body.routras-forget-page .login-panel,
body.routras-auth-page #routras-language-picker,
body.routras-forget-page #routras-language-picker {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

body.routras-auth-page #parent-area,
body.routras-forget-page #parent-area,
body.routras-auth-page .ant-layout-content,
body.routras-forget-page .ant-layout-content {
  background-color: transparent !important;
}

body.routras-auth-page .login-form .ant-form-item-has-error:not(.ant-form-item-hidden),
body.routras-auth-page .login-form > div:has(.ant-form-item-has-error:not(.ant-form-item-hidden)) {
  margin-bottom: 10px !important;
  padding-bottom: 22px !important;
}

body.routras-auth-page .login-form .ant-form-item-has-error .ant-form-item-explain,
body.routras-auth-page .login-form .ant-form-item-has-error .ant-form-item-extra {
  top: calc(100% + 4px) !important;
}

body.routras-auth-page #signup .ant-form-item:has(#signup_phone):has(.ant-form-item-explain-error) {
  margin-bottom: 10px !important;
  padding-bottom: 22px !important;
}

body.routras-auth-page .routras-language-button,
body.routras-auth-page .routras-language-button:hover,
body.routras-auth-page .routras-language-button:active,
body.routras-auth-page .routras-language-button:focus,
body.routras-auth-page .routras-language-button:focus-visible,
body.routras-auth-page .routras-language-button[aria-expanded='true'],
body.routras-auth-page #routras-language-picker[data-open='true'] .routras-language-button {
  background: #fff !important;
  border-color: #fff !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  outline: 0 !important;
  -webkit-tap-highlight-color: transparent !important;
}

body.routras-auth-page .routras-language-option,
body.routras-auth-page .routras-language-option:active,
body.routras-auth-page .routras-language-option:focus,
body.routras-auth-page .routras-language-option:focus-visible {
  background: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  -webkit-tap-highlight-color: transparent !important;
}

body.routras-auth-page .routras-language-option:hover,
body.routras-auth-page .routras-language-option[aria-current='true'] {
  background: #f1f5f9 !important;
}

body.routras-auth-page .routras-language-flag {
  flex: 0 0 23px !important;
  font-size: 14px !important;
  height: 17px !important;
  line-height: 1 !important;
  padding: 0 !important;
  width: 23px !important;
}

body.routras-auth-page .login-form .ant-space-compact > .ant-input,
body.routras-auth-page .login-form .ant-space-compact > .ant-input-affix-wrapper,
body.routras-auth-page .login-form .ant-space-compact .verification-code-input,
body.routras-auth-page .login-form .ant-space-compact .ant-input,
body.routras-auth-page .login-form .ant-space-compact .ant-input-affix-wrapper {
  padding-left: 14px !important;
  padding-right: 118px !important;
}

body.routras-auth-page .login-form .ant-space-compact > .ant-btn,
body.routras-auth-page .login-form .ant-space-compact button.ant-btn,
body.routras-auth-page .login-form .ant-space-compact button.ant-btn.ant-btn-lg {
  right: 3px !important;
}

body.routras-auth-page .ant-message,
body.routras-forget-page .ant-message,
body.routras-auth-page .ant-message-notice,
body.routras-forget-page .ant-message-notice,
body.routras-auth-page .ant-message-notice-wrapper,
body.routras-forget-page .ant-message-notice-wrapper {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

body.routras-auth-page .ant-message-notice-content,
body.routras-forget-page .ant-message-notice-content {
  background: #fff !important;
  border-radius: 10px !important;
}

@media (max-width: 768px) {
  body.routras-auth-page .login-panel,
  body.routras-forget-page .login-panel {
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.routras-auth-page .routras-language-button,
  body.routras-auth-page .routras-language-button:hover,
  body.routras-auth-page .routras-language-button:active,
  body.routras-auth-page .routras-language-button:focus,
  body.routras-auth-page .routras-language-button:focus-visible,
  body.routras-auth-page .routras-language-button[aria-expanded='true'],
  body.routras-auth-page #routras-language-picker[data-open='true'] .routras-language-button {
    background: #fff !important;
    border-color: #fff !important;
    border-radius: 5px !important;
  }

  body.routras-auth-page .login-form .ant-space-compact > .ant-input,
  body.routras-auth-page .login-form .ant-space-compact > .ant-input-affix-wrapper,
  body.routras-auth-page .login-form .ant-space-compact .verification-code-input,
  body.routras-auth-page .login-form .ant-space-compact .ant-input,
  body.routras-auth-page .login-form .ant-space-compact .ant-input-affix-wrapper {
    padding-left: 12px !important;
    padding-right: 96px !important;
    font-size: 15px !important;
  }

  body.routras-auth-page .login-form .ant-space-compact .ant-input-affix-wrapper .ant-input {
    font-size: 15px !important;
    padding-left: 8px !important;
    padding-right: 0 !important;
  }

  body.routras-auth-page .login-form .ant-space-compact > .ant-btn,
  body.routras-auth-page .login-form .ant-space-compact button.ant-btn,
  body.routras-auth-page .login-form .ant-space-compact button.ant-btn.ant-btn-lg {
    font-size: 14px !important;
    max-width: 88px !important;
    min-width: 86px !important;
    padding: 0 8px !important;
    right: 3px !important;
    width: 88px !important;
  }

  body.routras-forget-page .ant-steps {
    align-items: center !important;
    display: grid !important;
    gap: 0 !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    margin: 34px auto 30px !important;
    max-width: 300px !important;
    width: 100% !important;
  }

  body.routras-forget-page .ant-steps .ant-steps-item {
    display: flex !important;
    justify-content: center !important;
    min-width: 0 !important;
    padding: 0 !important;
    width: auto !important;
  }

  body.routras-forget-page .ant-steps .ant-steps-item-wrapper {
    align-items: center !important;
    display: inline-flex !important;
    flex-direction: column !important;
    gap: 6px !important;
    justify-content: center !important;
  }

  body.routras-forget-page .ant-steps .ant-steps-item-section,
  body.routras-forget-page .ant-steps .ant-steps-item-header {
    display: block !important;
    min-width: 0 !important;
    text-align: center !important;
  }

  body.routras-forget-page .ant-steps .ant-steps-item-title {
    font-size: 14px !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  body.routras-forget-page .ant-steps .ant-steps-item-rail {
    display: none !important;
  }

  body.routras-forget-page form[id^='step'] {
    margin: 0 auto !important;
    max-width: 300px !important;
    width: calc(100vw - 64px) !important;
  }

  body.routras-auth-page footer#footer img,
  body.routras-forget-page footer#footer img {
    filter: none !important;
    opacity: 1 !important;
  }
}
