/* table的公共样式 */
.el-table--border,
.el-table--group {
  border: 1px solid #becfd9 !important;
}
.el-table td,
.el-table th.is-leaf {
  border-bottom: 1px solid #becfd9 !important;
}
.el-table--border td,
.el-table--border th,
.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed {
  border-right: 1px solid #becfd9 !important;
}
.el-table .el-button--text {
  color: #2D66A0;
  font-weight: 400;
}
.el-table .el-dropdown .el-dropdown-link {
  color: #2D66A0 !important;
}

/* table分页的样式*/
.tabelFooter {
  min-height: 54px;
  line-height: 54px;
  border: 1px solid #BECBD9;
  border-top: none;
  overflow: hidden;
}
.tabelFooter>div {
  float: left;
  color: rgba(13, 67, 118, 0.78);
  font-size: 14px;
  margin-left: 22px;
}
.tabelFooter>.el-pagination {
  float: right;
  padding: 0;
  margin-top: 13px;
  margin-right: 22px;
}
.el-pagination.is-background .el-pager li:not(.disabled).active {
  background-color: #2BA1F4;
}
.el-pagination.is-background .btn-next,
.el-pagination.is-background .btn-prev,
.el-pagination.is-background .el-pager li {
  /* background-color: transparent; */
  color: rgba(13, 67, 118, 0.78);
  background-color: white !important;
  border: 1px solid #BECBD9;
  border-radius: 6px !important;
}

/* 普通页码使用白色背景时，选中页仍保持高亮 */
.el-pagination.is-background .el-pager li:not(.disabled).active {
  color: #fff !important;
  background-color: #2ba1f4 !important;
  border-radius: 6px;
}
.pagination>li.active>a,
.pagination>li.active>a:focus,
.pagination>li.active>a:hover {
  background-color: #2BA1F4;
}
.el-form-item__label {
  line-height: 32px;
}
.el-form-item__content {
  line-height: 30px !important;
}

/*公共弹框*/
/* .el-dialog {
  width: 600px;
  border-radius: 5px !important;
}

.el-dialog__header {
  border-bottom: 1px solid #EAEAEA;
  padding: 15px;
}

.el-dialog__header>div {
  display: flex;
}

.el-dialog__header>div>div:first-child {
  margin-right: 11px;
  background: #2BA1F4;
  width: 3px;
  height: 18px;
  font-size: 18px;
  color: #333;
  margin-top: 2px;
}

.el-dialog__footer {
  text-align: center !important;
}

.el-dialog__footer .el-button+.el-button {
  margin-left: 30px;
}

.inputTips {
  font-size: 12px;
  color: #999999;
} */

/*popver公共样式*/
/* .listMoreBtn {
  padding: 0 !important;
  border: none !important;
  width: 26px;
  height: 26px;
  background: transparent !important;
}

.listMoreBtn:focus,
.listMoreBtn:hover {
  color: #409EFF;
  border-color: transparent;
  background-color: transparent;
}

.el-button img {
  vertical-align: bottom;
}

.el-menu-item,
.el-submenu__title {
  height: 40px !important;
  line-height: 40px !important;
} */
  /* padding: 0 !important; */

/* .ace-tm .ace_gutter,
.ace-tm .ace_gutter-active-line {
  background-color: #00000000;
}

.ace-tm .ace_marker-layer .ace_active-line {
  background-color: #00000000;
  border: 0.5px solid #00000010;
}

.ace-tm .ace_scroller .ace_content,
.ace-tm .ace_gutter .ace_layer {
  top: 4px !important;
}

.ace_editor {
  font-size: 16px;
  line-height: 19px;
} */


#app {
  background: #ebebeb;
}
/* @import url("./assets/common.css"); */
*,
*:after,
*::before {
  box-sizing: border-box;
}
html {
  width: 100%;
  height: 100%;
}
body {
  margin: 0;
  padding: 0;
  width: 100%;
  font-size: 16px;
  height: 100%;
  position: relative;
  font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB,
    Microsoft YaHei, SimSun, sans-serif;
  background-color: #eef3f6;
}
#app {
  width: 100%;
  height: 100%;
  overflow: auto;
  /* background: #fff; */
}
.jd-global-message {
  z-index: 100000 !important;
}

/*谷歌、safari、qq浏览器、360浏览器滚动条样式*/
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
::-webkit-scrollbar {
  width: 5px;
  height: 8px;
  background-color: #f5f5f5;
}
/*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  background-color: #f5f5f5;
}
/*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #bdbdbd;
}
/*滑块效果*/
::-webkit-scrollbar-thumb:hover {
  border-radius: 5px;
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
  background: rgba(0, 0, 0, 0.4);
}
/*IE滚动条颜色*/
html {
  scrollbar-face-color: #bfbfbf; /*滚动条颜色*/
  scrollbar-highlight-color: #000;
  scrollbar-3dlight-color: #000;
  scrollbar-darkshadow-color: #000;
  scrollbar-shadow-color: #adadad; /*滑块边色*/
  scrollbar-arrow-color: rgba(0, 0, 0, 0.4); /*箭头颜色*/
  scrollbar-track-color: #eeeeee; /*背景颜色*/
}

/* table的公共样式 */
.el-table--border,
.el-table--group {
  border: 1px solid #becfd9 !important;
}

.el-table td,
.el-table th.is-leaf {
  border-bottom: 1px solid #becfd9 !important;
}

.el-table--border td,
.el-table--border th,
.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed {
  border-right: 1px solid #becfd9 !important;
}

.el-table .el-button--text {
  color: #2D66A0;
  font-weight: 400;
}

.el-table .el-dropdown .el-dropdown-link {
  color: #2D66A0 !important;
}

/* table分页的样式*/
.tabelFooter {
  min-height: 54px;
  line-height: 54px;
  border: 1px solid #BECBD9;
  border-top: none;
  overflow: hidden;
}

.tabelFooter>div {
  float: left;
  color: rgba(13, 67, 118, 0.78);
  font-size: 14px;
  margin-left: 22px;
}

.tabelFooter>.el-pagination {
  float: right;
  padding: 0;
  margin-top: 13px;
  margin-right: 22px;
}

.el-pagination.is-background .el-pager li:not(.disabled).active {
  background-color: #2BA1F4;
}

.el-pagination.is-background .btn-next,
.el-pagination.is-background .btn-prev,
.el-pagination.is-background .el-pager li {
  /* background-color: transparent; */
  color: rgba(13, 67, 118, 0.78);
  background-color: white !important;
  border: 1px solid #BECBD9;
  border-radius: 6px !important;
}

/* 普通页码使用白色背景时，选中页仍保持高亮 */
.el-pagination.is-background .el-pager li:not(.disabled).active {
  color: #fff !important;
  background-color: #2ba1f4 !important;
  border-radius: 6px;
}

