/* 注册弹窗页面样式 */
:root {
  --primary-blue: #3b82f6;
  --primary-blue-hover: #2563eb;
  --primary-blue-light: #dbeafe;
  --white: #ffffff;
  --bg-light-gray: #f5f5f5;
  --bg-gray: #f9fafb;
  --border-color: #e5e7eb;
  --text-dark: #1f2937;
  --text-gray: #6b7280;
  --error-red: #ef4444;
}

html,
body {
  overflow: hidden;
}

/* 主容器 */
.auth-popup-main {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

.auth-popup-wrapper {
  position: relative;
  display: flex;
  width: 100%;
  max-width: 1200px;
  justify-content: center;
}

/* 背景装饰 */
.auth-popup-bg-1 {
  width: 174px;
  height: 224px;
  background: url('../../plugins/register/images/corner_1.gif') no-repeat;
  position: absolute;
  transform: translateX(-309px);
  z-index: 1;
}

.auth-popup-bg-2 {
  width: 136px;
  height: 102px;
  background: url('../../plugins/register/images/corner_2.gif') no-repeat;
  position: absolute;
  transform: translate(-200px, 38px);
  z-index: 3;
}

/* 主容器 */
.auth-popup-container {
  width: 715px;
  height: 500px;
  background: url('../../plugins/register/images/loginBg_06.png') center no-repeat;
  padding: 45px;
  border-radius: 15px;
  margin-top: 107px;
  margin-left: 70px;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  z-index: 2;
}

.auth-popup-login {
  background: none;
  padding: 0;
  border-radius: 0;
  margin: 0;
  box-sizing: border-box;
  position: relative;
}

/* 左侧福利区域 */
.auth-popup-left {
  width: 295px;
  flex-shrink: 0;
}

/* 左侧登录区域 */
.auth-popup-login .auth-popup-left {
  width: 320px;
  height: 500px;
  background: url('../../plugins/register/images/login_bg.png') no-repeat;
  background-size: 100% 100%;
  box-sizing: border-box;
  color: #fff;
  position: relative;
}

.auth-popup-info {
  width: 100%;
  margin-top: 170px;
  padding: 0 30px;
  box-sizing: border-box;
  list-style: none;
}

.auth-popup-info li {
  font-size: 15px;
  width: 100%;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.2);
  border-radius: 34px;
  margin-bottom: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.auth-popup-title {
  color: #353c35;
  font-size: 35px;
  font-weight: normal;
  margin-top: 15px;
}

.auth-popup-feature {
  display: flex;
  align-items: center;
}

.auth-popup-feature:nth-child(2) {
  margin-top: 0;
}

.auth-popup-feature:nth-child(3) {
  margin-top: 50px;
}

.auth-popup-feature:nth-child(4) {
  margin-top: 30px;
}

.auth-popup-feature dt {
  color: #353c35;
  width: 46px;
  height: 46px;
  border: 1px solid #353c35;
  border-radius: 8px;
  margin-right: 25px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}

.auth-popup-feature dt strong {
  font-size: 43px;
  height: 46px;
  line-height: 49px;
}

.auth-popup-feature dt span {
  font-size: 12px;
  width: 15px;
  height: 35px;
  line-height: 15px;
}

.auth-popup-feature dt p {
  font-size: 31px;
  text-align: center;
  font-weight: bold;
  width: 100%;
  height: 100%;
  margin: 0;
}

.auth-popup-feature dd {
  font-size: 20px;
}

.auth-popup-feature dd em {
  font-size: 13px;
  font-style: normal;
}

.auth-popup-benefits {
  padding-left: 49px;
  margin-top: 10px;
  list-style: none;
}

.auth-popup-benefits li {
  font-size: 15px;
  line-height: 30px;
  padding-left: 25px;
  background: url('../../plugins/register/images/reg_ico04.png') left no-repeat;
}

/* 右侧登录区域 */
.auth-popup-right {
  background: var(--white);
  border-radius: 15px;
  padding: 30px 0 0;
  width: 100%;
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
}

.auth-popup-login .auth-popup-right {
  border-radius: 0;
  padding: 0;
}

/* 关闭按钮 */
.auth-popup-close {
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAABkklEQVQ4T32SQW9SQRSFz3nzYOKzGv6TWmMxRWiJKzYshoSEBb+EBQnsCMtKLSYuGmvVpPUHadSHeTDjNZfwmgclneVkvjnnnnPZ6XQ+icg/7/3byWTyGw8c51wiIuckD+icuwbwnOSVMeZ0NBr92ccqBGAGoArglr1e72mWZecADkXkOoRwsqtcUDoCcBNCaFB/73a7B6vVak7yhcKlUqmRKxchkt+zLDueTqc/16Cedrv9xBhzoTCAz8vlslYulwPJuYi8VnvGmDfj8fiHvr8Dc+UQwnsReSkilyQ9gGO1Z4yp59A9UC/6/f6jxWIx26jo1RfvfWN37i1FfdVsNsuVSmVGsrb+mbxKkqQ+GAz+FtPeAjUIku9UjeQ3EVGrh6pqrT0ZDoe/cvgO3O0pjuOqtTakafpRewbw1VrbyOE1qHOlaapdVjXyKIpqeRCadhzHHwA8U9h7X9d52Wq1HidJcraxtwXltjZLMldYeybZ1JW7BPBqX+TFMDbwhdpew865G+0riqLTYk/79jVfEgDJf2fo1E1lMC7SAAAAAElFTkSuQmCC') no-repeat;
  background-size: 100% 100%;
  cursor: pointer;
  position: absolute;
  right: -35px;
  top: -33px;
  z-index: 9;
}

.auth-popup-login .auth-popup-close {
  right: 12px;
  top: 12px;
}

/* 头部标题 */
.auth-popup-header {
  width: 100%;
  display: flex;
  justify-content: space-around;
  position: relative;
}

.auth-popup-header-title {
  font-size: 20px;
  width: 100%;
  padding-bottom: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
}

.auth-popup-header-title strong {
  text-align: center;
  height: 25px;
  line-height: 25px;
  background: url('../../plugins/register/images/reg_ico01.png') left no-repeat;
  padding-left: 40px;
  display: inline-block;
}

.auth-popup-header-title p {
  color: #8b92a4;
  font-size: 12px;
  margin-top: 10px;
  margin-bottom: 0;
}

/* 登录body区域 */
.auth-popup-body {
  padding: 1.385rem 2rem;
  box-sizing: border-box;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* Tab切换 */
.auth-popup-tabs {
  display: flex;
  gap: 0.5rem;
  border-bottom: 2px solid var(--border-color);
}

.auth-popup-tab {
  flex: 1;
  padding: 0.75rem 1rem;
  text-align: center;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--text-gray);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: -2px;
}

.auth-popup-tab.active {
  color: var(--primary-blue);
  border-bottom-color: var(--primary-blue);
}

.tab-content {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

/* 表单样式 */
.popup-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.form-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-dark);
  flex-wrap: nowrap;
}

