/* 认证页面共享样式 - login/reg/lostpwd/bind */
.form-control {
  height: 46px !important; border-radius: 0 14px 14px 0 !important; border: 2px solid transparent !important;
  padding: 0 14px !important; font-size: 14px !important; background: transparent !important;
  width: 100% !important; outline: none !important; line-height: normal !important;
  margin: 0 !important; display: block !important; color: #333 !important; font-weight: 500 !important;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
.form-control:focus { background-color: #fff !important; border-color: var(--primary-color) !important; box-shadow: none !important; }
.form-control::placeholder { color: #999; }
.form-group { margin-bottom: 16px !important; position: relative; }
.input-group { display: flex !important; gap: 0 !important; flex-wrap: nowrap !important; align-items: stretch !important; background: #f8f9fa !important; border-radius: 14px !important; transition: all .3s ease !important; }
.input-group:hover { background: #fff !important; box-shadow: 0 4px 12px rgba(0,0,0,.08) !important; }
.input-group .form-control { flex: 1 !important; min-width: 0 !important; }
.input-group-prepend { display: flex !important; }
.input-group-text { display: flex !important; align-items: center !important; padding: 0 14px !important; font-size: 14px !important; color: var(--primary-color) !important; background: transparent !important; border: none !important; border-radius: 14px 0 0 14px !important; height: 46px !important; white-space: nowrap !important; }
.input-group-text i { font-size: 18px !important; width: 18px !important; text-align: center !important; }
.input-group.send-code-group .input-group-text { border-radius: 14px 0 0 14px !important; }
.input-group.send-code-group .form-control { border-radius: 0 !important; }
.input-group-append { display: flex !important; }
.input-group-append .btn-outline-primary {
  white-space: nowrap !important; height: 46px !important; padding: 0 16px !important; font-size: 13px !important;
  color: var(--primary-color) !important; background: transparent !important; border: none !important;
  border-radius: 0 14px 14px 0 !important; cursor: pointer !important; transition: all 0.3s ease;
  flex-shrink: 0 !important; line-height: 46px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important;
}
.input-group-append .btn-outline-primary:hover { color: var(--primary-dark) !important; }
.password-wrapper { position: relative; flex: 1 !important; min-width: 0 !important; display: flex !important; }
.password-wrapper .form-control { padding-right: 45px; }
.password-eye { position: absolute; right: 15px; top: 50%; transform: translateY(-50%); color: #999; cursor: pointer; padding: 5px; z-index: 2; background: none; border: none; font-size: 16px; }
.password-eye:hover { color: var(--primary-color); }
.captcha-group .form-control { border-radius: 14px 0 0 14px !important; }
.login-captcha { height: 46px; width: auto; border-radius: 0 14px 14px 0 !important; cursor: pointer; }
.btn-primary {
  height: 46px !important; font-size: 16px; font-weight: 600; border-radius: 12px !important;
  background: linear-gradient(135deg, var(--gradient-start), var(--gradient-end)) !important;
  border: none !important; transition: all 0.3s ease; width: 100%; color: #fff; cursor: pointer;
  position: relative; overflow: hidden; line-height: 46px !important; padding: 0 !important;
}
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(24,144,255,0.3); }
.TencentCaptcha { width: 100%; height: 46px; font-size: 14px; border-radius: 12px; border: 1px solid #e0e0e0; background: #f8f9fa; color: #555; cursor: pointer; }
#geetest_captcha { margin-bottom: 12px; }
.geetest_holder { width: 100% !important; }
.geetest_btn_svg { display: none; }
.layui-form { margin: 0 !important; }
.layui-form input[type=checkbox] { display: inline-block !important; }
.layui-input, .layui-textarea { height: 46px !important; border-radius: 0 14px 14px 0 !important; border: 2px solid transparent !important; padding: 0 14px !important; font-size: 14px !important; background: transparent !important; }
.auth-right { padding: 60px 80px !important; }
.reg-form { background: #fff; padding: 40px 30px; border-radius: 24px; box-shadow: 0 10px 30px rgba(0,0,0,.08); margin-bottom: 20px; position: relative; overflow: hidden; }
.reg-form::before { content: ''; position: absolute; top: 0; right: 0; width: 200px; height: 200px; background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%); opacity: .05; border-radius: 0 0 0 100%; z-index: 0; }
.reg-form::after { content: ''; position: absolute; bottom: 0; left: 0; width: 150px; height: 150px; background: linear-gradient(135deg, var(--primary-color) 0%, var(--primary-dark) 100%); opacity: .05; border-radius: 0 100% 0 0; z-index: 0; }
.reg-form .form-group, .reg-form .agreement-row, .reg-form .remember-row, .reg-form .btn-primary, .reg-form .price-notice, .reg-form .submit-group { position: relative; z-index: 1; }
.auth-footer { display: flex; justify-content: center; margin-top: 16px; font-size: 14px; color: #999; }
.auth-footer a { color: var(--primary-color) !important; text-decoration: none !important; font-weight: 500 !important; margin-left: 4px; }
.auth-footer a:hover { text-decoration: underline !important; }
.err-tip { color: #e74c3c; font-size: 12px; margin-top: 2px; display: none; }
/* 登录页 - 记住我 */
.remember-row { display: flex !important; align-items: center !important; justify-content: space-between !important; margin-bottom: 16px !important; font-size: 14px !important; }
.remember-row label { display: flex !important; align-items: center !important; gap: 6px !important; cursor: pointer !important; color: #666 !important; margin: 0 !important; font-weight: normal !important; }
.remember-row input[type="checkbox"] { width: 16px !important; height: 16px !important; accent-color: var(--primary-color) !important; cursor: pointer !important; flex-shrink: 0 !important; display: inline-block !important; }
.remember-row .forgot-link { color: var(--primary-color) !important; text-decoration: none !important; font-size: 13px !important; }
.remember-row .forgot-link:hover { text-decoration: underline !important; }
.remember-row .layui-form-checkbox { display: none !important; }
/* 注册页 - 价格标签 */
.price-notice { margin-bottom: 12px; text-align: center; }
.price-tag { display: inline-flex; align-items: center; justify-content: center; padding: 6px 18px; background: linear-gradient(135deg, rgba(24,144,255,0.1), rgba(9,109,217,0.1)); border-radius: 12px; border: 1px solid rgba(24,144,255,0.15); box-shadow: 0 4px 12px rgba(24,144,255,0.08); animation: pricePulse 2s infinite; }
.price-tag i { font-size: 14px; margin-right: 8px; color: var(--primary-color); background: rgba(24,144,255,0.1); width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; border-radius: 50%; }
.price-tag span { font-size: 14px; color: #666; font-weight: 500; }
.price-tag b { font-size: 18px; margin: 0 4px; color: var(--primary-color); font-weight: 600; }
@keyframes pricePulse { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } }
/* 注册页 - 协议行 */
.agreement-row { display: flex !important; align-items: center !important; gap: 8px !important; margin-bottom: 12px !important; font-size: 14px !important; color: #666 !important; }
.agreement-row input[type="checkbox"] { width: 16px !important; height: 16px !important; accent-color: var(--primary-color) !important; cursor: pointer !important; flex-shrink: 0 !important; display: inline-block !important; }
.agreement-row label { cursor: pointer !important; margin: 0 !important; font-weight: normal !important; }
.agreement-row a { color: var(--primary-color) !important; text-decoration: none !important; cursor: pointer !important; }
.agreement-row a:hover { text-decoration: underline !important; }
.agreement-row .layui-form-checkbox { display: none !important; }
/* 找回密码页 - 提交组 */
.submit-group { margin-top: 16px !important; }
/* 找回密码页 - footer双链接 */
.auth-footer-between { display: flex; justify-content: space-between; margin-top: 16px; padding: 0 10px; }
.auth-footer-between a { color: #666; font-size: 14px; text-decoration: none; display: flex; align-items: center; gap: 6px; transition: color 0.3s; }
.auth-footer-between a:hover { color: var(--primary-color); }
.auth-footer-between a i { font-size: 14px; }
@media(max-width:991px) {
  .auth-right { padding: 40px 20px !important; }
  .reg-form { padding: 30px 20px; }
}