.pagination>li.active>a,
.pagination>li.active>a:focus,
.pagination>li.active>a:hover {
  background-color: #2BA1F4;
}

.el-form-item__label {
  line-height: 32px;
}

.el-form-item__content {
  line-height: 30px !important;
}

/*公共弹框*/
/* .el-dialog {
  width: 600px;
  border-radius: 5px !important;
}

.el-dialog__header {
  border-bottom: 1px solid #EAEAEA;
  padding: 15px;
}

.el-dialog__header>div {
  display: flex;
}

.el-dialog__header>div>div:first-child {
  margin-right: 11px;
  background: #2BA1F4;
  width: 3px;
  height: 18px;
  font-size: 18px;
  color: #333;
  margin-top: 2px;
}

.el-dialog__footer {
  text-align: center !important;
}

.el-dialog__footer .el-button+.el-button {
  margin-left: 30px;
}

.inputTips {
  font-size: 12px;
  color: #999999;
} */

/*popver公共样式*/
/* .listMoreBtn {
  padding: 0 !important;
  border: none !important;
  width: 26px;
  height: 26px;
  background: transparent !important;
}

.listMoreBtn:focus,
.listMoreBtn:hover {
  color: #409EFF;
  border-color: transparent;
  background-color: transparent;
}

.el-button img {
  vertical-align: bottom;
}

.el-menu-item,
.el-submenu__title {
  height: 40px !important;
  line-height: 40px !important;
} */
  /* padding: 0 !important; */

/* .ace-tm .ace_gutter,
.ace-tm .ace_gutter-active-line {
  background-color: #00000000;
}

.ace-tm .ace_marker-layer .ace_active-line {
  background-color: #00000000;
  border: 0.5px solid #00000010;
}

.ace-tm .ace_scroller .ace_content,
.ace-tm .ace_gutter .ace_layer {
  top: 4px !important;
}

.ace_editor {
  font-size: 16px;
  line-height: 19px;
} */