.form-input {
  width: 100%;
  padding: 0.875rem 1rem;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  font-size: 0.95rem;
  color: var(--text-dark);
  background: var(--white);
  transition: all 0.2s ease;
  box-sizing: border-box;
}

.form-input:focus {
  outline: none;
  border-color: var(--primary-blue);
  box-shadow: 0 0 0 3px var(--primary-blue-light);
}

.form-input.error {
  border-color: var(--error-red);
}

.form-input.error:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.form-error {
  font-size: 0.8rem;
  color: var(--error-red);
  display: none;
  font-weight: normal;
  margin-left: auto;
  padding-left: 0.5rem;
  white-space: nowrap;
  flex-shrink: 0;
  max-width: 80%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.form-error.show {
  display: inline-block;
}

/* 输入组 */
.input-group {
  display: flex;
  gap: 0.75rem;
  align-items: stretch;
}

.input-group .form-input {
  flex: 1 1 auto;
  min-width: 140px;
}

.input-group .btn-code {
  flex: 0 0 auto;
  width: auto;
}

/* 验证码组 */
.verify-group {
  margin-bottom: 0;
}

.verify-img {
  width: 116px;
  height: 50px;
  cursor: pointer;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  flex-shrink: 0;
  box-sizing: border-box;
}

/* 按钮 */
.btn-code {
  background: var(--white);
  color: var(--primary-blue);
  border: 1px solid var(--primary-blue);
  padding: 0.875rem 0.5rem;
  white-space: nowrap;
  min-width: 116px;
  font-size: 0.8rem;
  width: auto;
  line-height: 1.2;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.btn-code:hover:not(:disabled) {
  background: rgba(59, 130, 246, 0.1);
}

.btn-code:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  color: var(--text-gray);
  border-color: var(--border-color);
}

.btn-submit {
  padding: 0.875rem 1.5rem;
  border: none;
  border-radius: 8px;
  font-size: 0.95rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  background: var(--primary-blue);
  color: var(--white);
  width: 100%;
  margin-top: 0.5rem;
}

.btn-submit:hover:not(:disabled) {
  background: var(--primary-blue-hover);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
}

.btn-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* 链接区域 */
.auth-popup-links {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.875rem;
}

.auth-popup-links .auth-link {
  font-weight: 500;
}

/* 二维码区域 */
.auth-popup-qr {
  position: relative;
}

.auth-popup-login .auth-popup-qr {
  margin-top: 2rem;
}

.auth-popup-qr-img {
  width: 180px;
  height: 180px;
  border: none;
  margin: 10px auto;
  background: var(--bg-light-gray);
  border: var(--border-color) solid 1px;
  text-align: center;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-sizing: border-box;
}

.auth-popup-qr-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  border-radius: 8px;
}

