:root {
  --admin-login-primary: #3478f6;
  --admin-login-primary-deep: #584cf3;
  --admin-login-text: #182033;
  --admin-login-muted: #8b93a7;
  --admin-login-border: #e3e7f0;
}

body.ui-admin-login-active #think_page_trace,
body.ui-admin-login-active #think_page_trace_open {
  display: none !important;
}

html body .login.ui-theme-login {
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 88% 8%, rgba(255, 255, 255, 0.16) 0 58px, transparent 59px),
    radial-gradient(circle at 18% 24%, rgba(255, 255, 255, 0.08) 0 82px, transparent 83px),
    #f5f7fc !important;
}

html body .login.ui-theme-login::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  z-index: 0;
  height: 470px;
  background: linear-gradient(145deg, #2f7bf6 0%, #4b61f3 44%, #5b4cf2 63%, transparent 63.2%);
  pointer-events: none;
}

html body .login.ui-theme-login::after {
  content: "";
  position: absolute;
  top: -74px;
  right: -66px;
  z-index: 0;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.12);
  pointer-events: none;
}

html body .login.ui-theme-login .login-page {
  position: relative;
  box-sizing: border-box;
  min-height: 100vh !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 260px 20px 64px !important;
}

html body .login.ui-theme-login .login-page::before {
  content: "欢迎回来";
  position: absolute;
  top: 78px;
  left: 50%;
  z-index: 2;
  box-sizing: border-box;
  width: min(540px, calc(100% - 40px));
  transform: translateX(-50%);
  color: #fff;
  font-size: 36px;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: -0.02em;
}

html body .login.ui-theme-login .login-page::after {
  content: "登录后统一管理您的全部小程序服务";
  position: absolute;
  top: 137px;
  left: 50%;
  z-index: 2;
  box-sizing: border-box;
  width: min(540px, calc(100% - 40px));
  transform: translateX(-50%);
  color: rgba(255, 255, 255, 0.72);
  font-size: 15px;
  font-weight: 400;
  line-height: 24px;
}

html body .login.ui-theme-login .login-card {
  position: relative;
  z-index: 2;
  display: block !important;
  box-sizing: border-box;
  width: min(540px, 100%) !important;
  min-height: 0 !important;
  overflow: hidden;
  border: 1px solid rgba(226, 230, 241, 0.94);
  border-radius: 28px !important;
  background: rgba(255, 255, 255, 0.98) !important;
  box-shadow: 0 24px 64px rgba(36, 50, 96, 0.14) !important;
  -webkit-backdrop-filter: blur(16px);
  backdrop-filter: blur(16px);
}

html body .login.ui-theme-login .login-visual {
  display: none !important;
}

html body .login.ui-theme-login .login-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  padding: 32px 30px 28px !important;
  border-radius: inherit;
  background: transparent !important;
}

html body .login.ui-theme-login .login-form-title {
  order: 10;
  margin: 0 0 22px !important;
  color: var(--admin-login-text) !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 34px !important;
  text-align: left !important;
}

html body .login.ui-theme-login .login-form-title {
  font-size: 0 !important;
}

html body .login.ui-theme-login .login-form-title::after {
  content: "账号登录";
  font-size: 24px;
}

html body .login.ui-theme-login .login-form-container {
  order: 20;
}

html body .login.ui-theme-login .login-form-container .el-form-item {
  margin-bottom: 22px !important;
}

html body .login.ui-theme-login .login-form-container .el-form-item__content {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  line-height: normal !important;
}

html body .login.ui-theme-login .login-form-container .el-form-item__content::before {
  width: 100%;
  margin: 0 0 10px;
  color: #344054;
  font-size: 15px;
  font-weight: 600;
  line-height: 22px;
}

html body .login.ui-theme-login .login-form-container .el-form-item:nth-child(1) .el-form-item__content::before {
  content: "账号";
}

html body .login.ui-theme-login .login-form-container .el-form-item:nth-child(2) .el-form-item__content::before {
  content: "密码";
}

html body .login.ui-theme-login .el-input-group__prepend {
  display: none !important;
}

html body .login.ui-theme-login .el-input__wrapper {
  box-sizing: border-box;
  min-height: 58px !important;
  padding: 0 18px !important;
  border: 1px solid var(--admin-login-border) !important;
  border-radius: 15px !important;
  background: #f8f9fd !important;
  box-shadow: 0 0 0 3px transparent !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease !important;
}

html body .login.ui-theme-login .el-input__wrapper:hover {
  border-color: #b8c6f6 !important;
  background: #fff !important;
}

html body .login.ui-theme-login .el-input__wrapper.is-focus {
  border-color: #5b6ff5 !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(75, 99, 244, 0.12) !important;
}

