body {
  overflow-x: hidden;
}

.block {
  position: absolute;
  left: 0;
  top: 0;
}

.sliderContainer {
  position: relative;
  text-align: center;
  line-height: 40px;
  background: #f7f9fa;
  color: #45494c;
  border-radius: 2px;
}

.sliderbg {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  background-color: #f7f9fa;
  height: 40px;
  border-radius: 2px;
  border: 1px solid #e6e8eb;
}

.sliderContainer_active .slider {
  top: -1px;
  border: 1px solid #1991FA;
}

.sliderContainer_active .sliderMask {
  border-width: 1px 0 1px 1px;
}

.sliderContainer_success .slider {
  top: -1px;
  border: 1px solid #52CCBA;
  background-color: #52CCBA !important;
}

.sliderContainer_success .sliderMask {
  border: 1px solid #52CCBA;
  border-width: 1px 0 1px 1px;
  background-color: #D2F4EF;
}

.sliderContainer_success .sliderIcon:before {
  content: "\f00c";
}

.sliderContainer_fail .slider {
  top: -1px;
  border: 1px solid #f57a7a;
  background-color: #f57a7a !important;
}

.sliderContainer_fail .sliderMask {
  border: 1px solid #f57a7a;
  background-color: #fce1e1;
  border-width: 1px 0 1px 1px;
}

.sliderContainer_fail .sliderIcon:before {
  content: "\f00d";
}

.sliderContainer_active .sliderText, .sliderContainer_success .sliderText, .sliderContainer_fail .sliderText {
  display: none;
}

.sliderMask {
  position: absolute;
  left: 0;
  top: 0;
  height: 40px;
  border: 0 solid #1991FA;
  background: #D1E9FE;
  border-radius: 2px;
}

.slider {
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  height: 40px;
  background: #fff;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
  cursor: pointer;
  transition: background .2s linear;
  border-radius: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.slider:hover {
  background: #1991FA;
}

.slider:hover .sliderIcon {
  background-position: 0 -13px;
}

.sliderText {
  position: relative;
}

.sliderIcon {
}

.refreshIcon {
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
  margin: 6px;
  color: rgba(0,0,0,.25);
  font-size: 1rem;
  z-index: 5;
  transition: color .3s linear;
}

.refreshIcon:hover {
  color: #6c757d;
}

/*202311123 add*/
.tabBox .item .bind{
  display: block;
  width: auto;
  line-height: 34px;
  color: #09f;
  text-decoration: underline;
  padding: 0 12px;
  position: absolute;
  right: 0;
  top: 50%;
  margin-top: -17px;
  z-index: 3;
}
.tabBox .item .bind ~ input{
  padding-right: 66px;
}

/* ========== 微信/企微自动登录遮罩层样式（PC + 移动端） ========== */

/* 遮罩层容器 */
#wxLoadingOverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999999;
}
#wxLoadingOverlay, #wxLoadingOverlay * {
  box-sizing: border-box;
}

.wx-hidden {
  display: none;
  pointer-events: none;
}

/* 默认隐藏两个版本，由 JS 显示对应版本 */
.pc-version,
.mobile-version {
  display: none;
}

/* ========== PC 版本样式 ========== */
html.pc-mode .pc-version {
  display: flex;
}

.pc-version {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #f0f0f0;
  padding-bottom: 80px;
}

.pc-login-icon {
  width: 59px;
  height: 62px;
  margin-bottom: 22px;
  animation: spin 2s linear infinite;
}

.pc-login-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.pc-status-text {
  font-family: "PingFang SC", -apple-system, "Microsoft YaHei", sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #01328F;
  line-height: 28px;
  text-align: center;
}

.pc-cancel-link {
  position: absolute;
  bottom: 74px;
  font-family: "PingFang SC", -apple-system, "Microsoft YaHei", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #666666;
  line-height: 28px;
  letter-spacing: 0.0625em;
  text-decoration: none;
  cursor: pointer;
}

.pc-cancel-link:hover {
  text-decoration: underline;
}

/* ========== 移动端版本样式 ========== */
html.mobile-mode body.wx-callback-mode {
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

html.mobile-mode .pc-version {
  display: none;
}

html.mobile-mode .mobile-version {
  display: flex;
  flex-direction: column;
  flex: 1;
  width: 100%;
  height: 100%;
  background: #F7F7F7;
}

.mobile-nav-bar {
  width: 100%;
  height: 44px;
  background: #000;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.mobile-nav-bar__left {
  width: 119px;
  display: flex;
  align-items: center;
  padding: 10px;
}

.mobile-nav-bar__title {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  font-family: "PingFang SC", -apple-system, sans-serif;
  font-weight: 500;
  font-size: 17px;
  color: rgba(255,255,255,0.9);
  text-align: center;
}

.mobile-nav-bar__right {
  width: 101px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 10px;
}

.mobile-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
}

.mobile-loader-wrapper {
  margin-top: 30vh;
  width: 58px;
  height: 58px;
  position: relative;
  flex-shrink: 0;
}

.mobile-loader-border {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: 5px solid #E5ECF2;
  position: relative;
}

.mobile-loader-spinner {
  position: absolute;
  top: 0;
  left: 0;
  width: 58px;
  height: 58px;
  border-radius: 50%;
  border: 5px solid transparent;
  border-top-color: #01328F;
  animation: spin 1s linear infinite;
}

.mobile-status-text {
  margin-top: 28px;
  font-family: "PingFang SC", -apple-system, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  color: #01328F;
  text-align: center;
  flex-shrink: 0;
}

.mobile-cancel-btn {
  margin-top: auto;
  margin-bottom: 118px;
  font-family: "PingFang SC", -apple-system, sans-serif;
  font-weight: 400;
  font-size: 16px;
  line-height: 28px;
  letter-spacing: 0.0625em;
  color: #999;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
}

.mobile-cancel-btn:active {
  opacity: 0.8;
}

/* ========== 共享动画 ========== */
.loading-dots::after {
  content: '';
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* ========== 遮罩层显示时隐藏登录页面其他元素 ========== */
body.wx-callback-mode {
  overflow: hidden !important;
}

body.wx-callback-mode #windowBox > *:not(#wxLoadingOverlay) {
  display: none !important;
}

body.wx-callback-mode #wxLoadingOverlay {
  display: block !important;
  z-index: 999999 !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* PC端需要强制背景色，防止遮罩层透明看到背后的CAS页面 */
html.pc-mode body.wx-callback-mode #wxLoadingOverlay {
  background: #f0f0f0 !important;
}

html.mobile-mode body.wx-callback-mode #wxLoadingOverlay {
  background: #F7F7F7 !important;
}

@media screen and (max-width: 768px) {
  body.wx-callback-mode #windowBox > *:not(#wxLoadingOverlay) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
  }

  body.wx-callback-mode #wxLoadingOverlay {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 999999 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  body.wx-callback-mode html {
    background: white !important;
    background-color: white !important;
  }
}