/* ============================================================
 * 分销体系「低耦合前端件」先行落地 —— rectify_fx（.fx-* 前缀）
 *  触点① 注册完成：专属推广码卡片（码 + 复制 + 分享话术 + 可关闭）
 *  注册页：邀请码（选填）输入框 #ri
 *  带参链接：?invite=XXX 自动写入 byok_invite_code + 注册页预填 + 留痕
 *  付款页：Z0 购买确认弹窗内未绑定补绑行（防御式注入）
 * 颜色：全部复用既有浅蓝白 hex（#38BDF8 / #38BDF8 / #1d2129 / #ffffff…），零深色引入
 * 只新增 / append；不删既有功能；IIFE 防御式
 * ============================================================ */

/* ---------- 注册成功专属码卡片（触点①） ---------- */
.fx-mask{
  position:fixed;inset:0;z-index:400;
  background:rgba(46,74,115,.28);
  backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.fx-card{
  position:relative;width:min(400px,94vw);
  background:#FFFFFF;border:1px solid #dcdfe6;border-radius:16px;
  box-shadow:0 24px 70px rgba(60,95,150,.28);
  padding:26px 26px 22px;
}
.fx-close{
  position:absolute;top:12px;right:14px;width:26px;height:26px;border:0;border-radius:50%;
  background:#e6f4ff;color:#606266;font-size:16px;line-height:1;cursor:pointer;
}
.fx-close:hover{background:#DCE9F9;color:#1d2129;}
.fx-badge{
  display:inline-block;font-size:12px;font-weight:600;color:#1d2129;
  background:#ffffff;border:1px solid #C9DCF5;border-radius:999px;padding:3px 10px;
}
.fx-title{font-size:20px;font-weight:800;color:#1d2129;margin-top:10px;}
.fx-sub{font-size:13px;color:#606266;line-height:1.75;margin-top:6px;}
.fx-code-row{display:flex;gap:8px;align-items:stretch;margin-top:14px;}
.fx-code{
  flex:1;box-sizing:border-inherit;
  font-size:20px;font-weight:800;letter-spacing:2px;color:#1d2129;
  background:#ffffff;border:1.5px dashed #91caff;border-radius:12px;
  padding:12px 6px;text-align:center;
}
.fx-copy{
  border:0;cursor:pointer;white-space:nowrap;
  background:linear-gradient(90deg,#38BDF8,#38BDF8);color:#fff;
  font-size:13px;font-weight:600;border-radius:12px;padding:0 16px;
}
.fx-copy:hover{filter:brightness(1.07);}
.fx-share{
  margin-top:12px;background:#F8FAFE;border:1px dashed #C9DCF5;border-radius:12px;
  padding:10px 12px;font-size:13px;color:#606266;line-height:1.7;
}
.fx-share b{color:#1d2129;}
.fx-short{
  margin-top:8px;font-size:12px;color:#1d2129;background:#ffffff;
  border:1px solid #D3E2F6;border-radius:8px;padding:7px 10px;word-break:break-all;
}
.fx-refund{
  margin-top:8px;font-size:12px;color:#606266;line-height:1.7;
  background:#F8FAFE;border-radius:8px;padding:7px 10px;
}
.fx-refund b{color:#1d2129;}
.fx-pending{
  margin-top:10px;font-size:12px;color:#ff7d00;background:#FFF7E8;
  border:1px solid #F0E0B8;border-radius:8px;padding:6px 10px;line-height:1.6;
}
.fx-continue{
  width:100%;margin-top:16px;padding:12px;border:0;border-radius:12px;cursor:pointer;
  font-size:16px;font-weight:600;color:#fff;
  background:linear-gradient(90deg,#38BDF8,#38BDF8);
}
.fx-continue:hover{filter:brightness(1.07);}

/* ---------- 注册页邀请码输入框（挂登录页 .inp 体系，.fx-* 微调） ---------- */
.fx-invite-inp{margin-top:8px;}
.fx-invite-inp::placeholder{color:#9FB0C6;}

/* ---------- 付款页 Z0 弹窗内补绑行（.z0-sum-block 与 .z0-agree 之间） ---------- */
.fx-z0invite{
  background:#F8FAFE;border:1px dashed #C9DCF5;border-radius:12px;
  padding:10px 12px;margin:10px 0;
}
.fx-z0invite label{display:block;font-size:13px;color:#606266;line-height:1.6;}
.fx-z0invite-row{display:flex;gap:8px;align-items:center;margin-top:7px;}
.fx-z0invite-inp{
  flex:1;box-sizing:border-box;
  border:1px solid #C9DCF5;border-radius:12px;padding:9px 12px;
  font-size:14px;background:#ffffff;color:#1d2129;outline:none;
}
.fx-z0invite-inp:focus{border-color:#38BDF8;box-shadow:0 0 0 3px rgba(56,189,248,.16);}
.fx-z0invite-save{
  border:0;cursor:pointer;white-space:nowrap;
  background:#e6f4ff;color:#1d2129;font-size:13px;font-weight:600;
  border-radius:8px;padding:9px 13px;
}
.fx-z0invite-save:hover{background:#DCE9F9;}
.fx-z0invite-tip{margin-top:7px;font-size:12px;color:#909399;line-height:1.6;}
