/* =========================================================
 * 注册页样式（去重/合并/消冲突；不改布局与交互）
 * ======================================================= */

/* ------------------ 基础 ------------------ */
body { background: rgba(255, 255, 255, 0.65); /* 半透明白底 */
  backdrop-filter: blur(14px) saturate(160%) contrast(105%);
  -webkit-backdrop-filter: blur(14px) saturate(160%) contrast(105%); }

.right-sidebar,
.no-login-prompt,
.friendly-link { display:none !important; }

.footer { background:transparent; margin-top:0; }
.footer .infomation { padding:20px 0; }
@media screen and (max-height:880px){ .footer{ position:static; } }

/* ------------------ 顶部 ------------------ */
.register-top { height:100px; }
.register-top .register-logo {
  padding-left:30px; width:40%; line-height:100px;
}
.register-top .register-logo img{
  display:inline-block; vertical-align:middle;
  max-width:260px; max-height:70px;
}
.register-top .logo-back{
  height:100px; line-height:100px; padding-right:24px;
}

/* ------------------ 页面框架 ------------------ */
.register-content{
  padding-bottom:30px; background: rgba(255, 255, 255, 0.65); /* 半透明白底 */
  backdrop-filter: blur(14px) saturate(160%) contrast(105%);
  -webkit-backdrop-filter: blur(14px) saturate(160%) contrast(105%);
  border:1px solid rgba(182,192,219,.3);
  box-shadow:0 2px 12px rgba(182,192,219,.4);
}
.register-content .reg-top{
  width:960px; height:50px; padding:40px 0 0 30px; margin:0 auto;
  background:#fff !important; text-align:left;
}
.register-content .reg-top h3{
  display:inline-block; margin-right:10px; line-height:50px;
  font-size:20px; color:#454555;
}
.register-content .reg-top span{ display:inline-block; font-size:12px; color:#454555; }

/* ------------------ 表单与右侧登录 ------------------ */
.reg-content{ padding-top:60px; }
.reg-content .reg-form{ float:left; }
.reg-content .reg-form .el-form-item{ margin-bottom:20px; }
.reg-content .reg-form .el-form-item__content{ width:450px; }
.reg-content .reg-form .reg-btn{
  display:block; width:300px; height:44px; line-height:44px; text-align:center;
  background-color:#3369E3; border-radius:2px; font-size:16px; color:#fff;
}
.reg-content .reg-form .reg-btn.disabled{
  background:rgba(206,218,238,.5);
  color:rgba(43,43,43,.5) !important;
  border:1px solid rgba(206,218,238,.2);
  box-shadow:2px 2px 5px rgba(0,0,0,.05);
}

.reg-login{
  float:right; width:343px; height:316px; padding:0 80px;
  border-left:1px solid #dfe3f1;
}
.reg-login .login-title{ font-size:16px; color:#666; margin-bottom:56px; }
.reg-login .login-title a{ color:#3c7ee5; }
.reg-login .login-other p{ font-size:14px; color:#666; margin-bottom:40px; }
.reg-login .login-other a{
  display:inline-block;line-height:76px;
  text-align:center; border-radius:100%;
}

/* 验证码按钮 */
.el-code-btn{
  text-align:center; color:#3C7EE5; background-color:#F1F6FE;
}

/* ------------------ 弹窗美化：登录/注册共用 ------------------ */
.qr-code-wx .el-dialog,
.wx-qr-dialog{
  border-radius:8px; overflow:hidden;   /* 磨砂背景关键 */
  background: rgba(255, 255, 255, 0.3); /* 半透明背景 */
  backdrop-filter: blur(12px); /* 模糊背景 */
  -webkit-backdrop-filter: blur(12px); /* Safari 支持 */position:relative;
  box-shadow:0 12px 28px rgba(0,200,100,.35), 0 20px 40px rgba(0,200,100,.18);
  animation:smokeFloat 6s ease-in-out infinite alternate;
  will-change:box-shadow, transform; backface-visibility:hidden; transform:translateZ(0);
}
.qr-code-wx .el-dialog::after,
.wx-qr-dialog::after{
  content:""; position:absolute; inset:-20px; border-radius:16px;
  background:
    radial-gradient(circle at 30% 40%, rgba(0,255,120,.25), transparent 70%),
    radial-gradient(circle at 70% 60%, rgba(0,220,100,.15), transparent 80%);
  filter:blur(20px); z-index:-1; animation:smokeMove 10s ease-in-out infinite alternate;
}
@keyframes smokeFloat{
  0%{   box-shadow:0 10px 20px rgba(0,200,100,.35), 0 20px 40px rgba(0,200,100,.15); }
  50%{  box-shadow:0 14px 32px rgba(0,230,120,.5), 0 26px 60px rgba(0,230,120,.22); }
  100%{ box-shadow:0 18px 36px rgba(0,200,100,.4), 0 30px 70px rgba(0,200,100,.2); }
}
@keyframes smokeMove{
  0%{   transform:translate(-5px,-5px) scale(1.0); opacity:.60; }
  50%{  transform:translate( 5px,10px) scale(1.1); opacity:.80; }
  100%{ transform:translate(-8px, 4px) scale(1.05); opacity:.65; }
}

/* 统一 body 内边距（仅作用于这两类弹窗） */
.qr-code-wx .el-dialog__body,
.wx-qr-dialog .el-dialog__body{ padding:20px; }

/* 关闭按钮（统一作用域） */
.qr-code-wx .el-dialog__header,
.wx-qr-dialog .el-dialog__header{
  position:relative; padding:10px 56px 6px 12px; border-bottom:0;
}
.qr-code-wx .el-dialog__headerbtn,
.wx-qr-dialog .el-dialog__headerbtn{
  position:absolute; top:6px; right:6px; width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  border-radius:10px; transition:background-color .15s ease, box-shadow .15s ease; z-index:3;
}
.qr-code-wx .el-dialog__close,
.wx-qr-dialog .el-dialog__close{ font-size:20px; line-height:1; }
.qr-code-wx .el-dialog__headerbtn:hover,
.wx-qr-dialog .el-dialog__headerbtn:hover{ background:#ecf5ff; }
.qr-code-wx .el-dialog__headerbtn:active,
.wx-qr-dialog .el-dialog__headerbtn:active{ background:#d9ecff; }
.qr-code-wx .el-dialog__headerbtn:focus-visible,
.wx-qr-dialog .el-dialog__headerbtn:focus-visible{
  outline:0; box-shadow:0 0 0 2px rgba(64,158,255,.25);
}

/* 标题与提示 */
.qr-header{ text-align:center; margin-bottom:8px; }
.qr-header .iconfont{ font-size:28px; margin-right:6px; color:#07c160; }
.qr-title{ font-size:18px; font-weight:700; color:#222; }
.qr-subtitle{ font-size:12px; color:#8c8c8c; margin-top:2px; }

/* 二维码卡片与特效 */
.qr-card{ padding:14px 14px 10px; }
.qr-box{
  position:relative; width:260px; height:260px; margin:0 auto 10px;
  display:grid; place-items:center; overflow:hidden;
  border-radius:10px; background:#fff; border:1px solid #f2f3f7;
}
.qr-img{ width:220px; height:220px; object-fit:contain; image-rendering:pixelated; border-radius:6px; }

/* 呼吸光圈（轻量） */
.qr-ring{ position:absolute; inset:0; border-radius:10px; pointer-events:none; }
.qr-anim-scope.anim-active .qr-ring{ animation:ringPulse 2.8s infinite; }
@keyframes ringPulse{
  0%{   box-shadow:0 0 0 0 rgba(7,193,96,.18); }
  70%{  box-shadow:0 0 0 10px rgba(7,193,96,0); }
  100%{ box-shadow:0 0 0 0 rgba(7,193,96,0); }
}

/* 炫光扫动 */
.qr-glint{
  position:absolute; left:0; right:0; top:-40%; height:40%;
  background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(7,193,96,.16) 50%, rgba(255,255,255,0) 100%);
  filter:blur(1px); pointer-events:none;
}
.qr-anim-scope.anim-active .qr-glint{ animation:scanDown 2.6s ease-in-out infinite; }
@keyframes scanDown{ 0%{ top:-40%; } 60%{ top:100%; } 100%{ top:100%; } }

/* 未同意时暂停 */
.scan-paused .qr-ring,
.scan-paused .qr-glint{ animation-play-state:paused !important; }

/* 遮罩与提示 */
.qr-mask{
  position:absolute; inset:0; display:grid; place-items:center;
  background: linear-gradient(135deg, rgba(255,255,255,0.2), rgba(255,255,255,0.4));
 backdrop-filter:blur(3px);
  border-radius:10px; z-index:2;
}
.qr-mask-inner{ text-align:center; padding:10px 12px; }
.qr-mask-title{ font-size:14px; font-weight:600; color:#222; }
.qr-mask-sub{ font-size:12px; color:#666; margin:4px 0 10px; }

.pulse-cta{ position:relative; }
.pulse-cta::after{
  content:''; position:absolute; inset:-6px; border-radius:999px;
  box-shadow:0 0 0 0 rgba(60,126,229,.24); animation:pulse 1.8s infinite;
}
@keyframes pulse{ to{ box-shadow:0 0 0 10px rgba(60,126,229,0); } }

.qr-tips{
  display:flex; align-items:center; justify-content:center;
  gap:6px; font-size:12px; color:#7a7a7a;
}
.qr-tips .el-icon-info{ color:#07c160; }

/* ------------------ 响应式 ------------------ */
@media (max-width:420px){
  .qr-code-wx .el-dialog,
  .wx-qr-dialog{ width:92% !important; }
  .qr-box{ width:220px; height:220px; }
  .qr-img{ width:188px; height:188px; }
  .qr-code-wx .el-dialog__header,
  .wx-qr-dialog .el-dialog__header{ padding-right:64px; }
  .qr-code-wx .el-dialog__headerbtn,
  .wx-qr-dialog .el-dialog__headerbtn{ width:48px; height:48px; top:4px; right:4px; }
  .qr-code-wx .el-dialog__close,
  .wx-qr-dialog .el-dialog__close{ font-size:22px; }
}

/* ------------------ 蒙层 ------------------ */
.v-modal{ background:rgba(15,23,42,.6) !important; }