.qr-loading,
.qr-error {
  padding: 2rem;
  color: var(--text-gray);
  font-size: 0.875rem;
}

.qr-error a {
  color: var(--primary-blue) !important;
  text-decoration: underline;
}

.qr-error a:hover {
  color: var(--primary-blue-hover) !important;
}

.qr-agree-tip {
  width: 180px;
  height: 180px;
  margin: 10px auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  color: var(--text-gray);
  font-size: 0.875rem;
  text-align: center;
  background: var(--bg-light-gray);
  border: var(--border-color) solid 1px;
  box-sizing: border-box;
  border-radius: 8px;
  flex-direction: column;
}

.qr-agree-tip a {
  color: var(--primary-blue) !important;
  text-decoration: none;
}

.qr-agree-tip a:hover {
  color: var(--primary-blue-hover) !important;
}

.qr-tip-sub {
  font-size: 0.875rem;
  color: var(--text-gray);
  text-align: center;
  margin-top: 1.75rem;
}

/* 第三方登录 */
.auth-popup-third {
  margin-top: 1.5rem;
  padding: 0;
  width: 100%;
  box-sizing: border-box;
}

.third-party-title {
  text-align: center;
  margin-bottom: 1rem;
  position: relative;
}

.third-party-title::before,
.third-party-title::after {
  content: '';
  position: absolute;
  top: 50%;
  width: 30%;
  height: 1px;
  background: var(--border-color);
}

.third-party-title::before {
  left: 0;
}

.third-party-title::after {
  right: 0;
}

.third-party-title span {
  position: relative;
  background: var(--white);
  padding: 0 1rem;
  color: var(--text-gray);
  font-size: 0.875rem;
}

.third-party-buttons {
  display: flex;
  gap: 2rem;
  justify-content: center;
}

.third-party-btn {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1.5rem;
  border: 1px solid var(--border-color);
  border-radius: 8px;
  background: var(--bg-gray);
  color: var(--text-dark);
  text-decoration: none;
  font-size: 0.9rem;
  transition: all 0.2s ease;
}

.third-party-btn:hover {
  border-color: var(--primary-blue);
  text-decoration: none;
}

.third-party-qq {
  color: #12b7f5;
  position: relative;
  padding-left: 50px;
}

.third-party-qq:hover {
  color: #12b7f5;
  text-decoration: none;
}