html body .login.ui-theme-login .el-input__inner {
  height: 56px !important;
  color: var(--admin-login-text) !important;
  font-size: 16px !important;
  font-weight: 400;
}

html body .login.ui-theme-login .el-input__inner::placeholder {
  color: #a6adbd !important;
}

html body .login.ui-theme-login .login-form-extra {
  order: 30;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 10px;
  margin: 0 0 24px !important;
  color: #7b8498 !important;
  font-size: 14px;
}

html body .login.ui-theme-login .login-form-extra > :last-child {
  display: flex;
  justify-content: flex-end;
}

html body .login.ui-theme-login .el-checkbox__label {
  color: #7b8498 !important;
  font-size: 14px;
}

html body .login.ui-theme-login .el-checkbox__inner {
  border-color: #d7dce7;
  border-radius: 4px;
}

html body .login.ui-theme-login .el-checkbox__input.is-checked .el-checkbox__inner {
  border-color: var(--admin-login-primary) !important;
  background: var(--admin-login-primary) !important;
}

html body .login.ui-theme-login .login-bottom-bar > button {
  order: 40;
  justify-self: end;
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #5368f4 !important;
  font-size: 14px !important;
  font-weight: 500;
  line-height: 22px;
  cursor: pointer;
}

html body .login.ui-theme-login .login-submit-btn {
  order: 50;
  width: 100% !important;
  height: 56px !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 15px !important;
  background: linear-gradient(135deg, var(--admin-login-primary) 0%, var(--admin-login-primary-deep) 100%) !important;
  box-shadow: 0 12px 26px rgba(75, 99, 244, 0.24) !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em;
}

html body .login.ui-theme-login .login-submit-btn > span {
  font-size: 0;
}

html body .login.ui-theme-login .login-submit-btn > span::after {
  content: "立即登录";
  font-size: 17px;
}

html body .login.ui-theme-login .login-submit-btn:hover,
html body .login.ui-theme-login .login-submit-btn:focus {
  background: linear-gradient(135deg, #4385f7 0%, #6557f4 100%) !important;
  box-shadow: 0 14px 30px rgba(75, 99, 244, 0.3) !important;
}

html body .login.ui-theme-login .login-bottom-bar {
  display: contents !important;
}

html body .login.ui-theme-login .login-bottom-bar > div {
  display: contents !important;
}

html body .login.ui-theme-login .login-bottom-bar > div > button {
  order: 60;
  justify-self: center;
  position: static !important;
  min-height: auto !important;
  justify-content: center !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #8a92a5;
}

html body .login.ui-theme-login .login-bottom-bar > div > button {
  margin: 18px 0 0 !important;
  padding: 0 !important;
  color: #8a92a5 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
}

html body .login.ui-theme-login .login-bottom-bar > div > button > span {
  font-size: 0;
}

html body .login.ui-theme-login .login-bottom-bar > div > button > span::before {
  content: "还没有账号？";
  color: #8a92a5;
  font-size: 14px;
}

html body .login.ui-theme-login .login-bottom-bar > div > button > span::after {
  content: "立即注册";
  margin-left: 6px;
  color: #3f70f6;
  font-size: 14px;
  font-weight: 600;
}

@media (max-width: 600px) {
  html body .login.ui-theme-login::before {
    height: 420px;
    background: linear-gradient(145deg, #2f7bf6 0%, #4b61f3 45%, #5b4cf2 64%, transparent 64.2%);
  }

  html body .login.ui-theme-login .login-page {
    padding: 245px 16px 44px !important;
  }

  html body .login.ui-theme-login .login-page::before {
    top: 62px;
    width: calc(100% - 48px);
    font-size: 32px;
  }

  html body .login.ui-theme-login .login-page::after {
    top: 112px;
    width: calc(100% - 48px);
    font-size: 14px;
  }

  html body .login.ui-theme-login .login-card {
    border-radius: 24px !important;
  }

  html body .login.ui-theme-login .login-form {
    padding: 28px 20px 26px !important;
  }

  html body .login.ui-theme-login .login-form-title {
    margin-bottom: 20px !important;
    font-size: 22px !important;
  }

  html body .login.ui-theme-login .login-form-title::after {
    font-size: 22px;
  }

  html body .login.ui-theme-login .el-input__wrapper {
    min-height: 56px !important;
  }

  html body .login.ui-theme-login .el-input__inner {
    height: 54px !important;
  }
}

@media (max-width: 360px) {
  html body .login.ui-theme-login .login-page {
    padding-right: 12px !important;
    padding-left: 12px !important;
  }

  html body .login.ui-theme-login .login-form {
    padding-right: 16px !important;
    padding-left: 16px !important;
  }
}