.btn[data-v-1a9c3990] {
  cursor: pointer;
  background-color: #6aa0ff;
  width: 80px;
  height: 30px;
  text-align: center;
  line-height: 30px;
  color: #fff;
}
.vue-puzzle-vcode[data-v-1a9c3990] {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 200002;
  opacity: 1;
  pointer-events: none;
  transition: opacity 200ms;
}
.vue-puzzle-vcode.show_[data-v-1a9c3990] {
  opacity: 1;
  pointer-events: auto;
}
.vue-auth-box_[data-v-1a9c3990] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  padding: 20px;
  background: #f5f5f5;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border-radius: 4px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  z-index: 3000;
}
.vue-auth-box_ .auth-body_[data-v-1a9c3990] {
  position: relative;
  overflow: hidden;
  border-radius: 3px;
}
.vue-auth-box_ .auth-body_ .loading-box_[data-v-1a9c3990] {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 20;
  opacity: 1;
  transition: opacity 200ms;
  display: flex;
  align-items: center;
  justify-content: center;
}
.vue-auth-box_ .auth-body_ .loading-box_.hide_[data-v-1a9c3990] {
  opacity: 0;
  pointer-events: none;
}
.vue-auth-box_ .auth-body_ .loading-box_.hide_ .loading-gif_ span[data-v-1a9c3990] {
  animation-play-state: paused;
}
.vue-auth-box_ .auth-body_ .loading-box_ .loading-gif_[data-v-1a9c3990] {
  flex: none;
  height: 5px;
  line-height: 0;
}
@keyframes load-1a9c3990 {
0% {
    opacity: 1;
    transform: scale(1.3);
}
100% {
    opacity: 0.2;
    transform: scale(0.3);
}
}
.vue-auth-box_ .auth-body_ .loading-box_ .loading-gif_ span[data-v-1a9c3990] {
  display: inline-block;
  width: 5px;
  height: 100%;
  margin-left: 2px;
  border-radius: 50%;
  background-color: #888;
  animation: load-1a9c3990 1.04s ease infinite;
}
.vue-auth-box_ .auth-body_ .loading-box_ .loading-gif_ span[data-v-1a9c3990]:nth-child(1) {
  margin-left: 0;
}
.vue-auth-box_ .auth-body_ .loading-box_ .loading-gif_ span[data-v-1a9c3990]:nth-child(2) {
  animation-delay: 0.13s;
}
.vue-auth-box_ .auth-body_ .loading-box_ .loading-gif_ span[data-v-1a9c3990]:nth-child(3) {
  animation-delay: 0.26s;
}
.vue-auth-box_ .auth-body_ .loading-box_ .loading-gif_ span[data-v-1a9c3990]:nth-child(4) {
  animation-delay: 0.39s;
}
.vue-auth-box_ .auth-body_ .loading-box_ .loading-gif_ span[data-v-1a9c3990]:nth-child(5) {
  animation-delay: 0.52s;
}
.vue-auth-box_ .auth-body_ .info-box_[data-v-1a9c3990] {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 24px;
  line-height: 24px;
  text-align: center;
  overflow: hidden;
  font-size: 13px;
  background-color: #83ce3f;
  opacity: 0;
  transform: translateY(24px);
  transition: all 200ms;
  color: #fff;
  z-index: 10;
}
.vue-auth-box_ .auth-body_ .info-box_.show[data-v-1a9c3990] {
  opacity: 0.95;
  transform: translateY(0);
}
.vue-auth-box_ .auth-body_ .info-box_.fail[data-v-1a9c3990] {
  background-color: #ce594b;
}
.vue-auth-box_ .auth-body_ .auth-canvas2_[data-v-1a9c3990] {
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 100%;
  z-index: 2;
}
.vue-auth-box_ .auth-body_ .auth-canvas3_[data-v-1a9c3990] {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 600ms;
  z-index: 3;
}
.vue-auth-box_ .auth-body_ .auth-canvas3_.show[data-v-1a9c3990] {
  opacity: 1;
}
.vue-auth-box_ .auth-body_ .flash_[data-v-1a9c3990] {
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.1);
  z-index: 3;
}
.vue-auth-box_ .auth-body_ .flash_.show[data-v-1a9c3990] {
  transition: transform 600ms;
}
.vue-auth-box_ .auth-body_ .reset_[data-v-1a9c3990] {
  position: absolute;
  top: 4px;
  right: 4px;
  height: auto;
  z-index: 12;
  cursor: pointer;
  transition: transform 200ms;
  color: #ffffff;
  font-size: 24px;
}
.vue-auth-box_ .auth-control_ .range-box[data-v-1a9c3990] {
  position: relative;
  width: 100%;
  background-color: #eef1f8;
  margin-top: 20px;
  border-radius: 3px;
  box-shadow: inset -2px -2px 4px rgba(50, 130, 251, 0.1), inset 2px 2px 4px rgba(34, 73, 132, 0.2);
  border-radius: 43px;
  /* 兼容写法，要放在@keyframes前面 */
}
.vue-auth-box_ .auth-control_ .range-box .range-text[data-v-1a9c3990] {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 14px;
  color: #b7bcd1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
  width: 100%;
  /* 背景颜色线性渐变 */
  /* linear为线性渐变，也可以用下面的那种写法。left top，right top指的是渐变方向，左上到右上 */
  /* color-stop函数，第一个表示渐变的位置，0为起点，0.5为中点，1为结束点；第二个表示该点的颜色。所以本次渐变为两边灰色，中间渐白色 */
  background: -webkit-gradient(linear, left top, right top, color-stop(0, #4d4d4d), color-stop(0.4, #4d4d4d), color-stop(0.5, white), color-stop(0.6, #4d4d4d), color-stop(1, #4d4d4d));
  /* 设置为text，意思是把文本内容之外的背景给裁剪掉 */
  -webkit-background-clip: text;
  /* 设置对象中的文字填充颜色 这里设置为透明 */
  -webkit-text-fill-color: transparent;
  /* 每隔2秒调用下面的CSS3动画 infinite属性为循环执行animate */
  -webkit-animation: animate-1a9c3990 1.5s infinite;
}
@keyframes animate-1a9c3990 {
from {
    background-position: -100px;
}
to {
    background-position: 100px;
}
}
.vue-auth-box_ .auth-control_ .range-box .range-slider[data-v-1a9c3990] {
  position: absolute;
  height: 100%;
  width: 50px;
  /**background-color: rgba(106, 160, 255, 0.8);*/
  border-radius: 3px;
}
.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn[data-v-1a9c3990] {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  right: 0;
  width: 50px;
  height: 100%;
  background-color: #fff;
  border-radius: 3px;
  /** box-shadow: 0 0 4px #ccc;*/
  cursor: pointer;
  box-shadow: inset 0px -2px 4px rgba(0, 36, 90, 0.2), inset 0px 2px 4px rgba(194, 219, 255, 0.8);
  border-radius: 50%;
}
.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn > div[data-v-1a9c3990] {
  width: 0;
  height: 40%;
  transition: all 200ms;
  border: solid 1px #6aa0ff;
}
.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn > div[data-v-1a9c3990]:nth-child(2) {
  margin: 0 4px;
}
.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn:hover > div[data-v-1a9c3990]:first-child,
.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn.isDown > div[data-v-1a9c3990]:first-child {
  border: solid 4px transparent;
  height: 0;
  border-right-color: #6aa0ff;
}
.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn:hover > div[data-v-1a9c3990]:nth-child(2),
.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn.isDown > div[data-v-1a9c3990]:nth-child(2) {
  border-width: 3px;
  height: 0;
  border-radius: 3px;
  margin: 0 6px;
  border-right-color: #6aa0ff;
}
.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn:hover > div[data-v-1a9c3990]:nth-child(3),
.vue-auth-box_ .auth-control_ .range-box .range-slider .range-btn.isDown > div[data-v-1a9c3990]:nth-child(3) {
  border: solid 4px transparent;
  height: 0;
  border-left-color: #6aa0ff;
}
.vue-puzzle-overflow[data-v-1a9c3990] {
  overflow: hidden !important;
}

.my-menu img[data-v-d691993e] {
  width: 16px;
  height: 17px;
}
.my-menu span[data-v-d691993e] {
  margin-left: 10px;
}
[data-v-d691993e] .el-menu .el-menu--horizontal .el-menu--popup {
  width: 138px !important;
}
[data-v-d691993e] .el-menu .el-menu-item:hover {
  outline: 0 !important;
  color: #2e95fb !important;
  background: linear-gradient(270deg, #f2f7fc 0%, #fefefe 100%) !important;
}
[data-v-d691993e] .el-menu .el-menu-item {
  color: #2e95fb !important;
  background: linear-gradient(270deg, #f2f7fc 0%, #fefefe 100%) !important;
}
[data-v-d691993e] .el-menu .el-menu-item.is-active {
  color: #2e95fb !important;
  background: linear-gradient(270deg, #f2f7fc 0%, #fefefe 100%) !important;
}
.el-submenu[data-v-d691993e] .el-submenu__title:hover {
  color: #2e95fb !important;
}
[data-v-d691993e] .el-menu.el-menu--horizontal {
  border-bottom: none;
}
[data-v-d691993e] .el-menu--horizontal > .el-submenu.is-active .el-submenu__title {
  border-bottom: none;
}
.el-menu-demo.el-menu[data-v-d691993e],[data-v-d691993e] .el-menu-demo.el-menu {
  background-color: transparent !important;
}
.el-menu-demo[data-v-d691993e] .el-menu,
.el-menu-demo[data-v-d691993e] .el-submenu__title {
  background-color: transparent !important;
}
.el-menu-demo[data-v-d691993e] .el-submenu__title {
  height: 70px;
  display: flex;
  align-items: center;
  background-color: transparent;
}
.jd_header[data-v-d691993e] {
  width: 100%;
  min-width: 1200px;
  background-color: #fff;
  box-shadow: 0 2px 4px #00000014;
  transition: width 0.24s ease, margin 0.24s ease, border-radius 0.24s ease, box-shadow 0.24s ease, background-color 0.24s ease, transform 0.24s ease;
  transform: translateY(0);
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(10px);
}
.jd_header[data-v-d691993e]:not(.is-scrolled) {
  --header-side-gutter: clamp(24px, 2vw, 80px);
}
.jd_header:not(.is-scrolled) .el-header[data-v-d691993e] {
  width: min(calc(100% - var(--header-side-gutter) * 2), 1440px);
  max-width: 1440px;
  min-width: 0;
  margin: 0 auto;
  padding: 0;
}
.jd_header:not(.is-scrolled) .nav-left-text[data-v-d691993e] {
  padding-left: 0;
}
.jd_header:not(.is-scrolled) .nav-left-mid[data-v-d691993e] {
  flex: 1;
  padding-left: 20px;
}
.jd_header:not(.is-scrolled) .nav-left-mid .nav-menu[data-v-d691993e] {
  min-width: 620px;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  white-space: nowrap;
}
.jd_header:not(.is-scrolled) .nav-left-mid span[data-v-d691993e] {
  flex-shrink: 0;
  margin-left: 48px;
  font-size: 18px;
  position: relative;
  transition: margin 0.24s ease, font-size 0.24s ease;
}
.jd_header:not(.is-scrolled) .nav-left-mid span.active[data-v-d691993e]::after {
  content: "";
  position: absolute;
  left: 5px;
  right: 5px;
  bottom: -9px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, #0060f6 0%, #1dbafd 99%);
}
.jd_header:not(.is-scrolled) .nav-left-mid span.active[data-v-d691993e] {
  background: linear-gradient(90deg, #0060f6 0%, #1dbafd 99%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
}
.jd_header:not(.is-scrolled) .nav-left-mid span[data-v-d691993e]:hover {
  cursor: pointer;
  background: linear-gradient(90deg, #0060f6 0%, #1dbafd 99%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
}
.jd_header.is-scrolled[data-v-d691993e] {
  width: calc(100vw - 64px);
  max-width: 1400px;
  min-width: 0;
  margin: 0 auto;
  border-radius: 10px;
  background-color: rgba(255, 255, 255, 0.94);
  box-shadow: 0 12px 34px rgba(22, 90, 170, 0.16);
  transform: translateY(14px);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  overflow: hidden;
  cursor: pointer;
}
.jd_header.is-scrolled .el-header[data-v-d691993e] {
  height: 56px !important;
}
.jd_header.is-scrolled .nav-left-mid span[data-v-d691993e] {
  font-size: 16px;
  margin: 0 40px 0 8px;
}
.jd_header.is-scrolled .nav-left-mid span.active[data-v-d691993e] {
  background: linear-gradient(90deg, #0060f6 0%, #1dbafd 99%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
}
.jd_header.is-scrolled .nav-left-mid span[data-v-d691993e]:hover {
  cursor: pointer;
  background: linear-gradient(90deg, #0060f6 0%, #1dbafd 99%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
}
.jd_header.is-scrolled .nav-left-mid span[data-v-d691993e]:active {
  background: linear-gradient(90deg, #0060f6 0%, #1dbafd 99%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent !important;
}
.jd_header.is-scrolled .nav-left-text img[data-v-d691993e] {
  transform: scale(0.86);
  transform-origin: left center;
}
.jd_header.is-scrolled .nav-right .el-button[data-v-d691993e] {
  height: 34px;
  padding: 0;
}
.jd_header.is-scrolled .el-menu-demo[data-v-d691993e] .el-submenu__title {
  height: 56px;
}
.jd_header .el-header[data-v-d691993e] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: height 0.24s ease;
}
.jd_header .el-header .nav-left[data-v-d691993e] {
  width: auto;
  min-width: 760px;
  flex: 1 1 auto;
  display: flex;
  align-items: center;
}
.jd_header .el-header .nav-left .nav-left-text[data-v-d691993e] {
  flex: 0 0 auto;
  color: #fff;
  cursor: pointer;
}
.jd_header .el-header .nav-left .nav-left-text img[data-v-d691993e] {
  transition: transform 0.24s ease;
}
.jd_header .el-header .nav-right[data-v-d691993e] {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
}
.jd_header .el-header .nav-right .el-button[data-v-d691993e] {
  margin-left: 20px;
  width: 120px;
  height: 44px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
}
.jd_header .el-header .nav-right .login-button[data-v-d691993e] {
  border: 2px solid #28aefb;
  color: #1597ff;
}
.jd_header .el-header .nav-right .register-button[data-v-d691993e] {
  border: 1px solid transparent;
  background: linear-gradient(-45deg, #03d3f2, #0491fd);
  color: #fff;
}
.jd_header .el-header .nav-right .search-box[data-v-d691993e] {
  margin-left: -80px;
  position: relative;
  border-radius: 30px;
  border: 1px solid #03d3f2;
  display: none;
}
.jd_header .el-header .nav-right .search-box .input-with-select[data-v-d691993e] {
  width: 320px;
}
.jd_header .el-header .nav-right .search-box .input-with-select[data-v-d691993e] .el-input__inner {
  border-radius: 30px;
  border: none;
  width: 264px;
}
.jd_header .el-header .nav-right .search-box .el-button[data-v-d691993e] {
  position: absolute;
  right: 0;
  width: 56px;
  border-radius: 30px;
  background: linear-gradient(-45deg, #03d3f2, #0491fd);
  color: #fff;
}
.jd_header .el-header .nav-right .myTask[data-v-d691993e]:hover {
  color: #10c4ee;
}
.jd_header .el-header .nav-right .personal-space-entry[data-v-d691993e] {
  height: 42px;
  padding: 0 12px 0 12px;
  margin-left: 14px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border-radius: 8px;
  background: linear-gradient(180deg, #eef8ff 0%, #e8f5ff 100%);
  color: #1596ff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.jd_header .el-header .nav-right .personal-space-entry img[data-v-d691993e] {
  width: 24px;
  height: 24px;
  -o-object-fit: contain;
     object-fit: contain;
  display: block;
}
.jd_header .el-header .nav-right .nav-study[data-v-d691993e] {
  width: 100px;
  color: #333;
  cursor: pointer;
  text-align: center;
}

.new-footer[data-v-4c86dcce] {
  padding: 52px 0 22px;
  background: #eaf5ff;
}
.footer-container[data-v-4c86dcce] {
  width: 1200px;
  max-width: calc(100vw - 48px);
  margin: 0 auto;
}
.footer-grid[data-v-4c86dcce] {
  display: grid;
  grid-template-columns: 310px minmax(520px, 1fr) 230px;
  gap: 42px;
  align-items: start;
}
.footer-brand img[data-v-4c86dcce] {
  width: 128px;
  display: block;
  margin-bottom: 18px;
}
.footer-brand p[data-v-4c86dcce],
.footer-brand span[data-v-4c86dcce] {
  color: #536176;
  line-height: 1.8;
}
.footer-brand .footer-slogan[data-v-4c86dcce] {
  color: #000;
  font-weight: 600;
  font-size: 18px;
}
.footer-links[data-v-4c86dcce] {
  display: grid;
  grid-template-columns: repeat(4, minmax(86px, 1fr));
  gap: 18px;
  margin-left: 100px;
}
.footer-links h4[data-v-4c86dcce] {
  margin: 0 0 12px;
  color: #17233f;
  font-size: 15px;
  line-height: 1.2;
  white-space: nowrap;
}
.footer-links a[data-v-4c86dcce] {
  display: block;
  margin-bottom: 9px;
  color: #65758f;
  font-size: 14px;
  line-height: 1.25;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.footer-links a[data-v-4c86dcce]:hover {
  color: #178cff;
}
.footer-qr[data-v-4c86dcce] {
  width: 230px;
}
.footer-qr .footer-qr-title[data-v-4c86dcce] {
  margin: 0 0 6px;
  color: #1c2738;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
}
.footer-qr .footer-qr-desc[data-v-4c86dcce] {
  margin: 0 0 10px;
  color: #6f7f93;
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
}
.footer-qr .footer-qr-list[data-v-4c86dcce] {
  display: flex;
  gap: 16px;
}
.footer-qr .footer-qr-item[data-v-4c86dcce] {
  width: 115px;
  color: #5e6d82;
  font-size: 13px;
  line-height: 1.2;
  text-align: center;
}
.footer-qr .footer-qr-item img[data-v-4c86dcce] {
  display: block;
  width: 115px;
  height: 115px;
  margin-bottom: 8px;
  border-radius: 4px;
  -o-object-fit: contain;
     object-fit: contain;
  background: #fff;
}
.footer-qr button[data-v-4c86dcce] {
  display: none;
  height: 34px;
  border: none;
  border-radius: 17px;
  color: #fff;
  background: linear-gradient(90deg, #1d76ff, #13ccff);
  cursor: pointer;
}
.copyright[data-v-4c86dcce] {
  margin: 34px 0 0;
  text-align: center;
  color: #8b98ab;
  font-size: 14px;
}
.copyright a[data-v-4c86dcce] {
  color: #407cff;
}
.copyright2[data-v-4c86dcce] {
  margin: 10px 0 0;
  text-align: center;
  color: #8b98ab;
  font-size: 14px;
}
@media (max-width: 900px) {
.footer-grid[data-v-4c86dcce] {
    grid-template-columns: 1fr;
}
.footer-links[data-v-4c86dcce] {
    grid-template-columns: 1fr;
    margin-left: 0;
}
.footer-qr[data-v-4c86dcce] {
    width: auto;
}
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
[v-cloak] {
  display: none;
}
body > div.el-menu--horizontal.el-menu-demo-popper > ul {
  min-width: 138px !important;
}
:root {
  --auth-dialog-width: clamp(480px, 30vw, 540px);
  --auth-dialog-height: clamp(520px, 76vh, 610px);
  --auth-header-height: clamp(178px, 27vh, 215px);
  --auth-content-padding-x: clamp(30px, 2.5vw, 38px);
  --auth-input-height: clamp(48px, 6.4vh, 54px);
  --auth-button-height: clamp(48px, 6.4vh, 54px);
  --auth-close-size: clamp(24px, 3.8vh, 28px);
  --auth-close-top: calc(6vh + var(--auth-dialog-height) + 10px);
}
.index-app {
  position: relative;
  font-family: Avenir, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  min-width: 1200px;
  overflow-y: auto;
  overflow-x: scroll;
}
.index-app .stu-header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
}
.index-app .stu-header.is-dialog-open {
  z-index: 1999;
  pointer-events: none;
}
.index-app .login-dialog .el-dialog {
  border-radius: 14px;
  overflow: hidden;
}
.index-app .login-dialog .el-dialog__header {
  display: none;
}
.index-app .login-dialog .el-dialog__body {
  padding: 0;
}
.index-app .login-dialog .login_form {
  width: 100%;
  height: var(--auth-dialog-height);
  background: #fff;
  border-radius: 14px;
  position: relative;
  overflow: hidden;
  /* 顶部蓝色渐变背景区域 */
  /* 登录内容区域 */
  /* 二维码登录 */
  /* 登录tab切换 */
  /* 自定义输入框 */
  /* 短信验证码行 */
  /* 登录提交按钮 */
  /* 密码提示 */
  /* 注册内容区域 */
  /* 协议行 */
}
.index-app .login-dialog .login_form .login-header {
  position: relative;
  height: var(--auth-header-height);
  overflow: hidden;
  border-radius: 14px 14px 0 0;
  /* 右上角切换按钮 */
  /* 装饰圆圈 */
  /* 插画 */
}
.index-app .login-dialog .login_form .login-header .header-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(154.23deg, #1d78fe 26.66%, #4e95fe 84.38%);
  z-index: 1;
}
.index-app .login-dialog .login_form .login-header .header-content {
  position: relative;
  z-index: 3;
  padding: clamp(36px, 6vh, 48px) 0 0 var(--auth-content-padding-x);
}
.index-app .login-dialog .login_form .login-header .header-content .logo-section {
  margin-bottom: 10px;
}
.index-app .login-dialog .login_form .login-header .header-content .logo-section .logo-image {
  height: clamp(34px, 5vh, 40px);
  width: auto;
  display: block;
}
.index-app .login-dialog .login_form .login-header .header-content .welcome-title {
  font-size: clamp(30px, 4vh, 34px);
  font-weight: bold;
  color: #fff;
  margin: 0 0 10px 0;
  font-family: "PingFang SC", sans-serif;
}
.index-app .login-dialog .login_form .login-header .header-content .welcome-subtitle {
  font-size: clamp(22px, 3vh, 25px);
  font-weight: 400;
  color: #fff;
  margin: 0;
  font-family: "PingFang SC", sans-serif;
}
.index-app .login-dialog .login_form .login-header .switch-login-type {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
}
.index-app .login-dialog .login_form .login-header .switch-login-type .switch-icon {
  width: clamp(54px, 8vh, 64px);
  height: clamp(52px, 8vh, 62px);
  background: transparent;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.index-app .login-dialog .login_form .login-header .switch-login-type .switch-icon img {
  width: clamp(40px, 6vh, 48px);
  height: clamp(40px, 6vh, 48px);
  -o-object-fit: contain;
     object-fit: contain;
}
.index-app .login-dialog .login_form .login-header .switch-login-type .switch-icon.qrcode-icon {
  background: transparent;
}
.index-app .login-dialog .login_form .login-header .decoration-circles .circle {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  z-index: 2;
}
.index-app .login-dialog .login_form .login-header .decoration-circles .circle.circle-1 {
  width: 81px;
  height: 40px;
  top: 0;
  left: 38px;
  border-radius: 50%;
}
.index-app .login-dialog .login_form .login-header .decoration-circles .circle.circle-2 {
  width: 81px;
  height: 81px;
  bottom: 0;
  right: 86px;
}
.index-app .login-dialog .login_form .login-header .decoration-circles .circle.circle-3 {
  width: 31px;
  height: 31px;
  top: 74px;
  right: 274px;
}
.index-app .login-dialog .login_form .login-header .illustration {
  position: absolute;
  top: 0;
  right: 0;
  width: clamp(218px, 15vw, 252px);
  height: var(--auth-header-height);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.index-app .login-dialog .login_form .login-header .illustration img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.index-app .login-dialog .login_form .login-content {
  padding: clamp(18px, 3vh, 24px) var(--auth-content-padding-x) clamp(26px, 4vh, 34px);
}
.index-app .login-dialog .login_form .qrcode-login {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: clamp(10px, 2vh, 16px);
}
.index-app .login-dialog .login_form .qrcode-login .qrcode-wrapper {
  position: relative;
  margin-bottom: clamp(14px, 2.4vh, 20px);
}
.index-app .login-dialog .login_form .qrcode-login .qrcode-wrapper .qrcode-container {
  position: relative;
  width: clamp(176px, 24vh, 196px);
  height: clamp(176px, 24vh, 196px);
  background: #fff;
  border: clamp(3px, 0.6vh, 4px) solid #e1f1ff;
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.index-app .login-dialog .login_form .qrcode-login .qrcode-wrapper .qrcode-container #code {
  width: clamp(148px, 20vh, 168px);
  height: clamp(148px, 20vh, 168px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.index-app .login-dialog .login_form .qrcode-login .qrcode-wrapper .qrcode-container #code canvas,
.index-app .login-dialog .login_form .qrcode-login .qrcode-wrapper .qrcode-container #code img {
  max-width: 100%;
  max-height: 100%;
}
.index-app .login-dialog .login_form .qrcode-login .qrcode-wrapper .qrcode-container #mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(240, 240, 240, 0.95);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
}
.index-app .login-dialog .login_form .qrcode-login .qrcode-wrapper .qrcode-container #mask .refreshMask {
  text-align: center;
}
.index-app .login-dialog .login_form .qrcode-login .qrcode-wrapper .qrcode-container #mask .refreshMask p {
  color: #333;
  font-size: clamp(13px, 1.8vh, 14px);
  margin-bottom: clamp(8px, 1.8vh, 12px);
}
.index-app .login-dialog .login_form .qrcode-login .qrcode-wrapper .qrcode-container #mask .refreshMask a {
  display: inline-block;
  padding: clamp(6px, 1.4vh, 8px) clamp(16px, 2.6vh, 20px);
  background: #2196f3;
  color: #fff;
  border-radius: 4px;
  text-decoration: none;
  font-size: clamp(13px, 1.8vh, 14px);
}
.index-app .login-dialog .login_form .qrcode-login .qrcode-wrapper .qrcode-container #mask .refreshMask a:hover {
  background: #1976d2;
}
.index-app .login-dialog .login_form .qrcode-login .qrcode-wrapper .qrcode-shadow {
  position: absolute;
  top: clamp(20px, 3.5vh, 26px);
  left: 50%;
  transform: translateX(-50%);
  width: clamp(224px, 31vh, 252px);
  height: clamp(238px, 34vh, 270px);
  background: linear-gradient(180deg, #ffffff 0%, #e9f6ff 53.09%, #ffffff 100%);
  border-radius: 50%;
  z-index: -1;
  filter: blur(20px);
}
.index-app .login-dialog .login_form .qrcode-login .qrcode-msg {
  color: #2196f3;
  font-size: clamp(13px, 1.8vh, 14px);
  margin-bottom: clamp(5px, 1.2vh, 8px);
  min-height: clamp(16px, 2.4vh, 20px);
}
.index-app .login-dialog .login_form .qrcode-login .qrcode-tip {
  color: #1576e7;
  font-size: clamp(16px, 2.3vh, 18px);
  font-weight: 500;
  margin: clamp(7px, 1.6vh, 10px) 0 clamp(5px, 1.2vh, 8px);
}
.index-app .login-dialog .login_form .qrcode-login .qrcode-warning {
  color: #000;
  font-size: clamp(14px, 2vh, 15px);
  margin: 0;
}
.index-app .login-dialog .login_form .login-tabs {
  display: flex;
  justify-content: space-between;
  margin-bottom: clamp(20px, 3.2vh, 28px);
  padding: 0 18px;
}
.index-app .login-dialog .login_form .login-tabs .tab-item {
  font-size: clamp(17px, 2.4vh, 19px);
  font-weight: 500;
  color: #000;
  cursor: pointer;
  position: relative;
  padding-bottom: 8px;
}
.index-app .login-dialog .login_form .login-tabs .tab-item.active {
  color: #1576e7;
}
.index-app .login-dialog .login_form .login-tabs .tab-item.active::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 23px;
  height: 5px;
  background: #2f82ff;
  border-radius: 2.5px;
}
.index-app .login-dialog .login_form .custom-input {
  width: 100%;
  height: var(--auth-input-height);
  background: #f4f5f8;
  border-radius: 4px;
  padding: 0 20px;
  position: relative;
  display: flex;
  align-items: center;
}
.index-app .login-dialog .login_form .custom-input input {
  width: 100%;
  height: 100%;
  border: none;
  background: transparent;
  font-size: clamp(17px, 2.4vh, 19px);
  color: #333;
  outline: none;
}
.index-app .login-dialog .login_form .custom-input input::-moz-placeholder {
  color: #9da1ae;
  font-size: clamp(17px, 2.4vh, 19px);
}
.index-app .login-dialog .login_form .custom-input input::placeholder {
  color: #9da1ae;
  font-size: clamp(17px, 2.4vh, 19px);
}
.index-app .login-dialog .login_form .custom-input .password-toggle {
  position: absolute;
  right: clamp(16px, 2.4vh, 20px);
  z-index: 1;
  cursor: pointer;
  color: #9da1ae;
  display: inline-flex;
  align-items: center;
}
.index-app .login-dialog .login_form .custom-input .password-toggle .pwd-icon {
  width: clamp(16px, 2.4vh, 18px);
  height: clamp(16px, 2.4vh, 18px);
}
.index-app .login-dialog .login_form .custom-input .password-toggle:hover {
  color: #333;
}
.index-app .login-dialog .login_form .sms-code-row {
  display: flex;
  gap: clamp(10px, 1.8vh, 14px);
}
.index-app .login-dialog .login_form .sms-code-row .code-input {
  flex: 1;
  margin-bottom: 0;
}
.index-app .login-dialog .login_form .sms-code-row .get-code-btn {
  width: clamp(132px, 8.4vw, 152px);
  height: var(--auth-input-height);
  background: #f4f5f8;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2196f3;
  font-size: clamp(17px, 2.4vh, 19px);
  font-weight: 500;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.index-app .login-dialog .login_form .sms-code-row .get-code-btn:hover:not(.disabled) {
  background: #e8edf5;
}
.index-app .login-dialog .login_form .sms-code-row .get-code-btn.disabled {
  color: #9da1ae;
  cursor: not-allowed;
}
.index-app .login-dialog .login_form .login-submit-btn {
  width: 100%;
  height: var(--auth-button-height);
  background: #2196f3;
  border-radius: 30px;
  border: none;
  color: #fff;
  font-size: clamp(20px, 2.8vh, 22px);
  font-weight: bold;
  letter-spacing: clamp(14px, 2.5vh, 18px);
  text-indent: clamp(14px, 2.5vh, 18px);
  cursor: pointer;
  margin-top: clamp(18px, 3vh, 22px);
}
.index-app .login-dialog .login_form .login-submit-btn:hover {
  background: #1976d2;
}
.index-app .login-dialog .login_form .login-submit-btn:active {
  background: #1565c0;
}
.index-app .login-dialog .login_form .password-tip {
  text-align: center;
  color: #1576e7;
  font-size: clamp(13px, 1.9vh, 15px);
  margin: 0;
}
.index-app .login-dialog .login_form .account-login .demo-ruleForm .el-form-item,
.index-app .login-dialog .login_form .sms-login .demo-ruleForm .el-form-item {
  margin-bottom: clamp(18px, 2.8vh, 22px);
}
.index-app .login-dialog .login_form .account-login .demo-ruleForm .el-form-item__error,
.index-app .login-dialog .login_form .sms-login .demo-ruleForm .el-form-item__error {
  padding-top: 4px;
  font-size: 14px;
}
.index-app .login-dialog .login_form .register-content {
  padding-top: 0;
}
.index-app .login-dialog .login_form .agreement-row {
  margin-bottom: clamp(14px, 2.4vh, 18px);
  padding: 0 4px;
}
.index-app .login-dialog .login_form .agreement-row .el-checkbox .el-checkbox__label {
  color: #797c86;
  font-size: clamp(16px, 2.3vh, 18px);
}
.index-app .login-dialog .login_form .agreement-row .el-checkbox .el-checkbox__inner {
  width: clamp(15px, 2.2vh, 17px);
  height: clamp(15px, 2.2vh, 17px);
  border-radius: 2px;
}
.index-app .login-dialog .login_form .agreement-row .el-checkbox.is-checked .el-checkbox__inner {
  background: #1590ff;
  border-color: #1590ff;
}
.index-app .login-dialog .login_form .agreement-row .agreement-text {
  color: #797c86;
  font-size: clamp(16px, 2.3vh, 18px);
}
.index-app .login-dialog .login_form .agreement-row .agreement-link {
  color: #2196f3;
  font-weight: bold;
  text-decoration: none;
}
.index-app .login-dialog .login_form .agreement-row .agreement-link:hover {
  text-decoration: underline;
}
.index-app .register-dialog .el-dialog {
  border-radius: 14px;
  overflow: hidden;
}
.index-app .register-dialog .el-dialog__header {
  display: none;
}
.index-app .register-dialog .el-dialog__body {
  padding: 0;
}
.index-app .register-dialog .login_form {
  width: 100%;
  height: var(--auth-dialog-height);
  background: #fff;
  border-radius: 14px;
  position: relative;
  overflow: hidden;
  /* 顶部蓝色渐变背景区域 */
  /* 登录内容区域 */
  /* 注册表单提示（未填写时显示） */
  /* 密码表单项预留错误信息空间，避免与协议文字重叠 */
  /* 注册内容区域 */
  /* 协议行与上方表单项留出间距，避免与密码错误提示重叠 */
  /* 自定义输入框 */
  /* 短信验证码行 */
  /* 登录提交按钮 */
  /* 注册内容区域 */
  /* 注册表单顶部提示（未填写时显示） */
  /* 协议行：与上方密码错误提示留出间距，避免重叠 */
}
.index-app .register-dialog .login_form .login-header {
  position: relative;
  height: var(--auth-header-height);
  overflow: hidden;
  border-radius: 14px 14px 0 0;
  /* 右上角切换按钮 */
  /* 装饰圆圈 */
  /* 插画 */
}
.index-app .register-dialog .login_form .login-header .header-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(154.23deg, #1d78fe 26.66%, #4e95fe 84.38%);
  z-index: 1;
}
.index-app .register-dialog .login_form .login-header .header-content {
  position: relative;
  z-index: 3;
  padding: clamp(36px, 6vh, 48px) 0 0 var(--auth-content-padding-x);
}
.index-app .register-dialog .login_form .login-header .header-content .logo-section {
  margin-bottom: 10px;
}
.index-app .register-dialog .login_form .login-header .header-content .logo-section .logo-image {
  height: clamp(34px, 5vh, 40px);
  width: auto;
  display: block;
}
.index-app .register-dialog .login_form .login-header .header-content .welcome-title {
  font-size: clamp(30px, 4vh, 34px);
  font-weight: bold;
  color: #fff;
  margin: 0 0 10px 0;
  font-family: "PingFang SC", sans-serif;
}
.index-app .register-dialog .login_form .login-header .header-content .welcome-subtitle {
  font-size: clamp(22px, 3vh, 25px);
  font-weight: 400;
  color: #fff;
  margin: 0;
  font-family: "PingFang SC", sans-serif;
}
.index-app .register-dialog .login_form .login-header .switch-login-type {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
}
.index-app .register-dialog .login_form .login-header .switch-login-type .switch-icon {
  width: clamp(54px, 8vh, 64px);
  height: clamp(52px, 8vh, 62px);
  background: transparent;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.index-app .register-dialog .login_form .login-header .switch-login-type .switch-icon img {
  width: clamp(40px, 6vh, 48px);
  height: clamp(40px, 6vh, 48px);
  -o-object-fit: contain;
     object-fit: contain;
}
.index-app .register-dialog .login_form .login-header .switch-login-type .switch-icon.qrcode-icon {
  background: transparent;
}
.index-app .register-dialog .login_form .login-header .decoration-circles .circle {
  position: absolute;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  z-index: 2;
}
.index-app .register-dialog .login_form .login-header .decoration-circles .circle.circle-1 {
  width: 81px;
  height: 40px;
  top: 0;
  left: 38px;
  border-radius: 50%;
}
.index-app .register-dialog .login_form .login-header .decoration-circles .circle.circle-2 {
  width: 81px;
  height: 81px;
  bottom: 0;
  right: 86px;
}
.index-app .register-dialog .login_form .login-header .decoration-circles .circle.circle-3 {
  width: 31px;
  height: 31px;
  top: 74px;
  right: 274px;
}
.index-app .register-dialog .login_form .login-header .illustration {
  position: absolute;
  top: 0;
  right: 0;
  width: clamp(218px, 15vw, 252px);
  height: var(--auth-header-height);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
.index-app .register-dialog .login_form .login-header .illustration img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.index-app .register-dialog .login_form .login-content {
  padding: clamp(18px, 3vh, 24px) var(--auth-content-padding-x) clamp(26px, 4vh, 34px);
}
.index-app .register-dialog .login_form .register-form-hint {
  color: #797c86;
  font-size: 14px;
  margin: 0 0 20px 0;
  padding: 0 4px;
  line-height: 1.5;
}
.index-app .register-dialog .login_form .register-form .register-password-item {
  margin-bottom: clamp(18px, 2.8vh, 22px);
}
.index-app .register-dialog .login_form .register-form .register-password-item .el-form-item__error {
  padding-top: 4px;
}
.index-app .register-dialog .login_form .register-content {
  padding: clamp(22px, 3vh, 28px) var(--auth-content-padding-x) clamp(28px, 4vh, 36px);
}
.index-app .register-dialog .login_form .register-dialog .agreement-row {
  margin-top: 4px;
}
.index-app .register-dialog .login_form .custom-input {
  width: 100%;
  height: var(--auth-input-height);
  background: #f4f5f8;
  border-radius: 4px;
  padding: 0 20px;
  margin-bottom: 0px;
  position: relative;
  display: flex;
  align-items: center;
}
.index-app .register-dialog .login_form .custom-input input {
  width: 100%;
  height: 100%;
  border: none;
  background: transparent;
  font-size: clamp(17px, 2.4vh, 19px);
  color: #333;
  outline: none;
}
.index-app .register-dialog .login_form .custom-input input::-moz-placeholder {
  color: #9da1ae;
  font-size: clamp(17px, 2.4vh, 19px);
}
.index-app .register-dialog .login_form .custom-input input::placeholder {
  color: #9da1ae;
  font-size: clamp(17px, 2.4vh, 19px);
}
.index-app .register-dialog .login_form .custom-input .password-toggle {
  position: absolute;
  right: clamp(16px, 2.4vh, 20px);
  z-index: 1;
  cursor: pointer;
  color: #9da1ae;
  display: inline-flex;
  align-items: center;
}
.index-app .register-dialog .login_form .custom-input .password-toggle .pwd-icon {
  width: clamp(16px, 2.4vh, 18px);
  height: clamp(16px, 2.4vh, 18px);
}
.index-app .register-dialog .login_form .custom-input .password-toggle:hover {
  color: #333;
}
.index-app .register-dialog .login_form .sms-code-row {
  display: flex;
  gap: clamp(10px, 1.8vh, 14px);
}
.index-app .register-dialog .login_form .sms-code-row .code-input {
  flex: 1;
  margin-bottom: 0;
}
.index-app .register-dialog .login_form .sms-code-row .get-code-btn {
  width: clamp(132px, 8.4vw, 152px);
  height: var(--auth-input-height);
  background: #f4f5f8;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #2196f3;
  font-size: clamp(17px, 2.4vh, 19px);
  font-weight: 500;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.index-app .register-dialog .login_form .sms-code-row .get-code-btn:hover:not(.disabled) {
  background: #e8edf5;
}
.index-app .register-dialog .login_form .sms-code-row .get-code-btn.disabled {
  color: #9da1ae;
  cursor: not-allowed;
}
.index-app .register-dialog .login_form .login-submit-btn {
  width: 100%;
  height: var(--auth-button-height);
  background: #2196f3;
  border-radius: 30px;
  border: none;
  color: #fff;
  font-size: clamp(20px, 2.8vh, 22px);
  font-weight: bold;
  letter-spacing: clamp(14px, 2.5vh, 18px);
  text-indent: clamp(14px, 2.5vh, 18px);
  cursor: pointer;
  margin-top: clamp(18px, 3vh, 22px);
}
.index-app .register-dialog .login_form .login-submit-btn:hover {
  background: #1976d2;
}
.index-app .register-dialog .login_form .login-submit-btn:active {
  background: #1565c0;
}
.index-app .register-dialog .login_form .register-content {
  padding: clamp(22px, 3vh, 28px) var(--auth-content-padding-x) clamp(28px, 4vh, 36px);
}
.index-app .register-dialog .login_form .register-form-hint {
  color: #797c86;
  font-size: 14px;
  margin: 0 0 20px 0;
  padding: 0 4px;
  line-height: 1.5;
}
.index-app .register-dialog .login_form .agreement-row {
  margin-bottom: clamp(14px, 2.4vh, 18px);
  margin-top: clamp(24px, 4vh, 36px);
  padding: 0 4px;
}
.index-app .register-dialog .login_form .agreement-row .el-checkbox .el-checkbox__label {
  color: #797c86;
  font-size: clamp(16px, 2.3vh, 18px);
}
.index-app .register-dialog .login_form .agreement-row .el-checkbox .el-checkbox__inner {
  width: clamp(15px, 2.2vh, 17px);
  height: clamp(15px, 2.2vh, 17px);
  border-radius: 2px;
}
.index-app .register-dialog .login_form .agreement-row .el-checkbox.is-checked .el-checkbox__inner {
  background: #1590ff;
  border-color: #1590ff;
}
.index-app .register-dialog .login_form .agreement-row .agreement-text {
  color: #797c86;
  font-size: clamp(16px, 2.3vh, 18px);
}
.index-app .register-dialog .login_form .agreement-row .agreement-link {
  color: #2196f3;
  font-weight: bold;
  text-decoration: none;
}
.index-app .register-dialog .login_form .agreement-row .agreement-link:hover {
  text-decoration: underline;
}
.index-app .register-dialog .login_form .demo-ruleForm {
  /* 密码项预留错误信息空间，避免“请设置密码”与协议文字重叠 */
}
.index-app .register-dialog .login_form .demo-ruleForm .el-form-item {
  margin-bottom: clamp(18px, 2.8vh, 22px);
}
.index-app .register-dialog .login_form .demo-ruleForm .register-password-item {
  margin-bottom: clamp(18px, 2.8vh, 22px);
}
.index-app .register-dialog .login_form .demo-ruleForm .el-form-item__error {
  padding-top: 4px;
  font-size: 14px;
}
nav {
  padding: 30px;
}
nav a {
  font-weight: bold;
  color: #2c3e50;
}
nav a.router-link-exact-active {
  color: #42b983;
}
/*谷歌、safari、qq浏览器、360浏览器滚动条样式*/
/*定义滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸*/
::-webkit-scrollbar {
  width: 5px;
  height: 8px;
  background-color: #f5f5f5;
}
/*定义滚动条轨道 内阴影+圆角*/
::-webkit-scrollbar-track {
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
  background-color: #f5f5f5;
}
/*定义滑块 内阴影+圆角*/
::-webkit-scrollbar-thumb {
  border-radius: 10px;
  -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  background-color: #bdbdbd;
}
/*滑块效果*/
::-webkit-scrollbar-thumb:hover {
  border-radius: 5px;
  -webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2);
  background: rgba(0, 0, 0, 0.4);
}
/*IE滚动条颜色*/
html {
  scrollbar-face-color: #bfbfbf;
  /*滚动条颜色*/
  scrollbar-highlight-color: #000;
  scrollbar-3dlight-color: #000;
  scrollbar-darkshadow-color: #000;
  scrollbar-shadow-color: #adadad;
  /*滑块边色*/
  scrollbar-arrow-color: rgba(0, 0, 0, 0.4);
  /*箭头颜色*/
  scrollbar-track-color: #eeeeee;
  /*背景颜色*/
}
/* 确保弹窗容器是定位参照物 */
.login-dialog.el-dialog {
  position: relative;
  /* 确保 closeDialog 相对于弹窗定位 */
}
/* 外部关闭按钮样式 */
.closeDialog {
  position: fixed;
  /* 放置在弹窗正下方 */
  top: var(--auth-close-top);
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 20001;
  /* 确保显示在弹窗上方 */
}
.closeDialog .close-icon {
  width: var(--auth-close-size);
  height: var(--auth-close-size);
  display: block;
}
.register-close {
  top: var(--auth-close-top);
}