.third-party-qq::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAADq0lEQVRYR8WXXWwUVRTHf3dmpzPblW2LFg1gUYIiwhORGASt8aOQ1BSjvJAYI8YXY2xC1ERNfNEEiIlR0b5peNDEGJSHGiCkKtWgRIUYgTQQDNqaIKTUbgvtzOzM7jV3dhfLdr5KMLuvcz5+e885/3OvIOXPceQdUiutE3APsAq4Hbi56n4B+AM4KeGoKOs/WJY4kya0SDKyPe9BIcUTQA+wJMm++n0Y6JdC7s0axmCcTySA48ilUvjPCcRWBLekTHy1meS8RO4WMvORZYmzYTFCAWzPe1iUxTYE3deUuN5Jsk9q8t2sYXxT/2kWgOP4PVLjjWqtr0t+FaTSG7xlWZn+mUGvAlD/HCl2Xu/ktYQKAiFfnXkSVwBUzRGlXWmO/diYz55hl8OjHv+4khZDcO9NGTYvMVm/wIg/Nck+pN5b64krALbrbRdCvJZ05ttPTNN32saX4ZZPL7XYsTpHJma+pJQ7sqbxuooQmAWjVhafJXW7Sv7+KTuJkS23mby35oZoOzUdmtyiRjQAcIr+LuDFuMhHx3y6v51ITF4z+GTdPLoWNsXZf2A1ZXqFUji00kCSyPT+cpnP/3RTA9y/wGBPZ75yxOG/Ycr6o8Iu+s8I2B0X2SlJ1h8s8NdUOTXAPENwZGMr7ZYW6SNhq3CK/ofAC3GRC0XJmv3jTHoRnRfibGjw48Y2OnLRAECfAlBa3RkHcOZSia6vJ5iOav0QZzUFX3TmWdseO5bfKQC1ODriAJ7/6TJ7R9LXvxZreV5n4JEWTD2yE0YUgAOYcQBPHb7EwN/F1PWvGS5u1vh+Qyu5aFFwEwGmfMmmQ5OcKPhzBrg1p3HgoZa4RgwAYkvw6VmHl45NzTl5zeGVlc28fHc2yj8oQWwTPj44yZFR75oBVrToDHa1RvkHTRg7hiv7x7nopp//+kw3mhpDPW1RAH2JQrTqq3GaNHBLzAkkb4ig9mNumdOb5ocCVIQoQYpV9y/PZ/hyxGXnyenUpXh2mcW2FVl+vujz2OLQnVCRYhUxzTJSavjAwQIXnORyqPvBoa5WFjXHqmBlGSmApHVckvDm8Sk+/t3BS86PkuEnO0zeXp0LF6H6dRxAxFxI1DJae6DAOTtF9mqRLF3wa3cb883ZKjjrQhKUIeFK9tu4zztDNkMTfnAK7abGhoUGi5p1Rp0y+88VOW+XUap7Z16n964s94XtgagrWbUUjbuU1tq7odfyGkRDHyb/nUQDn2Yz1aZhj9N6yfu/nuf/Ajthrbzzm/TtAAAAAElFTkSuQmCC) no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
}

.third-party-wechat {
  color: #07c160;
  position: relative;
  padding-left: 50px;
}

.third-party-wechat:hover {
  color: #07c160;
  text-decoration: none;
  border: #07c160 solid 1px !important;
}

.third-party-wechat::before {
  content: '';
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAE1klEQVRYR8VXf0yUZRz/PO97B+/x0wQPBsQNBJVCm8tVziEqwWoZmfVHtlWytUY43bTWBKMlJWhLM8u2Nk36o8x+kOnox1iJRTbKcgskEIRAJtyZgQfnvffjvac9z9173R2c70uz8fnr7n0+3+/zeb+/nucl0AlZpvlUUFYQYBmAQgA5ANIC5lYAAwA6KXCW+MQfJYn06nFNtEhOj2cVoWQ9gHIAFi1+YH0QwAlKaJPJaGy9kU1UAbJMcynxPk1AKkCQrnPjcBrFKAU9QqjhkCSR/ul8TCvA6fGUEB/ZCoIH/tPGkUYUzVSgb5iMxm8jl6YIkGVvORVQG8j1TdmfOfHXBl6RJMOJUKdhAtibg5LdN3tzdUMmAoRuD41EUADLOYhyIDLsPqqg29GG8xOnMCR3wO69AgIBc4zpyDEtRWFiCebHscbQCYpmUHGLWhNBAU6Xp54QUh3q5jd7M76w7sGQs+OG3hfEL8e6tO0oSFipSwWltMEUa6xhZC6At5qPHA2t9mMjtfj6ytu6HKqkR9Jrsda8TduGdYdAN7AW5QJkt/cAgM2q5XHrbv7mKlKMWfDBhzHP5TDniYZUxInJsLouBp8/ntGA0tRKbRHAW1KMYQthEw6C0qIOmUHn76jrWwOWe4bcuGWomf8lPNSFmp67gyKSDPNQt6ANyQYz6i/eh15HO+eLxIi6/B+QIS3UEjEIn1hKnG7vRgIcUdnvD29F69+NQWNzTC6qLO9xAfsHHoNDGeNrkpCAyuzDmBdjwb6BR3HVM8yLUxLjUZZaxWtCCxSoILLbyxK9SSW/dKEIl+ROLduwddYFixNLESuYcM1rg0I9sJjuQJZ0O7JNhVxYFBxkAtisLlYJz3cvwVX3JV0CTGIiys0vQKFe/HLtOIblLr55KDKlRbg35RkUp2wE8dd8KE4zAezgyFaf7uxdgz+d5zQFsOLbkLEL7eNN6Jz4TpPP5kVl9iHEi3NCuUNMgAwgVn366ehONNv2azpcn/4iuifb0DXpP+zY2wnEEBYBVpAMalRuSyjGtpxPeKEG4JoigLVa7YUVcCjjUUXcKhXizuS1YO2qYpOlEXlx96CubzXGPCMwkBjsyPsGRhKLur4SuH1OTn0qcx9WpVSECQhLAVth+XxnMEiaImR1SgWsrn50TZ4OrpWlPguW749GauFU7BCIiHVp1RAg4nNrfTAKeXF3cWEB8BSEFaG60j7+GT68XM1nfyQeTqvBmfFjYQNIM2cBwlxjJvYWBLuMF2FYG4Y6ahp9FSdte6f4ftD8HM7Zv+JVP1OwubJn0a+q2cEpg0hd8VIXdvQshw8KH61GIqH/+lnYvTYsSSrjk49FaaZYOfdJVGS9yc38gyhiFKsOR1y96JhoQdEtT4D1eyT+mPwe7/U/NKP9TWISXs5vhTmG3WfhH8XsV+RhpNdr0+gunLS9rovOuqLK0oilSferfP9hxP5Ndxzr8gqg5a93eZWzyo8GFsHNlg9QkFDkp0Qex1zENBcSvSLY6G4bO4rzk6dgc/Xz0czCnW1ajOvKOHocZ9Cw8GewAuT7R15IeBqiXMn0ilB5Lp8DXupGrBDPhxHDT2MfQxIT/eGPdiULpGL2LqXqG8zqtVwVMasfJv9GYhY/zUILb9Y+TiOr///6PP8HdYYry1j17a8AAAAASUVORK5CYII=) no-repeat;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
}

/* 注册页面第三方登录样式（保留兼容性） */
.auth-popup-third-title {
  position: relative;
  width: 100%;
  height: 25px;
  display: inline-block;
  line-height: 25px;
  font-size: 14px;
  color: #8d949e;
  text-align: center;
}

.auth-popup-third-title::before {
  content: '';
  position: absolute;
  top: 12px;
  left: 0;
  width: 100px;
  height: 1px;
  background: #dadde1;
}

.auth-popup-third-title::after {
  content: '';
  position: absolute;
  top: 12px;
  right: 0;
  width: 100px;
  height: 1px;
  background: #dadde1;
}

.auth-popup-third-list {
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: space-around;
  margin-top: 0.5rem;
  list-style: none;
  padding: 0;
}

.auth-popup-third-list li {
  display: flex;
}

.auth-popup-third-qq {
  color: var(--text-dark);
  height: 20px;
  line-height: 20px;
  background: url('../../plugins/register/images/reg_ico02.png') left no-repeat;
  padding-left: 22px;
  text-decoration: none;
}

.auth-popup-third-wx {
  color: var(--text-dark);
  height: 20px;
  line-height: 20px;
  background: url('../../plugins/register/images/reg_ico03.png') left no-repeat;
  padding-left: 22px;
  text-decoration: none;
}

/* 协议区域 */
.auth-popup-agreement {
  color: #666;
  font-size: 12px;
  width: 100%;
  text-align: center;
  position: absolute;
  left: 0;
  bottom: 15px;
}

.auth-popup-agreement a {
  color: #666;
}

/* 隐藏类 */
.hidden {
  display: none !important;
}

/* 链接样式 */
.auth-link {
  color: var(--primary-blue) !important;
  text-decoration: none;
}

.auth-link:hover {
  color: var(--primary-blue-hover) !important;
  text-decoration: underline;
}

/* 协议复选框 */
.auth-agree {
  vertical-align: -0.175rem;
  margin-right: 0.2rem;
  accent-color: var(--primary-blue);
  width: 17px;
  height: 17px;
  cursor: pointer;
}