/* ===== 中央清算 - 登录/注册 公共样式 =====
   设计基准宽度 393px。采用 rem 等比缩放实现完美移动端响应式：
   1rem = 设计 10px。html 字体随视口宽度变化，元素尺寸用 rem，整体等比缩放。 */

/* ============================================================
 * 证书兑换确认页（cert_exchange_confirm.php · Figma Background 1:2）
 * 1rem = 10px。宽度基准 393 = 39.3rem。
 * ============================================================ */
.cxc-body { background: #fbfbfb; }
.cxc-page { position: relative; width: 100%; max-width: 39.3rem; margin: 0 auto; min-height: 100vh; background: linear-gradient(to bottom, #fff 0%, #fff 78%, #fbfbfb 100%); padding-bottom: 11rem; }
.cxc-header { position: relative; width: 100%; height: 14.1rem; overflow: hidden; }
.cxc-header-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cxc-back { position: absolute; left: 1.1rem; top: 0.9rem; width: 3rem; height: 3rem; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 2.6rem; line-height: 1; text-decoration: none; z-index: 2; }
.cxc-main { position: relative; margin-top: -0.8rem; padding: 0 1.1rem; }

/* 通用卡片 */
.cxc-card { background: #fff; border-radius: 1.2rem; box-shadow: 0 0.3rem 0.55rem rgba(111,55,24,0.11); padding: 1.3rem 1.4rem; margin-bottom: 1.2rem; }
.cxc-card-hd { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 1.3rem; }
.cxc-card-ic { width: 1.8rem; height: 1.8rem; flex: 0 0 auto; border-radius: 0.3rem; background: #ec1b23; -webkit-mask-size: contain; mask-size: contain; }
.cxc-ic-cert { background: #ec1b23; -webkit-mask: none; mask: none; border-radius: 0.3rem 0.3rem 0.3rem 0; position: relative; }
.cxc-ic-cert::after, .cxc-ic-pay::after, .cxc-ic-flow::after { content: ''; }
.cxc-card-title { font-size: 1.4rem; color: #151515; font-weight: 600; }

/* 证书信息 */
.cxc-cert-body { position: relative; display: flex; align-items: flex-start; gap: 1rem; min-height: 7.8rem; }
.cxc-cert-thumb { width: 7.2rem; height: 7.2rem; flex: 0 0 auto; border-radius: 1.4rem; overflow: hidden; background: #fdece9; }
.cxc-cert-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cxc-cert-info { flex: 1 1 auto; min-width: 0; padding-top: 0.2rem; }
.cxc-cert-nameline { display: flex; align-items: center; gap: 0.7rem; }
.cxc-cert-name { font-size: 1.4rem; font-weight: 600; color: #181818; white-space: nowrap; }
.cxc-cert-badge { flex: 0 0 auto; border: 0.1rem solid #ff9ba1; color: #ef111d; font-size: 0.8rem; line-height: 1; padding: 0.25rem 0.5rem; border-radius: 0.3rem; }
.cxc-cert-vlabel { color: #6a6a6a; font-size: 1rem; margin-top: 0.6rem; }
.cxc-cert-vrow { margin-top: 0.2rem; }
.cxc-cert-vnum { color: #ef111d; font-size: 1.7rem; font-weight: 700; letter-spacing: 0.04rem; }
.cxc-cert-vunit { color: #ef111d; font-size: 0.9rem; margin-left: 0.2rem; }
.cxc-seal { position: absolute; right: -0.4rem; top: -0.4rem; width: 8.6rem; height: auto; opacity: 0.62; transform: rotate(-8deg); pointer-events: none; }

/* 支付信息 */
.cxc-pay-row { display: flex; align-items: center; justify-content: space-between; padding-bottom: 1rem; border-bottom: 0.1rem dashed #dedede; }
.cxc-pay-label { font-size: 1.3rem; color: #181818; font-weight: 600; display: inline-flex; align-items: center; gap: 0.5rem; }
.cxc-i { display: inline-flex; align-items: center; justify-content: center; width: 1.2rem; height: 1.2rem; border: 0.1rem solid #bbb; border-radius: 50%; color: #999; font-size: 0.85rem; font-style: normal; }
.cxc-pay-deposit { color: #ef111d; font-size: 2.1rem; font-weight: 700; }
.cxc-pay-deposit::first-letter { font-size: 1.3rem; }

.cxc-why { position: relative; display: flex; gap: 0.8rem; margin-top: 1.2rem; padding: 1rem 1.1rem; background: linear-gradient(180deg, #fffaf2, #fff7ec); border: 0.1rem solid #ffe6c2; border-radius: 0.8rem; }
.cxc-why-q { flex: 0 0 auto; width: 1.4rem; height: 1.4rem; border: 0.1rem solid #f0a500; border-radius: 50%; color: #f0a500; font-size: 1rem; display: flex; align-items: center; justify-content: center; }
.cxc-why-body { flex: 1 1 auto; min-width: 0; }
.cxc-why-title { color: #a4620f; font-size: 1.2rem; font-weight: 600; margin-bottom: 0.4rem; }
.cxc-why-text { color: #9a7b53; font-size: 1rem; line-height: 1.7rem; }
.cxc-why-shield { flex: 0 0 auto; width: 5.3rem; height: auto; align-self: center; }

.cxc-recv { position: relative; display: flex; align-items: center; gap: 0.8rem; margin-top: 1.1rem; padding: 0.9rem 1.1rem; background: linear-gradient(180deg, #fff6e9, #fff9f3); border: 0.1rem solid #ffd9a6; border-radius: 0.8rem; box-shadow: 0 0.2rem 0.5rem rgba(255,150,20,0.08); overflow: hidden; }
.cxc-recv-bag { flex: 0 0 auto; width: 6.4rem; height: auto; }
.cxc-recv-body { flex: 1 1 auto; min-width: 0; }
.cxc-recv-label { color: #7a4a12; font-size: 1.1rem; display: inline-flex; align-items: center; gap: 0.5rem; }
.cxc-recv-vrow { margin-top: 0.2rem; }
.cxc-recv-num { color: #ec1b23; font-size: 2.8rem; font-weight: 800; letter-spacing: 0.02rem; }
.cxc-recv-unit { color: #ec1b23; font-size: 1.4rem; margin-left: 0.3rem; }
.cxc-recv-formula { color: #b98a4e; font-size: 1rem; margin-top: 0.2rem; }
.cxc-recv-tag { position: absolute; right: 0; top: 0.9rem; background: #ff8500; color: #fff; font-size: 0.9rem; padding: 0.3rem 0.7rem 0.3rem 0.9rem; border-radius: 1rem 0 0 1rem; }

.cxc-gift { display: flex; align-items: center; gap: 0.8rem; margin-top: 1.1rem; padding: 0.7rem 1.1rem; background: linear-gradient(180deg, #fffaf2, #fff7ec); border: 0.1rem dashed #ffcf8f; border-radius: 0.8rem; }
.cxc-gift-ic { flex: 0 0 auto; width: 6.6rem; height: auto; }
.cxc-gift-body { flex: 1 1 auto; min-width: 0; }
.cxc-gift-main { color: #a4620f; font-size: 1.05rem; line-height: 1.6rem; }
.cxc-gift-main b { color: #ec1b23; }
.cxc-gift-sub { color: #b98a4e; font-size: 0.9rem; margin-top: 0.3rem; }

/* 收益到账卡（Figma digital-yuan-card 1:1888，1:1 还原） */
.cxc-dyc { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.2rem; padding: 1.2rem 1.4rem; background: #fff; border: 0.1rem solid #ecf4ef; border-radius: 1rem; box-shadow: 0 0.3rem 1rem rgba(34,184,117,0.10); }
.cxc-dyc-left { min-width: 0; }
.cxc-dyc-hd { display: flex; align-items: center; gap: 0.6rem; }
.cxc-dyc-ic { width: 1.8rem; height: 1.8rem; flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; border-radius: 0.4rem; background: #22b875; color: #fff; font-size: 1rem; font-weight: 700; line-height: 1; }
.cxc-dyc-title { color: #222; font-size: 1.3rem; font-weight: 600; white-space: nowrap; }
.cxc-dyc-desc { color: #555; font-size: 0.93rem; line-height: 1.5rem; margin-top: 0.6rem; }
.cxc-dyc-tags { color: #22b875; font-size: 0.87rem; margin-top: 0.4rem; }
.cxc-dyc-amt { flex: 0 0 auto; text-align: right; }
.cxc-dyc-amt-lb { color: #777; font-size: 1rem; }
.cxc-dyc-amt-vl { color: #ed1727; font-size: 1.6rem; font-weight: 700; font-family: Arial, "PingFang SC", sans-serif; margin-top: 0.3rem; white-space: nowrap; }
.cxc-dyc-amt-vl em { font-size: 0.8rem; font-style: normal; font-weight: 700; margin-left: 0.15rem; }

/* 兑换流程 */
.cxc-flow .cxc-card-hd { margin-bottom: 0.8rem; }
.cxc-steps { display: flex; align-items: flex-start; justify-content: space-between; padding-top: 0.4rem; }
.cxc-step { position: relative; flex: 1 1 0; display: flex; flex-direction: column; align-items: center; text-align: center; }
.cxc-step-ic { display: block; width: auto; height: 4.6rem; margin: 0 auto; object-fit: contain; }
.cxc-step-name { color: #181818; font-size: 0.9rem; margin-top: 0.5rem; white-space: nowrap; }
.cxc-step-sub { color: #888; font-size: 0.7rem; margin-top: 0.2rem; }
.cxc-step-arrow { flex: 0 0 2.4rem; align-self: flex-start; margin-top: 2.9rem; height: 0; border-top: 0.1rem dashed #aaa; position: relative; }
.cxc-step-arrow::after { content: ''; position: absolute; right: -0.1rem; top: -0.35rem; width: 0.6rem; height: 0.6rem; border-top: 0.15rem solid #aaa; border-right: 0.15rem solid #aaa; transform: rotate(45deg); }

/* 温馨提示 */
.cxc-tips { position: relative; border-radius: 0.9rem; background: linear-gradient(97deg, #fff6e9, #fff9f3); padding: 0.8rem 1.5rem 1rem 1.8rem; overflow: hidden; }
.cxc-tips-hd { display: inline-flex; align-items: center; gap: 0.6rem; color: #a94224; font-size: 1.1rem; font-weight: 600; }
.cxc-tips-dot { width: 1.2rem; height: 1.2rem; border: 0.1rem solid #ff8900; border-radius: 0.6rem; display: inline-block; }
.cxc-tips-list { margin: 0.6rem 0 0 1.4rem; }
.cxc-tips-list li { color: #555; font-size: 0.9rem; line-height: 1.6rem; list-style: disc; }
.cxc-tips-yen { position: absolute; right: 2.3rem; top: 0.9rem; color: #ff9d00; font-size: 3rem; font-weight: 700; opacity: 0.18; }

/* 底部按钮 */
.cxc-actions { position: relative; padding: 0 1.1rem; margin-top: 0.4rem; }
.cxc-btn-primary { display: flex; align-items: center; justify-content: center; gap: 0.8rem; height: 3.8rem; border-radius: 1.8rem; background: linear-gradient(90deg, #ff1b24, #e9000c); color: #fff; font-size: 1.3rem; letter-spacing: 0.03rem; text-decoration: none; box-shadow: 0 0.2rem 0.3rem rgba(227,0,17,0.19); }
.cxc-btn-primary:active { opacity: 0.92; }
.cxc-btn-ic { font-size: 1.4rem; }
.cxc-btn-ghost { display: flex; align-items: center; justify-content: center; height: 3.8rem; margin-top: 1.1rem; border-radius: 1.8rem; background: #fff; border: 0.1rem solid #ef111d; color: #ef111d; font-size: 1.3rem; text-decoration: none; }
.cxc-btn-ghost:active { background: #fff5f5; }

/* 到账绑定的银行卡卡片（确认页/成功页共用 · Figma card_bound_bank） */
.cxc-bank { display: block; width: 100%; text-align: left; background: #fff; border: 0.1rem solid #eee; border-radius: 1.2rem; box-shadow: 0 0.3rem 0.8rem rgba(33,33,33,0.06); padding: 1rem 1.2rem 1.2rem; margin-bottom: 1.2rem; }
button.cxc-bank { cursor: pointer; -webkit-appearance: none; appearance: none; font: inherit; }
.cxc-bank-hd { display: flex; align-items: center; gap: 0.7rem; margin-bottom: 0.8rem; }
.cxc-bank-ic { width: 1.9rem; height: 1.5rem; flex: 0 0 auto; display: inline-flex; }
.cxc-bank-title { color: #222; font-size: 1.4rem; font-weight: 700; }
.cxc-bank-box { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; background: #f7f8fa; border: 0.1rem solid #eef0f2; border-radius: 0.8rem; padding: 0.7rem 1rem; }
.cxc-bank-info { min-width: 0; }
.cxc-bank-name { color: #111; font-size: 1.05rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cxc-bank-no { color: #444; font-size: 1.05rem; margin-top: 0.3rem; font-variant-numeric: tabular-nums; }
.cxc-bank-right { display: flex; align-items: center; gap: 0.4rem; flex: 0 0 auto; }
.cxc-bank-shield { width: 2rem; height: 2.4rem; flex: 0 0 auto; }
.cxc-bank-status { color: #39aa53; font-size: 1.05rem; font-weight: 700; }
.cxc-bank-status--warn { color: #ff8500; }
.cxc-bank-arrow { color: #bbb; font-size: 1.6rem; line-height: 1; margin-left: 0.2rem; }

/* 银行卡切换 / 未绑定弹窗 */
.cxc-modal { position: fixed; inset: 0; z-index: 60; display: flex; align-items: center; justify-content: center; padding: 2.4rem; }
.cxc-modal[hidden] { display: none; }
.cxc-modal-mask { position: absolute; inset: 0; background: rgba(0,0,0,0.45); }
.cxc-modal-box { position: relative; width: 100%; max-width: 32rem; background: #fff; border-radius: 1.4rem; padding: 1.8rem 1.6rem 1.4rem; box-shadow: 0 1rem 3rem rgba(0,0,0,0.2); }
.cxc-modal-title { text-align: center; font-size: 1.5rem; font-weight: 700; color: #222; margin-bottom: 1rem; }
.cxc-modal-text { text-align: center; color: #666; font-size: 1.2rem; line-height: 1.8rem; margin-bottom: 1.4rem; }
.cxc-cardlist { display: flex; flex-direction: column; gap: 0.8rem; max-height: 40vh; overflow: auto; margin-bottom: 1rem; }
.cxc-cardopt { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; padding: 1rem 1.1rem; border: 0.1rem solid #eee; border-radius: 0.9rem; cursor: pointer; background: #fff; text-align: left; width: 100%; }
.cxc-cardopt.is-sel { border-color: #ef111d; background: #fff6f6; }
.cxc-cardopt-info { display: flex; flex-direction: column; min-width: 0; }
.cxc-cardopt-name { color: #151515; font-size: 1.2rem; font-weight: 600; }
.cxc-cardopt-no { color: #888; font-size: 1rem; margin-top: 0.2rem; font-variant-numeric: tabular-nums; }
.cxc-cardopt-tick { color: #ef111d; font-size: 1.5rem; font-weight: 700; opacity: 0; flex: 0 0 auto; }
.cxc-cardopt.is-sel .cxc-cardopt-tick { opacity: 1; }
.cxc-modal-add { display: block; text-align: center; margin: 0 0 0.6rem; color: #ef111d; font-size: 1.2rem; text-decoration: none; padding: 0.6rem; }
.cxc-modal-actions { display: flex; gap: 0.9rem; }
.cxc-modal-btn { flex: 1; height: 3.6rem; border-radius: 1.8rem; border: 0; font-size: 1.25rem; cursor: pointer; }
.cxc-modal-btn--ghost { background: #f2f2f2; color: #555; }
.cxc-modal-btn--primary { background: linear-gradient(90deg,#ff1b24,#e9000c); color: #fff; }

/* ============================================================
 * 证书兑换成功页（cert_exchange_success.php · Figma Main 1:155）
 * 复用 .cxc-* 基础样式；以下为成功页特有部分。
 * ============================================================ */
.cxs-body { background: #f2f2f2; }
.cxs-page { position: relative; width: 100%; max-width: 39.3rem; margin: 0 auto; min-height: 100vh; background: #fff; box-shadow: 0 1.2rem 4rem rgba(0,0,0,0.12); padding-bottom: 11rem; }
.cxs-header { position: relative; width: 100%; height: 16rem; overflow: hidden; }
.cxs-header-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cxs-back { position: absolute; left: 1.2rem; top: 0.7rem; width: 3rem; height: 3rem; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 2.8rem; line-height: 1; text-decoration: none; z-index: 2; }
.cxs-main { position: relative; margin-top: -1.4rem; padding: 0 1.2rem; }
.cxs-card { background: #fff; border: 0.1rem solid #f3f3f3; border-radius: 1.2rem; box-shadow: 0 0.5rem 0.75rem rgba(33,33,33,0.08); padding: 1.1rem 1.3rem 1.3rem; margin-bottom: 1.2rem; }
.cxs-card-hd { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 1rem; }
.cxs-seal { width: 9.3rem; right: 0; top: 0; opacity: 1; transform: rotate(-9deg); }

/* 到账信息 */
.cxs-recv-body { display: flex; align-items: center; gap: 1.1rem; }
.cxs-recv-bag { flex: 0 0 auto; width: 7.8rem; height: auto; }
.cxs-recv-main { flex: 1 1 auto; min-width: 0; }
.cxs-recv-labelrow { display: flex; align-items: center; gap: 0.6rem; }
.cxs-recv-label { color: #151515; font-size: 1.3rem; font-weight: 600; }
.cxs-recv-tag { border: 0.1rem solid #ff8b8f; background: #fff8f8; color: #ed151c; font-size: 1rem; padding: 0.3rem 0.6rem; border-radius: 0.4rem; }
.cxs-recv-vrow { margin-top: 0.4rem; }
.cxs-recv-num { color: #ed151c; font-size: 3rem; font-weight: 800; letter-spacing: 0.05rem; }
.cxs-recv-unit { color: #ed151c; font-size: 1.5rem; margin-left: 0.3rem; }
.cxs-recv-formula { color: #999; font-size: 1.1rem; margin-top: 0.2rem; }
.cxs-recv-note { margin-top: 0.6rem; background: #fff6f2; border-radius: 0.6rem; padding: 0.5rem 0.8rem; color: #8a5a2a; font-size: 1rem; }
.cxs-recv-note b { color: #ed151c; }

/* 押金退回说明 */
.cxs-note { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.2rem; padding: 1rem 1.3rem; background: linear-gradient(180deg, #fffaf2, #fff7ec); border: 0.1rem solid #ffe6c2; border-radius: 1.2rem; }
.cxs-note-shield { flex: 0 0 auto; width: 4.6rem; height: auto; }
.cxs-note-body { flex: 1 1 auto; min-width: 0; }
.cxs-note-title { color: #a4620f; font-size: 1.3rem; font-weight: 600; }
.cxs-note-text { color: #9a7b53; font-size: 1.05rem; line-height: 1.7rem; margin-top: 0.3rem; }

/* 恭喜获得抽奖机会 */
.cxs-draw { display: flex; align-items: center; gap: 0.9rem; margin-bottom: 1.2rem; padding: 0.9rem 1.2rem; background: linear-gradient(180deg, #fffaf2, #fff7ec); border: 0.1rem dashed #ffcf8f; border-radius: 1.2rem; }
.cxs-draw-ic { flex: 0 0 auto; width: 6rem; height: auto; }
.cxs-draw-body { flex: 1 1 auto; min-width: 0; }
.cxs-draw-title { color: #a4620f; font-size: 1.3rem; font-weight: 600; }
.cxs-draw-title b { color: #ec1b23; font-size: 1.5rem; }
.cxs-draw-sub { color: #b98a4e; font-size: 1rem; line-height: 1.5rem; margin-top: 0.2rem; }
.cxs-draw-btn { flex: 0 0 auto; align-self: center; background: linear-gradient(90deg, #ff1b24, #e9000c); color: #fff; font-size: 1rem; padding: 0.6rem 0.9rem; border-radius: 1.4rem; text-decoration: none; white-space: nowrap; }

/* ===== 证书兑换 · 限时减免改版（Figma 23:308 / 23:505，1:1 还原） ===== */
/* 顶部 banner 标题叠层（确认页/成功页共用） */
.cxc-header--promo { height: 13.3rem; }
.cxc-header-title, .cxs-header-title { position: absolute; left: 0; right: 0; top: 0.9rem; text-align: center;
  color: #fff; font-size: 1.59rem; font-weight: 600; letter-spacing: 0.04rem;
  text-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.25); z-index: 2; }
.cxs-header-title { top: 1.1rem; }

/* 押金对比区：原押金 → 直降箭头 → 现押金（Figma 23:316） */
.cxc-dcmp { position: relative; display: flex; align-items: center; justify-content: space-between;
  height: 9.9rem; margin-bottom: 1.2rem; padding: 0 2.6rem;
  background: linear-gradient(90deg, #f6f7f8, #fff5e8); border: 0.1rem solid #f5dcc4;
  border-radius: 1.4rem; box-shadow: 0 0.4rem 1.4rem rgba(158,69,30,0.05); }
.cxc-dcmp-col { flex: 0 0 auto; text-align: center; }
.cxc-dcmp-lbl { font-size: 1.4rem; color: #3e3937; }
.cxc-dcmp-lbl--new { color: #e00012; }
.cxc-dcmp-old { margin-top: 0.9rem; color: #818181; line-height: 1; }
.cxc-dcmp-old .cxc-dcmp-yen { font-size: 1.5rem; }
.cxc-dcmp-old s { font-size: 2.1rem; }
.cxc-dcmp-new { margin-top: 0.6rem; color: #e01823; font-weight: 700; line-height: 1; }
.cxc-dcmp-new .cxc-dcmp-yen { font-size: 1.5rem; }
.cxc-dcmp-new b { font-size: 2.8rem; }
.cxc-dcmp-arrow { position: absolute; left: 50%; top: 0.3rem; transform: translateX(-50%);
  width: 11.6rem; height: auto; z-index: 1; pointer-events: none; }

/* 支付信息（重构）：顶部标题+金额 / 两栏（为什么 · 实际可到账） */
.cxc-pay { border: 0.1rem solid #ffd8d1; }
.cxc-pay-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 1rem; }
.cxc-pay-hd { display: flex; align-items: flex-start; gap: 0.8rem; }
.cxc-pay-hdtx { display: flex; flex-direction: column; }
.cxc-pay-sub { color: #252525; font-size: 0.8rem; margin-top: 0.35rem; }
.cxc-pay-amt { color: #ec1b23; font-weight: 700; line-height: 1; white-space: nowrap; }
.cxc-pay-amt-yen { font-size: 1.1rem; }
.cxc-pay-amt b { font-size: 2.2rem; }
.cxc-pay-two { display: flex; gap: 0.7rem; margin-bottom: 1.1rem; }
.cxc-why2 { flex: 1.2 1 0; min-width: 0; background: #fffdf7; border: 0.1rem solid #ffb151; border-radius: 0.8rem; padding: 0.9rem; }
.cxc-why2-q { display: inline-flex; align-items: center; justify-content: center; width: 1.4rem; height: 1.4rem;
  border: 0.1rem solid #ff7d00; border-radius: 50%; color: #ff7d00; font-size: 0.9rem; line-height: 1; margin-bottom: 0.4rem; }
.cxc-why2-title { color: #252525; font-size: 0.95rem; font-weight: 600; margin-bottom: 0.4rem; }
.cxc-why2-text { color: #666; font-size: 0.75rem; line-height: 1.16rem; }
.cxc-arr2 { position: relative; flex: 1 1 0; min-width: 0; background: #fffdf7; border: 0.1rem solid #ffb151; border-radius: 0.8rem; padding: 1.6rem 0.9rem 0.9rem; overflow: hidden; }
.cxc-arr2-lbl { color: #888; font-size: 0.9rem; }
.cxc-arr2-vrow { margin-top: 0.3rem; white-space: nowrap; }
.cxc-arr2-num { color: #d71920; font-size: 2rem; font-weight: 700; }
.cxc-arr2-unit { color: #888; font-size: 0.8rem; margin-left: 0.2rem; }
.cxc-arr2-formula { color: #666; font-size: 0.9rem; margin-top: 0.2rem; }
.cxc-arr2-tag { position: absolute; right: 0; top: 0; background: #ff7d00; color: #fff; font-size: 0.7rem; padding: 0.25rem 0.6rem; border-radius: 0 0.8rem 0 0.8rem; }

/* 成功页 · 活动提示卡（Figma 23:658） */
.cxs-promo { position: relative; background: #fff; border: 0.1rem solid #ff9e9e; border-radius: 1.2rem;
  box-shadow: 0 0.3rem 0.7rem rgba(120,60,30,0.1); margin-bottom: 1.2rem; padding: 2.6rem 0.9rem 0.9rem; }
.cxs-promo-ribbon { position: absolute; left: 50%; top: -0.1rem; transform: translateX(-50%); width: 15rem; height: auto; z-index: 1; }
.cxs-promo-cards { display: flex; gap: 0.5rem; }
.cxs-promo-card { position: relative; flex: 1 1 0; min-width: 0; min-height: 9.1rem; overflow: hidden;
  border-radius: 0.9rem; padding: 1.1rem 0.8rem; background: linear-gradient(134deg, #fff 0%, #fff1dd 100%); }
.cxs-promo-no { display: inline-flex; align-items: center; justify-content: center; background: #f2282d; color: #fff;
  font-size: 1.1rem; font-weight: 700; padding: 0.4rem; border-radius: 1rem; line-height: 1; }
.cxs-promo-tx { color: #222; font-size: 1rem; line-height: 1.55rem; margin-top: 0.6rem; width: 9.5rem; max-width: 64%; }
.cxs-promo-tx b { color: #f21d27; font-weight: 500; }
.cxs-promo-fig { position: absolute; right: 0.3rem; bottom: 0.2rem; width: 7rem; height: auto; pointer-events: none; }
.cxs-promo-fig--gift { right: -0.6rem; bottom: 0; width: 8.2rem; }

/* ===== 购买抽奖次数页（buy_chances.php · Figma 25:693，1:1 还原） ===== */
.bc-body { background: #e11a1f; }
.bc-page { position: relative; width: 100%; max-width: 39.3rem; margin: 0 auto; min-height: 100vh; padding-bottom: 2rem;
  background: radial-gradient(120% 80% at 30% 3%, rgba(255,255,255,0.16), rgba(255,255,255,0) 24%),
              linear-gradient(180deg, #ef1e27 0%, #f33430 29%, #ff795e 76%, #f97562 100%); }
/* 顶部导航 */
.bc-header { position: relative; height: 4.3rem; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(90deg, #f0262c, #ed1f25 54%, #e1151d); }
.bc-back { position: absolute; left: 1.4rem; top: 0; height: 100%; display: flex; align-items: center; }
.bc-back img { width: 2.2rem; height: 2.2rem; display: block; }
.bc-header-title { color: #fff; font-size: 1.7rem; font-weight: 600; letter-spacing: 0.04rem; }
/* Hero */
.bc-hero { border-top: 0.1rem solid rgba(255,219,106,0.7); border-bottom: 0.1rem solid rgba(255,219,106,0.7); overflow: hidden; }
.bc-hero-img { display: block; width: 100%; height: auto; }
/* 我的抽奖次数 */
.bc-mine { display: flex; align-items: center; justify-content: space-between; margin: 1.2rem; height: 4rem; padding: 0 1.8rem;
  border-radius: 0.9rem; background: linear-gradient(90deg, #fffefa, #fff8ed); box-shadow: 0 0.6rem 0.6rem rgba(190,10,11,0.18); }
.bc-mine-text { color: #9d482e; font-size: 1.4rem; }
.bc-mine-text b { color: #e32f31; font-size: 2.2rem; font-family: Arial, "PingFang SC", sans-serif; margin: 0 0.1rem; }
.bc-mine-btn { display: inline-flex; align-items: center; gap: 0.3rem; height: 2.5rem; padding: 0 0.9rem; background: #fff8eb;
  border: 0.1rem solid #ffd09a; border-radius: 0.7rem; color: #b05728; font-size: 1.2rem; text-decoration: none; box-shadow: 0 0.1rem 0.25rem rgba(211,91,32,0.08); }
.bc-mine-btn span { font-size: 1.6rem; line-height: 1; }
/* 超值购买套餐 */
.bc-pack { position: relative; margin: 2.6rem 1.2rem 0; padding: 3.5rem 1.3rem 1.9rem; border: 0.1rem solid rgba(255,185,99,0.75);
  border-radius: 1.2rem; background: linear-gradient(180deg, #fffdf8, #fffaf1); box-shadow: 0 0.8rem 0.95rem rgba(178,43,18,0.18); }
.bc-pack-ribbon { position: absolute; left: 50%; top: -1.65rem; transform: translateX(-50%); width: 17.8rem; height: 3.1rem;
  display: flex; align-items: center; justify-content: center; background: linear-gradient(180deg, #ff4d39, #e92524);
  border-radius: 0 0 2.7rem 2.7rem; box-shadow: 0 0.2rem 0.4rem rgba(162,10,4,0.25); }
.bc-pack-ribbon::before, .bc-pack-ribbon::after { content: ''; position: absolute; top: 0.9rem; width: 3.1rem; height: 1.9rem; background: #ef352d; border-bottom: 0.1rem solid #ffcb72; }
.bc-pack-ribbon::before { left: -2.1rem; transform: skewX(30deg) scaleY(0.87); border-radius: 0 0 0 2.8rem; }
.bc-pack-ribbon::after { right: -2.1rem; transform: skewX(-30deg) scaleY(0.87); border-radius: 0 0 2.8rem 0; }
.bc-pack-ribbon span { position: relative; z-index: 1; color: #fff9df; font-size: 1.49rem; font-weight: 600; letter-spacing: 0.05rem; text-shadow: 0 0.1rem 0.2rem rgba(162,10,4,0.35); }
.bc-arts { display: flex; flex-direction: column; gap: 0.8rem; }
.bc-art { position: relative; display: flex; align-items: center; height: 6.8rem; padding: 0 0.7rem 0 0; border: 0.1rem solid #ffc27b;
  border-radius: 0.8rem; background: linear-gradient(90deg, #fffdf8, #fff9ef 55%, #fffdf8); }
.bc-art-times { width: 8.6rem; flex: 0 0 auto; text-align: center; }
.bc-art-num b { color: #df2c2e; font-size: 2.7rem; font-weight: 700; font-family: Arial, "PingFang SC", sans-serif; }
.bc-art-num span { color: #df2c2e; font-size: 1.7rem; margin-left: 0.2rem; }
.bc-art-lbl { color: #9f4d3b; font-size: 1.2rem; margin-top: 0.2rem; }
.bc-art-div { width: 0.1rem; height: 4.5rem; background: #f2c79a; flex: 0 0 auto; }
.bc-art-price { position: relative; flex: 1 1 auto; text-align: center; }
.bc-art-v { white-space: nowrap; color: #df2c2e; font-weight: 700; }
.bc-art-yen { font-size: 1.9rem; }
.bc-art-v b { font-size: 2.8rem; font-family: Arial, "PingFang SC", sans-serif; }
.bc-art-orig { color: #a58172; font-size: 1.1rem; text-decoration: line-through; margin-top: 0.1rem; }
.bc-art-tehui { color: #a65b48; font-size: 1.1rem; margin-top: 0.1rem; }
.bc-art-tag { position: absolute; left: 1.2rem; top: 0.3rem; background: #fff2dc; border: 0.1rem solid #ffc67f; color: #e94a2f;
  font-size: 0.9rem; line-height: 1; padding: 0.2rem 0.4rem; border-radius: 0.4rem; }
.bc-art-buy { flex: 0 0 auto; width: 8.2rem; height: 3.1rem; display: flex; align-items: center; justify-content: center; margin-right: 0.7rem;
  background: linear-gradient(180deg, #ff5c2e, #d90b14); border: 0.1rem solid #ff9a3b; border-radius: 1.55rem; color: #fff; font-size: 1.4rem; text-decoration: none; box-shadow: 0 0.2rem 0.3rem rgba(139,29,0,0.12); }
.bc-art-buy:active { opacity: 0.92; }
/* 购买说明 */
.bc-note { margin-top: 1.6rem; padding: 0.9rem 1.9rem 1.1rem; background: rgba(255,255,255,0.38); border: 0.1rem solid #f2c18b; border-radius: 0.8rem; }
.bc-note-title { text-align: center; color: #a75b4c; font-size: 1.4rem; font-weight: 600; margin-bottom: 0.4rem; }
.bc-note-item { display: flex; align-items: center; gap: 1.6rem; padding: 0.5rem 0; }
.bc-note-ic { width: 1.8rem; height: 1.8rem; flex: 0 0 auto; display: block; object-fit: contain; }
.bc-note-item span { color: #a35e4e; font-size: 1.1rem; line-height: 1.6rem; }
/* 底部保障 */
.bc-footer { text-align: center; padding: 1.1rem 1.2rem 1.7rem; }
.bc-footer-row { display: inline-flex; align-items: center; gap: 0.7rem; color: #fff5e9; font-size: 1.3rem; }
.bc-footer-ic { width: 1.7rem; height: 1.7rem; display: block; }
.bc-footer-sub { color: #fff5e9; opacity: 0.93; font-size: 1.1rem; margin-top: 0.6rem; }

/* 幸运抽奖页 · 购买次数卡片（Figma 24:683，嵌入「获取抽奖次数」卡下方） */
.lk-buy-card { display: flex; align-items: center; overflow: hidden; text-decoration: none;
  background: linear-gradient(90deg, #fff9ea, #ffe8bc); border: 0.1rem solid #ef4b20; border-radius: 1.2rem; }
.lk-buy-info { flex: 1 1 auto; min-width: 0; padding-left: 1.3rem; }
.lk-buy-title { color: #9f3c10; font-size: 1.5rem; font-weight: 700; }
.lk-buy-sub { color: #9f3c10; font-size: 1.1rem; margin-top: 0.2rem; }
.lk-buy-gift { flex: 0 0 auto; width: 6.6rem; height: auto; margin-right: 0.2rem; pointer-events: none; }
.lk-buy-btn { flex: 0 0 auto; width: 8.8rem; height: 3.2rem; margin-right: 0.7rem; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(180deg, #ff5a25, #d90d05); border: 0.2rem solid #ffb22a; border-radius: 1.8rem; color: #fff; font-size: 1.3rem; font-weight: 700;
  box-shadow: 0 0.2rem 0.15rem rgba(139,29,0,0.15), inset 0 -0.2rem 0 rgba(133,0,0,0.28); }

* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

/* 首页 - 投票助力打榜入口横幅 */
.boost-entry { display: block; margin: 0 0 1.2rem; border-radius: 1.2rem; overflow: hidden; box-shadow: 0 0.6rem 1.6rem rgba(150,90,10,.25); }
.boost-entry img { width: 100%; display: block; }

/* 首页 - 投票助力入口弹窗（公告之前显示） */
.boost-entry-modal { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; }
.boost-entry-modal[hidden] { display: none; }
.boost-entry-mask { position: absolute; inset: 0; background: rgba(0,0,0,.62); }
.boost-entry-box { position: relative; width: 90vw; max-width: 52rem; }
.boost-entry-close {
  position: absolute; top: -4.6rem; right: 0;
  width: 3.6rem; height: 3.6rem; border-radius: 50%;
  border: 0.1rem solid rgba(255,255,255,.75); background: rgba(0,0,0,.4);
  color: #fff; font-size: 2.4rem; line-height: 1; cursor: pointer;
}
.boost-entry-modal.is-forced .boost-entry-close { display: none; }
.boost-entry-stage { position: relative; width: 100%; }
.boost-entry-pic { width: 100%; display: block; border-radius: 1.4rem; box-shadow: 0 0.8rem 2rem rgba(0,0,0,.35); }
.boost-entry-hot { position: absolute; left: 16%; top: 86.5%; width: 68%; height: 11%; border-radius: 999px; display: block; }

html {
  /* 393 设计宽度 → 100vw，即 1rem = 100vw/39.3 = 设计10px */
  font-size: calc(100vw / 39.3);
}

/* 大屏（平板/桌面）封顶，避免表单过大，并居中显示 */
@media (min-width: 480px) {
  html { font-size: calc(480px / 39.3); }
}

body {
  font-family: "PingFang SC", "PingFangSC", -apple-system, BlinkMacSystemFont,
               "Helvetica Neue", "Microsoft YaHei", sans-serif;
  background: #efe2cf;
  color: #151717;
  display: flex;
  justify-content: center;
  min-height: 100vh;
}

/* 设计画布 */
.stage {
  position: relative;
  width: 39.3rem;            /* 393 */
  min-height: 100vh;
  background: url("../image/bg.png") no-repeat top center;
  background-size: 100% auto;
  background-color: #efe2cf;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 6rem;
  overflow: hidden;
}

/* 顶部 hero（标题/国徽）已在背景图中，留出空间 */
.panel {
  margin-top: 27.5rem;        /* 卡片 top:275 */
  width: 34rem;               /* 340 */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;                  /* gap:10 */
}

/* ===== 卡片 ===== */
.card {
  width: 34rem;               /* 340 */
  background: #f8f7f4;
  border-radius: 2rem;        /* 20 */
  padding: 2rem;              /* 20 */
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;                  /* 10 */
}

/* 标签标题 + 红色下划线 */
.tab {
  position: relative;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2rem;
  color: #151717;
  padding-bottom: 0.9rem;     /* 下划线与文字间距 */
  margin-bottom: 0.2rem;
}
.tab::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 2.4rem;              /* 24 */
  height: 0.3rem;             /* 3 */
  border-radius: 1rem;
  background: #c81d25;
}

/* ===== 输入框 ===== */
.field {
  position: relative;
  width: 30rem;               /* 300 */
  height: 3.8rem;             /* 38 */
  background: #f8f7f4;
  border: 0.05rem solid rgba(156, 157, 159, 0.5);
  border-radius: 0.5rem;      /* 5 */
  display: flex;
  align-items: center;
  padding: 0 1.7rem;          /* 左内边距 17 */
  gap: 0.4rem;
}
.field-icon {
  width: 2rem;                /* 20 */
  height: 2rem;
  flex-shrink: 0;
  display: block;
}
.field-input {
  flex: 1;
  height: 100%;
  border: none;
  outline: none;
  background: transparent;
  font-size: 1.2rem;          /* 12 */
  color: #151717;
  font-family: inherit;
}
.field-input::placeholder { color: #9c9d9f; }

/* 获取验证码按钮（位于验证码输入框右侧） */
.field--code .field-input { padding-right: 9rem; }
.code-btn {
  position: absolute;
  right: 0.8rem;
  top: 50%;
  transform: translateY(-50%);
  min-width: 8rem;            /* 80 */
  height: 2rem;               /* 20 */
  padding: 0 0.6rem;
  background: #f6efe6;
  border: none;
  border-radius: 0.2rem;      /* 2 */
  color: #c81d25;
  font-size: 1.2rem;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
.code-btn:disabled { opacity: 0.7; cursor: default; }
/* 显示出的 4 位验证码（直接展示在该区域） */
.code-btn.show-code {
  font-weight: 700;
  letter-spacing: 0.3rem;
  font-size: 1.4rem;
}

/* ===== 主按钮（立即登录） ===== */
.btn-primary {
  width: 30rem;               /* 300 */
  height: 3.8rem;             /* 38 */
  border: none;
  border-radius: 0.5rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-size: 1.6rem;          /* 16 */
  font-family: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.btn-primary:active { opacity: 0.92; }

/* ===== 底部链接 ===== */
.links {
  width: 30rem;
  display: flex;
  justify-content: space-between;
  font-size: 1.2rem;
  color: #9c9d9f;
}
.links a { color: #9c9d9f; text-decoration: none; }
/* 注册页「登录账号 / 忘记密码？」放大显示 */
#registerForm .links { font-size: 1.6rem; }

/* ===== 联系客服 ===== */
.contact {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  font-size: 1.2rem;
  color: #151717;
  text-decoration: none;
  cursor: pointer;
}
.contact img { width: 2rem; height: 2rem; }

/* ===== 协议 ===== */
.agreement {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1rem;            /* 10 */
  color: #878787;
}
.checkbox {
  width: 1.2rem;
  height: 1.2rem;
  border: 0.1rem solid #646464;
  border-radius: 100rem;
  flex-shrink: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.checkbox.checked { background: #c81d25; border-color: #c81d25; }
.checkbox.checked::after {
  content: "";
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 100rem;
  background: #fff;
}
.agreement-link { color: #dd0200; }

/* ===== APP 下载 ===== */
.app-btn {
  margin-top: 2.4rem;         /* 距卡片底部 24 */
  width: 12.9rem;             /* 129 */
  height: 3.5rem;             /* 35 */
  border: none;
  border-radius: 100rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-size: 1.2rem;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
}
.app-btn img { width: 1.6rem; height: 1.6rem; }

/* ===== 轻提示 ===== */
.toast {
  position: fixed;
  left: 50%;
  top: 40%;
  transform: translateX(-50%);
  background: rgba(0, 0, 0, 0.8);
  color: #fff;
  font-size: 1.3rem;
  padding: 1rem 1.6rem;
  border-radius: 0.6rem;
  z-index: 2000;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s;
  max-width: 30rem;
  text-align: center;
}
.toast.show { opacity: 1; }

/* ===== 用户服务协议 弹窗 ===== */
.agreement-link { cursor: pointer; }

.modal-mask {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s;
  padding: 2rem;
}
.modal-mask.show { opacity: 1; visibility: visible; }

.modal {
  width: 34rem;               /* 与卡片同宽 340 */
  max-width: 100%;
  max-height: 80vh;
  background: #f8f7f4;
  border-radius: 2rem;        /* 与卡片同圆角 20 */
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: translateY(1.5rem) scale(0.98);
  transition: transform 0.25s;
  box-shadow: 0 1rem 4rem rgba(0, 0, 0, 0.2);
}
.modal-mask.show .modal { transform: translateY(0) scale(1); }

/* 红色渐变标题栏 */
.modal-header {
  position: relative;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  text-align: center;
  padding: 1.6rem 1rem;
  font-size: 1.6rem;
  font-weight: 700;
}
.modal-close {
  position: absolute;
  right: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.4rem;
  height: 2.4rem;
  border: none;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  border-radius: 100rem;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* 协议正文（可滚动） */
.modal-body {
  padding: 1.6rem 2rem;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  color: #4a4a4a;
}
.modal-body h4 {
  font-size: 1.3rem;
  color: #151717;
  margin: 1.2rem 0 0.5rem;
}
.modal-body h4:first-child { margin-top: 0; }
.modal-body p {
  font-size: 1.2rem;
  line-height: 2rem;
  color: #6a6a6a;
  margin-bottom: 0.4rem;
}
.modal-body .modal-intro {
  font-size: 1.2rem;
  line-height: 2rem;
  color: #878787;
  margin-bottom: 0.8rem;
}

/* 底部按钮 */
.modal-footer {
  padding: 1.2rem 2rem 1.8rem;
  display: flex;
  justify-content: center;
}
.modal-footer .btn-primary {
  width: 100%;
}

/* ============================================================
   首页 home.php
   ============================================================ */
.home-body { background: #fcf2ea; }

.home {
  position: relative;
  width: 39.3rem;
  margin: 0 auto;
  min-height: 100vh;
  background: #fcf2ea;
  padding-bottom: 8rem;          /* 给底部导航留白 */
  overflow-x: hidden;
}

/* 顶部红色场景图 */
.home-top-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 30.1rem;               /* 301 */
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}
/* 底部长城装饰图 */
.home-bottom-bg {
  position: absolute;
  left: 0;
  bottom: 5.8rem;                /* 位于导航栏之上 */
  width: 100%;
  height: 13.9rem;               /* 139 */
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}

/* ===== 头部 ===== */
.home-header {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  padding: 2.3rem 2rem 0;
  height: 6.3rem;
  box-sizing: content-box;
}
.home-emblem { width: 4rem; height: 4rem; flex-shrink: 0; }
.home-title { margin-left: 0; padding-left: 0; color: #fff; }
.home-title h1 {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4rem;
  margin-bottom: 0.8rem;
}
.home-title p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1rem;
}
.home-bell { margin-left: auto; width: 2rem; height: 2rem; cursor: pointer; }

/* ===== 主体 ===== */
.home-main {
  position: relative;
  z-index: 1;
  margin-top: 3.2rem;            /* 让 Banner 落在设计 top:95 处 */
  padding: 0 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;                   /* 全部卡片统一上下间隙 */
}
/* 归零各卡片自带的上下外边距，交由上面的 gap 统一控制为 0.2rem（保留左右 auto 居中） */
.home-body .home-main > * { margin-top: 0; margin-bottom: 0; }

/* 宣传片 Banner（视频床播放） */
.banner-video-wrap {
  position: relative;
  width: 100%;
}
.banner-video {
  width: 100%;
  height: auto;
  aspect-ratio: 1280 / 732;
  object-fit: cover;
  display: block;
  border: 0.1rem solid #d8a85c;
  border-radius: 1rem;
  background: #000;
  cursor: pointer;
}
.banner-play {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6.4rem;
  height: 6.4rem;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  z-index: 2;
}
.banner-play[hidden] { display: none; }
.banner-play svg { width: 100%; height: 100%; display: block; }

/* ===== 快捷入口 ===== */
.entries {
  display: flex;
  justify-content: space-between;
}
.entry-card {
  width: 9rem;                   /* 90 */
  height: 10.5rem;               /* 105 */
  background: #f8f7f4;
  border-radius: 1rem;
  box-shadow: 0 0 0.4rem 0.1rem rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 0.5rem;
  cursor: pointer;
  text-decoration: none;
  color: inherit;
}
.entry-icon { width: 5rem; height: 5rem; }
.entry-label {
  font-size: 1.4rem;
  font-weight: 700;
  color: #151717;
  line-height: 1.4rem;
  margin-top: 0.3rem;
}
.entry-badge {
  margin-top: 0.8rem;
  min-width: 6.6rem;
  height: 1.4rem;
  padding: 0 0.4rem;
  background: #fff3e2;
  border-radius: 100rem;
  color: #c38b32;
  font-size: 1rem;
  line-height: 1.4rem;
  text-align: center;
}

/* ===== 通用红色渐变区块 ===== */
.section {
  width: 100%;
  background: linear-gradient(180deg, #e22a23 0%, #c81d25 100%);
  border-radius: 1rem;
  padding: 1.1rem;
  box-sizing: border-box;
}
.section-title {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4rem;
  margin-bottom: 1rem;
}

/* ===== 直播会议 ===== */
.live-card {
  background: #fff;
  border-radius: 0.8rem;
  padding: 0.6rem;
  display: flex;
  gap: 1rem;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

/* 直播会议视频弹窗 */
.live-modal {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.live-modal[hidden] { display: none; }
.live-modal-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.8); }
.live-modal-box {
  position: relative;
  z-index: 1;
  width: 92%;
  max-width: 36rem;
}
.live-modal-video {
  width: 100%;
  max-height: 70vh;
  background: #000;
  border-radius: 0.8rem;
  display: block;
}
.live-modal-close {
  position: absolute;
  top: -3.6rem;
  right: 0;
  width: 3rem;
  height: 3rem;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 2.8rem;
  line-height: 1;
  cursor: pointer;
}
.live-thumb {
  width: 13.8rem;                /* 138 */
  height: 9.7rem;                /* 97 */
  border-radius: 0.6rem;
  object-fit: cover;
  flex-shrink: 0;
}
.live-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding-top: 0.4rem;
  min-width: 0;
}
.live-name {
  font-size: 1.4rem;
  font-weight: 700;
  color: #c81d25;
  line-height: 1.4rem;
  margin-bottom: 1rem;
}
.live-meta {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  margin-bottom: 0.3rem;
}
.live-meta img { width: 1rem; height: 1rem; flex-shrink: 0; }
.live-meta span {
  font-size: 0.8rem;
  color: #9c9d9f;
  line-height: 1rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.live-actions {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.live-enter {
  align-self: center;
  width: 8rem;                   /* 80 */
  height: 2.2rem;                /* 22 */
  border: none;
  border-radius: 0.4rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-size: 1rem;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  flex-shrink: 0;
}
.live-enter img { width: 1rem; height: 1rem; object-fit: contain; }
.live-soon-logo {
  height: 7.2rem;
  width: auto;
  flex-shrink: 0;
  margin-left: auto;
  position: relative;
  top: -1rem;
}

/* ===== 结算大额资产入口卡片（card.php 顶部）===== */
.settle-topcard {
  display: block;
  width: 100%;
  border-radius: 1.6rem;
  overflow: hidden;
  margin-bottom: 1.2rem;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.settle-topcard > img { display: block; width: 100%; height: auto; }

/* ---- 新入口卡片（Figma node 12:2）1:1 复刻 ---- */
.settle-topcard--v2 {
  position: relative;
  border: 0.1rem solid #b22222;
  border-radius: 1.2rem;
  overflow: hidden;
  background: linear-gradient(134.57deg, #8f000d 0%, #b22222 50%, #ffd700 100%);
  box-shadow: 0 1rem 1.5rem -0.3rem rgba(0, 0, 0, 0.1),
              0 0.4rem 0.6rem -0.4rem rgba(0, 0, 0, 0.1);
}
/* 双层金色径向光晕（叠在渐变底色上，透明度 20%） */
.stc-glow {
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.2;
  background: radial-gradient(circle at 50% 50%, #ffd700 0%, rgba(255, 215, 0, 0) 70%);
}
.stc-glow--b { top: 0.4rem; }
/* 装饰金色边角（左上/右上，仅显示顶边 + 相邻侧边 2px） */
.stc-corner {
  position: absolute;
  width: 3.2rem;
  height: 3.2rem;
  top: 0;
  pointer-events: none;
  border-top: 0.2rem solid rgba(254, 214, 91, 0.5);
}
.stc-corner--tl { left: 0; border-left: 0.2rem solid rgba(254, 214, 91, 0.5); }
.stc-corner--tr { right: 0; border-right: 0.2rem solid rgba(254, 214, 91, 0.5); }
/* 右侧大号「点击」图标 */
.stc-touch {
  position: absolute;
  right: 3.2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 4.8rem;
  height: 4.8rem;
  color: #ffd700;
  filter: drop-shadow(0 0.4rem 0.15rem rgba(0, 0, 0, 0.1))
          drop-shadow(0 1rem 0.4rem rgba(0, 0, 0, 0.04));
  pointer-events: none;
  z-index: 3;
}
.stc-touch img { width: 100%; height: 100%; display: block; }
/* 内容区 */
.stc-inner {
  position: relative;
  z-index: 2;
  padding: 3.2rem 1.6rem 1.6rem;
}
/* 顶部信息条 */
.stc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.3rem;
  border-radius: 0.8rem;
  background: rgba(255, 215, 0, 0.1);
  border: 0.1rem solid rgba(255, 215, 0, 0.3);
  margin: 0.8rem 0;
}
.stc-head-l { display: flex; align-items: center; gap: 1.2rem; }
.stc-head-avatar {
  flex: 0 0 auto;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  background: #ffd700;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #b22222;
}
.stc-head-avatar img { width: 2.4rem; height: 2.4rem; display: block; }
.stc-head-text { display: flex; flex-direction: column; align-items: flex-start; }
.stc-head-title {
  font-size: 1.6rem;
  line-height: 2rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.07rem;
  white-space: nowrap;
}
.stc-head-sub {
  font-size: 1.4rem;
  line-height: 1.6rem;
  font-weight: 700;
  color: #ffd700;
  white-space: nowrap;
}
.stc-head-arrow {
  flex: 0 0 auto;
  width: 0.74rem;
  height: 1.2rem;
  color: #ffd700;
  display: block;
}
/* 已完成变体：右侧「查看详情 →」，副标题字号 12px */
.stc-head-r {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  flex: 0 0 auto;
}
.stc-head-cta {
  font-size: 1.4rem;
  line-height: 1.6rem;
  font-weight: 700;
  color: #ffffff;
  white-space: nowrap;
}
.settle-topcard--done { text-decoration: none; }
.settle-topcard--done .stc-head-sub { font-size: 1.2rem; }
/* 底部三项能力 */
.stc-feats {
  display: flex;
  justify-content: center;
  gap: 0.8rem;
  padding-top: 1.6rem;
  opacity: 0.8;
}
.stc-feat {
  flex: 0 0 9.733rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  color: rgba(255, 255, 255, 0.9);
}
.stc-feat img {
  width: 1.28rem;
  height: 1.28rem;
  display: block;
  color: inherit;
}
.stc-feat span {
  font-size: 1rem;
  line-height: 1.5rem;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
}
.settle-topcard--v2:active { transform: translateY(0.1rem); }
/* 状态异常弹窗（风控提示） */
.risk-modal-box {
  position: relative;
  z-index: 1;
  width: 82%;
  max-width: 32rem;
  background: #fff;
  border-radius: 1.6rem;
  overflow: hidden;
  padding-top: 3rem;
}
.risk-modal-text {
  padding: 0 2.4rem 2.4rem;
  font-size: 1.6rem;
  line-height: 2.6rem;
  color: #333;
  text-align: center;
}
.risk-modal-btns { display: flex; border-top: 0.1rem solid #ededed; }
.risk-modal-cancel,
.risk-modal-ok {
  flex: 1;
  height: 5.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.7rem;
  background: transparent;
  border: none;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
}
.risk-modal-cancel { color: #666; border-right: 0.1rem solid #ededed; }
.risk-modal-ok { color: #c81d25; font-weight: 700; }

/* 系统提示弹窗（申请解除风险 -> 立即转入确认，1:1 还原 Figma 4:2） */
.sc-box {
  position: relative;
  z-index: 1;
  width: 32.9rem;
  max-width: calc(100% - 4rem);
  background: #fff;
  border-radius: 1.6rem;
  box-shadow: 0 2.5rem 5rem -1.2rem rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
.sc-head {
  padding: 2rem 2rem 2.1rem;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: #1b1c1c;
  border-bottom: 0.1rem solid #e5e5e5;
}
.sc-body {
  padding: 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
.sc-info {
  background: #f6f6f6;
  border-radius: 0.8rem;
  padding: 1.6rem;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
}
.sc-info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sc-info-k { font-size: 1.4rem; line-height: 2rem; color: #5c403b; }
.sc-info-v { font-size: 1.6rem; line-height: 2.4rem; color: #1b1c1c; }
.sc-info-v-strong { font-weight: 500; }
.sc-note {
  display: flex;
  align-items: flex-start;
  gap: 1.2rem;
}
.sc-note-ic { width: 2rem; height: 2rem; flex-shrink: 0; margin-top: 0.2rem; display: block; }
.sc-note p { font-size: 1.4rem; line-height: 2.28rem; color: #1b1c1c; }
.sc-foot {
  padding: 0.8rem 2.4rem 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.sc-btn-primary {
  width: 100%;
  border: none;
  background: #0b5eaf;
  border-radius: 0.8rem;
  padding: 1.4rem 0;
  font-size: 2rem;
  line-height: 2.4rem;
  color: #fff;
  text-align: center;
  cursor: pointer;
}
.sc-btn-text {
  width: 100%;
  border: none;
  background: none;
  padding: 0.8rem 0;
  font-size: 1.2rem;
  line-height: 2rem;
  color: #5c403b;
  text-align: center;
  cursor: pointer;
}

/* 结算回执弹窗（展示回执图片 + 保存到相册） */
.rc-box {
  position: relative;
  z-index: 1;
  width: 32.9rem;
  max-width: calc(100% - 4rem);
  background: #fff;
  border-radius: 1.6rem;
  padding: 1.6rem;
  box-shadow: 0 2.5rem 5rem -1.2rem rgba(0, 0, 0, 0.25);
}
.rc-close {
  position: absolute;
  top: 0.4rem;
  right: 0.8rem;
  width: 3.2rem;
  height: 3.2rem;
  border: none;
  background: none;
  font-size: 2.6rem;
  line-height: 1;
  color: #999;
  cursor: pointer;
}
.rc-img-wrap {
  max-height: 60vh;
  overflow: auto;
  border-radius: 0.8rem;
  background: #f6f6f6;
}
.rc-img { display: block; width: 100%; height: auto; border-radius: 0.8rem; }
.rc-download {
  width: 100%;
  margin-top: 1.6rem;
  border: none;
  background: #0b5eaf;
  border-radius: 0.8rem;
  padding: 1.4rem 0;
  font-size: 1.8rem;
  line-height: 2.4rem;
  color: #fff;
  text-align: center;
  cursor: pointer;
}
.rc-download:active { opacity: 0.85; }

/* ===== 结算大额资产 · 风控解除（settle.php）===== */
.settle-body { background: #fcf2ea; }
.settle-page {
  width: 39.3rem;
  max-width: 100%;
  min-height: 100vh;
  background: #fcf2ea;
  position: relative;
  padding-bottom: 2rem;
}
.settle-back {
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  z-index: 5;
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.28);
  color: #fff;
  font-size: 2.4rem;
  line-height: 3.4rem;
  text-align: center;
  text-decoration: none;
}
.settle-banner-top { display: block; width: 100%; height: auto; }
.settle-main {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 0 0.9rem;
  margin-top: -1.2rem;
  position: relative;
  z-index: 1;
}
/* 系统风险提示 / 风险解除申请已提交 */
.settle-riskbox {
  background: #b0000b;
  border-left: 0.4rem solid #fdd355;
  border-radius: 2rem;
  padding: 2rem 2rem 2rem 2.4rem;
  box-shadow: 0 0.8rem 1.5rem rgba(186, 26, 26, 0.15);
  color: #fff;
}
.settle-riskbox-hd {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.4rem;
}
.settle-riskbox-body {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 2.6rem;
  opacity: 0.92;
}
.settle-riskbox-hl {
  color: #ffd54a;
  font-weight: 700;
}
.settle-ic-warn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  border: 0.15rem solid #fdd355;
  color: #fdd355;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}
/* 编号说明列表 */
.settle-tips {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: 0 0.7rem;
}
.settle-tip {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
  background: #f3f3f3;
  border: 0.1rem solid rgba(231, 189, 183, 0.3);
  border-radius: 3.2rem;
  padding: 1.3rem;
}
.settle-tip-no {
  flex-shrink: 0;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  background: #b0000b;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.settle-tip p {
  padding-top: 0.4rem;
  font-size: 1.6rem;
  line-height: 2.4rem;
  color: #1a1c1c;
}
/* 主按钮 */
.settle-action { padding: 0.8rem 1.6rem 0; display: flex; flex-direction: column; align-items: center; gap: 1.2rem; }
.settle-btn {
  width: 100%;
  min-height: 6rem;
  border: none;
  border-radius: 100rem;
  background: #b0000b;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8rem;
  box-shadow: 0 0.4rem 0.7rem rgba(217, 27, 27, 0.39);
  text-decoration: none;
}
.settle-btn-ic { font-size: 1.8rem; line-height: 1; }
.settle-btn.is-disabled,
.settle-btn:disabled {
  background: #cdbcba;
  box-shadow: none;
  cursor: not-allowed;
}
.settle-btn-outline { background: #b0000b; }
.settle-action-note { font-size: 1.2rem; color: #926f6a; text-align: center; }
/* 成功状态：进度步骤 */
.settle-steps {
  display: flex;
  justify-content: space-between;
  background: #fff;
  border-radius: 1.6rem;
  padding: 2rem 1.6rem;
  box-shadow: 0 0.4rem 1rem rgba(176, 0, 11, 0.06);
}
.settle-step { display: flex; flex-direction: column; align-items: center; gap: 0.8rem; flex: 1; }
.settle-step-ic {
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  background: #fbe9df;
  color: #b0000b;
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
.settle-step-t { font-size: 1.2rem; color: #6a4b47; }
/* 成功状态：按钮组 */
.settle-btns { display: flex; flex-direction: column; gap: 1.2rem; padding: 0 1.6rem; }
.settle-btn-note { font-size: 1.2rem; color: #926f6a; text-align: center; margin-top: -0.4rem; }
/* 温馨提示 */
.settle-footnote {
  background: #eee;
  border: 0.1rem solid rgba(231, 189, 183, 0.2);
  border-radius: 1.6rem;
  padding: 2rem 2.1rem;
  margin: 0 0.9rem;
}
.settle-footnote-hd {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #b0000b;
  margin-bottom: 1.2rem;
}
.settle-footnote p { font-size: 1.4rem; line-height: 2.275rem; color: #5d3f3b; margin-bottom: 1rem; }
.settle-footnote p:last-child { margin-bottom: 0; }
.settle-ic-info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  border: 0.12rem solid #b0000b;
  color: #b0000b;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
}
.settle-banner-bottom { display: block; width: 100%; height: auto; margin-top: 0.5rem; }

/* ===== 账户总览（account.php）===== */
.acc-body, .acc-body * { font-family: "Noto Sans Devanagari", "PingFang SC", -apple-system, BlinkMacSystemFont, "Microsoft YaHei", sans-serif; }
.acc-body { background: #f4f5f7; }
.acc-page { width: 39.3rem; max-width: 100%; min-height: 100vh; background: #f4f5f7; padding-bottom: 3rem; }
.acc-header {
  position: relative;
  height: 5.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.acc-back { position: absolute; left: 1.2rem; top: 50%; transform: translateY(-50%); border: none; background: transparent; padding: 0.4rem 0.8rem; cursor: pointer; color: #000; font-size: 3rem; line-height: 1; font-family: inherit; }
.acc-back img { width: 1.8rem; height: 1.8rem; display: block; }
.acc-title { font-size: 1.8rem; font-weight: 700; color: #1a1a1a; }
.acc-cs { position: absolute; right: 1.6rem; top: 50%; transform: translateY(-50%); font-size: 2rem; text-decoration: none; color: #333; line-height: 1; }
.acc-main { padding: 1.6rem; display: flex; flex-direction: column; gap: 1.2rem; }
/* 总资产卡 */
.acc-asset {
  background: linear-gradient(135deg, #f1e7d4 0%, #e6d4b4 100%);
  border-radius: 1.6rem;
  padding: 2rem;
  color: #3a2f1c;
}
.acc-asset-label { font-size: 1.4rem; color: #8a7455; display: flex; align-items: center; gap: 0.6rem; }
.acc-eye { opacity: 0.6; }
.acc-asset-num { font-size: 3.6rem; font-weight: 800; line-height: 1.3; margin-top: 0.6rem; color: #2b2114; }
.acc-asset-rate { font-size: 1.2rem; color: #9a7f57; margin-top: 0.8rem; }
.acc-asset-gain { font-size: 1.2rem; color: #8a7455; margin-top: 0.4rem; }
.acc-asset-gain span { opacity: 0.6; }
/* 白卡通用 */
.acc-card { background: #fff; border-radius: 1.6rem; padding: 1.6rem; }
.acc-sec-hd { font-size: 1.4rem; font-weight: 700; color: #333; display: flex; align-items: center; justify-content: space-between; }
.acc-refresh { color: #bbb; font-size: 1.6rem; }
.acc-bankrow { display: flex; align-items: center; gap: 1.2rem; margin-top: 1.4rem; }
.acc-bankvisual { width: 6.4rem; height: 4rem; border-radius: 0.6rem; overflow: hidden; flex-shrink: 0; }
.acc-bankvisual img { width: 100%; height: 100%; object-fit: cover; }
.acc-bankinfo { flex: 1; min-width: 0; }
.acc-bankno { font-size: 1.6rem; font-weight: 700; color: #222; }
.acc-bankname { font-size: 1.2rem; color: #999; margin-top: 0.2rem; }
.acc-mini-btn {
  border: 0.1rem solid #f0dede;
  background: #fbf3f3;
  color: #c81d25;
  font-size: 1.3rem;
  font-family: inherit;
  padding: 0.5rem 1.4rem;
  border-radius: 100rem;
  cursor: pointer;
}
.acc-divider { height: 0.1rem; background: #f0f0f0; margin: 1.4rem 0; }
.acc-balrow { display: flex; align-items: baseline; }
.acc-balrow-l { font-size: 1.4rem; color: #333; }
.acc-balrow-unit { font-size: 1.2rem; color: #999; margin-left: auto; margin-right: 0.6rem; }
.acc-balrow-v { font-size: 1.8rem; font-weight: 700; color: #222; }
.acc-quick { display: flex; margin-top: 1.4rem; border-top: 0.1rem solid #f2f2f2; padding-top: 0.4rem; }
.acc-quick-btn { flex: 1; border: none; background: transparent; font-family: inherit; font-size: 1.4rem; color: #333; padding: 1.2rem 0; cursor: pointer; }
.acc-quick-btn + .acc-quick-btn { border-left: 0.1rem solid #f2f2f2; }
/* 理财钱包卡 */
.acc-finance { display: flex; align-items: center; justify-content: space-between; }
.acc-finance-l { display: flex; align-items: center; gap: 1.2rem; }
.acc-finance-ic { font-size: 2.4rem; }
.acc-finance-t { font-size: 1.4rem; font-weight: 700; color: #333; }
.acc-finance-unit { font-size: 1.2rem; color: #999; margin-top: 0.4rem; }
.acc-finance-unit b { font-size: 1.6rem; color: #222; margin-left: 0.4rem; }
.acc-finance-btns { display: flex; flex-direction: column; gap: 0.8rem; }
/* 签到卡 */
.acc-signin { display: flex; align-items: center; justify-content: space-between; }
.acc-signin-l { display: flex; align-items: center; gap: 1.2rem; }
.acc-signin-ic { font-size: 2.4rem; }
.acc-signin-t { font-size: 1.4rem; font-weight: 700; color: #333; }
.acc-signin-sub { font-size: 1.2rem; color: #999; margin-top: 0.4rem; }
.acc-signin-btn {
  border: none;
  background: linear-gradient(180deg, #e0323a 0%, #c1121f 100%);
  color: #fff;
  font-size: 1.4rem;
  font-family: inherit;
  padding: 0.7rem 2rem;
  border-radius: 100rem;
  cursor: pointer;
}
/* 添加银行卡 */
.acc-addcard {
  background: #fff;
  border-radius: 1.6rem;
  padding: 1.8rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  border: none;
  width: 100%;
  cursor: pointer;
  font-family: inherit;
}
.acc-addcard-t { font-size: 1.6rem; font-weight: 700; color: #c81d25; display: flex; align-items: center; gap: 0.6rem; }
.acc-addcard-ic { font-size: 1.8rem; }
.acc-addcard-sub { font-size: 1.2rem; color: #999; }
.acc-footnote {
  background: #fff;
  border-radius: 1.6rem;
  padding: 1.8rem;
}
.acc-footnote-hd { display: flex; align-items: center; gap: 0.6rem; font-size: 1.4rem; font-weight: 700; color: #c81d25; margin-bottom: 1rem; }
.acc-footnote p { font-size: 1.3rem; line-height: 2.1rem; color: #888; }
.acc-deposit-box { padding-bottom: 1.6rem; }
.acc-deposit-body { padding: 1.6rem; }
.acc-deposit-body label { display: block; font-size: 1.3rem; color: #666; margin-bottom: 0.8rem; }
.acc-deposit-body input { width: 100%; height: 4.6rem; border: 0.1rem solid #e5e5e5; border-radius: 0.8rem; padding: 0 1.2rem; font-size: 1.6rem; font-family: inherit; box-sizing: border-box; }

/* ===== 每日签到弹窗 ===== */
.signin-box {
  position: relative;
  z-index: 1;
  width: 86%;
  max-width: 34rem;
  background: #fff;
  border-radius: 2rem;
  overflow: hidden;
}
.signin-hd {
  background: linear-gradient(180deg, #d0212a 0%, #b0000b 100%);
  color: #fff;
  text-align: center;
  padding: 2.2rem 2rem 2.6rem;
}
.signin-hd-ic { font-size: 2.8rem; }
.signin-hd-t { font-size: 1.9rem; font-weight: 700; margin-top: 0.4rem; }
.signin-hd-sub { font-size: 1.2rem; opacity: 0.9; margin-top: 0.4rem; }
.signin-close {
  position: absolute;
  top: 1.4rem;
  right: 1.6rem;
  border: none;
  background: transparent;
  color: rgba(255,255,255,0.9);
  font-size: 2.2rem;
  line-height: 1;
  cursor: pointer;
}
.signin-body { background: #fff; border-radius: 2rem 2rem 0 0; margin-top: -1.2rem; position: relative; padding: 2rem 1.6rem 1.6rem; }
.signin-ladder { display: flex; justify-content: space-between; position: relative; }
.signin-ladder::before { content: ''; position: absolute; top: 2.4rem; left: 4rem; right: 4rem; height: 0.2rem; background: #eee; }
.signin-day { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 0.4rem; position: relative; z-index: 1; }
.signin-day-ic {
  width: 4.8rem;
  height: 4.8rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  color: #fff;
}
.signin-day.is-done .signin-day-ic { background: #c1121f; }
.signin-day.is-current .signin-day-ic { background: linear-gradient(135deg, #e6b453, #cf8f2a); }
.signin-day.is-lock .signin-day-ic { background: #ededed; color: #b7b7b7; }
.signin-day-t { font-size: 1.2rem; color: #555; margin-top: 0.4rem; }
.signin-day-amt { font-size: 1.3rem; font-weight: 700; color: #c1121f; }
.signin-day.is-lock .signin-day-amt { color: #b7b7b7; }
.signin-day-st { font-size: 1.1rem; color: #999; }
.signin-day.is-current .signin-day-st { color: #cf8f2a; }
.signin-promo { display: flex; align-items: center; gap: 1.2rem; background: #faf7f2; border-radius: 1.2rem; padding: 1.4rem; margin-top: 2rem; }
.signin-promo-ic { font-size: 2.4rem; }
.signin-promo-t { font-size: 1.4rem; font-weight: 700; color: #333; }
.signin-promo-sub { font-size: 1.2rem; color: #999; margin-top: 0.2rem; }
.signin-action {
  width: 100%;
  height: 5.6rem;
  border: none;
  border-radius: 100rem;
  background: linear-gradient(180deg, #e0323a 0%, #b0000b 100%);
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
  margin-top: 2rem;
}
.signin-action.is-disabled, .signin-action:disabled { background: #cdbcba; cursor: not-allowed; }
.signin-foot { text-align: center; font-size: 1.1rem; color: #b8b8b8; margin-top: 1.2rem; }

/* ===== 清算卡关联页（card_link.php）===== */
.clink-body { background: #f4f5f7; }
.clink-page { width: 39.3rem; max-width: 100%; min-height: 100vh; background: #f4f5f7; padding-bottom: 10rem; }
.clink-header {
  position: relative;
  height: 5.6rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #d21f27 0%, #c1121f 100%);
}
.clink-back { position: absolute; left: 1.6rem; top: 50%; transform: translateY(-50%); border: none; background: transparent; color: #fff; font-size: 2.2rem; cursor: pointer; }
.clink-title { font-size: 1.8rem; font-weight: 700; color: #fff; }
.clink-main { padding: 1.6rem; }
.clink-note {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  background: #fff;
  border-radius: 1rem;
  padding: 1.2rem 1.4rem;
  font-size: 1.3rem;
  color: #c1121f;
}
.clink-cardpic { margin-top: 1.6rem; border-radius: 1.4rem; overflow: hidden; }
.clink-cardpic img { width: 100%; display: block; }
.clink-form { background: #fff; border-radius: 1.4rem; padding: 0.6rem 1.6rem; margin-top: 1.6rem; }
.clink-field { padding: 1.6rem 0; border-bottom: 0.1rem solid #f2f2f2; }
.clink-field:last-child { border-bottom: none; }
.clink-field > label { display: block; font-size: 1.3rem; color: #333; margin-bottom: 1rem; }
.clink-input { display: flex; align-items: center; gap: 0.8rem; background: #f6f7f9; border-radius: 1rem; padding: 0 1.2rem; height: 5rem; }
.clink-input-ic { font-size: 1.6rem; opacity: 0.5; }
.clink-input input { flex: 1; border: none; background: transparent; font-size: 1.5rem; font-family: inherit; color: #222; outline: none; min-width: 0; }
.clink-secure { text-align: center; margin-top: 2rem; padding: 0 1.6rem; }
.clink-secure-hd { display: flex; align-items: center; justify-content: center; gap: 0.6rem; font-size: 1.2rem; font-weight: 700; color: #1a9c5b; letter-spacing: 0.05em; }
.clink-secure p { font-size: 1.2rem; line-height: 2rem; color: #999; margin-top: 0.8rem; }
.clink-bottom { position: fixed; left: 50%; transform: translateX(-50%); bottom: 0; width: 39.3rem; max-width: 100%; box-sizing: border-box; padding: 1.6rem; background: #fff; box-shadow: 0 -0.2rem 1rem rgba(0,0,0,0.04); }
.clink-submit {
  width: 100%;
  height: 6rem;
  border: none;
  border-radius: 100rem;
  background: linear-gradient(180deg, #e0323a 0%, #b0000b 100%);
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
}

/* ===== Figma 导出图标（account / settle / card_link / 签到弹窗）===== */
/* account 顶栏 */
.acc-back img { width: 2.4rem; height: 2.4rem; display: block; }
.acc-cs-ic { width: 2.4rem; height: 2.4rem; display: block; }
/* account 总资产卡 */
.acc-eye { width: 1.6rem; height: 1.6rem; opacity: 1; vertical-align: middle; }
.acc-gain-arrow { width: 1.2rem; height: 1.2rem; opacity: 0.7; vertical-align: middle; }
/* account 卡片图标 */
.acc-addcard-ic { width: 1.8rem; height: 1.6rem; object-fit: contain; }
.acc-refresh { width: 1.8rem; height: 1.8rem; }
.acc-finance-ic { width: 2.4rem; height: 2.4rem; object-fit: contain; }
.acc-signin-ic { width: 3.6rem; height: 3.6rem; object-fit: contain; }
.acc-footnote-ic { width: 1.6rem; height: 1.6rem; }
/* 签到弹窗 */
.signin-hd-ic img { width: 3.2rem; height: 3.2rem; display: inline-block; }
.signin-day-ic img { width: 2.4rem; height: 2.4rem; display: block; }
.signin-promo-ic { width: 4.8rem; height: 4.8rem; border-radius: 1rem; object-fit: contain; background: #fff; }
.signin-action-arrow { width: 1.2rem; height: 2rem; vertical-align: middle; margin-left: 0.4rem; }
/* settle */
.settle-warn-ic { width: 2rem; height: 2rem; }
.settle-info-ic { width: 1.6rem; height: 1.6rem; }
.settle-btn-ic { width: auto; height: 1.8rem; }
.settle-step-ic img { width: 1.8rem; height: 1.8rem; display: block; }
.settle-step.is-active .settle-step-ic { background: #b0000b; }
.settle-step.is-lock .settle-step-ic { background: #ededed; }
/* card_link */
.clink-back img { width: 2rem; height: 2rem; display: block; }
.clink-note-ic { width: 1.8rem; height: 1.8rem; flex-shrink: 0; }
.clink-input-ic { width: 2rem; height: 2rem; opacity: 1; }
.clink-secure-ic { width: 1.4rem; height: 1.4rem; }

/* ===== 数字资产 Banner ===== */
.banner-digital {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 1rem;
  cursor: pointer;
}

/* ===== 优先提款50万 横幅入口（首页 专属通道 与 加速使用 之间，Figma 横幅图片 1:2）===== */
/* 与 专属通道↔加速 一致的上下间隙 0.2rem：上方间隙靠自身 margin-top，下方间隙补给后面的加速海报 */
.home-pr-banner {
  display: block;
  margin-top: 0.2rem;
}
.home-pr-banner + .home-svc-entry { margin-top: 0.2rem; }
.home-pr-banner img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 1rem;
}

/* ===== 红头文件 ===== */
.doc-list {
  background: #fffdf9;
  border-radius: 0.8rem;
  padding: 0 1.1rem;
}
.doc-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 0;
  border-bottom: 0.05rem solid rgba(156, 157, 159, 0.4);
}
.doc-row.is-last { border-bottom: none; }
.doc-icon { width: 3.6rem; height: 3.6rem; flex-shrink: 0; }
.doc-info { flex: 1; min-width: 0; }
.doc-name {
  font-size: 1rem;
  font-weight: 700;
  color: #151717;
  line-height: 1.4rem;
  margin-bottom: 0.7rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.doc-date {
  font-size: 1rem;
  color: #9c9d9f;
  line-height: 1rem;
}
.doc-icon--img { object-fit: cover; border-radius: 0.4rem; }
.doc-detail {
  flex-shrink: 0;
  width: 6rem;                   /* 60 */
  height: 1.8rem;                /* 18 */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0.1rem solid #d8a85c;
  border-radius: 100rem;
  background: transparent;
  color: #d8a85c;
  font-size: 0.8rem;
  font-weight: 700;
  font-family: inherit;
  text-decoration: none;
  cursor: pointer;
}

/* ===== 红头文件详情页（复用通用子页面 .sub-body/.topbar/.subpage-main） ===== */
.docd-card {
  background: #fff;
  border-radius: 1.2rem;
  padding: 1.6rem;
  box-shadow: 0 0.1rem 0.5rem 0 rgba(0, 0, 0, 0.05);
}
.docd-title { margin: 0; font-size: 1.6rem; font-weight: 700; color: #151717; line-height: 2.3rem; }
.docd-date { margin-top: 0.8rem; font-size: 1.2rem; color: #9c9d9f; }
.docd-image { display: block; width: 100%; height: auto; margin-top: 1.4rem; border-radius: 0.8rem; }
.docd-empty { margin-top: 1.6rem; padding: 3rem 0; text-align: center; color: #9c9d9f; font-size: 1.3rem; }

/* ===== 首页公告弹窗 ===== */
.announce-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.announce-modal[hidden] { display: none; }
.announce-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.6); }
.announce-box {
  position: relative;
  z-index: 1;
  width: 88%;
  max-width: 32rem;
  max-height: 82vh;
  display: flex;
  flex-direction: column;
  background: #fffdf9;
  border-radius: 1.4rem;
  overflow: hidden;
  box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.3);
}
.announce-close {
  position: absolute;
  top: 0.8rem;
  right: 0.8rem;
  z-index: 2;
  width: 2.6rem;
  height: 2.6rem;
  border: 0;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  font-size: 1.9rem;
  line-height: 2.4rem;
  cursor: pointer;
}
.announce-stage { flex: 1; display: flex; min-height: 0; }
.announce-item { flex: 1; display: flex; flex-direction: column; min-height: 0; width: 100%; }
.announce-item[hidden] { display: none; }
.announce-inner { flex: 1; overflow-y: auto; padding: 2rem 1.6rem 1.2rem; }
.announce-title {
  margin: 0 0 1.2rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  color: #c81d25;
  line-height: 2.4rem;
}
.announce-img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.8rem;
  margin-bottom: 1rem;
}
.announce-img:last-child { margin-bottom: 0; }
.announce-text {
  font-size: 1.3rem;
  line-height: 2rem;
  color: #3a3c3e;
  word-break: break-word;
}
.announce-text p { margin: 0 0 1rem; text-align: justify; }
.announce-text p:last-child { margin-bottom: 0; }
.announce-actions {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding: 1.2rem 1.6rem 1.6rem;
  border-top: 0.05rem solid rgba(156, 157, 159, 0.3);
}
.announce-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4rem;
  border-radius: 100rem;
  background: linear-gradient(180deg, #e22a23 0%, #c81d25 100%);
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  text-decoration: none;
}

/* ===== 底部导航 ===== */
.tabbar {
  position: fixed;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 39.3rem;
  max-width: 100%;
  height: 5.8rem;                /* 58 */
  background: #fff;
  box-shadow: 0 -0.1rem 0.6rem rgba(0, 0, 0, 0.06);
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 100;
  padding: 0 0.6rem;
}
.tab-item {
  border: none;
  background: transparent;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  padding: 0;
  text-decoration: none;
  color: inherit;
  flex: 0 0 auto;
  position: relative; /* 承载「待处理」等角标 */
}
.tab-item img { width: 3.2rem; height: 3.2rem; }

/* 中央清算卡「待处理」角标：绝对定位于图标上方并向下叠加，允许与图标重叠；
   不影响图标/文字排布（图标位置不变） */
.tab-item-badge {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  /* tab-item 由下至上：span(1rem) + gap(0.4rem) + icon(3.2rem)，图标顶部距底部 4.6rem
     取 bottom: 3.4rem => 角标底部落在图标顶部下方 1.2rem 处（约叠加图标 37%） */
  bottom: 3.4rem;
  width: 5.6rem;   /* 更大，约图标 3.2rem 的 1.75 倍 */
  height: auto;
  pointer-events: none;
  z-index: 2;
  line-height: 0;
}
.tab-item-badge img { width: 100%; height: auto; display: block; }
.tab-item span {
  font-size: 1rem;
  line-height: 1rem;
  color: #646464;
  white-space: nowrap;
}
.tab-item.active span { color: #c81d25; }
.tab-item--hidden { display: none; }

/* 中央凸起 CTA（专属资格通道，Figma Group 1000005074）：红色徽章图标凸出于导航栏之上，
   标签底部与其他 tab 基线对齐（图标脱离常规垂直流，绝对定位并向上凸出）。 */
.tab-item--cta { align-self: stretch; justify-content: flex-end; padding-bottom: 0.6rem; gap: 0; overflow: visible; }
.tab-item--cta .tab-cta-ic {
  position: absolute;
  left: 50%;
  top: -3.2rem;                 /* 凸出 tabbar 顶部约 3.2rem */
  transform: translateX(-50%);
  width: 7.2rem;
  height: 7.2rem;
  line-height: 0;
  pointer-events: none;
  z-index: 2;
}
.tab-item--cta .tab-cta-ic img { width: 100%; height: 100%; display: block; }
.tab-item--cta span { color: #c81d25; }   /* 促销入口标签用红色以突出 */

/* ============================================================
   我的 mine.php
   ============================================================ */
.mine-body { background: #fbfbfb; }

.mine {
  position: relative;
  width: 39.3rem;
  margin: 0 auto;
  min-height: 100vh;
  background: #fbfbfb;
  padding-bottom: 8rem;
  overflow-x: hidden;
}

/* 顶部红色头图 */
.mine-header-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 22.5rem;               /* 225 */
  object-fit: cover;
  border-radius: 0 0 2rem 2rem;
  z-index: 0;
  pointer-events: none;
}

/* ===== 头部内容 ===== */
.mine-top {
  position: relative;
  z-index: 2;
  height: 20.3rem;               /* 让主体在设计 top:203 处衔接 */
}
.mine-bell {
  position: absolute;
  top: 3.3rem;
  right: 1.4rem;
  width: 2rem;
  height: 2rem;
  cursor: pointer;
}
.mine-signin {
  position: absolute;
  top: 8.8rem;
  right: 1.8rem;
  width: 9.4rem;                 /* 94 */
  height: 3rem;                  /* 30 */
  border: none;
  border-radius: 100rem;
  background: linear-gradient(180deg, #fcf0d8 0%, #f9e2b3 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  color: #c81d25;
  font-size: 1.2rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
}
.mine-signin img { width: 1.8rem; height: 1.8rem; }

.mine-user {
  position: absolute;
  left: 4.5rem;
  top: 6.7rem;
  display: flex;
  align-items: center;
  gap: 0.9rem;
}
.mine-avatar {
  width: 6rem;
  height: 6rem;
  border-radius: 100rem;
  object-fit: cover;
}
.mine-user-info {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}
.mine-phone {
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.4rem;
}
.mine-sub {
  font-size: 1rem;
  color: #fff;
  line-height: 1rem;
}
.mine-invite {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  color: #fff;
  font-size: 1rem;
  line-height: 1rem;
}
.mine-copy { width: 1rem; height: 1rem; cursor: pointer; }

/* ===== 主体卡片区 ===== */
.mine-main {
  position: relative;
  z-index: 1;
  padding: 0 1.2rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* ===== 钱包列表（两列网格） ===== */
.wallet-box {
  background: #fefefe;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.5rem 0 rgba(0, 0, 0, 0.1);
  padding: 1.3rem 0.8rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.wallet-box--grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.6rem;
}
.wallet-box--grid .wallet-row { height: 8rem; border-radius: 0.8rem; }
.wallet-box--grid .wallet-amount { margin-top: 1.2rem; }
.wallet-box--grid .wallet-amount .num { font-size: 1.7rem; line-height: 1.7rem; }
.wallet-box--grid .wallet-amount .unit {
  font-size: 1.1rem;
  line-height: 1.1rem;
  margin-left: 0.2rem;
  align-self: flex-end;
}
.wallet-row {
  position: relative;
  overflow: hidden;
  height: 7.4rem;                /* 74 */
  background: #fff7ef;
  border-radius: 1rem;
  padding: 1.7rem 1rem 0;
  box-sizing: border-box;
}
.wallet-deco {
  position: absolute;
  right: 0;
  top: 0;
  height: 100%;
  width: 50%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}
.wallet-name {
  position: relative;
  z-index: 1;
  font-size: 1.4rem;
  font-weight: 700;
  color: #151717;
  line-height: 1.4rem;
}
.wallet-amount {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  color: #bf8323;
  margin-top: 1.6rem;
}
.wallet-amount .cny { font-size: 1.4rem; line-height: 1.4rem; }
.wallet-amount .num {
  font-size: 2rem;
  line-height: 2rem;
  font-weight: 500;
}
.wallet-withdraw {
  position: absolute;
  right: 1rem;
  bottom: 0.9rem;
  z-index: 2;
  width: 5.8rem;                 /* 58 */
  height: 2.2rem;                /* 22 */
  border: none;
  border-radius: 100rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-size: 1rem;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
}
.wallet-withdraw img { width: 1rem; height: 1rem; }

/* ===== 功能宫格 ===== */
.mine-grid {
  background: #fefefe;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.5rem 0 rgba(0, 0, 0, 0.1);
  padding: 1.3rem 1rem;
}
.grid-row {
  display: flex;
  justify-content: space-around;
}
.grid-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  row-gap: 1.6rem;
  justify-items: center;
}
.grid-item {
  border: none;
  background: transparent;
  text-decoration: none;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  padding: 0;
}
.grid-item img { width: 3.2rem; height: 3.2rem; }
/* 指定 PNG logo 宫格图标视觉放大（占位不变，保持标签对齐）：
   我的团队/我的房产/我的汽车/提现记录/政策抽奖/担保金退款 */
.grid-item img.grid-icon--big { transform: scale(1.38); }
.grid-item span { font-size: 1rem; color: #151717; line-height: 1rem; }
.grid-item--hidden { display: none; }
.grid-divider {
  height: 0.05rem;
  background: rgba(156, 157, 159, 0.4);
  margin: 1.2rem 0;
}

/* ===== 设置列表 ===== */
.mine-settings {
  background: #fefefe;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.5rem 0 rgba(0, 0, 0, 0.1);
  padding: 0 1.1rem;
}
.set-row {
  width: 100%;
  border: none;
  background: transparent;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 1.25rem 0;
  border-bottom: 0.05rem solid rgba(156, 157, 159, 0.4);
}
.set-row.is-last { border-bottom: none; }
.set-icon { width: 1.6rem; height: 1.6rem; }
.set-label {
  flex: 1;
  margin-left: 0.6rem;
  text-align: left;
  font-size: 1rem;
  color: #151717;
}
.set-chev { width: 1.2rem; height: 1.2rem; }
.set-row--red .set-label { color: #dd0200; font-weight: 600; }

/* ============================================================
   通用子页面（顶部标题栏 + 返回，无底部导航）
   ============================================================ */
.sub-body { background: #f4f5f7; }
.subpage {
  position: relative;
  width: 39.3rem;
  margin: 0 auto;
  min-height: 100vh;
  background: #f4f5f7;
}

/* 顶部标题栏 */
.topbar {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 39.3rem;
  max-width: 100%;
  height: 4.6rem;
  background: linear-gradient(180deg, #e22a23 0%, #c81d25 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
}
.topbar-title {
  color: #fff;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.7rem;
}
.topbar-back {
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 2.6rem;
  height: 2.6rem;
  border: none;
  background: transparent;
  padding: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.topbar-back img { width: 2.2rem; height: 2.2rem; }
.topbar-action {
  position: absolute;
  right: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
  font-size: 1.3rem;
  line-height: 1.3rem;
  text-decoration: none;
  padding: 0.4rem 0.6rem;
}

.subpage-main { padding: 6.2rem 1.2rem 3rem; }

/* ===== 实名认证 ===== */
.rn-status {
  border-radius: 1rem;
  padding: 1.2rem 1.4rem;
  font-size: 1.3rem;
  line-height: 1.8rem;
  margin-bottom: 1.2rem;
}
.rn-status--ok      { background: #e8f7ee; color: #1aa863; }
.rn-status--pending { background: #fff5e6; color: #d98a00; }
.rn-status--reject  { background: #fdecec; color: #d93a3a; }

.rn-card {
  background: #fff;
  border-radius: 1.2rem;
  padding: 0 1.6rem;
  box-shadow: 0 0.1rem 0.5rem 0 rgba(0, 0, 0, 0.05);
}
.rn-field {
  display: flex;
  align-items: center;
  height: 5.6rem;
  border-bottom: 0.1rem solid #f0f0f0;
}
.rn-field:last-child { border-bottom: none; }
.rn-label {
  width: 8rem;
  flex-shrink: 0;
  font-size: 1.5rem;
  font-weight: 500;
  color: #151717;
}
.rn-input {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  font-size: 1.5rem;
  color: #151717;
  font-family: inherit;
}
.rn-input::placeholder { color: #b3b4b6; }
.rn-input:disabled { color: #9c9d9f; -webkit-text-fill-color: #9c9d9f; opacity: 1; }

.rn-submit {
  width: 100%;
  margin-top: 2.4rem;
}
.rn-submit:disabled { opacity: 0.55; cursor: default; }

/* 温馨提示卡片 */
.rn-tips {
  margin-top: 2.4rem;
  background: #fff7ef;
  border: 0.1rem solid #f5e3c8;
  border-radius: 1.2rem;
  padding: 1.4rem 1.6rem;
}
.rn-tips-title {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #bf8323;
  margin-bottom: 1rem;
}
.rn-tips-dot {
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 50%;
  background: #bf8323;
}
.rn-tips-list { list-style: none; padding: 0; margin: 0; }
.rn-tips-list li {
  position: relative;
  padding-left: 1.4rem;
  font-size: 1.2rem;
  line-height: 1.9rem;
  color: #8a6d3b;
  margin-bottom: 0.6rem;
}
.rn-tips-list li:last-child { margin-bottom: 0; }
.rn-tips-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7rem;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  background: #d8a85c;
}
.rn-tips-list strong { color: #bf8323; font-weight: 700; }

/* 下拉选择（开户银行）与输入框风格一致 */
.rn-select {
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
  padding-right: 1.8rem;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23b3b4b6' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 0.2rem center;
  background-size: 1rem;
}

/* ===== 银行卡绑定 ===== */
.section-label {
  margin: 2.2rem 0 1rem;
  padding-left: 0.2rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #151717;
}
.subpage-main > .section-label:first-child { margin-top: 0; }

.bank-list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.bank-item {
  position: relative;
  background: linear-gradient(135deg, #e23b32 0%, #c81d25 100%);
  border-radius: 1.2rem;
  padding: 1.4rem 1.6rem;
  color: #fff;
  box-shadow: 0 0.2rem 0.6rem 0 rgba(200, 29, 37, 0.25);
}
.bank-item-top {
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.bank-name { font-size: 1.5rem; font-weight: 700; }
.bank-badge {
  font-size: 1rem;
  font-weight: 700;
  color: #c81d25;
  background: linear-gradient(180deg, #fcf0d8 0%, #f9e2b3 100%);
  border-radius: 100rem;
  padding: 0.2rem 0.8rem;
  line-height: 1.4rem;
}
.bank-number {
  font-size: 1.8rem;
  letter-spacing: 0.2rem;
  margin: 1.1rem 0;
}
.bank-item-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.bank-holder { font-size: 1.2rem; opacity: 0.9; }
.bank-actions { display: flex; gap: 0.8rem; }
.bank-btn {
  border: 0.1rem solid rgba(255, 255, 255, 0.75);
  background: transparent;
  color: #fff;
  font-size: 1.1rem;
  font-family: inherit;
  border-radius: 100rem;
  padding: 0.4rem 1.1rem;
  cursor: pointer;
}

/* ============================================================
   每日签到页
   ============================================================ */
.ci-body { background: #fcf2ea; }
.checkin {
  position: relative;
  width: 39.3rem;
  margin: 0 auto;
  min-height: 100vh;
  background: #fcf2ea;
  padding-bottom: 2rem;
  overflow: hidden;
}

/* 顶部红色头图 */
.ci-header {
  position: relative;
  width: 100%;
  height: 22.5rem;
}
.ci-header-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}
.ci-back {
  position: absolute;
  left: 1rem;
  top: 1.4rem;
  width: 3.4rem;
  height: 3.4rem;
  border: none;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 3;
}
.ci-back img { width: 2.2rem; height: 2.2rem; filter: brightness(0) invert(1); }
.ci-title {
  position: absolute;
  left: 0;
  right: 0;
  top: 5rem;
  text-align: center;
  font-size: 3.4rem;
  font-weight: 700;
  line-height: 3.4rem;
  background: linear-gradient(180deg, #fdeacb, #fbc273);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.25);
}
.ci-subtitle {
  position: absolute;
  left: 0;
  right: 0;
  top: 9.8rem;
  text-align: center;
  font-size: 2rem;
  line-height: 2rem;
  font-weight: 700;
  background: linear-gradient(180deg, #fdeacb, #fbc273);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  text-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.25);
}

/* 累计签到说明 */
.ci-tip {
  position: relative;
  z-index: 2;
  width: 38rem;
  margin: -4.9rem auto 0;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  overflow: hidden;
  background: url("../image/checkin-tip-bg.png") center/cover no-repeat, #fff7ef;
}
.ci-tip-head {
  height: 3.5rem;
  line-height: 3.5rem;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  background: url("../image/checkin-tip-head.png") center/cover no-repeat, #c81d25;
  color: #fdeacb;
}
.ci-tip-body { padding: 1.4rem 1.2rem 1.5rem; }
.ci-tip-body p {
  font-size: 1.4rem;
  line-height: 2.2rem;
  color: #000;
}
.ci-tip-body em { font-style: normal; color: #c81d25; }

/* 签到日历 */
.ci-cal {
  position: relative;
  z-index: 1;
  width: 38rem;
  margin: 1.2rem auto 0;
  background: #fcf8f4;
  border-radius: 1rem;
  box-shadow: 0 0 0.6rem rgba(0, 0, 0, 0.15);
  padding: 2rem 1.3rem;
}
.ci-cal-title {
  font-size: 2.4rem;
  font-weight: 500;
  color: #0a213b;
  line-height: 2.4rem;
}
.ci-cal-stats {
  display: flex;
  justify-content: space-between;
  margin-top: 1.4rem;
  font-size: 1.2rem;
  color: #949494;
}
.ci-cal-stats em { font-style: normal; font-size: 2rem; color: #fd7812; vertical-align: -0.2rem; }

.ci-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 0.4rem;
  margin-top: 1.6rem;
}
.ci-day {
  height: 6.5rem;
  border-radius: 0.6rem;
  background: #fff;
  box-shadow: 0 0 0.6rem rgba(61, 97, 153, 0.2);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 0.6rem 0;
}
.ci-day-label { font-size: 1rem; line-height: 1rem; color: #8894a7; }
.ci-day-icon { width: 2.2rem; height: 2.2rem; }
.ci-day-state { font-size: 1rem; line-height: 1rem; color: #8894a7; }
.ci-day.is-signed {
  background: linear-gradient(180deg, #97c1fd, #3080f5);
}
.ci-day.is-signed .ci-day-label,
.ci-day.is-signed .ci-day-state { color: #fff; }
.ci-day.is-signed .ci-day-icon { width: 2.6rem; height: 2.6rem; }

.ci-signbtn {
  height: 6.5rem;
  border: none;
  border-radius: 0.6rem;
  background: linear-gradient(180deg, #fe9b51, #fd822a);
  box-shadow: 0 0 0.6rem rgba(61, 97, 153, 0.2);
  color: #fff;
  font-family: inherit;
  font-size: 3rem;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ci-signbtn.is-done {
  background: linear-gradient(180deg, #c9cdd4, #a6acb6);
  cursor: default;
}

/* 底部装饰 */
.ci-bottom {
  display: block;
  width: 100%;
  margin-top: 3rem;
}

/* ============================================================
   专项退款资金 refund.php
   ============================================================ */
.rf-body { background: #fcf2ea; }
.refund {
  position: relative;
  width: 39.3rem;
  margin: 0 auto;
  min-height: 100vh;
  background: #fcf2ea;
  padding-bottom: 7.5rem;       /* 让出底部导航栏 */
  overflow-x: hidden;
}
.rf-header { width: 100%; height: 18.7rem; }
.rf-header-bg { display: block; width: 100%; height: 100%; object-fit: cover; }

.rf-main {
  position: relative;
  margin-top: -1.2rem;
  padding: 0 1.25rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 说明 / 状态 卡片（红头 + 金边） */
.rf-tip {
  width: 36.8rem;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  overflow: hidden;
  background: url("../image/checkin-tip-bg.png") center/cover no-repeat, #fff7ef;
}
.rf-tip--status { margin-top: 1.2rem; }
.rf-tip-head {
  height: 3.5rem;
  line-height: 3.5rem;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  color: #fdeacb;
  background: url("../image/checkin-tip-head.png") center/cover no-repeat, #c81d25;
}
.rf-tip-body { padding: 1.2rem 1.4rem 1.4rem; }
.rf-tip-body p { font-size: 1.2rem; line-height: 2rem; color: #000; }
.rf-tip-body em { font-style: normal; color: #c81d25; }

/* 629万 横幅 */
.rf-banner {
  width: 36.8rem;
  height: 14.2rem;
  object-fit: cover;
  border-radius: 1rem;
  margin-top: 1.2rem;
  display: block;
}

/* 629万 横幅 + 办理截止倒计时卡片（背景图 368x210 等比，数字叠加层） */
.rf-countdown-card {
  position: relative;
  width: 36.8rem;
  height: 21rem;
  margin-top: 1.2rem;
}
.rf-countdown-bg {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1rem;
}
.rf-countdown {
  position: absolute;
  left: calc(50% + 0.8rem);
  top: 14.9rem;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
}
.rf-cd-box {
  width: 2.2rem;
  height: 3rem;
  margin-left: 0.2rem;
  background: #d30301;
  border-radius: 0.4rem;
  color: #fff;
  font-family: "DIN", "Helvetica Neue", Arial, sans-serif;
  font-weight: 700;
  font-size: 2rem;
  line-height: 3rem;
  text-align: center;
}
.rf-cd-box:first-child { margin-left: 0; }
.rf-cd-u {
  margin: 0 0.2rem;
  color: #d30301;
  font-size: 0.8rem;
  line-height: 1;
}

/* 表单 / 信息 卡片 */
.rf-card {
  position: relative;
  width: 36.8rem;
  margin-top: 1.2rem;
  background: #fef7f1;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.5rem rgba(0, 0, 0, 0.1);
  padding: 1.7rem 1.5rem;
}
.rf-form, .rf-info { display: flex; flex-direction: column; gap: 0.9rem; }
.rf-form[hidden], .rf-info[hidden] { display: none; }

.rf-field { display: flex; align-items: center; }
.rf-label {
  width: 9rem;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #000;
}
.rf-label img { width: 1.6rem; height: 1.6rem; flex: 0 0 auto; }
.rf-label span { white-space: nowrap; }
.rf-label i { font-style: normal; color: #c81d25; margin-right: 0.1rem; }

.rf-input, .rf-value {
  flex: 1 1 auto;
  min-width: 0;
  height: 2.4rem;
  border: 0.05rem solid #d8a85c;
  border-radius: 0.2rem;
  padding: 0 0.8rem;
  font-size: 1rem;
  color: #333;
  background: #fff;
  font-family: inherit;
}
.rf-input::placeholder { color: #9c9d9f; }
.rf-input.is-locked { background: #f4ece0; }
.rf-input.is-amount, .rf-value.is-amount { background: #fdf5ec; color: #c81d25; font-weight: 700; }
.rf-value {
  display: flex;
  align-items: center;
  font-size: 1.2rem;
  font-weight: 700;
  color: #c81d25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* 印章 */
.rf-seal {
  position: absolute;
  right: 1.4rem;
  bottom: 1rem;
  width: 9rem;
  height: 9rem;
  pointer-events: none;
  opacity: 0.95;
}

/* 主按钮 */
.rf-btn {
  width: 36.4rem;
  height: 3.2rem;
  margin-top: 1.4rem;
  border: none;
  border-radius: 0.5rem;
  background: linear-gradient(180deg, #d70610, #c81d25);
  color: #fff;
  font-family: inherit;
  font-size: 1.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  cursor: pointer;
}
.rf-btn.is-done { background: linear-gradient(180deg, #c9cdd4, #a6acb6); cursor: default; }
.rf-btn--ghost { background: #fff; color: #c81d25; border: 0.1rem solid #c81d25; }

/* 未实名拦截 */
.rf-noauth {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  padding: 3rem 2rem;
  text-align: center;
}
.rf-noauth-icon { width: 4rem; height: 4rem; }
.rf-noauth-title { font-size: 1.6rem; font-weight: 700; color: #c81d25; }
.rf-noauth-desc { font-size: 1.2rem; color: #555; line-height: 1.9rem; }
.rf-noauth .rf-btn { width: 22rem; margin-top: 0.6rem; }

/* 底部装饰 */
.rf-bottom { display: block; width: 100%; margin-top: 2rem; }

/* 申领条件提示弹窗（Figma Group 1000005076）：整张喜庆卡片为背景图，文字叠加定位 */
.rf-cond-modal {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rf-cond-modal[hidden] { display: none; }
.rf-cond-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.55); }
.rf-cond-card {
  position: relative;
  z-index: 1;
  width: 33rem;
  max-width: 90vw;
  aspect-ratio: 1057 / 1072;
  background: url('../image/refund-modal-bg.png') center / 100% 100% no-repeat;
  container-type: inline-size;
}
/* 叠加文字：位置取自 Figma 文本节点（相对卡片百分比），字号随卡片宽度缩放(cqw) */
.rf-cond-card p,
.rf-cond-card a {
  position: absolute;
  margin: 0;
  white-space: nowrap;
  font-weight: 700;
  line-height: 1;
  color: #1a1a1a;
}
.rf-cond-card span { color: #d10f17; }
.rf-cond-title { left: 21.3%; top: 30.5%; font-size: 1.4rem; font-size: 4.26cqw; }
.rf-cond-r1   { left: 27.7%; top: 41.8%; font-size: 1.25rem; font-size: 3.79cqw; }
.rf-cond-r2   { left: 27.7%; top: 58.1%; font-size: 1.25rem; font-size: 3.79cqw; }
/* 可点击的「文字按键」：做成胶囊按钮，明确可点 */
.rf-cond-done,
.rf-cond-link {
  left: 27.7%;
  font-size: 1.1rem;
  font-size: 3.4cqw;
  display: inline-flex;
  align-items: center;
  gap: 0.15em;
  padding: 0.4em 0.95em;
  border-radius: 10rem;
  background: linear-gradient(180deg, #ffe28d 0%, #f4b53b 100%);
  color: #9c1409 !important;
  text-decoration: none;
  box-shadow: 0 0.15rem 0.45rem rgba(120, 20, 10, 0.35);
  border: 0.1rem solid #fff4d2;
  cursor: pointer;
}
.rf-cond-done { top: 45.4%; }
.rf-cond-link { top: 62%; }
.rf-cond-done span { color: #9c1409; }
.rf-cond-done:active,
.rf-cond-link:active { transform: translateY(0.1rem); filter: brightness(0.96); }
/* 透明可点击区域：覆盖背景图中的「我知道了」按钮 */
.rf-cond-close {
  position: absolute;
  left: 31%;
  top: 80%;
  width: 38%;
  height: 10%;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
}

/* 通用弹窗外壳（card.php 邮寄信息弹窗 #shipModal 等复用） */
.rf-modal {
  position: fixed;
  inset: 0;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rf-modal[hidden] { display: none; }
.rf-modal-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.5); }
.rf-modal-box {
  position: relative;
  z-index: 1;
  width: 28rem;
  background: #fff;
  border-radius: 1.2rem;
  overflow: hidden;
}
.rf-modal-head {
  height: 4.4rem;
  line-height: 4.4rem;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background: linear-gradient(180deg, #d70610, #c81d25);
}
.rf-modal-body { padding: 1.8rem 1.8rem 0.8rem; font-size: 1.3rem; color: #333; line-height: 2rem; }
.rf-modal-body p { margin-bottom: 0.8rem; }
.rf-modal-body b { color: #c81d25; }
.rf-modal-stat { color: #c81d25; }
.rf-modal-btn {
  width: 100%;
  height: 4.2rem;
  border: none;
  border-top: 0.05rem solid #eee;
  background: #fff;
  color: #c81d25;
  font-family: inherit;
  font-size: 1.5rem;
  font-weight: 700;
  cursor: pointer;
}

/* ============================================================
   中央清算卡 card.php
   ============================================================ */
.card-body { background: #fcf2ea; }
.card-page {
  position: relative;
  width: 39.3rem;
  margin: 0 auto;
  min-height: 100vh;
  background: #fcf2ea;
  padding-bottom: 7.5rem;
  overflow-x: hidden;
}
.card-header img { display: block; width: 100%; height: auto; }

/* 顶部图片显示区域 v2（Figma node 22:46「新顶部卡片」）：
   背景图 + 「办理清算卡名额最后剩余：N名」动态文字覆盖 */
.card-header--v2 { position: relative; overflow: hidden; }
.card-header-bg { display: block; width: 100%; height: auto; }
.card-header-quota {
  /* Figma 22:46 局部坐标：文本容器起点 x=18/393≈4.58%，y=52/111≈46.8% */
  position: absolute;
  left: 4.58%;
  top: 57%;
  display: flex;
  align-items: baseline;
  color: #b3ff00;
  font-weight: 700;
  white-space: nowrap;
  pointer-events: none;
}
/* Figma: 前缀 10px、数字/单位 25px（1rem=10px 的设计尺规下 → 1rem / 2.5rem） */
.card-header-quota-l {
  font-size: 1rem;
  line-height: 1;
  /* 前缀（含冒号）单独上移，数字/单位保持基线不变 */
  transform: translateY(-0.6rem);
}
.card-header-quota-n { font-size: 2.5rem; line-height: 1; }
.card-header-quota-u { font-size: 2.5rem; line-height: 1; }

/* 顶部「结算大额资产办理倒计时」：图片 + 天/时/分/秒 4 个金框数字叠加 */
.card-header--cd { position: relative; overflow: hidden; }
.card-hqcd { position: relative; width: 100%; }
.card-hqcd-bg { display: block; width: 100%; height: auto; }
.card-hqcd-n {
  position: absolute;
  top: 53.5%;
  transform: translate(-50%, -50%);
  font-size: var(--hqcd-fs, 2.4rem);
  line-height: 1;
  font-weight: 700;
  color: #ffe9a6;
  text-shadow: 0 0.1rem 0.2rem rgba(120, 10, 10, 0.6);
  font-variant-numeric: tabular-nums;
  pointer-events: none;
  white-space: nowrap;
}
.card-hqcd-d { left: 18%; }
.card-hqcd-h { left: 39.5%; }
.card-hqcd-m { left: 61%; }
.card-hqcd-s { left: 82.5%; }
.card-back {
  position: absolute;
  left: 0.8rem;
  top: 0.8rem;
  width: 3.4rem;
  height: 3.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.28);
  z-index: 10;
}
.card-back img { width: 2rem; height: 2rem; display: block; filter: brightness(0) invert(1); }
.card-main {
  position: relative;
  padding: 1.4rem 1.25rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
/* 免费办理时间倒计时图（图内白框叠加 天/时/分/秒，数字按服务器时间每秒刷新） */
.card-cdimg {
  position: relative;
  width: 36.8rem;
  max-width: 100%;
  margin: 1.2rem 0 0;
}
.card-cdimg > img {
  width: 100%;
  display: block;
  border-radius: 0.8rem;
}
.card-cdimg-cell {
  position: absolute;
  top: 64%;
  transform: translate(-50%, -50%);
  color: #d2161d;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-weight: 800;
  line-height: 1;
  font-size: var(--cd-fs, 1.8rem);
  letter-spacing: 0.02em;
}
/* 提现页倒计时图：在子页内容区水平居中（数字定位复用 .card-cdimg-*） */
.wd-cdimg { margin: 0 auto 1.6rem; }
.card-cdimg-d { left: 26.7%; }
.card-cdimg-h { left: 42.3%; }
.card-cdimg-m { left: 57.9%; }
.card-cdimg-s { left: 73.5%; }
.card-title {
  font-size: 2rem;
  font-weight: 700;
  color: #c81d25;
  margin: 1.6rem 0 1rem;
}
/* 图片标题变体：将文字标题替换为图片，压缩上下间隙 */
.card-title--img { padding: 0; line-height: 0; margin: 0.1rem 0; }
.card-title--img img { display: block; height: 5.6rem; width: auto; }

/* 银行卡 */
.card-stage { position: relative; width: 36.8rem; }
.card-img { display: block; width: 100%; height: auto; border-radius: 1rem; }
.card-status-pill {
  position: absolute;
  top: 1.4rem;
  right: 0;
  background: #f8e7dc;
  color: #c81d25;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.6rem 1rem;
  border-radius: 10rem 0 0 10rem;
  white-space: nowrap;
}

/* 余额 + 入口 */
.card-bar {
  width: 36.8rem;
  margin-top: 1.2rem;
  background: #fbf0e8;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  padding: 1.4rem 1.6rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.card-balance-top { display: flex; align-items: center; gap: 0.5rem; }
.card-balance-top span { font-size: 1.2rem; font-weight: 700; color: #151717; }
.card-eye { width: 1.4rem; height: 1.4rem; cursor: pointer; }
.card-balance-val { display: flex; align-items: flex-end; color: #c81d25; margin-top: 0.8rem; }
.card-balance-val i { font-style: normal; font-size: 1.4rem; line-height: 1.6rem; }
.card-balance-val b { font-size: 2rem; line-height: 2rem; font-weight: 500; }
.card-actions { display: flex; align-items: center; gap: 1.7rem; }
.card-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6rem;
  text-decoration: none;
}
.card-action img { width: 3rem; height: 3rem; }
.card-action span { font-size: 1rem; font-weight: 700; color: #151717; }
.card-action-div { width: 0.05rem; height: 4.2rem; background: #d8a85c; }

/* 主按钮（药丸形） */
.card-btn {
  width: 29.2rem;
  height: 4.9rem;
  margin-top: 2rem;
  border: 0.2rem solid #f6c88c;
  border-radius: 10rem;
  background: linear-gradient(180deg, #d70610, #c81d25);
  color: #fff;
  font-family: inherit;
  font-size: 1.6rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.card-btn.is-wait { background: linear-gradient(180deg, #c9cdd4, #a6acb6); border-color: #d8dadf; cursor: default; }

/* 制卡进度时间线 */
.card-timeline {
  width: 36.8rem;
  margin-top: 1.4rem;
  background: #fdf6ee;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  padding: 2rem 1.6rem 1.4rem;
}
.ct-row { position: relative; display: flex; gap: 1rem; padding-left: 2.8rem; }
.ct-row:first-child { padding-bottom: 1.4rem; }
.ct-dot {
  position: absolute;
  left: 0;
  top: 0.2rem;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
}
.ct-active .ct-dot { background: #d0110c; }
.ct-pending .ct-dot { background: #fdf6ee; border: 0.1rem solid #9c9d9f; }
.ct-row:first-child::before {
  content: "";
  position: absolute;
  left: 0.5rem;
  top: 1.3rem;
  bottom: 0;
  width: 0.05rem;
  background: #d84f36;
}
.ct-ic { width: 1.6rem; height: 1.6rem; flex: 0 0 auto; }
.ct-text { display: flex; flex-direction: column; gap: 0.4rem; }
.ct-t1 { font-size: 1.2rem; font-weight: 700; }
.ct-active .ct-t1 { color: #d84f36; }
.ct-pending .ct-t1 { color: #9c9d9f; }
.ct-t2 { font-size: 1rem; font-weight: 700; color: #151717; }
.ct-date { font-size: 1rem; color: #9c9d9f; }
.ct-pending .ct-date { color: #9c9d9f; }

/* 邮寄信息（状态4） */
.card-ship { position: relative; margin-top: 1.4rem; }
.card-edit {
  position: absolute;
  top: 0.9rem;
  right: 1rem;
  display: flex;
  align-items: center;
  gap: 0.2rem;
  border: none;
  background: transparent;
  color: #c81d25;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
  z-index: 2;
}
.card-edit img { width: 1rem; height: 1rem; }
.card-ship-body { padding: 1.4rem 1.6rem; display: flex; flex-direction: column; gap: 1.2rem; }
.card-ship-row { display: flex; align-items: center; }
.csl {
  width: 11rem;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.4rem;
  font-size: 1.2rem;
  font-weight: 700;
  color: #000;
}
.csl img { width: 1.6rem; height: 1.6rem; }
.csl i { font-style: normal; color: #c81d25; }
.csv { font-size: 1.2rem; font-weight: 700; color: #c81d25; }

.card-bottom { display: block; width: 100%; margin-top: 2rem; }

/* 未开户·温馨提示卡（浅绿） */
.card-tip2 {
  position: relative;
  width: 36.2rem;
  margin-top: 1.6rem;
  padding: 1.2rem 1.5rem 1.4rem 5.2rem;
  background: #e6eecd;
  border-radius: 1rem;
}
.card-tip2-ic { position: absolute; left: 1.6rem; top: 1.2rem; width: 2.2rem; height: 2.2rem; }
.card-tip2-head { font-size: 1.6rem; font-weight: 800; color: #000; line-height: 2.2rem; }
.card-tip2-body { margin-top: 0.6rem; font-size: 1.3rem; line-height: 1.9rem; color: #c81d25; }

/* 制卡中三按钮 */
.card-made-acts { display: flex; flex-direction: column; align-items: center; gap: 1.4rem; margin-top: 1.4rem; }
.card-made-acts .card-btn { margin-top: 0; text-decoration: none; }
.card-btn-sub {
  background: #ffbcbc;
  border-color: #ffbcbc;
  color: #c81d25;
}

/* 开户凭证弹窗 */
.card-cert-box { position: relative; width: 34rem; }
.card-cert-img { display: block; width: 100%; border-radius: 1rem; }
.card-cert-close {
  position: absolute; right: -0.6rem; top: -3.6rem;
  width: 3rem; height: 3rem; border-radius: 50%;
  background: rgba(0,0,0,0.45); color: #fff; font-size: 2rem; line-height: 3rem;
  border: 0.1rem solid rgba(255,255,255,0.7); cursor: pointer;
}

/* 结算大额资产海报弹窗：倒计时数字叠加在图内「天/时/分/秒」白框上 */
.settle-cdimg { position: relative; display: block; width: 100%; }
.settle-cdimg > img { display: block; width: 100%; border-radius: 1rem; }
.settle-cd-cell {
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  font-weight: 800;
  color: #8a1a0c;
  line-height: 1;
  font-size: var(--scd-fs, 2rem);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
.settle-cd-d { left: 15.2%; }
.settle-cd-h { left: 37.2%; }
.settle-cd-m { left: 61%; }
.settle-cd-s { left: 83.2%; }

/* 未开户·已填信息：开户信息展示卡（复用 card-info 行样式） */
.card-openinfo { margin-top: 1.4rem; }
.card-openinfo .card-info-body { padding-bottom: 1.6rem; }

/* 查看开户信息弹窗 */
.card-info-box { width: 32rem; }
.card-info-body { padding: 1.6rem 1.8rem 0.6rem; display: flex; flex-direction: column; gap: 1.2rem; }
.card-info-row { display: flex; align-items: center; font-size: 1.3rem; }
.card-info-row span { width: 8rem; flex: 0 0 auto; color: #666; }
.card-info-row b { flex: 1; color: #c81d25; font-weight: 700; word-break: break-all; }
/* 「我知道了」按钮：居中实心药丸样式（覆盖 flex 行内默认样式） */
.card-info-box .card-modal-ok {
  display: block;
  width: calc(100% - 3.6rem);
  margin: 1.6rem auto 1.8rem;
  height: 4.4rem;
  border-radius: 2.2rem;
  background: linear-gradient(180deg, #e64a4a, #c81d25);
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  box-shadow: 0 0.3rem 0.8rem rgba(200, 29, 37, 0.28);
}
.card-info-box .card-modal-ok:active { opacity: 0.9; }

/* 持卡人信息表单 card_apply.php */
.ca-form {
  width: 36.8rem;
  margin-top: 1.2rem;
  padding: 1.6rem 1.2rem;
  background: #fdf6ee;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.ca-row { display: flex; align-items: center; }
.ca-row > label { width: 8.4rem; flex: 0 0 auto; font-size: 1.5rem; font-weight: 700; color: #c81d25; white-space: nowrap; }
.ca-row input,
.ca-row textarea {
  flex: 1;
  border: 0.1rem solid #ffa6a6;
  border-radius: 0.4rem;
  background: transparent;
  padding: 0 0.8rem;
  font-size: 1.3rem;
  font-family: inherit;
  color: #333;
}
.ca-row input { height: 2.6rem; }
.ca-row input::placeholder,
.ca-row textarea::placeholder { color: #c9a9a9; }
.ca-row-addr { align-items: flex-start; }
.ca-row-addr textarea { height: 4.8rem; resize: none; padding: 0.6rem 0.8rem; line-height: 1.8rem; }
.ca-form ~ .card-btn { text-decoration: none; }

/* 邮寄信息弹窗表单 */
.card-ship-modal { width: 32rem; }
.card-ship-form { padding: 1.6rem 1.8rem 0.6rem; display: flex; flex-direction: column; gap: 1.2rem; }
.csf-field { display: flex; flex-direction: column; gap: 0.6rem; }
.csf-field label { display: flex; align-items: center; gap: 0.4rem; font-size: 1.2rem; font-weight: 700; color: #000; }
.csf-field label img { width: 1.6rem; height: 1.6rem; }
.csf-field label i { font-style: normal; color: #c81d25; }
.csf-field input {
  height: 3.4rem;
  border: 0.05rem solid #d8a85c;
  border-radius: 0.4rem;
  padding: 0 1rem;
  font-size: 1.3rem;
  color: #333;
  background: #fff;
  font-family: inherit;
}
.csf-field input::placeholder { color: #9c9d9f; }
.card-modal-actions { display: flex; border-top: 0.05rem solid #eee; margin-top: 1.2rem; }
.card-modal-cancel, .card-modal-ok {
  flex: 1;
  height: 4.4rem;
  border: none;
  background: #fff;
  font-family: inherit;
  font-size: 1.5rem;
  font-weight: 700;
  cursor: pointer;
}
.card-modal-cancel { color: #888; border-right: 0.05rem solid #eee; }
.card-modal-ok { color: #c81d25; }

/* 转账汇款页 */
.tf-balance {
  background: linear-gradient(135deg, #d70610, #c81d25);
  border-radius: 1rem;
  padding: 1.8rem 2rem;
  color: #fff;
  margin-bottom: 1.6rem;
}
.tf-balance > span { font-size: 1.2rem; opacity: 0.9; }
.tf-balance-val { display: flex; align-items: flex-end; margin-top: 0.8rem; }
.tf-balance-val i { font-style: normal; font-size: 1.6rem; line-height: 2.6rem; }
.tf-balance-val b { font-size: 2.8rem; line-height: 2.8rem; font-weight: 700; }

/* 收支明细页 */
.bill-empty { text-align: center; color: #9c9d9f; font-size: 1.3rem; padding: 6rem 0; }
.bill-list { display: flex; flex-direction: column; gap: 0.8rem; }
.bill-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border-radius: 1rem;
  padding: 1.4rem 1.6rem;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.04);
}
.bill-label { font-size: 1.4rem; font-weight: 700; color: #222; }
.bill-sub { font-size: 1.1rem; color: #888; margin-top: 0.4rem; }
.bill-date { font-size: 1rem; color: #b0b0b0; margin-top: 0.3rem; }
.bill-amt { text-align: right; }
.bill-amt-val { font-size: 1.6rem; font-weight: 700; }
.bill-amt.is-in .bill-amt-val { color: #19a05a; }
.bill-amt.is-out .bill-amt-val { color: #c81d25; }
.bill-bal { display: block; font-size: 1rem; color: #b0b0b0; margin-top: 0.4rem; }

/* ============================================================
   我的房产 house.php（列表，参考实名认证页 subpage 风格）
   ============================================================ */
.house-empty { text-align: center; padding: 7rem 0; }
.house-empty img { width: 6rem; height: 6rem; opacity: 0.45; }
.house-empty p { font-size: 1.5rem; color: #888; margin-top: 1.2rem; }
.house-empty span { display: block; font-size: 1.2rem; color: #b0b0b0; margin-top: 0.6rem; }

.house-card {
  background: #fff;
  border: 0.05rem solid #f0e2cf;
  border-radius: 1.2rem;
  padding: 1.2rem;
  margin-bottom: 1.4rem;
  box-shadow: 0 0.1rem 0.5rem rgba(0, 0, 0, 0.05);
}
.house-card-photo img {
  display: block;
  width: 100%;
  height: 16rem;
  object-fit: cover;
  border-radius: 0.8rem;
}
.house-card-info { margin-top: 1rem; }
.house-card-title { font-size: 1.4rem; font-weight: 700; color: #151717; line-height: 2rem; }
.house-card-value { display: flex; align-items: flex-end; gap: 0.3rem; margin-top: 0.6rem; }
.house-card-value span { font-size: 1.2rem; color: #151717; }
.house-card-value b { font-size: 1.8rem; color: #f33108; line-height: 1.8rem; }
.house-card-state { margin-top: 0.6rem; font-size: 1.3rem; font-weight: 700; color: #151717; }
.house-card-state em { font-style: normal; color: #c81d25; }
.house-card-state em.is-done { color: #1aa863; }
.house-card-state em.is-waiting { color: #d8a85c; }
.house-card-btn {
  display: block;
  margin-top: 1.2rem;
  height: 4rem;
  line-height: 3.7rem;
  text-align: center;
  border: 0.15rem solid #f6c88c;
  border-radius: 10rem;
  background: linear-gradient(180deg, #d70610, #c81d25);
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  text-decoration: none;
}
.house-card-btn:active { opacity: 0.92; }

/* ============================================================
   房产过户 house_transfer.php（双态）
   ============================================================ */
.htf-body { background: #fcf2ea; }
.htf-page {
  position: relative;
  width: 39.3rem;
  margin: 0 auto;
  min-height: 100vh;
  background: #fcf2ea;
  overflow-x: hidden;
}
.htf-header { position: relative; height: 22.5rem; overflow: hidden; }
.htf-header-bg { display: block; width: 100%; height: 100%; object-fit: cover; }
.htf-back {
  position: absolute;
  left: 1rem;
  top: 1.6rem;
  width: 2.4rem;
  height: 2.4rem;
  border: none;
  background: transparent;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.htf-back img { width: 1.6rem; height: 1.6rem; }
.htf-title {
  position: absolute;
  left: 50%;
  top: 1.7rem;
  transform: translateX(-50%);
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2rem;
}
.htf-main {
  position: relative;
  margin-top: -13.5rem;
  padding: 0 0.65rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* 房产卡 */
.htf-house {
  width: 38rem;
  background: #fdf9f5;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  padding: 1.6rem;
  text-align: center;
}
.htf-house-name { font-size: 1.4rem; font-weight: 700; color: #151717; }
.htf-house-value { display: flex; align-items: flex-end; justify-content: center; gap: 0.3rem; margin-top: 0.6rem; }
.htf-house-value span { font-size: 1.2rem; font-weight: 700; color: #151717; }
.htf-house-value b { font-size: 2rem; line-height: 2rem; color: #f33108; }
.htf-house-photo { width: 20.5rem; margin: 1rem auto 0; }
.htf-house-photo img { display: block; width: 100%; height: auto; border-radius: 0.4rem; }
.htf-house-state { text-align: left; margin-top: 1rem; font-size: 1.4rem; font-weight: 700; color: #151717; }
.htf-house-state em { font-style: normal; color: #c81d25; }
.htf-house-state em.is-done { color: #1aa863; }

/* 新产权人信息卡 */
.htf-form-card {
  position: relative;
  width: 38rem;
  margin-top: 1.3rem;
  background: #fdf9f5;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  box-shadow: 0 0.1rem 0.5rem rgba(0, 0, 0, 0.1);
  padding: 1.4rem 1.8rem 1.8rem;
}
.htf-form-tag { color: #d8a85c; font-size: 1.4rem; font-weight: 700; margin-bottom: 0.4rem; }

/* 房源占满：待分配提示 */
.htf-pending {
  margin-top: 1.4rem;
  padding: 1.2rem 1rem;
  border: 1px dashed #d8a85c;
  border-radius: 0.4rem;
  background: #fdf6ea;
}
.htf-pending-text { font-size: 1.3rem; line-height: 2.1rem; color: #8a6a2e; }
.htf-pending-text em { font-style: normal; font-weight: 700; color: #c81d25; }

.htf-field { display: flex; align-items: center; margin-top: 1.4rem; }
.htf-field > label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  width: 9.4rem;
  flex-shrink: 0;
  font-size: 1.4rem;
  color: #000;
}
.htf-field > label img { width: 1.5rem; height: 1.5rem; }
.htf-field > label .req { color: #c81d25; }
.htf-field input,
.htf-select {
  flex: 1;
  height: 2.6rem;
  border: 0.05rem solid #d8a85c;
  border-radius: 0.3rem;
  background: #fff;
}
.htf-field input {
  padding: 0 0.8rem;
  font-size: 1.2rem;
  color: #151717;
}
.htf-field input::placeholder { color: #9c9d9f; }
.htf-select { position: relative; display: flex; align-items: center; }
.htf-select select {
  width: 100%;
  height: 100%;
  border: none;
  background: transparent;
  padding: 0 2.4rem 0 0.8rem;
  font-size: 1.2rem;
  color: #151717;
  -webkit-appearance: none;
  appearance: none;
  outline: none;
}
.htf-select::after {
  content: "";
  position: absolute;
  right: 1rem;
  top: 50%;
  width: 0.6rem;
  height: 0.6rem;
  border-right: 0.12rem solid #9c9d9f;
  border-bottom: 0.12rem solid #9c9d9f;
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
}

/* 状态二：只读展示 */
.htf-info-row { display: flex; align-items: center; margin-top: 1.4rem; }
.htf-info-row:first-child { margin-top: 0; }
.htf-info-row .k {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  width: 11.8rem;
  flex-shrink: 0;
  font-size: 1.4rem;
  color: #000;
}
.htf-info-row .k img { width: 1.5rem; height: 1.5rem; }
.htf-info-row .k i { font-style: normal; color: #c81d25; }
.htf-info-row .val { font-size: 1.4rem; color: #c81d25; }

/* 温馨提示 */
.htf-tip {
  width: 38rem;
  margin-top: 1.4rem;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  overflow: hidden;
  background: url("../image/checkin-tip-bg.png") center/cover no-repeat, #fff7ef;
}
.htf-tip-head {
  height: 3.5rem;
  line-height: 3.5rem;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  color: #fdeacb;
  background: url("../image/checkin-tip-head.png") center/cover no-repeat, #c81d25;
}
.htf-tip-body { margin: 0; padding: 1.2rem 1.4rem 1.4rem 3.2rem; }
.htf-tip-body li { font-size: 1.4rem; line-height: 2.4rem; color: #000; }

/* 底部按钮 + 装饰 */
.htf-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 29.2rem;
  height: 4.9rem;
  margin: 2.2rem auto 0;
  border: 0.2rem solid #f6c88c;
  border-radius: 10rem;
  background: linear-gradient(180deg, #d70610, #c81d25);
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.htf-submit:active { opacity: 0.92; }
.htf-submit:disabled { opacity: 0.6; }
.htf-bottom { display: block; width: 100%; margin-top: 1.5rem; }

/* 修改产权人信息：查看态/编辑态按钮（次级样式） */
.htf-edit-btn,
.htf-cancel-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 29.2rem;
  height: 4.9rem;
  margin: 1.4rem auto 0;
  border-radius: 10rem;
  background: #fff;
  font-family: inherit;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
}
.htf-edit-btn { border: 0.2rem solid #c81d25; color: #c81d25; }
.htf-cancel-btn { border: 0.1rem solid #d8a85c; color: #8a6a2f; }
.htf-edit-btn:active,
.htf-cancel-btn:active { opacity: 0.92; }

/* ============================================================
   产权证书 house_cert.php（海报 + 动态署名）
   ============================================================ */
.hcert-body { background: #7d0a10; }
.hcert-page { position: relative; width: 39.3rem; margin: 0 auto; min-height: 100vh; }
.hcert-back {
  position: fixed;
  left: 1.2rem;
  top: 1.2rem;
  z-index: 10;
  width: 3.4rem;
  height: 3.4rem;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.hcert-back img { width: 1.8rem; height: 1.8rem; }
.hcert-stage { position: relative; width: 39.3rem; }
.hcert-img { display: block; width: 100%; height: auto; }
.hcert-name {
  position: absolute;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4rem;
  color: red;
  white-space: nowrap;
}

/* 车辆证书：署名与发证日期为 10px 黑色 */
.hcert-body--car { background: #b3151b; }
.htf-car-photo img { height: 12.1rem; object-fit: cover; }
.hcert-name--car {
  font-size: 1rem;
  line-height: 1rem;
  color: #000;
}
.hcert-date {
  position: absolute;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1rem;
  color: #000;
  white-space: nowrap;
}

/* 保存证书按钮 */
.hcert-save {
  display: block;
  width: 29.2rem;
  height: 4.9rem;
  margin: 2rem auto 3rem;
  border: 0.2rem solid #f6c88c;
  border-radius: 10rem;
  background: linear-gradient(180deg, #d70610, #c81d25);
  color: #fff;
  font-family: inherit;
  font-size: 1.6rem;
  font-weight: 700;
  cursor: pointer;
}
.hcert-save:active { opacity: 0.92; }
.hcert-save:disabled { opacity: 0.6; }

/* 移动端：长按保存遮罩 */
.cert-save-mask {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  padding: 2rem;
  background: rgba(0, 0, 0, 0.85);
}
.cert-save-pic {
  max-width: 90%;
  max-height: 70vh;
  border-radius: 0.6rem;
  box-shadow: 0 0.4rem 1.6rem rgba(0, 0, 0, 0.5);
}
.cert-save-tip { margin: 0; color: #fff; font-size: 1.5rem; }
.cert-save-close {
  padding: 0.8rem 2.4rem;
  border: 0.1rem solid rgba(255, 255, 255, 0.6);
  border-radius: 10rem;
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: 1.4rem;
  cursor: pointer;
}

/* ============================================================
   中央清算回执单 refund_receipt.php
   ============================================================ */
.rr-body { background: #f2f2f2; }
.rr-page { position: relative; width: 39.3rem; margin: 0 auto; min-height: 100vh; padding: 5.6rem 0 3rem; }
.rr-back {
  position: fixed;
  left: 1.2rem;
  top: 1.2rem;
  z-index: 10;
  width: 3.4rem;
  height: 3.4rem;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.28);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.rr-back img { width: 1.8rem; height: 1.8rem; }
.rr-card {
  position: relative;
  width: 38rem;
  margin: 0 auto;
  padding-bottom: 1.6rem;
  background: #fefdfd;
  border-radius: 1rem;
  box-shadow: 0 0 0.6rem 0.2rem rgba(0, 0, 0, 0.15);
}
.rr-logo { display: block; width: 14rem; height: 4.7rem; object-fit: cover; margin: 0.8rem 0 0 0.4rem; }
.rr-title { margin: 0.4rem 0 0; text-align: center; font-size: 2rem; font-weight: 700; color: #000; }
.rr-divider { width: 36rem; height: 0; margin: 1.2rem auto 0; border-top: 0.05rem solid #a3a3a3; }
.rr-divider--dashed { border-top-style: dashed; margin-top: 0.6rem; }
.rr-rows { position: relative; padding: 1.6rem 1.7rem 0.4rem; }
.rr-row { display: flex; align-items: baseline; margin-bottom: 1.6rem; }
.rr-seal { position: absolute; right: 1.6rem; bottom: 1.4rem; width: 8.4rem; height: 8.4rem; pointer-events: none; }
.rr-k { flex: none; width: 10.6rem; color: #000; font-size: 1.4rem; line-height: 1.4rem; }
.rr-v { color: #626262; font-size: 1.2rem; line-height: 1.4rem; word-break: break-all; }
.rr-note { margin: 1.3rem 0 0; padding: 0 1.6rem; color: #595959; font-size: 1.2rem; line-height: 1.8rem; }
.rr-save {
  display: block;
  width: 19.9rem;
  height: 3.2rem;
  margin: 2rem auto 0.4rem;
  border: 0;
  border-radius: 0.5rem;
  background: linear-gradient(180deg, #d70610, #c81d25);
  color: #fff;
  font-family: inherit;
  font-size: 1.4rem;
  cursor: pointer;
}
.rr-save:active { opacity: 0.92; }
.rr-save:disabled { opacity: 0.6; }
a.rr-save { text-align: center; line-height: 3.2rem; text-decoration: none; }
/* 待办理回执：审核状态 + 温馨提示用红色 */
.rr-v--pending { color: #d70610; font-weight: 700; }
.rr-v--done { color: #15a34a; font-weight: 700; }
.rr-note--pending { color: #d70610; }

/* ===== 未办理专项退款资金提示弹窗（Figma Group 1000005164） ===== */
.rfh-modal {
  position: fixed;
  inset: 0;
  z-index: 4000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.rfh-modal[hidden] { display: none; }
.rfh-mask {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
}
.rfh-card {
  position: relative;
  width: 34rem;
  max-width: 88vw;
  aspect-ratio: 1334 / 889;
  background: url('../image/refund-handle-modal-bg.png') center/100% 100% no-repeat;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 3% 9% 0;
  box-sizing: border-box;
}
.rfh-title {
  margin: 2.5% 0 0;
  font-size: 2.1rem;
  font-weight: 700;
  color: #ffea00;
  letter-spacing: 0.5rem;
  text-shadow: 0 0.2rem 0.3rem rgba(0, 0, 0, 0.25);
}
.rfh-body {
  margin: 6% 0 0;
  font-size: 1.16rem;
  line-height: 1.62;
  color: #1a1a1a;
  text-align: left;
  align-self: stretch;
}
.rfh-warn { display: block; margin-top: 0.4rem; color: #e60012; }
.rfh-btn {
  margin-top: auto;
  margin-bottom: 9%;
  display: inline-block;
  background: #da0707;
  border: 1px solid #000;
  border-radius: 5rem;
  color: #fff;
  font-size: 1.45rem;
  line-height: 1;
  padding: 0.85rem 2.6rem;
  text-decoration: none;
}
.rfh-btn:active { opacity: 0.92; }

/* ===== 国债收益提现前置·未持有中银基金提示卡片（Figma 13:2） ===== */
.bfg-modal { position: fixed; inset: 0; z-index: 4200; display: flex; align-items: center; justify-content: center; }
.bfg-modal[hidden] { display: none; }
.bfg-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.55); }
.bfg-card {
  position: relative;
  width: 34.1rem;
  max-width: 88vw;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.9rem 1.1rem 1.5rem;
  background: #fff;
  border-radius: 1.6rem;
  box-shadow: 0 2.5rem 5rem -1.2rem rgba(0, 0, 0, 0.25);
}
.bfg-title { margin: 0; font-size: 1.4rem; font-weight: 500; color: #000; line-height: 2.4rem; }
.bfg-body { margin: 1.7rem 0 0; align-self: stretch; padding: 0 0.4rem; font-size: 1.4rem; line-height: 2.6rem; color: #000; text-align: left; }
.bfg-btn {
  margin-top: 1.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24.1rem;
  max-width: 100%;
  height: 3.4rem;
  background: #c81d25;
  border-radius: 0.8rem;
  box-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.25);
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  text-decoration: none;
}
.bfg-btn:active { opacity: 0.92; }

/* 回执单下方「新用户扫码注册」Banner：背景图 + 实时二维码叠加在空白框内 */
.ri-banner {
  position: relative;
  width: 38rem;
  margin: 1.4rem auto 0;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 0 0.6rem 0.2rem rgba(0, 0, 0, 0.15);
}
.ri-banner-bg { display: block; width: 100%; height: auto; }
.ri-qr {
  position: absolute;
  left: 79.8%;
  top: 46.7%;
  transform: translate(-50%, -50%);
  width: 29.9%;
  aspect-ratio: 1 / 1;
}
.ri-qr canvas,
.ri-qr img { display: block; width: 100% !important; height: 100% !important; }

/* ============================================================
   资金明细 fund.php（顶部标题栏 + 钱包标签页 + 明细列表）
   ============================================================ */
.fund-tabs {
  position: fixed;
  top: 4.6rem;
  left: 50%;
  transform: translateX(-50%);
  width: 39.3rem;
  max-width: 100%;
  height: 4.6rem;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0 1.2rem;
  overflow-x: auto;
  white-space: nowrap;
  z-index: 99;
  box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.05);
  -webkit-overflow-scrolling: touch;
}
.fund-tabs::-webkit-scrollbar { display: none; }
.fund-tab {
  flex: 0 0 auto;
  border: none;
  background: #f4f5f7;
  color: #555;
  font-family: inherit;
  font-size: 1.3rem;
  line-height: 1;
  padding: 0.8rem 1.4rem;
  border-radius: 10rem;
  cursor: pointer;
}
.fund-tab.is-active {
  background: linear-gradient(180deg, #e22a23 0%, #c81d25 100%);
  color: #fff;
  font-weight: 700;
}

.fund-main { padding-top: 10.4rem; }

.fund-list { display: flex; flex-direction: column; gap: 0.8rem; }
.fund-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  background: #fff;
  border-radius: 1rem;
  padding: 1.4rem 1.6rem;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.04);
}
.fund-row[hidden] { display: none; }
.fund-info { flex: 1; min-width: 0; padding-right: 1rem; }
.fund-label {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #222;
  line-height: 1.8rem;
}
.fund-badge {
  flex: 0 0 auto;
  font-size: 1rem;
  font-weight: 500;
  color: #c81d25;
  background: #fdecec;
  border-radius: 0.4rem;
  padding: 0.2rem 0.6rem;
  line-height: 1.4rem;
}
.fund-badge--subsidy { color: #d98a00; background: #fff5e6; }
.fund-badge--team    { color: #1aa863; background: #e8f7ee; }
.fund-badge--bond    { color: #1a7fd6; background: #e8f2fc; }
.fund-badge--bond_ticket { color: #b26a00; background: #fff3e0; }
.fund-badge--cash    { color: #c81d25; background: #fde7e9; }
.fund-badge--merit   { color: #bf8323; background: #fbf2e0; }
.fund-badge--deposit { color: #7a4dd6; background: #f1ecfb; }
.fund-badge--red_packet { color: #e0322f; background: #fdeceb; }
.fund-badge--fund    { color: #0d9488; background: #e6f6f4; }
.fund-sub { font-size: 1.1rem; color: #888; margin-top: 0.4rem; word-break: break-all; }
.fund-date { font-size: 1rem; color: #b0b0b0; margin-top: 0.3rem; }
.fund-warn-note { margin-top: 0.8rem; padding: 0.8rem 1rem; background: #fff7e8; border-radius: 0.8rem; font-size: 1.1rem; line-height: 1.7rem; color: #c8791d; word-break: break-all; }
.fund-cert-note { margin-top: 0.8rem; padding: 0.8rem 1rem; background: #e8f7ee; border-radius: 0.8rem; font-size: 1.1rem; line-height: 1.7rem; color: #19a05a; word-break: break-all; }
.fund-amt { flex: 0 0 auto; text-align: right; }
.fund-amt-val { font-size: 1.6rem; font-weight: 700; white-space: nowrap; }
.fund-amt.is-in .fund-amt-val  { color: #19a05a; }
.fund-amt.is-out .fund-amt-val { color: #c81d25; }
.fund-bal { display: block; font-size: 1rem; color: #b0b0b0; margin-top: 0.4rem; white-space: nowrap; }
.fund-empty { text-align: center; color: #9c9d9f; font-size: 1.3rem; padding: 6rem 0; }
.fund-empty[hidden] { display: none; }

/* ============================================================
   我的团队 team.php（团队总览 + 层级标签 + 下线列表）
   ============================================================ */
.team-overview {
  background: linear-gradient(180deg, #e22a23 0%, #c81d25 100%);
  border-radius: 1.2rem;
  padding: 1.8rem 1.6rem;
  color: #fff;
  box-shadow: 0 0.2rem 0.8rem rgba(200, 29, 37, 0.25);
  margin-bottom: 1.2rem;
}
.team-overview-total { font-size: 1.2rem; opacity: 0.92; }
.team-overview-num { font-size: 3.4rem; font-weight: 700; line-height: 3.8rem; margin-top: 0.3rem; }
.team-overview-cells { display: flex; margin-top: 1.6rem; }
.team-cell { flex: 1; text-align: center; position: relative; }
.team-cell + .team-cell::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0.1rem;
  height: 2.4rem;
  background: rgba(255, 255, 255, 0.25);
}
.team-cell-num { font-size: 1.9rem; font-weight: 700; line-height: 2.2rem; }
.team-cell-label { font-size: 1.1rem; opacity: 0.92; margin-top: 0.4rem; }

/* 层级标签 */
.team-tabs { display: flex; gap: 0.8rem; margin-bottom: 1.2rem; }
.team-tab {
  flex: 1;
  border: none;
  background: #fff;
  color: #666;
  font-family: inherit;
  font-size: 1.3rem;
  padding: 1rem 0;
  border-radius: 10rem;
  cursor: pointer;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.05);
}
.team-tab.is-active {
  background: linear-gradient(180deg, #e22a23 0%, #c81d25 100%);
  color: #fff;
  font-weight: 700;
}

/* 下线列表 */
.team-list { display: flex; flex-direction: column; gap: 0.8rem; }
.team-list[hidden] { display: none; }
.team-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border-radius: 1.2rem;
  padding: 1.4rem 1.6rem;
  box-shadow: 0 0.1rem 0.4rem rgba(0, 0, 0, 0.04);
}
.team-row-info { flex: 1; min-width: 0; padding-right: 1rem; }
.team-row-phone { font-size: 1.4rem; font-weight: 600; color: #222; line-height: 1.8rem; }
.team-row-sub { font-size: 1.1rem; color: #888; margin-top: 0.4rem; word-break: break-all; }
.team-row-date { font-size: 1rem; color: #b0b0b0; margin-top: 0.3rem; }
.team-rn {
  flex: 0 0 auto;
  font-size: 1.1rem;
  font-weight: 600;
  padding: 0.4rem 0.9rem;
  border-radius: 10rem;
  white-space: nowrap;
}
.team-rn--yes { color: #1aa863; background: #e8f7ee; }
.team-rn--no { color: #9c9d9f; background: #f1f1f3; }
.team-empty { text-align: center; color: #9c9d9f; font-size: 1.3rem; padding: 5rem 0; }

/* ============================================================
   悬浮按钮（partials/tabbar.php，所有带底部导航的页面，含首页）
   - 专项退款短信：固定在屏幕右侧约 30%（视口高度）位置
   - 在线客服：位于短信按键下方约 10%（视口高度），右边缘与短信对齐
   ============================================================ */
.cs-float-group {
  position: fixed;
  top: 30%; /* 未读短信按键：屏幕右侧约 30%（视口高度）位置 */
  left: 50%;
  margin-left: 9.3rem; /* 短信(10rem)右对齐：19.65 - 10 - 0.35 */
  z-index: 200;
}
.cs-float {
  width: 6rem;
  height: auto;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  display: block;
}
.cs-float img {
  width: 100%;
  height: auto;
  display: block;
  filter: drop-shadow(0 0.2rem 0.5rem rgba(0, 0, 0, 0.25));
}
.cs-float:active { transform: scale(0.94); }

/* 在线客服未读角标：位于客服图标右上角（.cs-float 为 fixed，作定位基准） */
.cs-float-badge {
  position: absolute;
  top: -0.3rem;
  right: -0.3rem;
  min-width: 1.7rem;
  height: 1.7rem;
  padding: 0 0.45rem;
  box-sizing: border-box;
  border-radius: 0.85rem;
  background: #fa2c19;
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.7rem;
  font-weight: 700;
  text-align: center;
  white-space: nowrap;
  box-shadow: 0 0 0 0.16rem #fff;
  z-index: 1;
  pointer-events: none;
}
.cs-float-badge[hidden] { display: none; }

/* 专项退款短信图标：固定在页面右上角（作为在线客服的定位基准） */
.cs-float--msg {
  width: 10rem;
}

/* 在线客服：位于短信按键下方约 10%（视口高度），右边缘与短信对齐 */
.cs-float-group > .cs-float:not(.cs-float--msg) {
  position: fixed;
  top: calc(30% + 10%); /* 短信顶部(30%)下方约 10% 视口高度 */
  left: 50%;
  margin-left: 13.3rem; /* 客服(6rem)右对齐：19.65 - 6 - 0.35 */
  z-index: 200;
}
.cs-float-group > .cs-float:not(.cs-float--msg):active { transform: scale(0.94); }

/* 我的页面：在线客服悬浮按键整体下移一些 */
.mine-body .cs-float-group > .cs-float:not(.cs-float--msg) {
  top: calc(30% + 22%);
}

/* 提现记录 withdraw.php（复用 fund- 列表，金额为中性色 + 状态徽标） */
.wd-amt { color: #222; }
.wd-status {
  display: inline-block;
  margin-top: 0.5rem;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.4rem;
  padding: 0.2rem 0.8rem;
  border-radius: 10rem;
}
.wd-status--pending  { color: #d98a00; background: #fff5e6; }
.wd-status--applied  { color: #d98a00; background: #fff5e6; }
.wd-status--approved { color: #1a7fd6; background: #e8f2fc; }
.wd-status--paid     { color: #19a05a; background: #e8f7ee; }
.wd-status--rejected { color: #d93a3a; background: #fdecec; }

/* ============================================================
   中央宣导 / 邀请好友 xuandao.php
   ============================================================ */
.xd-body { background: #fcf2ea; }
.xuandao {
  position: relative;
  width: 39.3rem;
  max-width: 100%;
  margin: 0 auto;
  min-height: 100vh;
  padding-bottom: 7rem;
  overflow-x: hidden;
}

/* 头图 + 标题 */
.xd-header { position: relative; width: 100%; }
.xd-header-bg { display: block; width: 100%; height: auto; }
.xd-header-title {
  position: absolute;
  top: 3.4rem;
  left: 0;
  right: 0;
  text-align: center;
}
.xd-header-title p {
  font-size: 3.4rem;
  line-height: 4.6rem;
  font-weight: 800;
  background: linear-gradient(180deg, #fdeacb 0%, #fbc273 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0.3rem 0.3rem rgba(0, 0, 0, 0.25));
}

.xd-main { position: relative; margin-top: -4.5rem; padding: 0 1.25rem; z-index: 2; }

/* 权益横幅 */
.xd-benefit {
  display: block;
  width: 35.2rem;
  max-width: 100%;
  margin: 0 auto;
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.15);
}

/* 邀请卡 */
.xd-invite {
  background: #fff;
  border: 0.1rem solid rgba(216, 168, 92, 0.4);
  border-radius: 1rem;
  margin-top: 1.6rem;
  padding: 1.4rem;
  box-shadow: 0 0.1rem 0.5rem rgba(0, 0, 0, 0.1);
}
.xd-label { font-size: 1.4rem; font-weight: 700; color: #151717; }
.xd-link-row,
.xd-code-row {
  display: flex;
  align-items: center;
  margin-top: 0.8rem;
  height: 2.8rem;
  background: #fdf7f0;
  border: 0.1rem solid rgba(216, 168, 92, 0.4);
  border-radius: 0.5rem;
  overflow: hidden;
}
.xd-link-row { height: auto; min-height: 2.8rem; align-items: stretch; }
.xd-link-text {
  flex: 1;
  min-width: 0;
  padding: 0.6rem 1rem;
  font-size: 1rem;
  line-height: 1.5rem;
  color: #646464;
  word-break: break-all;
  align-self: center;
}
.xd-code {
  flex: 1;
  min-width: 0;
  padding: 0 1rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #c81d25;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.xd-copy {
  flex: 0 0 auto;
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.2rem;
  border: none;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-size: 1.2rem;
  font-family: inherit;
  cursor: pointer;
}
.xd-qr-block { display: flex; gap: 1.2rem; margin-top: 1.4rem; }
.xd-qr-left { flex: 0 0 auto; }
.xd-qr-box {
  width: 11.1rem;
  height: 10.5rem;
  margin-top: 0.8rem;
  background: #fdf7f0;
  border: 0.1rem solid rgba(216, 168, 92, 0.4);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
#xdQr { width: 8.5rem; height: 8.5rem; }
#xdQr canvas,
#xdQr img { display: block; width: 100% !important; height: 100% !important; }
.xd-qr-right { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.xd-poster-btn {
  display: block;
  width: 100%;
  margin-top: 1.2rem;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
}
.xd-poster-btn img { display: block; width: 100%; height: auto; border-radius: 0.5rem; }

/* 邀请好友·获得更多福利 */
.xd-reward {
  background: #fdeedd;
  border: 0.1rem solid rgba(216, 168, 92, 0.4);
  border-radius: 1rem;
  margin-top: 1.6rem;
  overflow: hidden;
  box-shadow: 0 0.1rem 0.5rem rgba(0, 0, 0, 0.1);
}
.xd-reward-head { position: relative; height: 3.5rem; }
.xd-reward-head img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.xd-reward-head span {
  position: relative;
  display: block;
  text-align: center;
  line-height: 3.5rem;
  font-size: 1.6rem;
  font-weight: 600;
  background: linear-gradient(180deg, #fdeacb 0%, #fbc273 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.xd-reward-list { padding: 0.9rem 1rem 1.4rem; display: flex; flex-direction: column; gap: 0.6rem; }
.xd-reward-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  background: #f8f7f4;
  border-radius: 0.5rem;
  padding: 0.9rem 1rem;
}
.xd-reward-info { flex: 1; min-width: 0; }
.xd-reward-title { font-size: 1.4rem; font-weight: 700; color: #151717; line-height: 1.6rem; display: flex; align-items: center; gap: 0.5rem; }
.xd-x2-badge { display: inline-block; width: 2.6rem; height: 2.6rem; object-fit: contain; vertical-align: middle; }
.xd-reward-desc { font-size: 1rem; color: #646464; margin-top: 0.6rem; line-height: 1.4rem; }
.xd-reward-desc em { font-style: normal; color: #c81d25; }
.xd-reward-desc del { color: #9a9a9a; text-decoration-color: #c81d25; }
.xd-reward-boost { font-size: 1rem; color: #646464; margin-top: 0.2rem; line-height: 1.4rem; font-weight: 700; }
.xd-reward-boost em { font-style: normal; color: #c81d25; font-size: 1.2rem; }
.xd-reward-note { font-size: 1rem; color: #c81d25; margin-top: 0.2rem; line-height: 1.4rem; }
.xd-reward-extra { font-size: 1rem; color: #c81d25; margin-top: 0.2rem; line-height: 1.4rem; font-weight: 700; }
.xd-reward-action {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 0.5rem;
  padding-left: 0.8rem;
}
.xd-reward-progress { font-size: 1rem; font-weight: 700; color: #646464; }
.xd-claim {
  width: 5.6rem;
  height: 1.9rem;
  border: none;
  border-radius: 0.3rem;
  font-size: 1rem;
  font-family: inherit;
  color: #fff;
  cursor: pointer;
}
.xd-claim.is-active  { background: linear-gradient(180deg, #d70610 0%, #c81d25 100%); }
.xd-claim.is-locked  { background: #847b7b; cursor: not-allowed; }
.xd-claim.is-claimed { background: #bdb6b6; cursor: default; }

/* 宣传海报弹层 */
.xd-poster-mask {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 300;
}
.xd-poster-mask[hidden] { display: none; }
.xd-poster-dialog { width: 30rem; max-width: 86%; text-align: center; }
.xd-poster-dialog canvas { width: 100%; height: auto; border-radius: 1rem; background: #fff; }
.xd-poster-img { display: block; width: 100%; height: auto; border-radius: 1rem; background: #fff; }
.xd-poster-hint { color: #fff; font-size: 1.2rem; margin-top: 1rem; }
.xd-poster-close {
  margin-top: 1.2rem;
  padding: 0.7rem 2.4rem;
  border: 0.1rem solid #fff;
  background: transparent;
  color: #fff;
  border-radius: 10rem;
  font-size: 1.3rem;
  font-family: inherit;
  cursor: pointer;
}

/* ===========================================================
 * 政策抽奖 lottery.php
 * =========================================================== */
.lottery-body { background: #fcf2ea; }
.lottery {
  position: relative;
  width: 100%;
  max-width: 39.3rem;
  margin: 0 auto;
  min-height: 100vh;
  padding-bottom: 7rem; /* 底部 tabbar 留白 */
  background: #fcf2ea;
}

/* ---- 1:1 还原区（设计 393×1050；frame 高度取到现金余额卡底部 64.2rem） ---- */
.lt-frame {
  position: relative;
  width: 39.3rem;
  height: 64.2rem;
}
.lt-header {
  position: absolute;
  left: 0;
  top: 0;
  width: 39.3rem;
  height: 18.3rem;
  object-fit: cover;
  pointer-events: none;
}
/* 奖品卡背景 */
.lt-card {
  position: absolute;
  left: 0.6rem;
  top: 17.6rem;
  width: 38rem;
  height: 39.1rem;
  background: #fcf8f4;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
}
/* 标题栏 红色渐变 */
.lt-card-titlebar {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 15.6rem;
  width: 38rem;
  height: 3.5rem;
  border-radius: 1rem 1rem 0 0;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  box-shadow: 0 0.1rem 0.5rem rgba(0, 0, 0, 0.1);
}
.lt-card-title {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 16.5rem;
  font-size: 1.6rem;
  line-height: 1.6rem;
  font-weight: 600;
  white-space: nowrap;
  background: linear-gradient(180deg, #fdeacb 0%, #fbc273 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

/* 8 宫格 */
.lt-cell {
  position: absolute;
  width: 18.1rem;
  height: 7.1rem;
  background: #fcf4ea;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  cursor: pointer;
  transition: box-shadow .12s ease, transform .12s ease;
}
.lt-cell.is-active {
  box-shadow: 0 0 0 0.2rem #f0bf6a, 0 0 1.6rem rgba(240, 191, 106, 0.9);
  transform: scale(1.03);
  z-index: 2;
}
.lt-cell-ico {
  position: absolute;
  width: 6rem;
  height: 6rem;
  object-fit: contain;
  pointer-events: none;
}
.lt-cell-title {
  position: absolute;
  left: 7.6rem;
  margin: 0;
  font-size: 1rem;
  line-height: 1.2rem;
  font-weight: 700;
  color: #151717;
  white-space: nowrap;
}
.lt-cell-title--2 { white-space: nowrap; }
.lt-cell-sub {
  position: absolute;
  left: 7.6rem;
  margin: 0;
  font-size: 1rem;
  line-height: 1rem;
  color: #646464;
  white-space: nowrap;
}
.lt-cell-val {
  position: absolute;
  font-size: 1rem;
  line-height: 1rem;
  color: #646464;
}
.lt-cell-price {
  position: absolute;
  font-size: 1.4rem;
  line-height: 1.4rem;
  font-weight: 500;
  color: #c81d25;
  white-space: nowrap;
}

/* 立即抽奖 按钮 */
.lt-draw-btn {
  position: absolute;
  left: 5rem;
  top: 50.8rem;
  width: 29.2rem;
  height: 4.9rem;
  border: 0.2rem solid #f6c88c;
  border-radius: 10rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fdf2d1;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
}
.lt-draw-btn.is-spinning { opacity: 0.75; pointer-events: none; }
.lt-draw-main { font-size: 1.4rem; line-height: 1.4rem; font-weight: 700; }
.lt-draw-sub  { font-size: 1rem; line-height: 1rem; }
.lt-draw-sub #ltMerit { font-weight: 700; }

/* 现金余额卡 */
.lt-wallet {
  position: absolute;
  left: 1.1rem;
  top: 58.8rem;
  width: 37.5rem;
  height: 5.4rem;
  background: #fcf4ea;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
}
.lt-wallet-name {
  position: absolute;
  left: 2rem;
  top: 0.8rem;
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.2rem;
  font-weight: 700;
  color: #151717;
}
.lt-wallet-amount {
  position: absolute;
  left: 1rem;
  top: 2.5rem;
  display: flex;
  align-items: flex-end;
  color: #c81d25;
}
.lt-wallet-amount .lt-cny  { font-size: 1.4rem; line-height: 1.4rem; }
.lt-wallet-amount .lt-cash { font-size: 2rem; line-height: 2rem; font-weight: 500; }
.lt-wd-btn {
  position: absolute;
  left: 29.9rem;
  top: 1.6rem;
  width: 5.8rem;
  height: 2.2rem;
  border: none;
  border-radius: 10rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-family: inherit;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
}
.lt-wd-btn span { font-size: 1rem; line-height: 1rem; font-weight: 700; }
.lt-wd-btn img { width: 1rem; height: 1rem; }

/* 三入口 抽奖规则 / 我的奖品 / 物流信息 */
.lt-entries {
  display: flex;
  justify-content: space-around;
  margin: 1.6rem auto 0;
  width: 92%;
}
.lt-entry {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
  padding: 0.8rem 0;
  background: transparent;
  border: none;
  text-decoration: none;
  color: #5a3216;
  font-size: 1.2rem;
  font-family: inherit;
  cursor: pointer;
}
.lt-entry-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4.6rem;
  height: 4.6rem;
  font-size: 2rem;
  border-radius: 50%;
  background: linear-gradient(180deg, #ffeac0, #f1c27d);
  box-shadow: 0 0.2rem 0.4rem rgba(193, 116, 47, 0.25);
}
.lt-entry-label { font-weight: 600; }

/* 抽奖规则文字 */
.lt-rules {
  width: 92%;
  margin: 1.4rem auto 0;
  padding: 1.4rem;
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.6rem rgba(0, 0, 0, 0.05);
}
.lt-rules-title {
  margin: 0 0 0.8rem;
  font-size: 1.5rem;
  color: #c81d25;
  text-align: center;
  font-weight: 700;
}
.lt-rules-h {
  margin: 0.8rem 0 0.4rem;
  font-size: 1.3rem;
  color: #3a3a3a;
  font-weight: 700;
}
.lt-rules-p {
  margin: 0.2rem 0;
  font-size: 1.2rem;
  color: #5a5a5a;
  line-height: 1.8rem;
}

/* 抽奖页底部 政绩积分兑换入口（复用 .me-card 列表样式） */
.lt-exchange {
  width: 92%;
  margin: 1.4rem auto 0;
}
.lt-exchange-title {
  margin: 0 0 1rem;
  font-size: 1.5rem;
  color: #c81d25;
  text-align: center;
  font-weight: 700;
}

/* 中奖结果弹层 */
.lt-result-mask {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
}
.lt-result-mask[hidden] { display: none; }
.lt-result-card {
  width: 28rem;
  padding: 2.4rem 2rem 2rem;
  background: #fff;
  border-radius: 1.2rem;
  text-align: center;
  box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.25);
}
.lt-result-title { margin: 0 0 1.4rem; font-size: 1.8rem; color: #c81d25; font-weight: 700; }
.lt-result-thumb { width: 8rem; height: 8rem; border-radius: 0.8rem; object-fit: cover; background: #fdf7f0; }
.lt-result-name { margin: 1.2rem 0 0.4rem; font-size: 1.5rem; color: #3a3a3a; font-weight: 700; }
.lt-result-desc { margin: 0 0 1.6rem; font-size: 1.2rem; color: #777; }
.lt-result-btn {
  width: 100%;
  height: 4rem;
  border: none;
  border-radius: 10rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-size: 1.5rem;
  font-family: inherit;
  cursor: pointer;
}

/* ===========================================================
 * 我的奖品 lottery_prizes.php
 * =========================================================== */
.lp-main { padding: 1.4rem; }
.lp-list { display: flex; flex-direction: column; gap: 1rem; }
.lp-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: #fff;
  border-radius: 0.8rem;
  box-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.04);
}
.lp-thumb { width: 6rem; height: 6rem; border-radius: 0.6rem; object-fit: cover; background: #fdf7f0; flex: 0 0 auto; }
.lp-info { flex: 1; min-width: 0; }
.lp-title { margin: 0; font-size: 1.3rem; color: #3a3a3a; font-weight: 600; }
.lp-value { margin: 0.4rem 0 0; font-size: 1.4rem; color: #c81d25; font-weight: 700; }
.lp-date  { margin: 0.4rem 0 0; font-size: 1rem; color: #999; }
.lp-side  { display: flex; flex-direction: column; align-items: flex-end; gap: 0.6rem; flex: 0 0 auto; }
.lp-status {
  padding: 0.2rem 0.8rem;
  border-radius: 10rem;
  font-size: 1rem;
  background: #e8f5ee;
  color: #2a8c4f;
}
.lp-status--pending_transfer { background: #fff3e0; color: #d97706; }
.lp-status--transferred      { background: #e8eefc; color: #2554c0; }
.lp-action {
  padding: 0.4rem 1rem;
  border-radius: 10rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-size: 1.1rem;
  text-decoration: none;
}
.lp-empty { padding: 4rem 1rem; text-align: center; color: #999; font-size: 1.4rem; }
.lp-tips  { margin: 1.6rem 0.4rem 0; font-size: 1.1rem; color: #999; line-height: 1.6rem; }

/* ===========================================================
 * 物流信息 lottery_logistics.php
 * =========================================================== */
.lg-main { padding: 1.4rem; }
.lg-list { display: flex; flex-direction: column; gap: 1rem; }
.lg-row {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: #fff;
  border-radius: 0.8rem;
  box-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.04);
}
.lg-thumb { width: 6rem; height: 6rem; border-radius: 0.6rem; object-fit: cover; flex: 0 0 auto; background: #fdf7f0; }
.lg-info  { flex: 1; min-width: 0; }
.lg-title { margin: 0; font-size: 1.3rem; color: #3a3a3a; font-weight: 600; }
.lg-sub   { margin: 0.4rem 0 0; font-size: 1.1rem; color: #777; }
.lg-side  { display: flex; flex-direction: column; align-items: flex-end; gap: 0.6rem; flex: 0 0 auto; }
.lg-status { padding: 0.2rem 0.8rem; border-radius: 10rem; font-size: 1rem; background: #e8f5ee; color: #2a8c4f; }
.lg-status--pending_transfer { background: #fff3e0; color: #d97706; }
.lg-status--transferred      { background: #e8eefc; color: #2554c0; }
.lg-detail-btn {
  padding: 0.4rem 1rem;
  border: none;
  border-radius: 10rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-size: 1.1rem;
  font-family: inherit;
  cursor: pointer;
}
.lg-empty { padding: 4rem 1rem; text-align: center; color: #999; font-size: 1.4rem; }
.lg-tips  { margin: 1.6rem 0.4rem 0; font-size: 1.1rem; color: #999; line-height: 1.6rem; }

/* 未过户弹窗 */
.lg-modal-mask { position: fixed; inset: 0; background: rgba(0, 0, 0, 0.55); display: flex; align-items: center; justify-content: center; z-index: 200; }
.lg-modal-mask[hidden] { display: none; }
.lg-modal-card { width: 30rem; padding: 2.4rem 2rem 2rem; background: #fff; border-radius: 1.2rem; text-align: center; box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.25); }
.lg-modal-title { margin: 0 0 1rem; font-size: 1.6rem; color: #3a3a3a; font-weight: 700; }
.lg-modal-desc  { margin: 0 0 2rem; font-size: 1.3rem; color: #5a5a5a; line-height: 2rem; }
.lg-modal-actions { display: flex; gap: 1rem; }
.lg-modal-cancel {
  flex: 1;
  height: 4rem;
  border: 0.1rem solid #d0d0d0;
  background: #fff;
  color: #5a5a5a;
  border-radius: 10rem;
  font-size: 1.4rem;
  font-family: inherit;
  cursor: pointer;
}
.lg-modal-go {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 4rem;
  border-radius: 10rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-size: 1.4rem;
  text-decoration: none;
}

/* 物流详情 暂未开放 占位页 */
.lgd-main { padding: 4rem 2rem; }
.lgd-soon {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: #fff;
  border-radius: 1.2rem;
  padding: 3rem 2rem;
  box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.05);
}
.lgd-soon-ico   { width: 18rem; height: auto; opacity: 0.85; border-radius: 1rem; }
.lgd-soon-title { margin: 1.6rem 0 0.6rem; font-size: 1.8rem; color: #c81d25; font-weight: 700; }
.lgd-soon-desc  { margin: 0 0 2rem; font-size: 1.3rem; color: #777; }
.lgd-soon-back {
  display: inline-block;
  padding: 0.8rem 2.4rem;
  border-radius: 10rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-size: 1.4rem;
  text-decoration: none;
}

/* ===========================================================
 * 政绩积分兑换 merit_exchange.php（1:1 还原 Figma Group 1000005067）
 * =========================================================== */
/* 当前政绩积分 余额条 */
.me-balance {
  display: flex;
  align-items: baseline;
  gap: 0.8rem;
  margin-bottom: 1.4rem;
  padding: 1.4rem 1.6rem;
  background: linear-gradient(180deg, #fff6e9 0%, #fdeccf 100%);
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
}
.me-balance-label { font-size: 1.3rem; color: #8a5a1c; font-weight: 500; }
.me-balance-val { font-size: 2.4rem; font-weight: 700; color: #d30d16; line-height: 2.4rem; }

/* 兑换卡列表 */
.me-list { display: flex; flex-direction: column; gap: 1rem; }
.me-card {
  position: relative;
  display: flex;
  align-items: center;
  height: 8.6rem;
  padding: 0 1.2rem 0 0.9rem;
  background: #fcfaf8;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
}
.me-card-ico {
  width: 8rem;
  height: 8rem;
  flex: 0 0 auto;
  object-fit: contain;
  pointer-events: none;
}
.me-card-info {
  flex: 1;
  min-width: 0;
  margin-left: 0.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.me-card-title {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.4rem;
  font-weight: 700;
  color: #151717;
}
.me-card-cost {
  margin: 0;
  font-size: 1rem;
  line-height: 1rem;
  color: #646464;
}
.me-card-cost span {
  font-size: 1.4rem;
  font-weight: 700;
  color: #d30d16;
}
.me-card-value {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.2rem;
  color: #c81d25;
}
.me-card-btn {
  flex: 0 0 auto;
  width: 6.8rem;
  height: 2.2rem;
  border: none;
  border-radius: 0.2rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  font-family: inherit;
  cursor: pointer;
}
.me-card-btn:disabled { opacity: 0.6; cursor: default; }

/* 兑换确认弹窗 */
.me-confirm-mask {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
}
.me-confirm-mask[hidden] { display: none; }
.me-confirm-card {
  width: 30rem;
  padding: 2.4rem 2rem 2rem;
  background: #fff;
  border-radius: 1.2rem;
  text-align: center;
  box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.25);
}
.me-confirm-title { margin: 0 0 1.2rem; font-size: 1.7rem; color: #c81d25; font-weight: 700; }
.me-confirm-desc  { margin: 0 0 2rem; font-size: 1.4rem; color: #3a3a3a; line-height: 2.2rem; }
.me-confirm-desc b { color: #d30d16; }
.me-confirm-actions { display: flex; gap: 1rem; }
.me-confirm-cancel {
  flex: 1;
  height: 4rem;
  border: 0.1rem solid #d0d0d0;
  background: #fff;
  color: #5a5a5a;
  border-radius: 10rem;
  font-size: 1.4rem;
  font-family: inherit;
  cursor: pointer;
}
.me-confirm-ok {
  flex: 1;
  height: 4rem;
  border: none;
  border-radius: 10rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-size: 1.4rem;
  font-family: inherit;
  cursor: pointer;
}
.me-confirm-ok:disabled { opacity: 0.6; cursor: default; }


/* ============================================================
   收银台 / 支付方式选择（pay_select.php）+ 支付结果页
   ============================================================ */
.pay-amount-card {
  background: linear-gradient(180deg, #e22a23 0%, #c81d25 100%);
  border-radius: 1.2rem;
  padding: 1.8rem 1.6rem 2rem;
  margin-bottom: 1.2rem;
  box-shadow: 0 0.3rem 1rem 0 rgba(200, 29, 37, 0.25);
}
.pay-amount-title {
  font-size: 1.3rem;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 1rem;
}
.pay-amount-row {
  display: flex;
  align-items: baseline;
  gap: 0.4rem;
}
.pay-amount-symbol {
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
}
.pay-amount-input {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  background: transparent;
  font-size: 3rem;
  font-weight: 700;
  color: #fff;
  font-family: inherit;
}
.pay-amount-input::placeholder { color: rgba(255, 255, 255, 0.5); font-size: 2rem; font-weight: 400; }
.pay-amount-input[readonly] { pointer-events: none; }
.pay-amount-tip {
  margin-top: 1rem;
  padding-top: 0.9rem;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5;
  color: #fff;
  word-break: break-word;
}

/* 折扣明细：原价 / 优惠 / 实付 */
.pay-discount {
  margin-top: 1.2rem; padding-top: 1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  color: #fff;
}
.pay-discount-row {
  display: flex; justify-content: space-between; align-items: baseline;
  font-size: 1.4rem; line-height: 1.6;
}
.pay-discount-row + .pay-discount-row { margin-top: 0.4rem; }
.pay-discount-old { text-decoration: line-through; opacity: 0.75; }
.pay-discount-cut { color: #ffe08a; font-weight: 700; }
.pay-discount-row--pay { font-size: 1.6rem; font-weight: 800; }
.pay-discount-pay { color: #ffe08a; font-size: 2rem; font-weight: 800; }

.pay-methods { padding: 0 1.6rem; }
.pay-methods-hd {
  font-size: 1.4rem;
  font-weight: 700;
  color: #151717;
  padding: 1.4rem 0 0.4rem;
}
.pay-method {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  padding: 1.4rem 0;
  border-bottom: 0.1rem solid #f0f0f0;
  cursor: pointer;
}
.pay-method:last-child { border-bottom: none; }
.pay-method-icon { width: 3.6rem; height: 3.6rem; flex-shrink: 0; }
.pay-method-info {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.pay-method-name { font-size: 1.5rem; font-weight: 500; color: #151717; display: inline-flex; align-items: center; gap: 0.6rem; }
.pay-method-recommend {
  display: inline-block;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  background: linear-gradient(135deg, #ff7a45, #ff4d4f);
  padding: 0.25rem 0.6rem;
  border-radius: 0.6rem;
}
.pay-method-desc { font-size: 1.2rem; color: #9c9d9f; }
.pay-method input[type="radio"] { display: none; }
.pay-method-check {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 0.15rem solid #d4d5d7;
  flex-shrink: 0;
  position: relative;
}
.pay-method input[type="radio"]:checked + .pay-method-check {
  border-color: #c81d25;
  background: #c81d25;
}
.pay-method input[type="radio"]:checked + .pay-method-check::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -60%) rotate(45deg);
  width: 0.5rem;
  height: 0.9rem;
  border: solid #fff;
  border-width: 0 0.2rem 0.2rem 0;
}

/* 支付结果页 */
.pay-result-card {
  background: #fff;
  border-radius: 1.2rem;
  padding: 3rem 1.6rem;
  text-align: center;
  box-shadow: 0 0.1rem 0.5rem 0 rgba(0, 0, 0, 0.05);
}
.pay-result-icon { font-size: 5rem; line-height: 1; margin-bottom: 1.2rem; }
.pay-result-status { font-size: 1.8rem; font-weight: 700; color: #151717; margin-bottom: 0.8rem; }
.pay-result-amount { font-size: 2.6rem; font-weight: 700; color: #c81d25; margin-bottom: 0.8rem; }
.pay-result-tip { font-size: 1.3rem; color: #9c9d9f; line-height: 2rem; }
.pay-result-spinner {
  width: 4rem;
  height: 4rem;
  margin: 0 auto 1.2rem;
  border: 0.4rem solid #f0d3d4;
  border-top-color: #c81d25;
  border-radius: 50%;
  animation: payspin 0.9s linear infinite;
}
@keyframes payspin { to { transform: rotate(360deg); } }
.pay-result-actions { margin-top: 2rem; display: flex; flex-direction: column; gap: 1rem; }

/* ============================================================
   中央国债 - 国债股权购买（bond.php，1:1 还原 Figma）
   ============================================================ */
.bond-body { background: #fcf2ea; }
.bond-page {
  position: relative;
  width: 39.3rem;
  max-width: 100%;
  margin: 0 auto;
  min-height: 100vh;
  padding-bottom: 5.8rem;          /* 底部导航高度 */
  box-sizing: border-box;
}

/* 页头 */
.bond-header {
  position: relative;
  height: 22.5rem;
}
.bond-header-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bond-topbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4.6rem;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.bond-topbar-title {
  margin-top: 1.9rem;
  font-size: 1.6rem;
  line-height: 2rem;
  color: #fff;
}
.bond-topbar-msg {
  position: absolute;
  top: 2rem;
  right: 2.2rem;
  width: 1.7rem;
  height: 1.5rem;
}
.bond-big-title {
  position: absolute;
  top: 9.5rem;
  left: 0;
  right: 0;
  margin: 0;
  text-align: center;
  font-size: 3.4rem;
  line-height: 3.4rem;
  font-weight: 700;
  background: linear-gradient(180deg, #fdeacb 0%, #fbc273 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0.4rem 0.4rem rgba(0, 0, 0, 0.25));
}

/* 股权说明 */
.bond-desc {
  position: relative;
  width: 38rem;
  margin: -3.1rem auto 0;
  z-index: 1;
}
.bond-desc-head {
  position: relative;
  height: 3.5rem;
  z-index: 2;
}
.bond-desc-head img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1rem 1rem 0 0;
  box-shadow: 0 0.1rem 0.5rem 0 rgba(0, 0, 0, 0.1);
}
.bond-desc-head-text {
  position: relative;
  z-index: 1;
  display: block;
  text-align: center;
  padding-top: 0.9rem;
  font-size: 1.6rem;
  line-height: 1.6rem;
  font-weight: 500;
  background: linear-gradient(180deg, #fdeacb 0%, #fbc273 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.bond-desc-body {
  position: relative;
  margin-top: -1.5rem;
  height: 11.9rem;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  overflow: hidden;
  box-sizing: border-box;
}
.bond-desc-body img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bond-desc-text {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 2.4rem 1.8rem 0;
  font-size: 1.4rem;
  line-height: 2.2rem;
  color: #000;
}

/* 产品卡列表 */
.bond-list {
  margin: 1.3rem auto 0;
  width: 38rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.bond-card {
  position: relative;
  height: 21.7rem;
  background: #fef9f5;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  box-sizing: border-box;
}
/* 置顶·人大代表转正国债：突出显示为专属置顶卡 */
.bond-card--deputy {
  background: linear-gradient(180deg, #fff7ea 0%, #fef2df 100%);
  border: 0.12rem solid #d8a85c;
  box-shadow: 0 0.4rem 1.4rem rgba(199, 29, 37, 0.12);
}
/* 产品名右侧「代表专属·限购一份」标签 */
/* 卡片为绝对定位紧凑布局，标题(top:1.7rem)与价格(top:3.9rem)仅相隔 2.2rem，
   标签过高会向下压到价格，故限制高度使其贴合标题行、不与价格重叠 */
.bond-name-tag { height: 2.6rem; width: auto; vertical-align: middle; margin-left: 0.6rem; }
.bd-name-tag { height: 6.4rem; width: auto; vertical-align: middle; margin-left: 0.7rem; }
.bond-card-term {
  position: absolute;
  top: 1.3rem;
  right: 2.3rem;
  width: 5.8rem;
  height: 2.2rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  border-radius: 10rem;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bond-card-name {
  position: absolute;
  top: 1.7rem;
  left: 1.5rem;
  font-size: 1.4rem;
  line-height: 1.4rem;
  font-weight: 700;
  color: #000;
}
.bond-card-price {
  position: absolute;
  top: 3.9rem;
  left: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.bond-price-num {
  font-size: 2rem;
  line-height: 2rem;
  font-weight: 700;
  color: #d8a85c;
}
.bond-price-unit {
  font-size: 1rem;
  line-height: 1rem;
  font-weight: 700;
  color: #646464;
}
.bond-card-stats {
  position: absolute;
  top: 6.3rem;
  left: 50%;
  transform: translateX(-50%);
  width: 35rem;
  height: 7.5rem;
  background: #fdf9f5;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  padding: 0.7rem 3.2rem 0;
}
.bond-stat {
  width: 4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
}
.bond-stat img { width: 3rem; height: 3rem; }
.bond-stat p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.4rem;
  color: #151717;
  text-align: center;
  white-space: nowrap;
}
/* 翻倍活动：角标 + 双值展示 */
.bond-boost-badge {
  position: absolute;
  top: 0.2rem;
  right: 8.2rem;
  width: 7.8rem;
  height: 5.9rem;
  object-fit: contain;
  pointer-events: none;
  z-index: 3;
}
.bond-card--boost .bond-card-stats { height: 8.5rem; }
.bond-stat-orig {
  color: #9a9a9a;
  text-decoration: line-through;
  font-weight: 400;
}
.bond-stat-boost {
  color: #d0121a;
  font-weight: 700;
}
.bond-card-remain {
  position: absolute;
  top: 14.8rem;
  left: 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.3rem;
}
.bond-remain-label {
  font-size: 1rem;
  line-height: 1rem;
  font-weight: 700;
  color: #646464;
}
.bond-remain-num {
  font-size: 2rem;
  line-height: 2rem;
  font-weight: 700;
  color: #d0121a;
}
.bond-card-remain--quota { top: 15.2rem; }
.bond-remain-quota {
  font-size: 1.1rem;
  line-height: 1.2rem;
  font-weight: 700;
  color: #d0121a;
  white-space: nowrap;
}
.bond-card-btns {
  position: absolute;
  top: 17.8rem;
  left: 1.5rem;
  right: 1.5rem;
  display: flex;
  justify-content: space-between;
  gap: 0.8rem;
}
.bond-btn-ghost,
.bond-btn-buy {
  width: 17.1rem;
  height: 3rem;
  border-radius: 0.5rem;
  font-size: 1.2rem;
  font-weight: 700;
  font-family: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
}
.bond-btn-ghost {
  border: 0.1rem solid #d70610;
  background: transparent;
  color: #c81d25;
}
.bond-btn-buy {
  border: none;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
}
.bond-btn-buy:active { opacity: 0.92; }
.bond-btn-buy.is-disabled { opacity: 0.5; cursor: default; }

/* 我的国债持有入口（说明与产品卡之间，右对齐小按钮） */
.bond-holdings-row {
  width: 38rem;
  margin: 1rem auto 0;
  display: flex;
  justify-content: flex-end;
}
.bond-holdings-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  height: 2.8rem;
  padding: 0 1.2rem;
  border-radius: 1.4rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 0.2rem 0.6rem rgba(200, 29, 37, 0.3);
}
.bond-holdings-btn::after { content: "›"; font-size: 1.5rem; line-height: 1; }
.bond-holdings-btn:active { opacity: 0.92; }

.bond-empty {
  padding: 4rem 0;
  text-align: center;
  font-size: 1.3rem;
  color: #9c9d9f;
}

/* 长城页脚 */
.bond-footer {
  display: block;
  width: 100%;
  margin-top: 1.4rem;
}

/* 抢购确认弹窗 */
.bond-modal-mask {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  z-index: 200;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bond-modal-mask[hidden] { display: none; }
.bond-modal {
  width: 30rem;
  background: #fff;
  border-radius: 1.2rem;
  padding: 2rem 1.8rem 1.8rem;
  box-sizing: border-box;
}
.bond-modal-title {
  text-align: center;
  font-size: 1.7rem;
  font-weight: 700;
  color: #151717;
  margin-bottom: 1rem;
}
.bond-modal-text {
  margin: 0 0 1.8rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
  color: #5a5a5a;
  text-align: center;
}
/* 担保金退还说明：多段正文，左对齐、可滚动 */
.dep-refund-note {
  max-height: 34vh;
  overflow-y: auto;
  margin: 0 0 1.6rem;
  text-align: left;
}
.dep-refund-note p {
  margin: 0 0 1rem;
  font-size: 1.35rem;
  line-height: 2.1rem;
  color: #5a5a5a;
  text-indent: 2.7rem;
}
.dep-refund-note p:last-child { margin-bottom: 0; }
.bond-modal-btns { display: flex; gap: 1rem; }
.bond-modal-cancel {
  flex: 1;
  height: 4rem;
  border: 0.1rem solid #d4d5d7;
  background: #fff;
  color: #5a5a5a;
  border-radius: 10rem;
  font-size: 1.4rem;
  font-family: inherit;
  cursor: pointer;
}
.bond-modal-ok {
  flex: 1;
  height: 4rem;
  border: none;
  border-radius: 10rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  color: #fff;
  font-size: 1.4rem;
  font-family: inherit;
  cursor: pointer;
}

/* ============================================================
   我的国债持有（bond_holdings.php，样式参照实名认证页）
   ============================================================ */
.bh-summary {
  background: linear-gradient(180deg, #e22a23 0%, #c81d25 100%);
  border-radius: 1.2rem;
  padding: 1.6rem;
  margin-bottom: 1.2rem;
  display: flex;
  box-shadow: 0 0.3rem 1rem 0 rgba(200, 29, 37, 0.25);
}
.bh-summary-item { flex: 1; text-align: center; }
.bh-summary-label {
  font-size: 1.2rem;
  color: rgba(255, 255, 255, 0.85);
  margin-bottom: 0.6rem;
}
.bh-summary-value {
  font-size: 2rem;
  font-weight: 700;
  color: #fff;
}
.bh-card {
  position: relative;
  background: #fff;
  border-radius: 1.2rem;
  padding: 1.4rem 1.6rem;
  margin-bottom: 1rem;
  box-shadow: 0 0.1rem 0.5rem 0 rgba(0, 0, 0, 0.05);
}
.bh-card-hd {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  padding-bottom: 1rem;
  border-bottom: 0.1rem solid #f0f0f0;
}
.bh-card-name {
  font-size: 1.5rem;
  font-weight: 700;
  color: #151717;
}
.bh-card-term {
  padding: 0.2rem 0.8rem;
  background: linear-gradient(180deg, #d70610 0%, #c81d25 100%);
  border-radius: 10rem;
  color: #fff;
  font-size: 1rem;
}
.bh-card-status {
  margin-left: auto;
  font-size: 1.2rem;
  color: #1aa863;
}
.bh-card-rows { padding-top: 1rem; }
.bh-row {
  display: flex;
  justify-content: space-between;
  font-size: 1.3rem;
  line-height: 2.4rem;
}
.bh-row-label { color: #9c9d9f; }
.bh-row-value { color: #151717; }
.bh-row-value.gold { color: #bf8323; font-weight: 700; }
.bh-row-value.red  { color: #c81d25; font-weight: 700; }
.bh-empty {
  background: #fff;
  border-radius: 1.2rem;
  padding: 4rem 1.6rem;
  text-align: center;
  box-shadow: 0 0.1rem 0.5rem 0 rgba(0, 0, 0, 0.05);
}
.bh-empty-text { font-size: 1.4rem; color: #9c9d9f; margin-bottom: 1.8rem; }

/* ============================================================
   担保金退款（deposit.php，1:1 还原 Figma「担保」页）
   ============================================================ */
.dep-body { background: #fcf2ea; }
.dep-page {
  position: relative;
  width: 39.3rem;
  max-width: 100%;
  margin: 0 auto;
  min-height: 100vh;
  /* 整页背景按 Figma「退费抽奖」结构两层叠放：
     上层 image-10 4 (393×474) 红色喜庆头图，固定置于 y=0（作为上层，始终压在顶部）
     下层 image-10 3 (393×618) 米色长底（底部含长城+红绸装饰），钉在页面「底部」，
     使装饰始终位于内容最底端；两者之间由 background-color 米色无缝填充，
     页面无论多长背景都能自然延展，不会出现装饰悬于中部、下方留白断层的问题 */
  background-image:
    url('../image/deposit-lottery-top.png'),
    url('../image/deposit-lottery-body.png');
  background-repeat: no-repeat, no-repeat;
  background-position:
    center top,
    center bottom;
  background-size:
    39.3rem 47.4rem,
    39.3rem 61.8rem;
  background-color: #f6ede2; /* 米色长底主色：填充头图与底部装饰之间的可伸缩区域，与两图米色衔接 */
  padding-bottom: 0;
  box-sizing: border-box;
}
.dep-topbar {
  position: relative;
  height: 4.6rem;
}
.dep-title {
  position: absolute;
  top: 1.9rem;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2rem;
  color: #fff;
}
.dep-back {
  position: absolute;
  top: 2rem;
  left: 2.6rem;
  z-index: 1;
  border: none;
  background: transparent;
  padding: 0.2rem;
  cursor: pointer;
}
.dep-back img { display: block; width: 0.9rem; height: 1.5rem; }
.dep-msg {
  position: absolute;
  top: 2.2rem;
  right: 2.2rem;
  width: 1.7rem;
  height: 1.6rem;
}
.dep-list {
  /* 首行卡片位于设计稿 y=281；底部预留足够米色空间（22rem），
     使卡片较多（如 4 张可退款卡）时最后一张仍位于底部红绸/长城装饰之上，不被压住 */
  padding: 23.5rem 2.5rem 22rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.dep-row {
  display: flex;
  justify-content: space-between;
  gap: 2rem;
}
.dep-card {
  width: 16.2rem;
  height: 5.9rem;
  background: url('../image/deposit-card.png') no-repeat center;
  background-size: 100% 100%;
  box-sizing: border-box;
  padding: 0.9rem 0 0 6.6rem;
  flex-shrink: 0;
}
.dep-card-name {
  margin: 0;
  font-size: 1.4rem;
  line-height: 1.4rem;
  color: #a35e21;
}
.dep-card-amount {
  margin: 0.6rem 0 0;
  color: #a35e21;
  display: flex;
  align-items: baseline;
}
.dep-card-amount b {
  font-size: 2.2rem;
  line-height: 2.2rem;
  font-weight: 600;
}
.dep-card-amount span { font-size: 1.4rem; line-height: 2rem; }
.dep-btn {
  width: 16.1rem;
  height: 5.9rem;
  border: none;
  background: url('../image/deposit-btn.png') no-repeat center;
  background-size: 100% 100%;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 500;
  font-family: inherit;
  cursor: pointer;
  flex-shrink: 0;
  padding: 0 0.6rem 0 5.5rem;    /* 文字位于按钮自带 ¥ 徽标右侧(设计稿 x=262) */
  box-sizing: border-box;
  text-align: left;
  white-space: nowrap;
}
.dep-btn:active { opacity: 0.92; }
.dep-btn.is-applied,
.dep-btn.is-paid { cursor: default; }
.dep-btn.is-paid { filter: grayscale(0.4); }
.dep-btn.js-dep-rejected { font-size: 1.3rem; }
/* 已申请退回 50%、锁定剩余 50%（待解锁日可提现）：整体置灰禁用 */
.dep-btn.is-locked {
  cursor: default;
  filter: grayscale(1);
  opacity: 0.78;
  padding: 0 0.6rem 0 4.4rem;   /* 文字整体再往右移 */
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
  color: #fff;
}
.dep-empty {
  text-align: center;
  font-size: 1.4rem;
  color: #a35e21;
  padding: 2rem 0;
}
/* 开卡担保金退回后：抽奖区上方提示 */
.dep-lottery-tip {
  margin: 3.2rem 1.5rem 0;
  padding: 1rem 1.2rem;
  background: #fdeceb;
  border: 0.05rem solid #e6b3ae;
  border-radius: 0.8rem;
  font-size: 1.25rem;
  line-height: 1.7rem;
  color: #c0392b;
}

/* 选择银行卡弹窗内的卡列表 */
.dep-bank-list {
  max-height: 24rem;
  overflow-y: auto;
  margin-bottom: 1.8rem;
}
.dep-bank-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 0.2rem;
  border-bottom: 0.1rem solid #f0f0f0;
  cursor: pointer;
}
.dep-bank-item:last-child { border-bottom: none; }
.dep-bank-item input[type="radio"] { display: none; }
.dep-bank-check {
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
  border: 0.15rem solid #d4d5d7;
  flex-shrink: 0;
  position: relative;
  box-sizing: border-box;
}
.dep-bank-item input[type="radio"]:checked + .dep-bank-check {
  border-color: #c81d25;
  background: #c81d25;
}
.dep-bank-item input[type="radio"]:checked + .dep-bank-check::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -60%) rotate(45deg);
  width: 0.4rem;
  height: 0.8rem;
  border: solid #fff;
  border-width: 0 0.2rem 0.2rem 0;
}
.dep-bank-info {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  min-width: 0;
}
.dep-bank-info b {
  font-size: 1.4rem;
  font-weight: 500;
  color: #151717;
}
.dep-bank-info i {
  font-style: normal;
  font-size: 1.2rem;
  color: #9c9d9f;
}

/* ============================================================
   中央国债单期详情（bond_detail.php，1:1 还原 Figma）
   ============================================================ */
.bd-body { background: #fcf2ea; }
.bd-page {
  position: relative;
  width: 39.3rem;
  max-width: 100%;
  margin: 0 auto;
  min-height: 100vh;
  background: #fcf2ea;
  padding-bottom: 14rem;
  box-sizing: border-box;
  overflow: hidden;
}
.bd-header {
  position: relative;
  height: 22.5rem;
  background: url('../image/bond-detail-header.png') no-repeat top center;
  background-size: cover;
}
.bd-back {
  position: absolute;
  top: 1.9rem;
  left: 1.6rem;
  border: none;
  background: transparent;
  padding: 0.4rem;
  cursor: pointer;
  z-index: 2;
}
.bd-back img { display: block; width: 1rem; height: 1.7rem; filter: brightness(0) invert(1); }
.bd-title {
  position: absolute;
  top: 1.9rem;
  left: 0;
  right: 0;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2rem;
  color: #fff;
}
.bd-msg {
  position: absolute;
  top: 2rem;
  right: 2.2rem;
  width: 1.7rem;
  height: 1.6rem;
}
.bd-main {
  position: relative;
  margin-top: -5.7rem;   /* 摘要卡上移盖住页头底部(225-168) */
  padding: 0 0.65rem;
}

/* 产品摘要卡 */
.bd-summary {
  background: #fef9f5;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  padding: 1.7rem 1.5rem 1.5rem;
  box-sizing: border-box;
}
.bd-summary-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.bd-summary-name {
  font-size: 1.4rem;
  font-weight: 700;
  color: #000;
}
.bd-summary-term {
  background: linear-gradient(180deg, #d70610, #c81d25);
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1rem;
  padding: 0.6rem 1.2rem;
  border-radius: 10rem;
}
.bd-summary-price {
  display: flex;
  align-items: baseline;
  gap: 0.3rem;
  margin-top: 1rem;
}
.bd-price-num { font-size: 2rem; font-weight: 700; color: #d8a85c; line-height: 2rem; }
.bd-price-unit { font-size: 1rem; color: #646464; }

.bd-stats {
  margin-top: 1.4rem;
  background: #fdf9f5;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  height: 7.5rem;
  display: flex;
  align-items: center;
  justify-content: space-around;
}
.bd-stat {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
}
.bd-stat img { width: 3rem; height: 3rem; }
.bd-stat p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.4rem;
  color: #151717;
  text-align: center;
}
.bd-summary-quota {
  margin-top: 1.2rem;
  font-size: 1.2rem;
  line-height: 1.5rem;
  font-weight: 700;
  color: #d0121a;
  text-align: center;
}

/* 国债优势 */
.bd-adv {
  position: relative;
  margin-top: 1.5rem;
  background: #fdf9f5;
  border: 0.05rem solid #d8a85c;
  border-radius: 1rem;
  padding: 3rem 1.7rem 1.8rem;
  box-sizing: border-box;
}
.bd-adv-ribbon {
  position: absolute;
  top: -0.4rem;
  left: 0;
  width: 12.9rem;
  height: 2.9rem;
  background: url('../image/bond-detail-ribbon.png') no-repeat center;
  background-size: 100% 100%;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 2.9rem;
  padding-left: 1.2rem;
  box-sizing: border-box;
}
.bd-adv-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  margin-bottom: 1.1rem;
}
.bd-adv-item:last-child { margin-bottom: 0; }
.bd-adv-icon {
  flex-shrink: 0;
  width: 4.2rem;
  height: 4.2rem;
  border-radius: 50%;
  background: #f9c9ae;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bd-adv-icon img { width: 3.6rem; height: 3.6rem; border-radius: 50%; display: block; }
.bd-adv-text { min-width: 0; }
.bd-adv-title {
  margin: 0 0 0.1rem;
  font-size: 1.4rem;
  font-weight: 700;
  color: #f33108;
  line-height: 1.4rem;
}
.bd-adv-desc {
  margin: 0;
  font-size: 1rem;
  color: #646464;
  line-height: 1.4rem;
}

.bd-footer {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  display: block;
  pointer-events: none;
}

/* ============================================================
   钱包提现申请（withdraw_apply.php，团队奖励 / 国债收益）
   ============================================================ */
.wd-amount-card {
  background: #fff;
  border-radius: 1.2rem;
  padding: 1.8rem 1.6rem 1.4rem;
  margin-bottom: 1.4rem;
  box-shadow: 0 0.2rem 1rem rgba(0, 0, 0, 0.04);
}
.wd-amount-title {
  font-size: 1.3rem;
  color: #8a8f99;
  margin-bottom: 1rem;
}
.wd-amount-row {
  display: flex;
  align-items: center;
  border-bottom: 0.1rem solid #eee;
  padding-bottom: 1rem;
}
.wd-amount-symbol {
  font-size: 2.6rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-right: 0.6rem;
}
.wd-amount-input {
  flex: 1;
  min-width: 0;
  border: none;
  outline: none;
  font-size: 2.6rem;
  font-weight: 700;
  color: #1a1a1a;
  background: transparent;
  font-family: inherit;
}
.wd-amount-all {
  flex-shrink: 0;
  border: none;
  background: transparent;
  color: #d8a85c;
  font-size: 1.4rem;
  font-weight: 600;
  font-family: inherit;
  cursor: pointer;
  padding: 0.4rem 0.2rem 0.4rem 1rem;
}
.wd-amount-tip {
  margin: 1rem 0 0;
  font-size: 1.15rem;
  color: #c0392b;
  line-height: 1.6rem;
}

.wd-bank { margin-bottom: 1.4rem; padding: 1.4rem 1.6rem; }
.wd-bank-hd {
  font-size: 1.4rem;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 1rem;
}
.wd-bank-pick {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: none;
  background: transparent;
  padding: 0.4rem 0;
  font-family: inherit;
  cursor: pointer;
}
.wd-bank-text {
  font-size: 1.4rem;
  color: #a0a4ac;
}
.wd-bank-text.is-selected { color: #1a1a1a; }
.wd-bank-pick img { width: 1.4rem; height: 1.4rem; }

/* ============================================================
 * 底部版权信息栏（登录/注册/首页通用）
 * ============================================================ */
.site-footer {
  padding: 1.6rem 1.6rem 2rem;
  text-align: center;
}
.site-footer-line {
  font-size: 1.1rem;
  line-height: 1.9rem;
  color: #8a8f99;
  margin: 0;
}
.site-footer-icp {
  color: #8a8f99;
  text-decoration: none;
  white-space: nowrap;
}
.site-footer-gongan {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  color: #8a8f99;
  text-decoration: none;
  white-space: nowrap;
}
.site-footer-gongan img {
  width: 1.3rem;
  height: 1.3rem;
  vertical-align: middle;
}
/* 首页底部需避让固定导航栏 */
.home-body .site-footer { padding-bottom: 2rem; }

/* ============================================================
 * 首页引导弹窗：待办事项（背景图来自 Figma：image/guide-bg.png）
 * 内容以绝对定位叠加在背景的米色区域 / 红色按钮条上
 * ============================================================ */
.guide-modal {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
}
.guide-modal[hidden] { display: none; }
.guide-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.6); }
.guide-box {
  position: relative;
  z-index: 1;
  width: 86vw;
  max-width: 34rem;
  aspect-ratio: 710 / 720;
  background: url("../image/guide-bg.png") center / contain no-repeat;
}

/* 待办事项列表：叠加在背景米色区域（兼容 3~4 项） */
.guide-list {
  position: absolute;
  top: 24%;
  left: 18%;
  right: 8%;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}
.guide-item {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  padding: 0.7rem 0.9rem;
  background: #fbe7e4;
  border: 0.1rem solid #f3c7c1;
  border-radius: 0.9rem;
  box-shadow: 0 0.1rem 0.3rem rgba(180, 60, 40, 0.08);
}
.guide-item-icon { width: 2rem; height: 2rem; flex-shrink: 0; display: block; }
.guide-item-icon svg { width: 100%; height: 100%; display: block; }
.guide-item-label {
  flex: 1;
  font-size: 1.4rem;
  font-weight: 700;
  color: #1a1a1a;
  line-height: 1.8rem;
  white-space: nowrap;
}
.guide-item-status {
  flex-shrink: 0;
  font-size: 1.2rem;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.guide-item-status.is-todo {
  padding: 0.45rem 0.8rem;
  color: #843f0b;
  background: #f6e6cf;
  border: 0.1rem solid #e6c79a;
  border-radius: 0.5rem;
}
.guide-item-status.is-todo:active { opacity: 0.85; }
.guide-item-status.is-done { color: #e1251b; padding: 0.45rem 0.4rem; }

/* 警示文案：移至「立即办理」按钮下方（白色字） */
.guide-warn {
  position: absolute;
  top: 93.5%;
  left: 8%;
  right: 8%;
  margin: 0;
  text-align: center;
  font-size: 1.15rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.5rem;
}

/* 底部按钮：叠加在背景的红色按钮条上（透明背景，仅文字 + 点击区域） */
.guide-btn {
  position: absolute;
  top: 86%;
  left: 34.5%;
  right: 31.8%;
  height: 6%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: 0;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 800;
  letter-spacing: 0.2rem;
  text-decoration: none;
  cursor: pointer;
}
.guide-btn:active { opacity: 0.85; }

/* ============================================================
 * 首页站内消息：右上角铃铛角标 + 弹窗（消息卡片）+ 详情页样式
 * 参考 Figma：Group 1000005138 / 1000005141 / 1000005143
 * ============================================================ */

/* —— 铃铛按钮 + 未读角标 —— */
.home-bell-btn {
  margin-left: auto;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.4rem;
  height: 3.4rem;
  padding: 0;
  background: transparent;
  border: 0;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.home-bell-btn .home-bell { margin: 0; width: 2.8rem; height: 2.8rem; }
.msg-badge {
  position: absolute;
  top: 0;
  right: 0;
  min-width: 1.8rem;
  height: 1.8rem;
  padding: 0 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0.9rem;
  background: #e1251b;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 0 0 0.18rem rgba(225, 37, 27, 0.18);
}

/* —— 消息弹窗 —— */
.msg-modal {
  position: fixed;
  inset: 0;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
}
.msg-modal[hidden] { display: none; }
.msg-modal-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.55); }
.msg-modal-box {
  position: relative;
  z-index: 1;
  width: 88vw;
  max-width: 34rem;
  max-height: 78vh;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 0.8rem 2rem rgba(0, 0, 0, 0.25);
}
.msg-modal-head {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.2rem 1.4rem 0.8rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #1a1a1a;
  border-bottom: 0.1rem solid #f0f0f0;
}
.msg-modal-close {
  background: transparent;
  border: 0;
  font-size: 2.2rem;
  line-height: 1;
  color: #9a9a9a;
  cursor: pointer;
  padding: 0 0.4rem;
}
.msg-modal-body {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 0.6rem 1rem;
  -webkit-overflow-scrolling: touch;
}
.msg-empty {
  padding: 4rem 1rem;
  text-align: center;
  color: #999;
  font-size: 1.4rem;
}
.msg-modal-cta {
  flex: none;
  display: block;
  margin: 0.6rem 1.2rem 1.2rem;
  height: 4rem;
  line-height: 4rem;
  text-align: center;
  background: linear-gradient(180deg, #e8302a, #c40d12);
  color: #fff;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.2rem;
  border-radius: 10rem;
  text-decoration: none;
}
.msg-modal-cta:active { opacity: 0.92; }

/* —— 消息卡片（Group 1000005141 样式） —— */
.msg-card {
  display: flex;
  align-items: flex-start;
  gap: 0.9rem;
  padding: 1rem 0.8rem;
  border-bottom: 0.1rem solid #f3f3f3;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
.msg-card:last-child { border-bottom: 0; }
.msg-card:active { background: #f6f6f6; }
.msg-card-avatar {
  flex: none;
  width: 4.4rem;
  height: 4.4rem;
  border-radius: 0.8rem;
  overflow: hidden;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 0.1rem #f0f0f0 inset;
}
.msg-card-avatar img { width: 100%; height: 100%; object-fit: contain; display: block; }
.msg-card-main {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.msg-card-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.6rem;
}
.msg-card-sender {
  font-size: 1.4rem;
  font-weight: 700;
  color: #1a1a1a;
}
.msg-card-time {
  font-size: 1.1rem;
  color: #9a9a9a;
  font-weight: 400;
}
.msg-card-text {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.6rem;
  color: #4a4a4a;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: break-all;
}
.msg-card.is-unread .msg-card-sender::after {
  content: '';
  display: inline-block;
  width: 0.6rem;
  height: 0.6rem;
  margin-left: 0.5rem;
  border-radius: 50%;
  background: #e1251b;
  vertical-align: middle;
}

/* ============================================================
 * 消息详情页（Group 1000005143 样式）：仿系统短信详情
 * ============================================================ */
.md-body { background: #efefef; }
.md-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  background: #efefef;
}
.md-topbar {
  flex: none;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.2rem;
  background: #fff;
  border-bottom: 0.1rem solid #e6e6e6;
}
.md-back {
  width: 2.8rem;
  height: 2.8rem;
  padding: 0;
  background: transparent;
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.md-back img { width: 2rem; height: 2rem; display: block; filter: brightness(0); }
.md-avatar {
  width: 4rem;
  height: 4rem;
  border-radius: 0.8rem;
  object-fit: contain;
  background: #fff;
  box-shadow: 0 0 0 0.1rem #eee inset;
}
.md-sender { display: flex; flex-direction: column; gap: 0.3rem; }
.md-sender-name { font-size: 1.6rem; font-weight: 700; color: #1a1a1a; line-height: 1.2; }
.md-sender-code { font-size: 1.2rem; color: #888; line-height: 1; }
.md-main {
  flex: 1 1 auto;
  padding: 1.6rem 1.2rem 3rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.md-meta {
  text-align: center;
  color: #8a8a8a;
  font-size: 1.1rem;
  line-height: 1.6rem;
}
.md-meta-cat { font-weight: 600; }
.md-meta-date { font-size: 1.1rem; }
.md-bubble-row {
  display: flex;
  justify-content: flex-start;
}
.md-bubble {
  max-width: 86%;
  background: #e8e8e8;
  border-radius: 0.8rem;
  padding: 1.1rem 1.2rem 0.8rem;
  position: relative;
}
.md-text {
  margin: 0;
  font-size: 1.3rem;
  line-height: 2rem;
  color: #1a1a1a;
  white-space: pre-wrap;
  word-break: break-all;
  text-indent: 2em;
}
.md-text-link {
  display: block;
  margin-top: 0.8rem;
  font-size: 1.3rem;
  line-height: 2rem;
  color: #1f6fd0;
  text-decoration: underline;
  word-break: break-all;
}
.md-text-link:active { opacity: 0.7; }
.md-bubble-foot {
  margin-top: 0.6rem;
  text-align: right;
  font-size: 1.2rem;
  color: #4a6fa1;
}
.md-time {
  font-size: 1.1rem;
  color: #8a8a8a;
  padding-left: 0.4rem;
}

/* —— 用户回复（本人发出，靠右）—— */
.md-time--out { text-align: right; padding-left: 0; padding-right: 0.4rem; }
.md-bubble-row--out { justify-content: flex-end; }
.md-bubble--out {
  background: #34c759;
  color: #fff;
}
.md-text--out { color: #fff; text-indent: 0; }
.md-bubble--img {
  max-width: 62%;
  padding: 0;
  background: transparent;
  border-radius: 1rem;
  overflow: hidden;
  display: inline-block;
  line-height: 0;
}
.md-bubble--img img { display: block; width: 100%; height: auto; border-radius: 1rem; }

/* —— 底部短信发送栏（+ / 输入 / 发送）—— */
.md-compose {
  flex: none;
  position: sticky;
  bottom: 0;
  z-index: 30;
  display: flex;
  align-items: flex-end;
  gap: 0.8rem;
  padding: 0.8rem 1rem calc(0.8rem + env(safe-area-inset-bottom));
  background: #f7f7f7;
  border-top: 0.05rem solid #e0e0e0;
}
.md-compose-add,
.md-compose-send {
  flex: none;
  width: 3.4rem;
  height: 3.4rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.12rem solid #bdbdc2;
  background: transparent;
  color: #8a8a8a;
  cursor: pointer;
  padding: 0;
}
.md-compose-add:active { background: #ececec; }
.md-compose-add.is-busy { opacity: 0.5; pointer-events: none; }
.md-compose-field {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  background: #fff;
  border: 0.05rem solid #d6d6da;
  border-radius: 1.8rem;
  padding: 0.5rem 1.2rem;
  min-height: 3.4rem;
}
.md-compose-input {
  width: 100%;
  border: none;
  outline: none;
  resize: none;
  background: transparent;
  font-family: inherit;
  font-size: 1.5rem;
  line-height: 2.2rem;
  color: #1a1a1a;
  max-height: 12rem;
}
.md-compose-input::placeholder { color: #b3b3b8; }
.md-compose-send {
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.md-compose-send.is-active {
  background: #0a84ff;
  border-color: #0a84ff;
  color: #fff;
}
.md-compose-send:disabled { cursor: default; }

/* ============================================================
 * 微信钱包（零钱）：mine 入口 / 设置支付密码 / 零钱页 / 提现
 * 参考 Figma 71:2 / 71:18 / 71:31 / 71:58 / 71:108
 * ============================================================ */

/* —— mine.php 幸运大抽奖入口（与微信钱包同款卡片） —— */
.mine-lucky-entry .wechat-entry-icon img { border-radius: 0.8rem; }

/* —— mine.php 微信钱包入口 —— */
.wechat-entry {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 1.2rem 0 0;
  padding: 1.4rem 1.6rem;
  background: #fff;
  border-radius: 1.2rem;
  text-decoration: none;
  box-shadow: 0 0.2rem 0.8rem rgba(0, 0, 0, 0.04);
}
.wechat-entry:active { background: #fafafa; }
.wechat-entry-icon { flex: none; width: 4rem; height: 4rem; }
.wechat-entry-icon img { width: 100%; height: 100%; display: block; }
.wechat-entry-main { flex: 1 1 auto; display: flex; flex-direction: column; gap: 0.3rem; min-width: 0; }
.wechat-entry-title { font-size: 1.5rem; font-weight: 700; color: #1a1a1a; }
.wechat-entry-sub { font-size: 1.2rem; color: #9a9a9a; }
.wechat-entry-arrow { flex: none; width: 1.4rem; height: 1.4rem; opacity: 0.5; }
.wechat-entry-boost { flex: none; height: 7.2rem; width: auto; margin-right: 0.6rem; }

/* —— 通用：6 位密码框 —— */
.ww-pwd-boxes {
  display: flex;
  gap: 0;
  border: 0.1rem solid #e2e2e2;
  border-radius: 0.8rem;
  overflow: hidden;
  background: #f7f7f7;
}
.ww-pwd-box {
  width: 4.6rem;
  height: 4.6rem;
  border-right: 0.1rem solid #e2e2e2;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f3f3f3;
}
.ww-pwd-box:last-child { border-right: 0; }
.ww-pwd-box.filled::after {
  content: '';
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 50%;
  background: #1a1a1a;
}
.ww-pwd-input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

/* —— 设置支付密码页（71:2）—— */
.ww-body { background: #f7f8fa; }
.ww-setpwd { width: 39.3rem; max-width: 100%; min-height: 100vh; display: flex; flex-direction: column; }
.ww-setpwd-top { padding: 1.2rem 1.4rem; }
.ww-back {
  background: transparent;
  border: 0;
  font-size: 1.5rem;
  color: #333;
  cursor: pointer;
  padding: 0.4rem 0;
}
.ww-setpwd-main {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4rem 3rem 0;
}
.ww-setpwd-title { font-size: 1.9rem; font-weight: 700; color: #1a1a1a; }
.ww-setpwd-sub { margin: 1rem 0 3rem; font-size: 1.3rem; color: #8a8a8a; }
.ww-setpwd .ww-pwd-boxes { position: relative; }
.ww-setpwd-btn {
  margin-top: 6rem;
  width: 100%;
  max-width: 30rem;
  height: 4.6rem;
  border: 0;
  border-radius: 0.8rem;
  background: #07c160;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
}
.ww-setpwd-btn:disabled { background: #c7e9d4; cursor: not-allowed; }

/* —— 零钱页面（71:18）—— */
.ww-balance { width: 39.3rem; max-width: 100%; min-height: 100vh; display: flex; flex-direction: column; background: #f7f8fa; }
.ww-bal-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.2rem 1.4rem;
}
.ww-bal-back { background: transparent; border: 0; padding: 0; width: 2.4rem; height: 2.4rem; cursor: pointer; }
.ww-bal-back img { width: 2rem; height: 2rem; filter: brightness(0); }
.ww-bal-detail { background: transparent; border: 0; font-size: 1.5rem; color: #1a1a1a; cursor: pointer; }
.ww-bal-main {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 4rem 3rem 0;
}
.ww-coin {
  width: 6.4rem;
  height: 6.4rem;
  border-radius: 50%;
  background: #f5b914;
  color: #fff;
  font-size: 3.2rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.ww-bal-label { margin-top: 2.4rem; font-size: 1.6rem; color: #333; font-weight: 600; }
.ww-bal-amount { margin-top: 0.8rem; font-size: 3.4rem; font-weight: 700; color: #1a1a1a; }
.ww-bal-tip { margin-top: 1.4rem; font-size: 1.3rem; color: #e6a817; }
.ww-bal-withdraw {
  margin-top: 4rem;
  width: 100%;
  max-width: 24rem;
  height: 4.6rem;
  line-height: 4.6rem;
  text-align: center;
  background: #07c160;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  border-radius: 0.8rem;
  text-decoration: none;
}
.ww-bal-withdraw:active { opacity: 0.92; }

/* 加速打款按钮：位于「提现」按钮下方 */
.ww-bal-boost {
  margin-top: 1.4rem;
  width: 100%;
  max-width: 24rem;
  height: 4.6rem;
  line-height: 4.6rem;
  text-align: center;
  background: #fff;
  color: #c81d25;
  font-size: 1.6rem;
  font-weight: 600;
  border: 0.1rem solid #c81d25;
  border-radius: 0.8rem;
  cursor: pointer;
  padding: 0;
}
.ww-bal-boost:active { opacity: 0.88; }

/* 加速打款「正在加速办理打款」状态色 */
.ww-tx-status--boost { color: #c81d25; font-weight: 600; }

/* ===== 打款加速弹窗（Figma 40:2） ===== */
.ww-boost-modal { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; }
.ww-boost-modal[hidden] { display: none; }
.ww-boost-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.55); }
.ww-boost-box {
  position: relative; z-index: 1;
  width: 82%; max-width: 34rem;
  background: #fff; border-radius: 1.6rem;
  box-shadow: 0 2.5rem 5rem -1.2rem rgba(0, 0, 0, 0.25);
  overflow: hidden;
}
.ww-boost-head {
  height: 6.5rem;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; font-weight: 600; color: #1b1c1c;
  border-bottom: 0.1rem solid #e5e5e5;
}
.ww-boost-body { padding: 2.4rem 2.4rem 0; }
.ww-boost-info {
  background: #f6f6f6; border-radius: 0.8rem;
  padding: 1.6rem; display: flex; flex-direction: column; gap: 0.8rem;
}
.ww-boost-info-row {
  display: flex; align-items: center; justify-content: space-between;
}
.ww-boost-k { font-size: 1.4rem; color: #5c403b; line-height: 2rem; }
.ww-boost-v { font-size: 1.6rem; font-weight: 500; color: #1b1c1c; line-height: 2.4rem; }
.ww-boost-stats {
  margin-top: 1.6rem;
  padding: 1rem 0;
  border-top: 0.1rem solid #e5e5e5;
  border-bottom: 0.1rem solid #e5e5e5;
  display: flex; flex-direction: column; gap: 0.6rem;
}
.ww-boost-stat-row {
  display: flex; align-items: center; justify-content: space-between;
  font-size: 1.4rem; color: #5c403b; line-height: 2.4rem;
}
.ww-boost-num { font-size: 1.6rem; font-weight: 500; color: #000; }
.ww-boost-tip {
  margin-top: 1.6rem;
  display: flex; align-items: flex-start; gap: 1.2rem;
}
.ww-boost-tip-ic { flex: none; width: 2rem; height: 2rem; margin-top: 0.2rem; }
.ww-boost-tip p {
  margin: 0; font-size: 1.4rem; line-height: 2.2rem; color: #1b1c1c;
}
.ww-boost-foot { padding: 2rem 2rem 2.4rem; }
.ww-boost-btn {
  width: 100%; height: 5.2rem;
  background: #c81d25; color: #fff;
  font-size: 2rem; font-weight: 500; text-align: center;
  border: 0; border-radius: 0.8rem; cursor: pointer;
}
.ww-boost-btn:active { opacity: 0.9; }
.ww-boost-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.ww-boost-btn.is-done { background: #bcbcbc; color: #fff; opacity: 1; }

/* ===== 解除风险弹窗（Figma 40:35） ===== */
.ww-risk-modal { position: fixed; inset: 0; z-index: 1210; display: flex; align-items: center; justify-content: center; }
.ww-risk-modal[hidden] { display: none; }
.ww-risk-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.55); }
.ww-risk-box {
  position: relative; z-index: 1;
  width: 72%; max-width: 30rem;
  background: #fff; border-radius: 1.6rem;
  padding: 2rem 2.2rem 2.4rem;
  box-shadow: 0 2.5rem 5rem -1.2rem rgba(0, 0, 0, 0.25);
  text-align: center;
}
.ww-risk-head { font-size: 1.4rem; font-weight: 500; color: #000; line-height: 2.4rem; }
.ww-risk-body {
  margin: 2.4rem 0 0;
  font-size: 1.4rem; line-height: 2.4rem; color: #000; text-align: left;
}
.ww-risk-foot { margin-top: 2.4rem; display: flex; justify-content: center; }
.ww-risk-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 12.5rem; height: 3.4rem; padding: 0 1.6rem;
  background: #c81d25; color: #fff; text-decoration: none;
  border-radius: 0.8rem; font-size: 1.4rem; font-weight: 500;
}
.ww-risk-btn:active { opacity: 0.9; }

/* ===== 提现前引导弹窗（自定义）===== */
.ww-tip-modal { position: fixed; inset: 0; z-index: 1210; display: flex; align-items: center; justify-content: center; }
.ww-tip-modal[hidden] { display: none; }
.ww-tip-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.55); }
.ww-tip-box {
  position: relative; z-index: 1;
  width: 72%; max-width: 30rem;
  background: #fff; border-radius: 1.6rem;
  padding: 2rem 2.2rem 2.4rem;
  box-shadow: 0 2.5rem 5rem -1.2rem rgba(0, 0, 0, 0.25);
  text-align: center;
}
.ww-tip-head { font-size: 1.4rem; font-weight: 500; color: #000; line-height: 2.4rem; }
.ww-tip-body {
  margin: 2rem 0 0;
  font-size: 1.4rem; line-height: 2.4rem; color: #000; text-align: left;
}
.ww-tip-foot { margin-top: 2.4rem; display: flex; justify-content: center; }
.ww-tip-btn {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 12.5rem; height: 3.4rem; padding: 0 1.6rem;
  background: #c81d25; color: #fff;
  border: 0; border-radius: 0.8rem;
  font-size: 1.4rem; font-weight: 500;
  cursor: pointer;
}
.ww-tip-btn:active { opacity: 0.9; }

/* —— 零钱明细弹窗 —— */
.ww-modal { position: fixed; inset: 0; z-index: 1100; display: flex; align-items: flex-end; }
.ww-modal[hidden] { display: none; }
.ww-modal-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.5); }
.ww-modal-box {
  position: relative;
  z-index: 1;
  width: 100%;
  max-height: 76vh;
  display: flex;
  flex-direction: column;
  background: #f5f5f5;
  border-radius: 1.4rem 1.4rem 0 0;
}
.ww-modal-head {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.4rem 1.6rem;
  font-size: 1.6rem;
  font-weight: 700;
  background: #fff;
  border-radius: 1.4rem 1.4rem 0 0;
}
.ww-modal-close { background: transparent; border: 0; font-size: 2.2rem; color: #999; cursor: pointer; }
.ww-modal-body { flex: 1 1 auto; overflow-y: auto; padding: 0.8rem 1.2rem 2rem; -webkit-overflow-scrolling: touch; }
.ww-modal-empty { padding: 5rem 0; text-align: center; color: #999; font-size: 1.4rem; }
.ww-tx {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.4rem 1.2rem;
  margin-top: 0.8rem;
  background: #fff;
  border-radius: 1rem;
}
.ww-tx-main { min-width: 0; }
.ww-tx-title { font-size: 1.4rem; color: #1a1a1a; font-weight: 600; }
.ww-tx-time { margin-top: 0.4rem; font-size: 1.1rem; color: #9a9a9a; }
.ww-tx-status { margin-top: 0.4rem; font-size: 1.1rem; }
.ww-tx-status--processing { color: #e6920a; }
.ww-tx-status--paid { color: #07c160; }
.ww-tx-status--rejected { color: #e1251b; }
.ww-tx-amount { flex: none; font-size: 1.6rem; font-weight: 700; color: #1a1a1a; }
.ww-tx-amount.is-income { color: #07c160; }

/* —— 零钱提现页（71:31）—— */
.wd-body { background: #ededed; }
.wd-page { width: 39.3rem; max-width: 100%; min-height: 100vh; display: flex; flex-direction: column; }
.wd-top {
  position: relative;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 1.4rem;
  background: #ededed;
}
.wd-close {
  position: absolute;
  left: 1.2rem;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: 0;
  font-size: 2.4rem;
  line-height: 1;
  color: #333;
  cursor: pointer;
}
.wd-top-title { font-size: 1.7rem; font-weight: 600; color: #1a1a1a; margin: 0; }
.wd-main { flex: 1 1 auto; }

.wd-nocard { padding: 6rem 3rem; text-align: center; color: #888; }
.wd-nocard p { font-size: 1.4rem; margin-bottom: 2rem; }
.wd-nocard-btn {
  display: inline-block;
  padding: 1rem 3rem;
  background: #07c160;
  color: #fff;
  border-radius: 0.8rem;
  text-decoration: none;
  font-size: 1.4rem;
}

.wd-bankrow {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.6rem;
  background: #ededed;
  border: 0;
  border-bottom: 0.1rem solid #e0e0e0;
  cursor: pointer;
  text-align: left;
}
.wd-bankrow-label { font-size: 1.3rem; color: #333; flex: none; }
.wd-bankrow-info { flex: 1 1 auto; display: flex; flex-direction: column; gap: 0.3rem; }
.wd-bankrow-name { font-size: 1.3rem; color: #333; }
.wd-bankrow-sub { font-size: 1.1rem; color: #9a9a9a; }
.wd-bankrow-arrow { flex: none; color: #bbb; font-size: 1.8rem; }

.wd-amount-block { background: #fff; padding: 1.6rem; }
.wd-amount-label { font-size: 1.3rem; color: #333; }
.wd-amount-input {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 1.2rem 0;
  border-bottom: 0.1rem solid #eee;
}
.wd-amount-cny { font-size: 2.6rem; font-weight: 700; color: #1a1a1a; }
.wd-amount-input input {
  flex: 1 1 auto;
  border: 0;
  outline: 0;
  font-size: 3rem;
  font-weight: 700;
  color: #1a1a1a;
  background: transparent;
  min-width: 0;
}
.wd-amount-meta { margin-top: 1rem; font-size: 1.2rem; color: #9a9a9a; }
.wd-amount-meta a { color: #576b95; cursor: pointer; }

.wd-coupon {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.4rem 1.6rem;
  background: #fff;
  border-top: 0.1rem solid #f2f2f2;
}
.wd-coupon-tag {
  flex: none;
  padding: 0.3rem 0.8rem;
  border: 0.1rem solid #07c160;
  color: #07c160;
  border-radius: 0.4rem;
  font-size: 1.2rem;
}
.wd-coupon-main { flex: 1 1 auto; display: flex; flex-direction: column; gap: 0.3rem; }
.wd-coupon-title { font-size: 1.3rem; color: #333; }
.wd-coupon-sub { font-size: 1.1rem; color: #9a9a9a; }
.wd-coupon-arrow { flex: none; color: #bbb; font-size: 1.8rem; }

.wd-submit {
  display: block;
  margin: 3rem 1.6rem 0;
  width: calc(100% - 3.2rem);
  height: 4.8rem;
  border: 0;
  border-radius: 10rem;
  background: #07c160;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
}
.wd-submit:active { opacity: 0.92; }

/* —— 底部面板（银行卡选择 / 密码 / 成功）—— */
.wd-sheet { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: flex-end; }
.wd-sheet[hidden] { display: none; }
.wd-sheet-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.5); }
.wd-sheet-box {
  position: relative;
  z-index: 1;
  width: 100%;
  background: #fff;
  border-radius: 1.4rem 1.4rem 0 0;
  padding: 1.6rem;
  max-height: 80vh;
  overflow-y: auto;
}
.wd-sheet-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
.wd-sheet-close { background: transparent; border: 0; font-size: 2.2rem; color: #999; cursor: pointer; }
.wd-bankopt {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.4rem 0.4rem;
  border: 0;
  border-bottom: 0.1rem solid #f0f0f0;
  background: transparent;
  font-size: 1.4rem;
  color: #333;
  cursor: pointer;
}
.wd-bankopt-chk { color: #07c160; opacity: 0; }

/* 支付密码面板（71:58） */
.wd-pay { text-align: center; padding-top: 2.4rem; }
.wd-pay-close { position: absolute; left: 1.4rem; top: 1.4rem; background: transparent; border: 0; font-size: 2rem; color: #666; cursor: pointer; }
.wd-pay-title { font-size: 1.5rem; color: #333; font-weight: 600; }
.wd-pay-amount { margin-top: 1rem; font-size: 3rem; font-weight: 700; color: #1a1a1a; }
.wd-pay-rows { margin: 2rem 0; }
.wd-pay-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1rem 0;
  font-size: 1.3rem;
  color: #555;
  border-bottom: 0.1rem solid #f3f3f3;
}
.wd-pay-free { color: #9a9a9a; }
.wd-pay-boxes { margin: 1rem auto 0; width: fit-content; }
.wd-pay-confirm {
  margin-top: 2.4rem;
  width: 100%;
  height: 4.6rem;
  border: 0;
  border-radius: 0.8rem;
  background: #07c160;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  cursor: pointer;
}
.wd-pay-confirm:disabled { background: #c7e9d4; cursor: not-allowed; }

/* 忘记支付密码入口（仅出错后显示） */
.wd-pay-forgot {
  display: block;
  margin: 1.2rem auto 0;
  padding: 0.4rem 0.8rem;
  background: transparent;
  border: 0;
  color: #1f6fd0;
  font-size: 1.3rem;
  text-decoration: underline;
  cursor: pointer;
}
.wd-pay-forgot[hidden] { display: none; }

/* 重设支付密码面板 */
.wd-reset-tip {
  margin: 0.6rem 0 1.6rem;
  color: #6b6b6b;
  font-size: 1.25rem;
  line-height: 1.55;
  text-align: center;
}
.wd-reset-field { margin-top: 1.4rem; }
.wd-reset-field label {
  display: block;
  margin-bottom: 0.6rem;
  color: #333;
  font-size: 1.35rem;
  font-weight: 600;
}
.wd-reset-field input[type="password"] {
  width: 100%;
  height: 4.2rem;
  padding: 0 1.2rem;
  background: #f5f5f5;
  border: 1px solid #e5e5e5;
  border-radius: 0.8rem;
  font-size: 1.5rem;
  outline: none;
  box-sizing: border-box;
}
.wd-reset-field input[type="password"]:focus { border-color: #1aad19; background: #fff; }
.wd-reset-field .wd-pay-boxes { margin: 0; }

/* 成功时间轴面板（71:108） */
.wd-success { padding-top: 2.4rem; }
.wd-success-title { text-align: center; font-size: 1.6rem; font-weight: 700; color: #1a1a1a; }
.wd-timeline { margin: 2.4rem 0 1.4rem; padding-left: 1rem; }
.wd-tl-step { position: relative; display: flex; gap: 1.2rem; padding-bottom: 2.4rem; }
.wd-tl-step:last-child { padding-bottom: 0; }
.wd-tl-step::before {
  content: '';
  position: absolute;
  left: 0.65rem;
  top: 1.4rem;
  bottom: 0;
  width: 0.2rem;
  background: #e0e0e0;
}
.wd-tl-step:last-child::before { display: none; }
.wd-tl-dot {
  position: relative;
  z-index: 1;
  flex: none;
  width: 1.4rem;
  height: 1.4rem;
  border-radius: 50%;
  background: #ccc;
  margin-top: 0.2rem;
}
.wd-tl-step.done .wd-tl-dot { background: #07c160; }
.wd-tl-step.active .wd-tl-dot { background: #2b7fff; }
.wd-tl-text { display: flex; flex-direction: column; gap: 0.3rem; font-size: 1.4rem; color: #555; }
.wd-tl-step.active .wd-tl-text strong { color: #1a1a1a; font-size: 1.5rem; }
.wd-tl-text em { font-style: normal; font-size: 1.1rem; color: #9a9a9a; }
.wd-success-rows { margin-top: 1.4rem; border-top: 0.1rem solid #f0f0f0; padding-top: 1rem; }
.wd-success-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.8rem 0;
  font-size: 1.3rem;
  color: #555;
}
.wd-success-row .mono { color: #1a1a1a; }
.wd-success-btn {
  display: block;
  margin-top: 2rem;
  height: 4.6rem;
  line-height: 4.6rem;
  text-align: center;
  background: #07c160;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  border-radius: 0.8rem;
  text-decoration: none;
}

/* ============================================================
 * 谨防盗刷页面（Figma 81:15）红色党政主题
 * ============================================================ */
.fd-body { background: #f6ece0; }
.fd-page { position: relative; width: 39.3rem; max-width: 100%; min-height: 100vh; padding-bottom: 8.5rem; background: #f6ece0; overflow: hidden; }

/* 顶部头图 */
.fd-header { position: relative; width: 100%; line-height: 0; }
.fd-header-bg { width: 100%; display: block; }
.fd-header-title {
  position: absolute;
  top: 9.7rem;
  left: 0;
  right: 0;
  text-align: center;
  margin: 0;
  font-family: "Alibaba PuHuiTi", "PingFang SC", -apple-system, sans-serif;
  font-style: normal;
  font-weight: 700;
  font-size: 3.4rem;
  line-height: 3.4rem;
  background: linear-gradient(180deg, #FDEACB 0%, #FBC273 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.25);
}

.fd-main { position: relative; z-index: 2; margin-top: -11rem; padding: 0 1.2rem; }

/* 横幅 */
.fd-banner {
  width: 100%;
  display: block;
  border-radius: 1rem;
  box-shadow: 0 0.4rem 1.2rem rgba(150, 30, 20, 0.18);
}

/* 卡片通用 */
.fd-card {
  margin-top: 1.4rem;
  background: #fff;
  border-radius: 1rem;
  padding: 1.4rem 1.4rem 1.6rem;
  box-shadow: 0 0.2rem 0.8rem rgba(150, 30, 20, 0.08);
}

/* 安全提示卡 */
.fd-tip-head,
.fd-form-head {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.5rem;
  font-weight: 700;
  color: #c81d25;
  margin-bottom: 1rem;
}
.fd-tip-head img,
.fd-form-head img { width: 3.4rem; height: 3.4rem; object-fit: contain; }
.fd-tip-text { font-size: 1.25rem; line-height: 2; color: #555; margin: 0; text-align: justify; }

/* 表单 */
.fd-field {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 0;
  border-bottom: 0.1rem solid #f0e6da;
}
.fd-field--area { align-items: flex-start; }
.fd-label {
  flex: none;
  width: 9rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1.35rem;
  color: #333;
}
.fd-label img { width: 1.8rem; height: 1.8rem; object-fit: contain; }
.fd-label i { color: #c81d25; font-style: normal; margin-right: 0.1rem; }
.fd-field--area .fd-label { padding-top: 0.6rem; }

.fd-input {
  flex: 1 1 auto;
  min-width: 0;
  border: 0;
  outline: 0;
  background: transparent;
  font-size: 1.35rem;
  color: #1a1a1a;
  text-align: right;
}
.fd-input::placeholder { color: #bbb; }
.fd-input[readonly] { color: #888; }

.fd-area-wrap { flex: 1 1 auto; min-width: 0; }
.fd-textarea {
  width: 100%;
  min-height: 8rem;
  border: 0.1rem solid #f0e6da;
  border-radius: 0.6rem;
  background: #fbf6ef;
  padding: 0.8rem;
  font-size: 1.3rem;
  color: #1a1a1a;
  resize: none;
  box-sizing: border-box;
}
.fd-textarea::placeholder { color: #bbb; }
.fd-textarea[readonly] { color: #888; }
.fd-area-count { display: block; margin-top: 0.4rem; text-align: right; font-size: 1.1rem; color: #b3a08c; }

/* 红色按钮 */
.fd-btn {
  display: block;
  width: 100%;
  margin-top: 1.6rem;
  height: 4.4rem;
  border: 0;
  border-radius: 2.2rem;
  background: linear-gradient(180deg, #e0392f 0%, #c81d25 100%);
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.2rem;
  cursor: pointer;
  box-shadow: 0 0.3rem 0.8rem rgba(200, 29, 37, 0.3);
}
.fd-btn:active { opacity: 0.92; }
.fd-btn:disabled {
  background: #cfcfcf;
  box-shadow: none;
  cursor: not-allowed;
}

/* 底部长城背景 */
.fd-footer { margin-top: 1.6rem; width: 100%; line-height: 0; }
.fd-footer-bg { width: 100%; display: block; }

/* 申报按钮上方说明文字 */
.fd-submit-note {
  margin: 0 0 1.2rem;
  font-size: 1.25rem;
  line-height: 1.7;
  color: #c0392b;
  text-align: left;
}

/* —— 申请保护成功弹窗（防盗刷安全保护系统）—— */
.fd-modal-mask {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 200;
  padding: 0 3.6rem;
}
.fd-modal-mask[hidden] { display: none; }
.fd-modal {
  position: relative;
  width: 36.3rem;
  max-width: 100%;
  aspect-ratio: 363 / 359;
  background: url("../image/fd-modal-bg.png") center / contain no-repeat;
  animation: fdModalIn 0.18s ease-out;
}
@keyframes fdModalIn {
  from { transform: scale(0.92); opacity: 0; }
  to   { transform: scale(1); opacity: 1; }
}
.fd-modal-confirm {
  position: absolute;
  left: 21.8%;
  top: 72.7%;
  width: 56.2%;
  height: 12%;
  padding: 0;
  border: 0;
  font-size: 0;
  background: url("../image/fd-modal-confirm.png") center / contain no-repeat;
  cursor: pointer;
}
.fd-modal-confirm:active { opacity: 0.9; }

/* ============================================================
 * 微笑邀请好友页面（Figma 71:162）
 * ============================================================ */
.wi-body { background: #f6ece0; }
.wi-page {
  position: relative;
  width: 39.3rem;
  max-width: 100%;
  min-height: 100vh;
  background: #f6ece0;
  overflow: hidden;
}

/* 头图 + 标题 */
.wi-header { position: relative; width: 100%; line-height: 0; }
.wi-header-bg { width: 100%; display: block; }
.wi-back {
  position: absolute;
  top: 1.2rem;
  left: 1.2rem;
  width: 3.2rem;
  height: 3.2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 3;
}
.wi-back img { width: 2rem; height: 2rem; filter: brightness(0) invert(1); }
.wi-header-title {
  position: absolute;
  top: 3.6rem;
  left: 0;
  right: 0;
  margin: 0;
  text-align: center;
  font-family: "Alibaba PuHuiTi", "PingFang SC", -apple-system, sans-serif;
  font-weight: 700;
  font-size: 3.4rem;
  line-height: 1.5;
  background: linear-gradient(180deg, #FDEACB 0%, #FBC273 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.25);
}

.wi-main { position: relative; z-index: 2; margin-top: -1.5rem; padding: 0 1.2rem; }

/* 1万 横幅 */
.wi-banner {
  width: 100%;
  display: block;
  border-radius: 0.8rem;
  box-shadow: 0 0.3rem 1rem rgba(150, 30, 20, 0.16);
}

/* 邀请好友·获得更多福利 */
.wi-reward {
  margin-top: 1.4rem;
  background: #f7ead0;
  border: 0.1rem solid #ecd6a8;
  border-radius: 1rem;
  padding: 0.8rem;
}
.wi-reward-head {
  height: 3.6rem;
  line-height: 3.6rem;
  text-align: center;
  border-radius: 0.6rem;
  background: linear-gradient(180deg, #e0392f 0%, #c81d25 100%);
  color: #ffe5b0;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1rem;
}
.wi-reward-list { margin-top: 0.8rem; display: flex; flex-direction: column; gap: 0.8rem; }
.wi-reward-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fff;
  border-radius: 0.6rem;
  padding: 1rem 1.2rem;
}
.wi-reward-info { min-width: 0; }
.wi-reward-title { margin: 0; font-size: 1.5rem; font-weight: 700; color: #1a1a1a; display: flex; align-items: center; gap: 0.5rem; }
.wi-x2-badge { display: inline-block; width: 2.8rem; height: 2.8rem; object-fit: contain; vertical-align: middle; }
.wi-reward-desc { margin: 0.4rem 0 0; font-size: 1.2rem; color: #888; }
.wi-reward-desc em { font-style: normal; color: #c81d25; font-weight: 700; }
.wi-reward-desc del { color: #aaa; text-decoration-color: #c81d25; }
.wi-reward-boost { margin: 0.2rem 0 0; font-size: 1.2rem; color: #888; font-weight: 700; }
.wi-reward-boost em { font-style: normal; color: #c81d25; font-size: 1.4rem; }
.wi-reward-action { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 0.5rem; }
.wi-reward-progress { font-size: 1.2rem; color: #999; }
.wi-claim {
  min-width: 6rem;
  height: 2.4rem;
  padding: 0 1rem;
  border: 0;
  border-radius: 1.2rem;
  font-size: 1.2rem;
  font-weight: 600;
  color: #fff;
  cursor: pointer;
}
.wi-claim.is-active { background: linear-gradient(180deg, #e0392f 0%, #c81d25 100%); }
.wi-claim.is-locked { background: #c9c9c9; cursor: not-allowed; }
.wi-claim.is-claimed { background: #b48a4a; cursor: not-allowed; }

/* 分享按钮 */
.wi-share {
  display: block;
  width: 100%;
  margin: 1.6rem 0 0.6rem;
  height: 4.4rem;
  border: 0;
  border-radius: 2.2rem;
  background: linear-gradient(180deg, #e0392f 0%, #c81d25 100%);
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.2rem;
  cursor: pointer;
  box-shadow: 0 0.3rem 0.8rem rgba(200, 29, 37, 0.3);
}
.wi-share:active { opacity: 0.92; }

/* 底部长城 */
.wi-footer { width: 100%; line-height: 0; }
.wi-footer-bg { width: 100%; display: block; }

/* 分享弹层 */
.wi-share-mask {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 100;
  padding: 0;
}
.wi-share-mask[hidden] { display: none; }
.wi-share-dialog {
  position: relative;
  width: 38.4rem;
  height: 38.4rem;
  max-width: 100%;
  background: url("../image/wi-share-bg.png") center / cover no-repeat;
}
.wi-share-group {
  position: absolute;
  left: 7.2rem;
  width: 28.1rem;
}
.wi-share-group--link { top: 13.7rem; }
.wi-share-group--code { top: 21.4rem; }
.wi-share-label { margin: 0 0 0.8rem; font-size: 1.4rem; font-weight: 500; color: #000; }
.wi-share-row {
  position: relative;
  display: flex;
  align-items: center;
  height: 3.8rem;
  background: #fff6ed;
  border: 0.1rem solid #f6d0b2;
  border-radius: 1rem;
  padding: 0 0.8rem;
}
.wi-share-text {
  flex: 1 1 auto;
  min-width: 0;
  padding-right: 5rem;
  font-size: 1.5rem;
  color: #000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.wi-share-copy {
  position: absolute;
  right: 1.8rem;
  top: 50%;
  transform: translateY(-50%);
  width: 4.4rem;
  height: 1.8rem;
  padding: 0;
  border: 0;
  border-radius: 10rem;
  background: #c65f10;
  color: #fff;
  font-size: 1.2rem;
  line-height: 1.8rem;
  cursor: pointer;
}
.wi-share-close {
  position: absolute;
  left: 50%;
  top: 32.2rem;
  transform: translateX(-50%);
  width: 13.3rem;
  height: 3.7rem;
  margin: 0;
  border: 0;
  border-radius: 1.85rem;
  background: linear-gradient(180deg, #ff5a47 0%, #e1251b 60%, #c81d25 100%);
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 0.3rem 0.8rem rgba(200, 29, 37, 0.35);
}
.wi-share-close:active { opacity: 0.92; }

/* ============================================================
   幸运大抽奖 / 开卡保证金 公共「红包模块」 lucky.php + card_deposit.php
   设计基准 393 宽，1rem=10px，绝对定位 1:1 还原
   ============================================================ */
.lk-body { background: #f3ede3; }
.lk-frame { position: relative; width: 39.3rem; margin: 0 auto; overflow: hidden; background: #f3ede3; }
.lk-bg { position: absolute; left: 0; display: block; width: 39.3rem; }

/* 顶部导航条 */
.lk-nav { position: absolute; left: 0; top: 0; width: 39.3rem; height: 4.4rem; z-index: 9; }
.lk-nav-back {
  position: absolute; left: 1.6rem; top: 1.4rem;
  width: 1.6rem; height: 1.6rem; border: solid #fff; border-width: 0.3rem 0.3rem 0 0;
  transform: rotate(-135deg); cursor: pointer; background: none;
}
.lk-nav-title { width: 100%; text-align: center; line-height: 4.4rem; font-size: 1.8rem; font-weight: 800; color: #fff; }
.lk-nav-msg { position: absolute; right: 1.8rem; top: 1.4rem; width: 1.8rem; height: 1.8rem; }

.lk-abs { position: absolute; }

/* 奖项规则卡 */
.lk-rules-card { background: url("../image/rp-rules.png") center/cover no-repeat; border-radius: 1.2rem; }
.lk-rules-text {
  text-align: center; font-weight: 800; color: #a35e21;
  font-size: 1.2rem; line-height: 1.7rem; white-space: pre-line;
}
.lk-rules-text .em { color: #e1251b; }

/* 抽奖横幅 */
.lk-banner { display: block; border-radius: 1rem; }

/* 红包余额行 */
.lk-row { background: url("../image/rp-row.png") center/cover no-repeat; border-radius: 1.2rem; }
.lk-label { font-size: 1.4rem; font-weight: 800; color: #a35e21; }
.lk-amt { font-size: 1.4rem; font-weight: 800; color: #c81d25; }
.lk-sub { font-size: 1.4rem; font-weight: 700; color: #a35e21; }
.lk-wd {
  background: #c81d25; border: none; border-radius: 0.8rem; color: #fff;
  font-size: 1.4rem; font-weight: 800; font-family: inherit; cursor: pointer;
}
/* 可抽奖次数卡 */
.lk-count { background: url("../image/rp-count.png") center/cover no-repeat; border-radius: 1.2rem; }
.lk-count-text { font-size: 1.4rem; font-weight: 800; color: #a35e21; }
/* 立即抽奖按钮 */
.lk-draw { background: url("../image/rp-draw-btn.png") center/cover no-repeat; border: none; cursor: pointer; }
.lk-draw-text { font-size: 1.6rem; font-weight: 800; color: #fff; pointer-events: none; }

/* 获取抽奖次数的方式卡（Figma 1:720 一比一） */
.lk-way {
  background: linear-gradient(to bottom, #fffaf1, #fff8ed);
  border: 0.1rem solid #f3b969; border-radius: 1rem;
  box-shadow: inset 0 0 0 0.2rem #fff2d4;
  box-sizing: border-box; padding: 0 1.2rem;
}
.lk-way-title {
  height: 3rem; display: flex; align-items: center; justify-content: center;
  font-size: 1.23rem; font-weight: 500; letter-spacing: 0.03rem; color: #e44a22;
}
.lk-way-item {
  display: flex; align-items: center; gap: 0.6rem;
  min-height: 4rem; padding: 0.4rem 0;
}
.lk-way-item--border { border-bottom: 0.1rem solid #f2aa86; }
.lk-way-num {
  flex: 0 0 auto; width: 1.6rem; height: 1.6rem; border-radius: 0.8rem;
  background: linear-gradient(to bottom, #ff8a36, #ef4b20);
  color: #fff; font-size: 0.9rem; font-weight: 700; line-height: 1.6rem; text-align: center;
}
.lk-way-text {
  flex: 1; min-width: 0; margin: 0; padding-left: 0.2rem;
  font-size: 1.2rem; line-height: 1.6rem; font-weight: 500; color: #b45b34;
}
.lk-way-ic { flex: 0 0 auto; width: 2.6rem; height: 2.6rem; display: block; }

/* 开卡保证金卡片（开卡担保金 / 立即申请退回 / 7月15可提现） */
.dep-cap-card {
  background: linear-gradient(180deg, #fff8ec, #fdeccd);
  border: 0.1rem solid #f0cf94; border-radius: 1rem;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
}
.dep-cap-card .t1 { font-size: 1.4rem; font-weight: 700; color: #a35e21; }
.dep-cap-card .t2 { font-size: 2.2rem; font-weight: 800; color: #c81d25; line-height: 2.4rem; margin-top: 0.4rem; }
.dep-cap-btn {
  background: linear-gradient(180deg, #e8392e, #c81d25);
  border: none; border-radius: 1rem; color: #fff;
  font-size: 1.6rem; font-weight: 800; font-family: inherit; cursor: pointer;
  display: flex; align-items: center; justify-content: center; text-decoration: none;
}
.dep-cap-btn.is-lock { background: linear-gradient(180deg, #e8a39e, #d98a86); }

/* 抽红包弹窗（前/后） */
.rp-modal { position: fixed; inset: 0; z-index: 1300; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.rp-close-btn {
  position: relative; z-index: 1; margin-top: 2.4rem;
  min-width: 14rem; height: 4.4rem; padding: 0 2rem;
  border: 0.1rem solid rgba(255,255,255,.85); border-radius: 2.2rem;
  background: rgba(0,0,0,.28); color: #fff;
  font-size: 1.5rem; font-weight: 600; font-family: inherit; cursor: pointer;
  -webkit-appearance: none; appearance: none; -webkit-tap-highlight-color: transparent;
}
.rp-close-btn:active { opacity: .85; }
.rp-modal[hidden] { display: none; }
.rp-modal-mask { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.rp-modal-stage { position: relative; width: 32rem; height: 32rem; }
.rp-modal-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.rp-hot {
  position: absolute; width: 38%; height: 30%; cursor: pointer;
  background: transparent; border: 0; padding: 0; margin: 0;
  -webkit-appearance: none; appearance: none;
  -webkit-tap-highlight-color: transparent;
}
.rp-hot.h1 { left: 10%; top: 26%; }
.rp-hot.h2 { left: 52%; top: 26%; }
.rp-hot.h3 { left: 10%; top: 58%; }
.rp-hot.h4 { left: 52%; top: 58%; }

/* 幸运大抽奖浮标入口 */
.lucky-float { position: fixed; right: 1.2rem; bottom: 11rem; width: 6.4rem; height: 6.4rem; z-index: 60; }
.lucky-float img { width: 100%; height: 100%; display: block; }

/* 国内支付业务付款回单 payment_receipt.php（按 588x441 设计等比缩放） */
.pr-body { background: #f3f4f6; }
.pr-wrap { width: 39.3rem; height: 29.5rem; overflow: hidden; margin: 1.5rem auto 0; }
.pr-doc { position: relative; width: 58.8rem; height: 44.1rem; transform: scale(0.66837); transform-origin: top left; }
.pr-bg { position: absolute; inset: 0; width: 58.8rem; height: 44.1rem; display: block; }
.pr-t { position: absolute; font-size: 1.2rem; line-height: 1.2rem; color: #222; white-space: nowrap; }
.pr-amt { font-weight: 700; }
.pr-note { width: 34rem; margin: 1.5rem auto; font-size: 1.2rem; color: #888; text-align: center; line-height: 1.8rem; }
/* 保存回执图片按钮 */
.pr-save-btn {
  display: block; width: 34rem; height: 4.6rem; margin: 0 auto 2.4rem;
  border: none; border-radius: 2.3rem;
  background: linear-gradient(90deg, #d62b25, #b81d23);
  color: #fff; font-size: 1.6rem; font-weight: 700; font-family: inherit; cursor: pointer;
}
.pr-save-btn:active { opacity: .92; }
.pr-save-btn:disabled { opacity: .6; }
/* 保存图片预览遮罩 */
.pr-save-mask { position: fixed; inset: 0; z-index: 1300; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,.78); }
.pr-save-mask[hidden] { display: none; }
.pr-save-box { width: 33rem; max-height: 88vh; display: flex; flex-direction: column; align-items: center; }
.pr-save-img { width: 100%; height: auto; border-radius: .8rem; background: #fff; box-shadow: 0 .4rem 2rem rgba(0,0,0,.35); }
.pr-save-hint { margin: 1.4rem 0 1rem; color: #fff; font-size: 1.4rem; }
.pr-save-acts { display: flex; gap: 1.4rem; }
.pr-save-dl, .pr-save-close {
  min-width: 11rem; height: 4rem; line-height: 4rem; text-align: center;
  border-radius: 2rem; font-size: 1.4rem; font-weight: 600; font-family: inherit; cursor: pointer; text-decoration: none;
}
.pr-save-dl { background: #fff; color: #c81d25; border: none; }
.pr-save-close { background: transparent; color: #fff; border: .1rem solid rgba(255,255,255,.6); }

/* 提现页·查看打款回执单按钮 */
.rn-receipt {
  display: block; width: 100%; height: 4.4rem; margin-top: 1.2rem;
  border: 0.1rem solid #c81d25; border-radius: 2.2rem; background: #fff;
  color: #c81d25; font-size: 1.5rem; font-weight: 700; font-family: inherit; cursor: pointer;
}

/* ===== 首页·物流信息弹窗（最高优先级，1:1 还原 Figma）===== */
/* 设计稿卡片宽 1156px → 34rem，比例系数 k ≈ 0.0294rem/px */
.logi-modal { position: fixed; inset: 0; z-index: 1400; display: flex; align-items: center; justify-content: center; padding: 1.6rem; }
.logi-modal[hidden] { display: none; }
.logi-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.6); }
.logi-box {
  position: relative;
  z-index: 1;
  width: 34rem;
  background: #f0581f; /* 兜底橙色，与底图底部衔接 */
  border-radius: 1.6rem;
  overflow: hidden;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.4);
}
/* 红→橙渐变底图：复刻 Figma 中对 4096² 源图的裁切定位 */
.logi-bgimg { position: absolute; left: -7.24%; top: -21.88%; width: 115.02%; height: 148.48%; max-width: none; pointer-events: none; }
.logi-inner { position: relative; z-index: 1; padding: 0 2.05rem 2rem; }

/* 标题栏 */
.logi-head { display: flex; align-items: center; justify-content: center; gap: 0.8rem; height: 4.65rem; }
.logi-emblem { width: 3.6rem; height: 2.15rem; object-fit: contain; }
.logi-head-title {
  font-size: 1.5rem;
  font-weight: 800;
  color: #fdffd1;
  letter-spacing: 0.32rem;
  text-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.25);
}

/* 剩余办理时间倒计时（红框白字） */
.logi-countdown {
  margin: 0.2rem auto 1rem;
  padding: 0.5rem 0.8rem;
  border: 0.1rem solid #ffffff;
  border-radius: 0.5rem;
  background: #d70610;
  color: #ffffff;
  font-size: 1.2rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}
.logi-countdown #logiCountText { margin-left: 0.2rem; }

/* 信息卡通用 */
.logi-card { border: 1px solid #9e8100; border-radius: 0.5rem; background: #fff; }

/* 收件信息卡 */
.logi-recv { padding: 0 1.4rem; }
.logi-recv-row {
  display: flex;
  align-items: center;
  min-height: 2.85rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid #efe4c4;
}
.logi-recv-row:last-child { border-bottom: 0; }
.logi-recv-icon { width: 1.7rem; height: 1.62rem; object-fit: contain; flex: 0 0 auto; }
.logi-recv-label { margin-left: 0.6rem; color: #a30000; font-weight: 700; font-size: 1.18rem; white-space: nowrap; width: 7.55rem; }
.logi-recv-val { color: #3a3939; font-size: 1.05rem; word-break: break-all; line-height: 1.4; }
.logi-recv-row--addr { align-items: flex-start; }
.logi-recv-row--addr .logi-recv-icon { margin-top: 0.1rem; }

/* 快递订单号卡（绿色） */
.logi-order {
  margin-top: 0.6rem;
  background: #ddffc8;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 0.9rem 1.1rem;
  min-height: 4.4rem;
}
.logi-order-icon { width: 2.2rem; height: 2.2rem; object-fit: contain; flex: 0 0 auto; }
.logi-order-label { margin-left: 0.5rem; font-weight: 700; font-size: 1.18rem; color: #000; white-space: nowrap; }
.logi-order-no { margin-left: 0.5rem; color: #810000; font-size: 1.45rem; font-weight: 700; letter-spacing: 0.03rem; word-break: break-all; cursor: pointer; }
.logi-copy {
  margin-left: auto;
  background: #e70000;
  color: #fff;
  border: 1px solid #000;
  border-radius: 0.3rem;
  font-size: 1.3rem;
  font-weight: 700;
  font-family: inherit;
  padding: 0.3rem 1.1rem;
  cursor: pointer;
}
.logi-order-tip { flex: 0 0 100%; margin: 0.45rem 0 0; color: #646464; font-size: 0.9rem; }
.logi-order-text { margin: 0 0 0 0.5rem; color: #000; font-size: 1.18rem; font-weight: 600; line-height: 1.45; flex: 1 1 8rem; }

/* 状态2：自动更新提示条（蓝） */
.logi-notice {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.6rem;
  padding: 0.55rem 0.8rem;
  background: #99c8ff;
  border-radius: 0.5rem;
  color: #001eff;
  font-size: 0.94rem;
  font-weight: 600;
  line-height: 1.35;
}
.logi-notice img { width: 1.35rem; height: 1.2rem; object-fit: contain; flex: 0 0 auto; }

/* 底部按钮 */
.logi-actions { display: flex; gap: 2rem; margin-top: 0.8rem; }
.logi-btn {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  height: 3.2rem;
  border-radius: 0.3rem;
  font-size: 1.05rem;
  font-weight: 800;
  font-family: inherit;
  cursor: pointer;
  text-decoration: none;
}
.logi-btn img { width: 2.1rem; height: 1.55rem; object-fit: contain; }
.logi-btn--primary { background: #d80000; color: #fff; border: 0; letter-spacing: 0.05rem; }
.logi-btn--ghost { background: #fff; color: #000; border: 1px solid #9e8100; font-weight: 700; }

/* 首页·重要通知弹窗 */
.notice-modal { position: fixed; inset: 0; z-index: 1250; display: flex; align-items: center; justify-content: center; }
.notice-modal[hidden] { display: none; }
.notice-mask { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.notice-stage { position: relative; width: 34rem; }
.notice-pic { width: 100%; display: block; }
.notice-btn {
  position: absolute;
  top: 76.9%;
  height: 4.7%;
  width: 28.3%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 1.2rem;
  font-size: 1.25rem;
  font-weight: 600;
  letter-spacing: 0.1rem;
  text-decoration: none;
  cursor: pointer;
}
.notice-btn-close { left: 17.9%; background: #ececec; color: #9a9a9a; }
.notice-btn-go { left: 54.1%; background: linear-gradient(180deg, #ef4a3f, #cf1f17); color: #fff; }

/* 首页·中央清算卡免费办理倒计时弹窗（优先级高于重要通知弹窗；图内白框叠加 天/时/分/秒，每秒刷新） */
.cardopen-modal { position: fixed; inset: 0; z-index: 1300; display: flex; align-items: center; justify-content: center; }
.cardopen-modal[hidden] { display: none; }
.cardopen-mask { position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.cardopen-stage { position: relative; width: 34rem; max-width: 86vw; }
.cardopen-pic { width: 100%; display: block; }
.cardopen-link { position: absolute; inset: 0; z-index: 1; display: block; }
.cardopen-cell {
  position: absolute;
  top: 51%;
  transform: translate(-50%, -50%);
  color: #222;
  font-family: Arial, "Helvetica Neue", sans-serif;
  font-weight: 800;
  line-height: 1;
  font-size: var(--co-fs, 1.8rem);
  letter-spacing: 0.02em;
  pointer-events: none;
  z-index: 2;
}
.cardopen-d { left: 20.0%; }
.cardopen-h { left: 40.1%; }
.cardopen-m { left: 60.2%; }
.cardopen-s { left: 80.3%; }
.cardopen-close {
  position: absolute; right: -0.4rem; top: -3.6rem;
  width: 3rem; height: 3rem; border-radius: 50%;
  background: rgba(0,0,0,.45); color: #fff; font-size: 2rem; line-height: 3rem;
  border: 0.1rem solid rgba(255,255,255,.7); cursor: pointer; z-index: 3;
}

/* 提现页·未缴 180 开卡担保金提示弹窗（点击图中「立即办理」热区跳转中央清算卡页） */
.cardpay-modal { position: fixed; inset: 0; z-index: 1400; display: flex; align-items: center; justify-content: center; padding: 1.6rem; }
.cardpay-modal[hidden] { display: none; }
.cardpay-mask { position: absolute; inset: 0; background: rgba(0,0,0,.7); }
.cardpay-stage { position: relative; display: inline-block; max-width: 88vw; max-height: 92vh; }
.cardpay-pic { display: block; width: auto; height: auto; max-width: 88vw; max-height: 92vh; border-radius: 0.8rem; }
/* 热区：覆盖底部「立即办理」长按钮（基于 1054x1492 底图比例标定） */
.cardpay-go { position: absolute; left: 14%; top: 88.4%; width: 72%; height: 6.8%; z-index: 2; display: block; }
.cardpay-close {
  position: absolute; right: -0.4rem; top: -3.6rem;
  width: 3rem; height: 3rem; border-radius: 50%;
  background: rgba(0,0,0,.45); color: #fff; font-size: 2rem; line-height: 3rem;
  border: 0.1rem solid rgba(255,255,255,.7); cursor: pointer; z-index: 3;
}

/* =====================================================================
 * 全国人民代表功能（Figma Rp9iLxJXwiLQ9CUsIlBZCj）
 * ===================================================================== */

/* ---- 个人中心入口卡片（32:16） ---- */
.deputy-entry {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  width: 100%;
  box-sizing: border-box;
  padding: 1.8rem 1.6rem;
  margin-bottom: 0;
  background: #ffffff;
  border-radius: 0.8rem;
  box-shadow: 0 0.4rem 0.6rem -0.1rem rgba(0, 0, 0, 0.1),
              0 0.2rem 0.4rem -0.2rem rgba(0, 0, 0, 0.1);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.deputy-entry:active { transform: translateY(0.1rem); }
/* 三个入口卡片（人民代表 / 幸运大抽奖 / 微信钱包）上下间隙为 0 */
.deputy-entry + .mine-lucky-entry { margin-top: 0; }
.mine-lucky-entry + .wechat-entry { margin-top: 0; }
.deputy-entry-badge {
  flex: 0 0 auto;
  width: 5.6rem;
  height: 5.6rem;
  border-radius: 1.2rem;
  overflow: hidden;
  display: block;
}
.deputy-entry-badge img { width: 100%; height: 100%; object-fit: cover; display: block; }
.deputy-entry-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.deputy-entry-title { font-size: 2rem; font-weight: 700; color: #9e001f; line-height: 2.8rem; }
.deputy-entry-sub { font-size: 1.2rem; color: #5c403f; line-height: 1.6rem; }
.deputy-entry-arrow { flex: 0 0 auto; width: 0.8rem; height: 1.4rem; display: block; }

/* ---- 首次访问介绍弹窗（33:17） ---- */
.dp-intro { position: fixed; inset: 0; z-index: 3000; display: flex; align-items: center; justify-content: center; }
.dp-intro[hidden] { display: none; }
.dp-intro-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.5); }
.dp-intro-box {
  position: relative;
  z-index: 1;
  width: 32rem;
  max-width: 88vw;
  background: #ff1a1a;
  border-radius: 1.2rem;
  padding: 4rem 3.2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.3);
}
.dp-intro-close {
  position: absolute; top: 1.2rem; right: 1.2rem;
  width: 2.8rem; height: 2.8rem; border: 0; background: transparent; cursor: pointer;
}
.dp-intro-close::before, .dp-intro-close::after {
  content: ""; position: absolute; left: 50%; top: 50%; width: 1.8rem; height: 0.2rem;
  background: rgba(255, 255, 255, 0.85); border-radius: 0.1rem;
}
.dp-intro-close::before { transform: translate(-50%, -50%) rotate(45deg); }
.dp-intro-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.dp-intro-icon { width: 3.6rem; height: 3.8rem; display: block; margin-bottom: 0.8rem; }
.dp-intro-icon img { width: 100%; height: 100%; display: block; }
.dp-intro-title { margin: 0.8rem 0 0; font-size: 2.4rem; font-weight: 800; color: #000; line-height: 3.2rem; }
.dp-intro-desc { margin: 1.6rem 0 0; font-size: 1.6rem; font-weight: 600; color: #fff; line-height: 2.4rem; }
.dp-intro-btn {
  margin-top: 2.8rem;
  display: inline-flex; align-items: center; justify-content: center;
  padding: 1.6rem 4rem;
  background: #9e001f; color: #fff; font-size: 2rem;
  border-radius: 0.4rem; text-decoration: none;
  box-shadow: 0 2rem 2.5rem -0.5rem rgba(0, 0, 0, 0.2);
}

/* ---- deputy.php 顶部横幅 ---- */
.dp-page { background: #fcf2ea; padding-bottom: 3rem; }
.dp-banner { position: relative; width: 100%; overflow: hidden; }
.dp-banner-bg { display: block; width: 100%; height: auto; }
.dp-banner-back {
  position: absolute; left: 0.8rem; top: 0.8rem; z-index: 2;
  width: 3.4rem; height: 3.4rem; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0, 0, 0, 0.28);
}
.dp-banner-back img { width: 1.8rem; height: 1.8rem; display: block; filter: brightness(0) invert(1); }

/* ---- 申请表单态（33:34） ---- */
.dp-form-main { padding: 0 1.8rem; }
.dp-card {
  background: #fff; border: 0.1rem solid #e5bdbb; border-radius: 0.8rem;
  padding: 2.5rem; margin-top: 1.6rem;
  box-shadow: 0 0.1rem 0.1rem rgba(0, 0, 0, 0.05);
}
.dp-card-hd { display: flex; align-items: center; gap: 0.8rem; }
.dp-card-hd-ic { width: 2rem; height: 2rem; display: block; }
.dp-card-hd-t { font-size: 2rem; color: #1c1b1b; }
.dp-photo { display: flex; flex-direction: column; align-items: center; gap: 1.6rem; }
.dp-photo .dp-card-hd { align-self: flex-start; }
.dp-upload {
  width: 12.8rem; height: 16rem; border: 0.2rem dashed #906f6e; border-radius: 0.4rem;
  background: #f0eded; padding: 0; cursor: pointer; position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.dp-upload-empty { display: flex; flex-direction: column; align-items: center; gap: 0.8rem; color: #906f6e; }
.dp-upload-empty img { width: 3.3rem; height: 3rem; display: block; }
.dp-upload-empty span { font-size: 1.2rem; }
.dp-upload-preview { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.dp-photo-note { margin: 0; font-size: 1.2rem; color: #5c403f; line-height: 1.6rem; text-align: center; }
.dp-identity { display: flex; flex-direction: column; gap: 2rem; }
.dp-field { display: flex; flex-direction: column; gap: 0.4rem; }
.dp-label { font-size: 1.4rem; color: #1c1b1b; letter-spacing: 0.07rem; }
.dp-input {
  width: 100%; box-sizing: border-box; border: 0; border-bottom: 0.1rem solid #906f6e;
  background: transparent; padding: 0.9rem 1.2rem; font-size: 1.6rem; color: #1c1b1b;
}
.dp-input::placeholder { color: #6b7280; }
.dp-input:read-only { color: #6b7280; }
.dp-declare {
  position: relative; overflow: hidden; border: 0.2rem solid #c8102e;
  display: flex; flex-direction: column; align-items: center; padding: 3.4rem;
}
.dp-declare-deco { position: absolute; right: -1.6rem; bottom: -1.6rem; width: 8rem; height: 10.6rem; opacity: 0.9; }
.dp-declare-t { margin: 0 0 1.6rem; font-size: 2rem; color: #9e001f; text-align: center; }
.dp-declare-p { margin: 0; width: 29rem; max-width: 100%; font-size: 1.6rem; color: #1c1b1b; line-height: 2.6rem; text-align: center; }
.dp-declare-check { display: flex; align-items: center; gap: 0.8rem; margin-top: 3.2rem; cursor: pointer; }
.dp-declare-check input { position: absolute; opacity: 0; width: 0; height: 0; }
.dp-declare-box { width: 2rem; height: 2rem; border: 0.1rem solid #906f6e; border-radius: 0.2rem; background: #fff; position: relative; flex: 0 0 auto; }
.dp-declare-check input:checked + .dp-declare-box { background: #9e001f; border-color: #9e001f; }
.dp-declare-check input:checked + .dp-declare-box::after {
  content: ""; position: absolute; left: 0.6rem; top: 0.2rem; width: 0.5rem; height: 1rem;
  border: solid #fff; border-width: 0 0.2rem 0.2rem 0; transform: rotate(45deg);
}
.dp-declare-txt { font-size: 1.6rem; color: #1c1b1b; }
.dp-submit {
  display: block; width: calc(100% - 0rem); margin: 1.6rem 0 0; border: 0; cursor: pointer;
  padding: 1.6rem; border-radius: 0.8rem; font-size: 1.8rem; font-weight: 600; color: #211b00;
  background: linear-gradient(135deg, #ffde00 0%, #aa8c2e 100%);
  box-shadow: 0 1rem 1.5rem -0.3rem rgba(0, 0, 0, 0.1), 0 0.4rem 0.6rem -0.4rem rgba(0, 0, 0, 0.1);
}
.dp-submit:disabled { opacity: 0.7; }

/* ---- 代表证 + 特权专区（33:97） ---- */
.dp-cert-main { padding: 0 0.6rem 2rem; }
/* 预备代表提示条（Figma Frame 1000005217） */
.dp-notice {
  display: flex; align-items: center; gap: 0.3rem;
  margin: 1.2rem 0.4rem 0; padding: 0.3rem 0.2rem;
  background: #f5ddca; border: 0.1rem solid #ed9b9b;
  box-sizing: border-box; min-height: 3.2rem;
}
.dp-notice-ic { flex: none; width: 2.4rem; height: 2.4rem; display: block; }
.dp-notice-txt {
  flex: 1; color: #aa1f1f;
  font-size: 1.2rem; font-weight: 500; line-height: 1.7rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
/* 已转正态提示条（Frame 1000005220）：颜色/结构与预备态一致，图标/文案不同 */
.dp-notice--formal { background: #f5ddca; border-color: #ed9b9b; }

/* 转正按钮（Figma Frame 1000005218 / 1000005219），代表证下方 */
.dp-formal-btn {
  display: flex; align-items: center; justify-content: center;
  margin: 1.6rem auto 0; box-sizing: border-box;
  width: 29.4rem; height: 4.5rem;
  background: #dc2626; border: 0.1rem solid #86acc6; border-radius: 8.4rem;
  box-shadow: 0 0.4rem 0.4rem 0 rgba(0, 0, 0, 0.25);
  text-decoration: none; cursor: pointer; overflow: hidden;
}
.dp-formal-btn:active { opacity: 0.9; }
.dp-formal-btn-txt {
  color: #e3ff57; font-size: 2rem; font-weight: 500; line-height: 1;
  white-space: nowrap;
}
/* 已转正态：同底色/字色，语义禁用（避免误点） */
.dp-formal-btn--done { cursor: default; }
.dp-formal-btn--done:active { opacity: 1; }
.dp-infobar {
  margin: 1.2rem 0.4rem 0; padding: 0.9rem 1.3rem;
  background: rgba(229, 231, 235, 0.8); border: 0.1rem solid #d1d5db; border-radius: 0.8rem;
  font-size: 1.2rem; color: #374151; text-align: center; line-height: 1.78rem;
}
.dp-cert {
  position: relative; margin: 1.2rem 0.4rem 0; height: 21.9rem;
  background: #dc2626; border-radius: 0.7rem; overflow: hidden; color: #e3ff57;
}
.dp-cert-emblem { position: absolute; left: 2rem; top: 5.9rem; width: 7.7rem; height: 8.2rem; object-fit: contain; }
.dp-cert-title { position: absolute; left: 3.7rem; top: 1.8rem; font-size: 1.8rem; letter-spacing: 0.6rem; white-space: nowrap; }
.dp-cert-big { position: absolute; left: 1.7rem; top: 15rem; font-size: 2.8rem; font-weight: 700; }
.dp-cert-row { position: absolute; left: 11.5rem; display: flex; align-items: flex-end; font-size: 1.8rem; }
.dp-cert-row--name { top: 6rem; }
.dp-cert-row--gender { top: 9.5rem; }
.dp-cert-row--ethnic { top: 13rem; }
.dp-cert-key { letter-spacing: 0.2rem; line-height: 2.4rem; flex: 0 0 auto; }
.dp-cert-val { width: 8.7rem; margin-left: 0.3rem; min-height: 2.4rem; line-height: 2.4rem; text-align: center; border-bottom: 0.1rem solid #e3ff57; }
.dp-cert-line { display: none; }
.dp-cert-no { position: absolute; left: 15.1rem; top: 17.6rem; font-size: 1.8rem; }
.dp-cert-photo {
  position: absolute; left: 26.4rem; top: 5.9rem; width: 10rem; height: 11.6rem;
  background: #fff; overflow: hidden;
}
.dp-cert-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dp-cert-photo--empty {
  padding: 0; border: 0.1rem dashed #d99; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
}
.dp-cert-photo-preview { width: 100%; height: 100%; object-fit: cover; display: block; }
.dp-cert-photo-empty { display: flex; flex-direction: column; align-items: center; gap: 0.6rem; color: #b3401f; }
.dp-cert-photo-empty img { width: 2.6rem; height: 2.4rem; object-fit: contain; display: block; }
.dp-cert-photo-empty span { font-size: 1.2rem; }
.dp-zone-title { display: flex; justify-content: center; margin: 0.8rem 0 0.4rem; }
.dp-zone-title img { height: 5.6rem; width: auto; max-width: 100%; object-fit: contain; display: block; }

/* 代表特权专区首张图片（纯展示，无热区） */
.dp-priv-banner { margin: 0.8rem 0 1.2rem; border-radius: 0.8rem; overflow: hidden; }
.dp-priv-banner img { display: block; width: 100%; height: auto; }

/* 押金减半权益卡片：图片自带按钮，透明热区触发 */
.dp-claim { position: relative; margin: 0.8rem 0 1.2rem; border-radius: 0.8rem; overflow: hidden; }
.dp-claim-bg { display: block; width: 100%; height: auto; }
.dp-claim-hotspot {
  position: absolute; left: 15%; top: 79%; width: 25%; height: 12%;
  padding: 0; border: 0; background: transparent; cursor: pointer;
  border-radius: 999rem;
}
.dp-claim[data-claimed="1"] .dp-claim-hotspot { cursor: default; }

/* 领取权益弹窗：全屏 mask + 图片 + 两个透明热区（关闭 / 立即领取） */
.dp-claim-modal { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; }
.dp-claim-modal[hidden] { display: none; }
.dp-claim-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.65); }
.dp-claim-box { position: relative; z-index: 1; width: 100%; max-width: 58rem; padding: 0 0.4rem; box-sizing: border-box; }
.dp-claim-modal-bg { display: block; width: 100%; height: auto; border-radius: 1rem; }
.dp-claim-close {
  position: absolute; right: 3.5%; top: 3%; width: 10%; aspect-ratio: 1 / 1;
  padding: 0; border: 0; background: transparent; cursor: pointer; border-radius: 50%;
}
.dp-claim-ok {
  position: absolute; left: 50%; top: 89%; transform: translate(-50%, -50%);
  width: 62%; height: 9%; padding: 0; border: 0; background: transparent; cursor: pointer;
  border-radius: 999rem;
}

/* 未结算大额资产拦截提示（点击转正按钮弹出，3秒后跳转 settle.php） */
.dp-settle-tip { position: fixed; inset: 0; z-index: 1300; display: flex; align-items: center; justify-content: center; }
.dp-settle-tip[hidden] { display: none; }
.dp-settle-tip-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.6); }
.dp-settle-tip-box {
  position: relative; z-index: 1; width: 80%; max-width: 30rem;
  background: #fff; border-radius: 1.2rem; padding: 2.4rem 2rem 2rem; text-align: center;
  box-shadow: 0 1.2rem 3.2rem rgba(0, 0, 0, 0.25);
}
.dp-settle-tip-title { font-size: 1.8rem; font-weight: 700; color: #1a1a1a; margin-bottom: 1.2rem; }
.dp-settle-tip-body { font-size: 1.5rem; line-height: 1.6; color: #333; margin: 0 0 1.4rem; }
.dp-settle-tip-count { font-size: 1.3rem; color: #c0392b; margin: 0; }
.dp-settle-tip-benefit { display: block; margin-top: 0.6rem; color: #16a34a; font-weight: 600; }
.dp-settle-tip-benefit[hidden] { display: none; }

/* 全站引导弹窗：代表享受结算大额资产押金减半（image/deputy/前往领取权益.png） */
.dp-settle-modal { position: fixed; inset: 0; z-index: 1300; display: flex; align-items: center; justify-content: center; }
.dp-settle-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.68); }
.dp-settle-box { position: relative; z-index: 1; width: 84%; max-width: 34rem; }
.dp-settle-bg { display: block; width: 100%; height: auto; border-radius: 1.2rem; }
.dp-settle-close {
  position: absolute; right: -0.6rem; top: -3.6rem;
  width: 3.2rem; height: 3.2rem; padding: 0; border-radius: 50%;
  background: rgba(0, 0, 0, 0.55); color: #fff; border: 0.1rem solid rgba(255, 255, 255, 0.6);
  font-size: 2.2rem; line-height: 1; cursor: pointer;
}
.dp-settle-go {
  position: absolute; left: 50%; top: 89%; transform: translate(-50%, -50%);
  width: 82%; height: 7.4%; border-radius: 999rem; text-decoration: none;
  background: transparent;
}

/* 特权卡片 */
.dp-priv {
  position: relative; display: block; margin-top: 1.2rem; padding: 2.4rem;
  min-height: 20rem; box-sizing: border-box;
  background-size: cover; background-position: center; background-color: #fff;
  border: 0.1rem solid #e5bdbb; border-radius: 0.6rem; text-decoration: none;
  box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05);
}
.dp-priv-badge {
  display: flex; align-items: center; justify-content: center;
  width: 4.8rem; height: 4.8rem; border-radius: 1.2rem; background: #ffe08a;
}
.dp-priv-badge img { width: 2.2rem; height: 2rem; object-fit: contain; display: block; }
.dp-priv-title { display: block; margin-top: 1.6rem; font-size: 1.6rem; color: #1c1b1b; }
.dp-priv-amount { display: block; margin-top: 0.8rem; font-size: 2.4rem; font-weight: 600; color: #9e001f; line-height: 3.2rem; }
.dp-priv-desc { display: block; margin-top: 0.8rem; font-size: 1.6rem; color: #5c403f; line-height: 2.4rem; }
.dp-priv-action { display: inline-flex; align-items: center; gap: 0.4rem; margin-top: 1.2rem; font-size: 1.6rem; color: #9e001f; }
.dp-priv-action img { width: 0.7rem; height: 1.2rem; display: block; }

/* 九免政策 */
.dp-ninefree {
  position: relative; margin-top: 1.2rem; border: 0.1rem solid #e5bdbb; border-radius: 0.4rem;
  overflow: hidden; background: #f6f3f2; box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05);
}
.dp-ninefree-hd { background: #eae7e7 url('../image/deputy/d032d31d190c75db7bfcd776aa436200abacf12b.png') center/cover no-repeat; padding: 2.4rem; display: flex; flex-direction: column; align-items: center; gap: 1.6rem; }
.dp-ninefree-hd-top { display: flex; align-items: center; gap: 1.2rem; }
.dp-ninefree-ic { width: 2rem; height: 2.5rem; display: block; }
.dp-ninefree-t { font-size: 1.6rem; font-weight: 700; color: #1c1b1b; }
.dp-ninefree-badge { background: #9e001f; color: #fff; font-size: 1.2rem; padding: 0.4rem 1.6rem; border-radius: 1.2rem; }
.dp-ninefree-row {
  display: flex; align-items: center; justify-content: space-between; padding: 1.6rem;
  border-top: 0.1rem solid #e5bdbb;
}
.dp-ninefree-row:first-child { border-top: 0; background: rgba(246, 243, 242, 0.3); }
.dp-ninefree-name { font-size: 1.6rem; color: #1c1b1b; }
.dp-ninefree-status { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 1.6rem; color: #15803d; }
.dp-ninefree-status img { width: 1.2rem; height: 1.2rem; display: block; }
.dp-ninefree-note { margin: 0; padding: 1.6rem 2.4rem 2.4rem; font-size: 1.6rem; color: #5c403f; line-height: 2.4rem; text-align: center; }

/* 页脚 */
.dp-footer { margin-top: 1.2rem; padding: 3.2rem 2.4rem; background: #eae7e7; border-top: 0.1rem solid #e5bdbb; text-align: center; }
.dp-footer-top { display: flex; align-items: center; justify-content: center; gap: 0.8rem; color: #9e001f; font-size: 1.4rem; letter-spacing: 0.07rem; }
.dp-footer-top img { width: 2rem; height: 2rem; display: block; }
.dp-footer-copy { margin-top: 1.6rem; font-size: 1.2rem; color: #5c403f; }
.dp-footer-links { margin-top: 1.6rem; display: flex; align-items: center; justify-content: center; gap: 1.6rem; }
.dp-footer-links span { font-size: 1.6rem; color: #5c403f; }

/* ---- 特权申请页（33:255 / 33:323 / 33:376） ---- */
.dp-modal-body { margin: 0; background: #e5e7eb; }
.dp-modal {
  position: relative; width: 100%; max-width: 39.3rem; margin: 0 auto; min-height: 100vh;
  background: #fcf9f8; overflow: hidden;
}
.dp-modal-hd { position: relative; background: #9e001f; padding: 2.4rem; }
.dp-modal-hd::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 0.4rem; background: linear-gradient(90deg, rgba(255,226,74,0) 0%, #ffe24a 50%, rgba(255,226,74,0) 100%); }
.dp-modal-hd-l { display: flex; align-items: center; gap: 1.2rem; }
.dp-modal-hd-ic { width: 1.6rem; height: 2rem; display: block; }
.dp-modal-hd-t { font-size: 2rem; color: #fff; }
.dp-modal-close { position: absolute; right: 2.4rem; top: 2.4rem; width: 1.4rem; height: 1.4rem; }
.dp-modal-close img { width: 100%; height: 100%; display: block; }
.dp-modal-sub { margin: 0.4rem 0 0; font-size: 1.2rem; color: rgba(255, 255, 255, 0.7); line-height: 1.6rem; }
.dp-modal-bd { padding: 2.4rem; }

/* 医疗报销：下划线输入 */
.dp-mfield { margin-bottom: 2.4rem; }
.dp-mlabel { display: block; font-size: 1.4rem; font-weight: 700; color: #9e001f; letter-spacing: 0.07rem; margin-bottom: 0.4rem; }
.dp-mline { display: flex; align-items: center; gap: 0.8rem; border-bottom: 0.2rem solid #e5bdbb; padding: 0.8rem 0.4rem 1rem; }
.dp-mline--area { align-items: flex-start; }
.dp-mline-ic { width: 2rem; height: 2rem; flex: 0 0 auto; display: block; margin-top: 0.2rem; }
.dp-minput { flex: 1 1 auto; min-width: 0; border: 0; background: transparent; font-size: 1.6rem; color: #1c1b1b; padding: 0.4rem 0.8rem; }
.dp-minput::placeholder { color: #6b7280; }
.dp-mtextarea { resize: vertical; min-height: 6rem; line-height: 2.4rem; }
.dp-mtip { margin: 0 0 1.6rem; font-size: 1.2rem; color: #5c403f; text-align: center; }
.dp-mbtn {
  display: flex; align-items: center; justify-content: center; gap: 0.8rem;
  width: 100%; box-sizing: border-box; height: 5.6rem; border: 0; cursor: pointer;
  border-radius: 0.4rem; font-size: 1.6rem; font-weight: 700; margin-bottom: 1.6rem;
}
.dp-mbtn img { width: 1.8rem; height: 2rem; display: block; }
.dp-mbtn--primary { background: #ab4156; color: #fff; }
.dp-mbtn--ghost { background: #ab4156; color: #fff; }
.dp-mbtn:disabled { opacity: 0.7; }
.dp-mbtn.is-done { background: #c9c2c4; color: #fff; cursor: not-allowed; opacity: 1; }
.dp-mbtn.is-done img { display: none; }

/* 资金加速：填充框 */
.dp-fcard { background: #fff; border: 0.1rem solid #cac4d0; border-radius: 1.6rem; padding: 2.9rem 2.1rem 2.1rem; margin-bottom: 2.4rem; }
.dp-ffield { margin-bottom: 2.4rem; }
.dp-ffield:last-child { margin-bottom: 0; }
.dp-flabel { display: block; font-size: 1.2rem; font-weight: 700; color: #49454f; letter-spacing: 0.06rem; margin-bottom: 1rem; }
.dp-fbox { position: relative; display: flex; align-items: center; background: #f2f2f2; border-radius: 1.2rem; padding: 0 1.6rem 0 4.4rem; }
.dp-fbox-ic { position: absolute; left: 1.4rem; top: 50%; transform: translateY(-50%); width: 1.8rem; height: 1.8rem; display: block; }
.dp-finput { flex: 1 1 auto; min-width: 0; border: 0; background: transparent; font-size: 1.6rem; color: #1c1b1b; padding: 1.6rem 0; }
.dp-finput::placeholder { color: rgba(121, 116, 126, 0.6); }

/* 子孙就读：阶段选择 + 输入 */
.dp-estep { margin: 0 0 1.2rem; font-size: 1.4rem; color: #5c403f; letter-spacing: 0.07rem; }
.dp-estages { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; background: #f6e8e8; padding: 1.1rem; border-radius: 0.4rem; margin-bottom: 2rem; }
.dp-estage {
  height: 9rem; border: 0.1rem solid #e5e7eb; background: #fff; border-radius: 0.4rem;
  font-size: 1.4rem; color: #1c1b1b; letter-spacing: 0.07rem; cursor: pointer;
}
.dp-estage.is-active { border-color: #9e001f; color: #9e001f; box-shadow: 0 0 0 0.1rem #9e001f inset; }
.dp-einput {
  width: 100%; box-sizing: border-box; background: #fff; border: 0.1rem solid #e5bdbb;
  border-radius: 0.4rem; padding: 1.4rem 1.3rem; font-size: 1.6rem; color: #1c1b1b; margin-bottom: 2rem;
}
.dp-einput::placeholder { color: #6b7280; }
.dp-erow { display: flex; gap: 1.6rem; }
.dp-ecol { flex: 1 1 0; min-width: 0; }
.dp-elabel { display: block; font-size: 1.4rem; color: #5c403f; letter-spacing: 0.07rem; margin-bottom: 0.8rem; }
.dp-elabel--block { margin-top: 0; }

/* =====================================================================
 * 办理打款确认手续（confirm_payment.php）Figma 41:26 / 41:104 / 41:2
 * ===================================================================== */
.cpay-body { margin: 0; background: #fcf2ea; }
.cpay-page { min-height: 100vh; background: #fcf2ea; padding-bottom: 7rem; }
.cpay-banner-top { display: block; width: 100%; height: auto; }
.cpay-main { padding: 0 1.3rem; }

/* 安全加密环境 */
.cpay-secure {
  margin-top: 1.2rem;
  display: flex; gap: 1.2rem; align-items: flex-start;
  background: #fcf2ea; border: 0.1rem solid #e0c6b0; border-radius: 0.8rem;
  padding: 1.7rem;
}
.cpay-secure-ic { flex: none; width: 1.8rem; height: 2rem; margin-top: 0.2rem; }
.cpay-secure-t { font-size: 1.6rem; color: #141d23; line-height: 2.4rem; font-weight: 600; }
.cpay-secure-s { font-size: 1.2rem; color: #444651; line-height: 1.6rem; margin-top: 0.2rem; }

/* 表单 */
.cpay-form { margin-top: 2rem; }
.cpay-field { margin-bottom: 1.6rem; }
.cpay-label { display: block; font-size: 1.4rem; color: #444651; line-height: 2rem; padding-left: 0.4rem; margin-bottom: 0.4rem; letter-spacing: 0.014rem; }
.cpay-input {
  width: 100%; box-sizing: border-box; height: 4.8rem;
  background: #fff; border: 0.1rem solid #e0c6b0; border-radius: 0.8rem;
  padding: 0 1.7rem; font-size: 1.4rem; color: #141d23;
}
.cpay-input::placeholder { color: #747782; }
.cpay-input[readonly] { background: #f7efe6; color: #444651; }
.cpay-input-wrap { position: relative; }
.cpay-input--card { padding-right: 4.9rem; }
.cpay-input-ic { position: absolute; right: 1.6rem; top: 50%; transform: translateY(-50%); width: 2rem; height: 1.6rem; opacity: 0.7; pointer-events: none; }

.cpay-form-note { margin: 0.4rem 0 0; padding: 0 0.4rem; font-size: 1.3rem; line-height: 2rem; color: #444651; }

.cpay-submit {
  display: block; width: 29.2rem; max-width: 100%; height: 4.8rem; margin: 2.2rem auto 0;
  background: #af0b0e; color: #fff; border: 0; border-radius: 0.4rem;
  font-size: 1.6rem; font-weight: 800; letter-spacing: 0.014rem; cursor: pointer;
}
.cpay-submit:active { opacity: 0.92; }
.cpay-submit:disabled { opacity: 0.6; cursor: not-allowed; }

/* 确认打款须知 */
.cpay-notice { margin-top: 2rem; border: 0.1rem solid #e0c6b0; border-radius: 0.8rem; overflow: hidden; }
.cpay-notice-hd {
  display: flex; align-items: center; justify-content: space-between;
  background: #fcf2ea; padding: 1.6rem;
}
.cpay-notice-hd span { font-size: 1.6rem; color: #001a48; line-height: 2.4rem; font-weight: 600; }
.cpay-notice-info { width: 1.17rem; height: 1.17rem; opacity: 0.7; }
.cpay-notice-bd { background: #fff; padding: 1.6rem; display: flex; flex-direction: column; gap: 0.8rem; }
.cpay-notice-li { display: flex; gap: 0.8rem; align-items: flex-start; }
.cpay-notice-li i { flex: none; width: 0.6rem; height: 0.6rem; margin-top: 0.7rem; border-radius: 50%; background: #006d37; }
.cpay-notice-li p { margin: 0; font-size: 1.2rem; line-height: 1.6rem; color: #444651; }

/* 页脚技术支持 */
.cpay-foot { display: flex; align-items: center; justify-content: center; gap: 0.8rem; opacity: 0.6; margin: 2.4rem 0; }
.cpay-foot-ic { width: 1.07rem; height: 1.33rem; }
.cpay-foot span { font-size: 1.2rem; color: #444651; line-height: 1.6rem; }

/* ===== 已提交打款确认（41:104） ===== */
.cpay-success { display: flex; flex-direction: column; align-items: center; margin-top: 1.5rem; }
.cpay-success-ic { width: 9.6rem; height: 9.6rem; }
.cpay-success-ic img { width: 100%; height: 100%; display: block; }
.cpay-success-title { margin: 0.6rem 0 0; font-size: 2.8rem; font-weight: 800; color: #1d1c18; line-height: 3.36rem; }
.cpay-success-sub { margin: 0.8rem 0 0; font-size: 1.6rem; color: #4e4639; line-height: 2.4rem; font-weight: 600; }

.cpay-info-card {
  margin-top: 3.7rem;
  background: rgba(255, 255, 255, 0.7);
  border: 0.1rem solid rgba(197, 160, 89, 0.2);
  border-radius: 1.2rem;
  box-shadow: 0 0.1rem 0.2rem rgba(0, 0, 0, 0.05);
  padding: 0 1.8rem;
}
.cpay-info-row { display: flex; align-items: center; justify-content: space-between; height: 4.3rem; border-bottom: 0.1rem solid rgba(197, 160, 89, 0.25); }
.cpay-info-row:last-child { border-bottom: 0; }
.cpay-info-k { font-size: 1.4rem; color: #444651; }
.cpay-info-v { font-size: 1.4rem; color: #444651; }

.cpay-success-note { display: flex; gap: 0.8rem; align-items: flex-start; margin: 2rem 0 0; padding: 0 0.9rem; font-size: 1.3rem; line-height: 2rem; color: #444651; }
.cpay-success-note .cpay-note-ic { flex: none; width: 2rem; height: 2rem; margin-top: 0.1rem; }

.cpay-success-btns { margin-top: 2.4rem; display: flex; flex-direction: column; gap: 2.2rem; align-items: center; }

/* ===== 资料审核已通过（7:133） ===== */
.cpay-pass .cpay-success-sub { line-height: 2.4rem; }
.cpay-pass-tip {
  display: flex; align-items: flex-start; gap: 1.2rem;
  margin: 2.4rem 0.3rem 0; padding: 2rem 2rem 2rem 2.4rem; box-sizing: border-box;
  background: rgba(119, 90, 25, 0.05);
  border-left: 0.4rem solid #775a19; border-radius: 0.8rem;
}
.cpay-pass-tip-ic { flex: none; width: 1.5rem; height: 1.5rem; margin-top: 0.4rem; }
.cpay-pass-tip-t { font-size: 1.6rem; font-weight: 600; color: #775a19; line-height: 2.4rem; }
.cpay-pass-tip-p { margin: 0.4rem 0 0; font-size: 1.6rem; color: #4e4639; line-height: 2.6rem; }
.cpay-next-btn {
  display: flex; align-items: center; justify-content: center; gap: 0.8rem;
  margin: 2.4rem 0.3rem 0; height: 5.6rem; box-sizing: border-box;
  background: #8b0000; border-radius: 0.8rem;
  color: #fff; font-size: 2.2rem; font-weight: 800; text-decoration: none; line-height: 2.4rem;
}
.cpay-next-btn:active { opacity: 0.92; }
.cpay-next-arrow { width: 1.6rem; height: 1.6rem; }

/* 通用按钮 */
.cpay-btn {
  display: flex; align-items: center; justify-content: center; gap: 0.8rem;
  width: 29.2rem; max-width: 100%; height: 4.8rem; box-sizing: border-box;
  border-radius: 0.4rem; font-size: 1.4rem; font-weight: 600; text-decoration: none;
  letter-spacing: 0.014rem; cursor: pointer;
}
.cpay-btn-ic { width: 1.667rem; height: 1.5rem; }
.cpay-btn-primary { background: #001a48; color: #fff; border: 0; }
.cpay-btn-outline { background: transparent; color: #001a48; border: 0.1rem solid #001a48; }
.cpay-btn:active { opacity: 0.9; }

.cpay-banner-bottom { display: block; width: 100%; height: auto; margin-top: 1rem; }

/* ===== 无法进行打款确认（41:2） ===== */
.cpay-block-wrap {
  position: fixed; inset: 0; z-index: 1300;
  display: flex; align-items: center; justify-content: center;
  background: rgba(20, 29, 35, 0.45); padding: 2rem;
}
.cpay-block-card {
  width: 100%; max-width: 34.2rem; box-sizing: border-box;
  background: #fff; border-radius: 1.6rem;
  box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.18);
  padding: 3.8rem 2.5rem 2.2rem; text-align: center;
}
.cpay-block-warn { display: flex; justify-content: center; margin-bottom: 1.4rem; }
.cpay-block-warn img { width: 8.5rem; height: auto; display: block; }
.cpay-block-title { margin: 0; font-size: 2.4rem; font-weight: 600; color: #001a48; line-height: 3.2rem; letter-spacing: -0.024rem; }
.cpay-block-body { margin: 1.8rem 0 0; font-size: 1.4rem; line-height: 2rem; color: #444651; }
.cpay-block-body b { color: #001a48; font-weight: 600; font-size: 1.5rem; }
.cpay-block-card .cpay-btn { width: 100%; margin-top: 1.2rem; }
.cpay-block-card .cpay-btn-primary { margin-top: 2rem; }
.cpay-block-foot {
  display: flex; align-items: center; justify-content: center; gap: 0.8rem;
  margin-top: 1.7rem; padding-top: 1.7rem; border-top: 0.1rem solid #c4c6d2; opacity: 0.6;
}
.cpay-block-foot .cpay-foot-ic { width: 1.07rem; height: 1.33rem; }
.cpay-block-foot span { font-size: 1.2rem; color: #444651; line-height: 1.6rem; }

/* =====================================================================
 * 最后办理期限警示（强制弹窗 · 最高优先级）Figma 44:2
 * partials/deadline_modal.php
 * ===================================================================== */
html.deadline-lock, body.deadline-lock { overflow: hidden !important; touch-action: none; }
.deadline-mask {
  position: fixed; inset: 0; z-index: 99990;
  background: rgba(20, 29, 35, 0.55);
  display: flex; align-items: center; justify-content: center;
  padding: 2rem 1.6rem; box-sizing: border-box;
  overflow-y: auto;
}
.deadline-card {
  position: relative; box-sizing: border-box;
  width: 100%; max-width: 38rem;
  background: #f9f3f3;
  border-radius: 1.6rem;
  box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.25);
  padding: 14.4rem 3.5rem 2.4rem;
  overflow: hidden;
}
.deadline-header {
  position: absolute; left: 0; right: 0; top: 0; height: 13.2rem;
  background: linear-gradient(180deg, rgba(178, 34, 34, 0.1) 0%, rgba(178, 34, 34, 0) 100%);
  display: flex; justify-content: center; align-items: flex-start; padding-top: 4rem;
  pointer-events: none;
}
.deadline-shield {
  width: 8rem; height: 7.2rem; border-radius: 999px;
  background: #b22222;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0.6rem 1.4rem rgba(178, 34, 34, 0.28);
}
.deadline-shield img { width: 3.2rem; height: 4rem; display: block; }

.deadline-title {
  position: relative; z-index: 1;
  margin: 0;
  font-size: 2.4rem; font-weight: 800; color: #b22222;
  text-align: center; letter-spacing: 0.12rem; line-height: 3.12rem;
}
.deadline-sub {
  position: relative; z-index: 1;
  margin: 2rem 0 0; text-align: center; color: #1d1c18;
  font-size: 1.6rem; font-weight: 600; line-height: 2.6rem; white-space: nowrap;
}
.deadline-sub p { margin: 0; }
.deadline-sub-strong { font-weight: 800; }

.deadline-list {
  position: relative; z-index: 1;
  list-style: none; padding: 1.7rem;
  margin: 2.2rem 0 0;
  background: #ece7e1; border: 0.1rem solid #d1c5b4; border-radius: 0.8rem;
  display: flex; flex-direction: column; gap: 1.6rem;
}
.deadline-list li { display: flex; gap: 1.2rem; align-items: flex-start; }
.deadline-list li img { flex: none; width: 1.667rem; height: 1.667rem; margin-top: 0.1rem; }
.deadline-list li span { flex: 1; font-size: 1.4rem; line-height: 1.75rem; color: #1d1c18; letter-spacing: 0.07rem; font-weight: 500; }

/* 查看相关文件（整行红色按钮） */
.deadline-btn-file {
  position: relative; z-index: 1;
  display: block; width: 100%; height: 5.7rem; margin: 2.3rem 0 0;
  background: #b22222; color: #fff; border: 0; border-radius: 0.8rem;
  font-size: 2.2rem; font-weight: 600; letter-spacing: 0.05rem; cursor: pointer;
}
.deadline-btn-file:active { opacity: 0.92; }

/* 关闭 + 立即前往办理（并排） */
.deadline-btn-row {
  position: relative; z-index: 1;
  display: flex; gap: 1.4rem; margin-top: 3.2rem;
}
.deadline-btn-close {
  flex: 0 0 auto; width: 15.3rem; height: 5.7rem;
  background: #d9d9d9; color: #fff; border: 0; border-radius: 0.8rem;
  font-size: 1.8rem; font-weight: 600; cursor: pointer;
}
.deadline-btn-close:active { opacity: 0.9; }
.deadline-btn-go {
  flex: 1 1 auto;
  display: flex; align-items: center; justify-content: center; gap: 0.8rem;
  height: 5.7rem;
  background: #b22222; color: #fff; border-radius: 0.8rem;
  box-shadow: 0 1rem 1.5rem -0.3rem rgba(0, 0, 0, 0.1), 0 0.4rem 0.6rem -0.4rem rgba(0, 0, 0, 0.1);
  text-decoration: none; font-size: 1.8rem; font-weight: 600;
}
.deadline-btn-go img { width: 1.6rem; height: 1.6rem; display: block; }
.deadline-btn-go:active { opacity: 0.92; }

/* 查看相关文件：图片查看层（更高层级） */
.deadline-doc-mask {
  position: fixed; inset: 0; z-index: 99995;
  background: rgba(0, 0, 0, 0.82);
  display: flex; align-items: center; justify-content: center;
  padding: 3rem 1.6rem; box-sizing: border-box; overflow-y: auto;
}
.deadline-doc-mask[hidden] { display: none; }
.deadline-doc-box { position: relative; max-width: 40rem; width: 100%; }
.deadline-doc-img {
  display: block; width: 100%; height: auto; border-radius: 0.8rem;
  box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.4);
}
.deadline-doc-close {
  position: absolute; top: -4.4rem; right: 0;
  width: 3.6rem; height: 3.6rem; line-height: 3.4rem;
  background: rgba(255, 255, 255, 0.16); color: #fff;
  border: 0.1rem solid rgba(255, 255, 255, 0.5); border-radius: 50%;
  font-size: 2.4rem; cursor: pointer; padding: 0;
}
.deadline-doc-close:active { opacity: 0.85; }

@media (max-height: 720px) {
  .deadline-mask { align-items: flex-start; padding: 1.2rem; }
  .deadline-card { padding-top: 11.6rem; padding-bottom: 2rem; }
  .deadline-header { height: 10.4rem; padding-top: 2.8rem; }
  .deadline-shield { width: 6.4rem; height: 6.4rem; }
  .deadline-shield img { width: 2.6rem; height: 3.3rem; }
}

/* =====================================================================
 * 结算大额资产：未成为代表/未领取押金减半 → 图片引导弹窗
 * settle.php #settleDeputyModal
 * ===================================================================== */
.settle-deputy-mask {
  position: fixed; inset: 0; z-index: 9600;
  background: rgba(0, 0, 0, 0.72);
  display: flex; align-items: center; justify-content: center;
  padding: 2rem 1.6rem; box-sizing: border-box; overflow-y: auto;
}
.settle-deputy-mask[hidden] { display: none; }
.settle-deputy-box { position: relative; width: 100%; max-width: 34rem; }
.settle-deputy-img {
  display: block; width: 100%; height: auto; border-radius: 1rem;
  box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.4);
}
.settle-deputy-close {
  position: absolute; top: -4.4rem; right: 0;
  width: 3.6rem; height: 3.6rem; line-height: 3.4rem;
  background: rgba(255, 255, 255, 0.16); color: #fff;
  border: 0.1rem solid rgba(255, 255, 255, 0.5); border-radius: 50%;
  font-size: 2.4rem; cursor: pointer; padding: 0;
}
.settle-deputy-close:active { opacity: 0.85; }
/* 「前往领取减免」按钮热区（覆盖图片底部红色按钮） */
.settle-deputy-hotspot {
  position: absolute; left: 8%; right: 8%; top: 83%; height: 8%;
  display: block; border-radius: 3rem;
}

/* =====================================================================
 * 成为人大代表 · 转正介绍页（deputy_formal.php）
 * Figma「成为人大代表」1:1 还原
 * ===================================================================== */
.df-page { background: #fcf2ea; min-height: 100vh; padding-bottom: 4rem; }
.df-banner { position: relative; width: 100%; height: 11.1rem; overflow: hidden; }
.df-banner-bg { display: block; width: 100%; height: 100%; object-fit: cover; }
.df-banner-back {
  position: absolute; left: 1rem; top: 1.4rem; width: 3.2rem; height: 3.2rem;
  display: flex; align-items: center; justify-content: center; z-index: 2;
}
.df-banner-back img { width: 2rem; height: 2rem; filter: brightness(0) invert(1); }

.df-main { padding: 0 1.6rem; }

/* 激活倒计时卡片 */
.df-countdown {
  position: relative; margin-top: 1.5rem;
  border-radius: 0.7rem; border: 0.1rem solid rgba(209, 197, 180, 0.3);
  background: #fffaf3;
  overflow: hidden; padding: 1.4rem 1.6rem 1.6rem;
  min-height: 9.7rem;
}
.df-countdown-hd {
  display: flex; align-items: center; gap: 0.6rem;
  color: #775a19; font-size: 1.4rem; font-weight: 600;
}
.df-countdown-clock {
  width: 1.4rem; height: 1.4rem; border-radius: 50%;
  border: 0.2rem solid #775a19; position: relative; display: inline-block;
}
.df-countdown-clock::before, .df-countdown-clock::after {
  content: ''; position: absolute; background: #775a19; border-radius: 0.05rem;
}
.df-countdown-clock::before { width: 0.15rem; height: 0.5rem; left: 50%; top: 0.15rem; transform: translateX(-50%); }
.df-countdown-clock::after  { width: 0.4rem;  height: 0.15rem; left: 50%; top: 50%;   transform: translate(-50%, -50%); }
.df-countdown-sub {
  margin: 0.3rem 0 0.8rem;
  color: #8b7d5c; font-size: 1.1rem; line-height: 1.6rem;
}
.df-countdown-nums {
  display: flex; align-items: center; justify-content: space-around; gap: 0.4rem;
  padding-top: 0.2rem;
}
.df-cd-cell { display: flex; flex-direction: column; align-items: center; min-width: 4.2rem; }
.df-cd-n { color: #775a19; font-size: 2rem; font-weight: 600; line-height: 1; letter-spacing: 0.05rem; }
.df-cd-u { color: #8b7d5c; font-size: 1rem; margin-top: 0.4rem; }
.df-cd-colon { color: #775a19; font-size: 1.6rem; font-weight: 600; padding-bottom: 1.2rem; }

/* 专属权益说明卡 */
.df-benefit {
  margin-top: 1.6rem;
  background: #fff1de; border-left: 0.4rem solid #775a19;
  border-radius: 0 1.2rem 1.2rem 0;
  padding: 1.4rem 1.6rem 1.4rem 2rem;
}
.df-benefit-hd { display: flex; align-items: center; gap: 0.6rem; }
.df-benefit-ic { width: 1.8rem; height: 2rem; object-fit: contain; }
.df-benefit-t { color: #1d1c18; font-size: 1.6rem; font-weight: 600; }
.df-benefit-body {
  margin: 0.8rem 0 0; color: #4e4639;
  font-size: 1.3rem; line-height: 2.2rem;
}
.df-benefit-strong { font-weight: 800; }

/* 国债持有信息卡 */
.df-bondcard {
  margin-top: 1.6rem; background: #fff;
  border: 0.1rem solid rgba(209, 197, 180, 0.3); border-radius: 1.2rem;
  box-shadow: 0 0.8rem 3.2rem -0.8rem rgba(197, 160, 89, 0.25);
  padding: 1.8rem 2rem;
}
.df-bondcard-hd { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 0.6rem; }
.df-bondcard-hd-ic { width: 2rem; height: 2rem; object-fit: contain; }
.df-bondcard-hd-t { color: #1d1c18; font-size: 1.6rem; font-weight: 600; }
.df-bondcard-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.6rem 0; border-bottom: 0.1rem solid #f2ede6;
}
.df-bondcard-row--last { border-bottom: 0; }
.df-bondcard-k { color: #5d5e61; font-size: 1.3rem; }
.df-bondcard-v { color: #1d1c18; font-size: 1.3rem; font-weight: 500; }
.df-bondcard-v--gold { color: #775a19; font-size: 1.5rem; font-weight: 700; }
.df-bondcard-tip {
  display: flex; align-items: flex-start; gap: 0.6rem;
  margin-top: 0.8rem; padding: 1rem 1.2rem;
  background: #f8f3ec; border-radius: 0.8rem;
  color: #4e4639; font-size: 1.1rem; line-height: 1.6rem;
}
.df-bondcard-tip-ic { width: 1.2rem; height: 1.2rem; flex: none; margin-top: 0.2rem; }

/* 双卡 · 持有价格 / 每日利息 */
.df-stats {
  display: flex; gap: 1.2rem; margin-top: 1.4rem;
}
.df-stat {
  flex: 1; background: #fff; border-radius: 2rem;
  box-shadow: 0 1rem 2.5rem -0.5rem rgba(139, 94, 43, 0.1);
  padding: 1.6rem 1.6rem 1.4rem; min-height: 14.4rem;
  display: flex; flex-direction: column;
}
.df-stat-hd { display: flex; align-items: center; gap: 0.6rem; }
.df-stat-ic {
  width: 2.8rem; height: 2.8rem; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center; flex: none;
}
.df-stat-ic--price    { background: #ffedd5; }
.df-stat-ic--interest { background: #fef2f2; }
.df-stat-ic img { width: 1.4rem; height: 1.4rem; object-fit: contain; }
.df-stat-t { color: #374151; font-size: 1.3rem; font-weight: 600; }
.df-stat-num { margin-top: 0.8rem; display: flex; align-items: baseline; }
.df-stat-num--price { color: #8b5e2b; }
.df-stat-yen { font-size: 1.8rem; font-weight: 700; }
.df-stat-int { font-size: 3.2rem; font-weight: 700; line-height: 1; letter-spacing: -0.05rem; }
.df-stat-dec { font-size: 1.8rem; font-weight: 700; }
.df-stat-num--interest { color: #c32e2e; }
.df-stat-num--interest .df-stat-int { font-size: 4rem; }
.df-stat-dec--pct { font-size: 2.6rem; font-weight: 700; margin-left: 0.2rem; }
.df-stat-badge {
  display: inline-flex; align-items: center; gap: 0.4rem;
  margin-top: auto; padding: 0.3rem 0.7rem; border-radius: 0.6rem;
  background: #fff7ed; color: #9a3412; font-size: 1rem; font-weight: 600;
  align-self: flex-start;
}
.df-stat-badge-dot {
  width: 1.2rem; height: 1.2rem; border-radius: 50%;
  background: #f97316; display: inline-flex; align-items: center; justify-content: center;
}
.df-stat-badge-dot img { width: 0.8rem; height: 0.8rem; }
.df-stat-foot { margin-top: auto; color: #9ca3af; font-size: 1.2rem; text-align: center; }

/* 主 CTA */
.df-cta {
  display: block; width: 100%; margin: 2.2rem 0 0;
  border: 0; cursor: pointer; padding: 1.8rem;
  border-radius: 1.2rem; color: #fff;
  font-size: 1.8rem; font-weight: 600; text-align: center;
  background: linear-gradient(135deg, #775a19 0%, #c5a059 100%);
  box-shadow: 0 2rem 2.5rem -0.5rem rgba(0, 0, 0, 0.1),
              0 0.8rem 1rem -0.6rem rgba(0, 0, 0, 0.1);
}
.df-cta:active { opacity: 0.9; }

/* =====================================================================
 * 担保金退回页 · 风险解除押金卡片（Figma 4:113）+ 门控弹窗（4:94/5:114/5:127）
 * ===================================================================== */
.dep-settle-card {
  position: relative; margin: 1.2rem 0.4rem 0; box-sizing: border-box;
  min-height: 20.6rem; padding: 1.8rem 1.6rem 1.6rem;
  background: #fcfaef; border: 0.1rem solid #d9ffb6; border-radius: 1.2rem;
  overflow: hidden;
}
.dep-settle-badge {
  position: absolute; left: 1.6rem; top: 1.5rem; width: 2.7rem; height: 2.8rem;
  object-fit: contain; z-index: 1;
}
.dep-settle-shield {
  position: absolute; right: 1.2rem; top: 1.6rem; width: 9.3rem; height: 9.5rem;
  object-fit: contain; z-index: 0; pointer-events: none;
}
.dep-settle-title {
  position: relative; z-index: 1; margin: 0 0 0 3.4rem;
  color: #a35e21; font-size: 1.4rem; font-weight: 600; line-height: 1.4rem;
}
.dep-settle-amount-box {
  position: relative; z-index: 1; margin-top: 1.4rem;
  display: inline-flex; flex-direction: column; gap: 0.6rem;
  width: 12.1rem; box-sizing: border-box; padding: 0.9rem 1.2rem;
  background: #e8ffd3; border: 0.1rem solid #deff84; border-radius: 0.6rem;
}
.dep-settle-amount-label { color: #a35e21; font-size: 1.4rem; font-weight: 800; line-height: 1.4rem; }
.dep-settle-amount { color: #b85700; font-weight: 700; line-height: 1; }
.dep-settle-amount i { font-style: normal; font-size: 1.6rem; }
.dep-settle-amount { font-size: 2.4rem; }
.dep-settle-note {
  position: relative; z-index: 1; margin: 1.2rem 0 0;
  color: #a35e21; font-size: 1.2rem; line-height: 1.6rem;
}
.dep-settle-btn {
  position: absolute; right: 1.6rem; bottom: 1.6rem; z-index: 2;
  min-width: 10rem; height: 3.7rem; padding: 0 1.6rem; border: 0; cursor: pointer;
  background: linear-gradient(180deg, #e23b3b 0%, #c8102e 100%);
  color: #fff; font-size: 1.4rem; font-weight: 700; border-radius: 0.8rem;
  box-shadow: 0 0.4rem 0.8rem rgba(200, 16, 46, 0.3);
}
.dep-settle-btn:active { opacity: 0.9; }
.dep-settle-btn.is-applied,
.dep-settle-btn.is-paid {
  background: #d8d3c4; color: #fff; box-shadow: none; cursor: default;
}

/* 门控弹窗（Figma 4:94 / 5:114 / 5:127；284×200 温馨提示模板） */
.dep-gate-mask {
  position: fixed; inset: 0; z-index: 9800;
  background: rgba(0, 0, 0, 0.55);
  display: flex; align-items: center; justify-content: center;
  padding: 2rem 3rem; box-sizing: border-box;
}
.dep-gate-mask[hidden] { display: none; }
.dep-gate-box {
  width: 28.4rem; max-width: 100%; box-sizing: border-box;
  background: #fff; border-radius: 1.6rem;
  box-shadow: 0 2.5rem 5rem -1.2rem rgba(0, 0, 0, 0.25);
  padding: 1.6rem 2.1rem;
}
.dep-gate-title {
  color: #000; font-size: 1.4rem; font-weight: 500;
  text-align: center; line-height: 2.4rem;
}
.dep-gate-body {
  color: #000; font-size: 1.4rem; font-weight: 400;
  line-height: 2.4rem; margin: 1.6rem 0;
  word-break: break-word;
}
.dep-gate-ok {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 3.4rem; border: 0; cursor: pointer; padding: 0;
  background: #c81d25; color: #fff; text-decoration: none;
  font-size: 1.6rem; font-weight: 500; line-height: 2.4rem;
  border-radius: 0.8rem; box-shadow: 0 0.4rem 0.4rem 0 rgba(0, 0, 0, 0.25);
}
.dep-gate-ok:active { opacity: 0.9; }

/* 温馨提示弹窗（Figma 2:82） */
.df-tip-mask {
  /* 用显式四向偏移而非 inset 简写：inset 需 Chromium 87+，部分 OPPO/vivo 旧内核不支持，
     否则遮罩不铺满视口而塌缩成内容大小/移出屏幕，弹窗看不见 → CTA 像“点了没反应”。 */
  position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 9700;
  background: rgba(0, 0, 0, 0.55);
  display: flex; align-items: center; justify-content: center;
  padding: 2rem 3rem; box-sizing: border-box;
}
.df-tip-mask[hidden] { display: none; }
.df-tip-box {
  width: 28.4rem; max-width: 100%;
  background: #fff; border-radius: 1.6rem;
  box-shadow: 0 2.5rem 5rem -1.2rem rgba(0, 0, 0, 0.25);
  padding: 1.6rem 2.1rem 1.6rem;
  box-sizing: border-box;
}
.df-tip-title {
  color: #000; font-size: 1.4rem; font-weight: 500;
  text-align: center; line-height: 2.4rem;
}
.df-tip-body {
  color: #4e4639; font-size: 1.4rem; font-weight: 800;
  line-height: 2.6rem; margin: 1.6rem 0 1.6rem;
}
.df-tip-ok {
  display: block; width: 100%; height: 3.4rem;
  border: 0; cursor: pointer; padding: 0;
  background: #c81d25; color: #fff;
  font-size: 1.4rem; font-weight: 500; text-align: center;
  border-radius: 0.8rem;
  box-shadow: 0 0.4rem 0.4rem 0 rgba(0, 0, 0, 0.25);
}
.df-tip-ok:active { opacity: 0.9; }

/* ============================================================
 * 激活中央清算卡 activate_card.php / activate_gate.php（7:254 / 7:339 / 7:438）
 * ============================================================ */
.act-body { margin: 0; background: #fcf2ea; }
.act-body.has-tabbar { padding-bottom: 9rem; }
.act-page { position: relative; min-height: 100vh; background: #fcf2ea; overflow: hidden; }
.act-banner-wrap { position: relative; }
.act-banner-top { display: block; width: 100%; height: auto; }
.act-banner-back {
  position: absolute; left: 1.2rem; top: 1.2rem; z-index: 2;
  width: 3.4rem; height: 3.4rem; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(0, 0, 0, 0.28);
}
.act-banner-back img { width: 1.8rem; height: 1.8rem; display: block; filter: brightness(0) invert(1); }
.act-banner-bottom { display: block; width: 100%; height: auto; margin-top: 1rem; }
.act-main { position: relative; padding-bottom: 2.4rem; }

/* 银行卡 + 状态胶囊 */
.act-card { position: relative; width: 36.8rem; margin: 1.8rem auto 0; }
.act-card-img { display: block; width: 100%; height: auto; border-radius: 1rem; }
.act-card-pill {
  position: absolute; top: 1.4rem; right: 1.4rem;
  background: #f8e7dc; color: #c81d25; font-size: 1rem; font-weight: 600;
  line-height: 1; border-radius: 10rem; padding: 0.55rem 1rem;
}

/* 当前状态卡 */
.act-status {
  position: relative; width: 36.8rem; margin: 1.8rem auto 0; box-sizing: border-box;
  background: #ba1a1a; border: 0.1rem solid rgba(255,255,255,0.1); border-radius: 1.2rem;
  padding: 2.5rem; color: #fff; overflow: hidden;
  box-shadow: 0 1rem 1.5rem -0.3rem rgba(186,26,26,0.2), 0 0.4rem 0.6rem -0.4rem rgba(186,26,26,0.2);
}
.act-status-wm { position: absolute; right: -1.6rem; bottom: -1.5rem; width: 10rem; height: auto; opacity: 0.5; pointer-events: none; }
.act-status-top { position: relative; z-index: 1; display: flex; align-items: flex-start; justify-content: space-between; }
.act-status-k { font-size: 1.4rem; color: rgba(255,255,255,0.8); letter-spacing: 0.12rem; text-transform: uppercase; line-height: 1.44rem; margin-bottom: 1.2rem; }
.act-status-v { display: flex; align-items: center; gap: 0.8rem; font-size: 2.4rem; line-height: 3.12rem; color: #fff; }
.act-status-dot { flex: none; width: 1rem; height: 1rem; border-radius: 50%; background: #fff; opacity: 0.5; box-shadow: 0 0 0.8rem rgba(255,255,255,0.8); }
.act-status-ic { flex: none; width: 4.3rem; height: 4.8rem; border-radius: 1.2rem; background: rgba(255,255,255,0.1); border: 0.1rem solid rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 2rem; letter-spacing: 0.1rem; }
.act-status-bd { position: relative; z-index: 1; margin-top: 2.5rem; padding-top: 2.5rem; border-top: 0.1rem solid rgba(255,255,255,0.2); }
.act-status-eta-k { font-size: 1.4rem; color: rgba(255,255,255,0.7); line-height: 1.44rem; margin-bottom: 0.4rem; }
.act-status-eta-v { font-size: 2.2rem; color: #fff; line-height: 3.12rem; white-space: nowrap; }

/* 重要安全提示 */
.act-notice {
  margin: 1.9rem 1.8rem 0; box-sizing: border-box;
  background: #8b0000; border: 0.4rem solid rgba(197,160,89,0.2); border-radius: 1.2rem;
  padding: 2.8rem; box-shadow: 0 2rem 2.5rem -0.5rem rgba(0,0,0,0.1), 0 0.8rem 1rem -0.6rem rgba(0,0,0,0.1);
}
.act-notice-hd { display: flex; align-items: center; gap: 1.2rem; }
.act-notice-warn { width: 2.75rem; height: 2.375rem; flex: none; }
.act-notice-title { margin: 0; font-size: 2.4rem; font-weight: 800; color: #fff; letter-spacing: 0.12rem; line-height: 3.12rem; }
.act-notice-list { margin-top: 2.4rem; display: flex; flex-direction: column; gap: 2rem; }
.act-notice-li { display: flex; gap: 1.2rem; align-items: flex-start; }
.act-notice-num { flex: none; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: rgba(255,255,255,0.2); color: #fff; font-size: 1.2rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.act-notice-li p { margin: 0; font-size: 1.6rem; color: #fff; line-height: 2.6rem; }
.act-tag { display: inline-block; background: #fff; color: #8b0000; border-radius: 0.4rem; padding: 0 0.4rem; font-weight: 600; }
.act-consequence { margin-top: 2.4rem; background: #6d0404; border-radius: 1.2rem; padding: 1.8rem 2rem; }
.act-consequence-hd { font-size: 1.4rem; color: #fff; letter-spacing: 0.07rem; margin-bottom: 1rem; }
.act-consequence-ul { margin: 0; padding-left: 1.8rem; list-style: disc; }
.act-consequence-ul li { font-size: 1.6rem; color: #fff; line-height: 2.4rem; margin-top: 0.6rem; }

/* 底部按钮 */
.act-cta {
  display: flex; align-items: center; justify-content: center; gap: 0.8rem;
  width: calc(100% - 3.6rem); margin: 2rem auto 0; height: 5.6rem; box-sizing: border-box;
  background: #8b0000; border: 0; border-radius: 0.8rem; padding: 0;
  color: #fff; font-size: 2.2rem; font-weight: 800; line-height: 2.4rem;
  text-decoration: none; cursor: pointer;
}
.act-cta:active { opacity: 0.92; }
.act-cta-arrow { width: 1.6rem; height: 1.6rem; }
/* 已支付专属顾问费：等待清算（禁用态） */
.act-cta--wait { background: #b7b0b0; color: #fff; cursor: not-allowed; }
.act-cta--wait:active { opacity: 1; }

/* 提示3 / 提示9 弹窗 */
.act-modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; }
.act-modal[hidden] { display: none; }
.act-modal-mask { position: absolute; inset: 0; background: rgba(0,0,0,0.45); }
.act-modal-card {
  position: relative; width: 28.3rem; box-sizing: border-box;
  background: #fff; border-radius: 1.6rem; padding: 2.1rem;
  box-shadow: 0 2.5rem 5rem -1.2rem rgba(0,0,0,0.25);
}
.act-modal-title { text-align: center; font-size: 1.4rem; font-weight: 500; color: #000; line-height: 2.4rem; }
.act-modal-body { margin: 1.6rem 0 0; font-size: 1.4rem; color: #000; line-height: 2.4rem; }
.act-modal-btn { display: flex; align-items: center; justify-content: center; margin-top: 1.8rem; height: 3.4rem; background: #c81d25; border: 0; border-radius: 0.8rem; box-shadow: 0 0.4rem 0.4rem 0 rgba(0,0,0,0.25); color: #fff; font-size: 1.4rem; font-weight: 500; text-decoration: none; cursor: pointer; width: 100%; box-sizing: border-box; }
.act-modal-btn:active { opacity: 0.9; }
.act-modal-btns { margin-top: 1.8rem; display: flex; flex-direction: column; gap: 1.2rem; }
.act-modal-btn--ghost { background: #fff; color: #c81d25; border: 0.1rem solid #c81d25; box-shadow: none; }

/* 提示9：两按钮 + 分隔线 */
.act-modal-card--9 { padding: 2.1rem 0 0; overflow: hidden; }
.act-modal-card--9 .act-modal-title { padding: 0 2.1rem; }
.act-modal-card--9 .act-modal-body { padding: 0 2.1rem; }
.act-modal-divider { height: 0.1rem; background: #ececec; margin: 1.6rem 0; }
.act-modal-9btns { display: flex; gap: 1.3rem; padding: 0 1.4rem 1.4rem; }
.act-modal-9btns .act-modal-btn { flex: 1; margin: 0; box-shadow: none; }
.act-modal-btn--gray { background: #a79798; }

/* ===== 激活缴费/免费通道页（7:339 / 7:438） ===== */
/* 办理激活指引 */
.act-guide {
  position: relative; margin: 1.4rem 1.8rem 0; box-sizing: border-box;
  background: #fff1de; border-left: 0.4rem solid #775a19;
  border-radius: 0 1.2rem 1.2rem 0; padding: 1.4rem 2.4rem 1.8rem;
}
.act-guide-ic { position: absolute; left: 2.4rem; top: 1.4rem; width: 1.8rem; height: 2rem; }
.act-guide-t { margin-left: 2.5rem; font-size: 2rem; color: #1d1c18; line-height: 3.12rem; }
.act-guide-p { margin: 1rem 0 0; font-size: 1.4rem; color: #4e4639; line-height: 2.6rem; }

/* 费用明细 */
.act-fee {
  margin: 1.4rem 1.8rem 0; box-sizing: border-box; overflow: hidden;
  background: #870000; border: 0.1rem solid #b30000; border-radius: 1.2rem;
  box-shadow: 0 1rem 1.5rem -0.3rem rgba(0,0,0,0.1), 0 0.4rem 0.6rem -0.4rem rgba(0,0,0,0.1);
}
.act-fee-hd { display: flex; align-items: center; justify-content: space-between; background: #b30000; padding: 1.2rem 1.6rem; }
.act-fee-hd-l { display: flex; align-items: center; gap: 0.8rem; }
.act-fee-hd-ic { width: 1.8rem; height: 2rem; }
.act-fee-hd-l span { font-size: 1.6rem; font-weight: 600; color: #fff; line-height: 2.4rem; }
.act-fee-hd-r { font-size: 1.2rem; font-weight: 600; color: rgba(255,255,255,0.6); line-height: 1.6rem; }
.act-fee-bd { padding: 1.6rem; }
.act-fee-row { display: flex; align-items: center; justify-content: space-between; padding: 0.4rem 0 0.5rem; border-bottom: 0.1rem solid rgba(255,255,255,0.1); }
.act-fee-row + .act-fee-row { margin-top: 0.8rem; }
.act-fee-k { font-size: 1.4rem; font-weight: 600; color: rgba(255,255,255,0.8); letter-spacing: 0.07rem; line-height: 2rem; }
.act-fee-v { font-size: 1.6rem; color: #fff; line-height: 2.4rem; }
.act-fee-v.is-strike { text-decoration: line-through; text-decoration-color: rgba(255,255,255,0.7); }
.act-fee-total { position: relative; margin-top: 1.2rem; min-height: 5rem; }
.act-fee-total-labels { display: flex; flex-direction: column; gap: 1.4rem; }
.act-fee-total-labels span { font-size: 1.2rem; font-weight: 600; color: rgba(255,255,255,0.6); line-height: 1.6rem; }
.act-fee-total-nums { position: absolute; right: 0; top: -0.4rem; display: flex; flex-direction: column; align-items: flex-end; gap: 0.6rem; }
.act-fee-sum { font-size: 2.6rem; font-weight: 800; color: #fed65b; line-height: 3.4rem; }
.act-fee-sum.is-strike { text-decoration: line-through; text-decoration-color: #fed65b; }
.act-fee-pay { font-size: 2.6rem; font-weight: 800; color: #fed65b; line-height: 3.4rem; }
.act-yuan { font-style: normal; font-size: 1.3rem; margin-left: 0.2rem; vertical-align: 0.6rem; }

/* 免费通道勾选项 */
.act-channel {
  display: flex; align-items: center; justify-content: space-between;
  margin: 1.6rem 1.8rem 0; box-sizing: border-box; padding: 1.7rem;
  background: #f4f4ef; border: 0.1rem solid #e6bdb7; border-radius: 1.2rem;
}
.act-channel-l { display: flex; align-items: center; gap: 1.2rem; }
.act-channel-ic { flex: none; width: 4rem; height: 4rem; border-radius: 50%; background: #fed65b; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.act-channel-ic img { width: 2.4rem; height: 2.4rem; object-fit: contain; display: block; }
.act-channel-t { font-size: 1.6rem; font-weight: 600; color: #1a1c19; letter-spacing: 0.07rem; line-height: 2rem; }
.act-channel-s { margin-top: 0.4rem; font-size: 1.4rem; font-weight: 600; color: #5c403b; line-height: 1.6rem; }
.act-channel-box { flex: none; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 0.2rem solid #870000; box-sizing: border-box; position: relative; cursor: pointer; }
.act-gate:not(.is-formal) .act-channel { opacity: 0.72; }
.act-gate:not(.is-formal) .act-channel-box { cursor: not-allowed; }
.act-gate.is-formal .act-channel { cursor: pointer; }

/* 免费态切换（Figma 7:339 → 7:438）：勾选后触发 */
.act-guide-t--free,
.act-guide-p--free,
.act-fee-pay-lbl,
.act-fee-pay,
.act-cta--gold { display: none; }
.act-gate.is-free .act-guide-t--paid,
.act-gate.is-free .act-guide-p--paid,
.act-gate.is-free .act-cta--gray { display: none; }
.act-gate.is-free .act-guide-t--free,
.act-gate.is-free .act-guide-p--free { display: block; }
.act-gate.is-free .act-fee-pay-lbl { display: inline; }
.act-gate.is-free .act-fee-pay { display: inline-block; }
.act-gate.is-free .act-cta--gold { display: flex; }

/* 免费态：费用划线 + 勾选框选中 */
.act-gate.is-free .act-fee-v { text-decoration: line-through; text-decoration-color: rgba(255,255,255,0.7); }
.act-gate.is-free .act-fee-sum { text-decoration: line-through; text-decoration-color: #fed65b; }
.act-gate.is-free .act-fee-total { min-height: 7.6rem; }
.act-gate.is-free .act-channel-box { background: #870000; }
.act-gate.is-free .act-channel-box::after {
  content: ''; position: absolute; left: 50%; top: 46%;
  width: 1rem; height: 0.5rem;
  border-left: 0.2rem solid #fff; border-bottom: 0.2rem solid #fff;
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* 大额资产顺序退回提醒弹窗（Figma 14:585） */
.srm-box {
  position: relative; z-index: 1; box-sizing: border-box;
  width: 28.2rem; height: 20rem;
  background: #fff; border-radius: 1.6rem;
  box-shadow: 0 2.5rem 5rem -1.2rem rgba(0,0,0,0.25);
  overflow: hidden;
}
.srm-title { position: absolute; left: 0; right: 0; top: 2.1rem; text-align: center; font-size: 1.4rem; font-weight: 500; color: #000; line-height: 2.4rem; }
.srm-body { position: absolute; left: 2.1rem; width: 24.1rem; top: 9rem; transform: translateY(-50%); margin: 0; font-size: 1.4rem; color: #000; line-height: 2.4rem; }
.srm-btn { position: absolute; left: 2.1rem; right: 2rem; top: 15.3rem; height: 3.4rem; display: flex; align-items: center; justify-content: center; background: #c81d25; border-radius: 0.8rem; color: #fff; font-size: 1.6rem; font-weight: 500; text-decoration: none; box-shadow: 0 0.4rem 0.4rem 0 rgba(0,0,0,0.25); }
.srm-btn:active { opacity: 0.92; }

/* 按钮变体 */
.act-cta--gray { background: #9d9797; font-size: 2rem; }
.act-cta--gold { background: linear-gradient(135deg, #775a19 0%, #c5a059 100%); font-size: 1.8rem; font-weight: 600; height: 6.4rem; border-radius: 1.2rem; box-shadow: 0 2rem 2.5rem -0.5rem rgba(0,0,0,0.1), 0 0.8rem 1rem -0.6rem rgba(0,0,0,0.1); }
.act-cta--gold .act-cta-arrow { width: 1.6rem; height: 2rem; }

/* ===== 卡片状态页（9:527） ===== */
.cst-page { position: relative; min-height: 100vh; background: #fcf2ea; overflow: hidden; display: flex; flex-direction: column; }
.cst-header { position: relative; }
.cst-header-bg { display: block; width: 100%; height: auto; }
.cst-topbar { position: absolute; top: 1.8rem; left: 2.4rem; right: 2.1rem; display: flex; align-items: center; justify-content: space-between; }
.cst-back { color: #fff; font-size: 2.6rem; line-height: 1; text-decoration: none; width: 2.4rem; }
.cst-topbar-title { color: #fff; font-size: 1.6rem; font-weight: 600; line-height: 2rem; }
.cst-topbar-sp { width: 2.4rem; }
.cst-hero { position: absolute; top: 7.5rem; left: 0; right: 0; text-align: center; font-size: 3.4rem; font-weight: 800; line-height: 3.4rem; background: linear-gradient(180deg, #fdeacb 0%, #fbc273 100%); -webkit-background-clip: text; background-clip: text; color: transparent; text-shadow: 0 0.4rem 0.4rem rgba(0,0,0,0.25); }
.cst-main { position: relative; margin-top: -4rem; padding: 0 2.4rem; }
.cst-main--flush { margin-top: 1.6rem; }

/* 处理中状态卡 */
.cst-status { position: relative; background: #fff; border-radius: 2.4rem; padding: 3rem 2.4rem 2.4rem; overflow: hidden; box-shadow: 0 0.4rem 2rem 0 rgba(109,76,65,0.05); text-align: center; }
.cst-status-accent { position: absolute; top: 0; left: 0; right: 0; height: 0.6rem; background: #fed65b; }
.cst-status-ic { width: 12.8rem; height: 12.8rem; margin: 0 auto; border-radius: 50%; background: rgba(255,218,212,0.2); display: flex; align-items: center; justify-content: center; }
.cst-status-ic img { width: 10.6rem; height: auto; }
.cst-status-title { margin: 0.8rem 0 0; font-size: 2.4rem; font-weight: 500; color: #1e1b16; line-height: 3.2rem; }
.cst-status-sub { margin: 0.8rem 0 0; font-size: 1.6rem; font-weight: 500; color: #5c403c; line-height: 2.4rem; }
.cst-status-pill { display: inline-flex; align-items: center; gap: 0.8rem; margin-top: 1.6rem; padding: 0.4rem 1.2rem; background: rgba(136,0,0,0.1); border-radius: 10rem; color: #880000; font-size: 1.2rem; line-height: 1.6rem; }
.cst-status-pill-ic { width: 1.4rem; height: 1.4rem; border-radius: 50%; border: 0.1rem solid #880000; display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; font-style: normal; }

/* 概要信息卡 */
.cst-summary { margin-top: 2.2rem; background: #fff; border-radius: 2.4rem; padding: 2.4rem; box-shadow: 0 0.4rem 1rem rgba(109,76,65,0.05); }
.cst-summary-row { display: flex; align-items: center; justify-content: space-between; padding-bottom: 0.9rem; border-bottom: 0.1rem solid #e4beb8; }
.cst-summary-row + .cst-summary-row { margin-top: 1.6rem; }
.cst-summary-row:last-child { border-bottom: 0; padding-bottom: 0; }
.cst-summary-k { font-size: 1.6rem; font-weight: 500; color: #5c403c; line-height: 2.4rem; }
.cst-summary-v { font-size: 1.4rem; font-weight: 500; color: #1e1b16; letter-spacing: 0.014rem; line-height: 2rem; }

/* 回到首页 */
.cst-home { display: flex; align-items: center; justify-content: center; margin-top: 2.4rem; height: 5.2rem; background: #fd2525; border-radius: 2rem; color: #fff; font-size: 1.8rem; font-weight: 800; text-decoration: none; }
.cst-home:active { opacity: 0.92; }
.cst-banner-bottom { display: block; width: 100%; height: auto; margin-top: auto; padding-top: 2.4rem; }

/* ===================================================================
   启用中心 / 卡片状态（新版）
   卡片状态：激活已通过(csa-) + 启用成功(cse-)
   启用中心：intro(ec1-) checklist(ec2-) identity(eci-) agreement(eca-)
             password(ecp-) fund(ecf-)  共享按钮 ec-cta
   =================================================================== */

/* 共享红色主按钮 */
.ec-cta { display: flex; align-items: center; justify-content: center; width: 100%; height: 5.5rem; margin-top: 2.4rem; background: #ff2029; border: 0; border-radius: 1.4rem; box-shadow: 0 0.3rem 0 #f3afa9; color: #fff; font-size: 1.9rem; font-weight: 700; letter-spacing: 0.05rem; text-decoration: none; cursor: pointer; }
.ec-cta:active { transform: translateY(0.1rem); box-shadow: 0 0.2rem 0 #f3afa9; }
.ec-cta.is-loading { opacity: 0.7; pointer-events: none; }
.ec-cta--done, .ec-cta:disabled { background: #cfcfcf; box-shadow: 0 0.3rem 0 #b8b8b8; color: #fff; cursor: not-allowed; }
.ec-cta--done:active, .ec-cta:disabled:active { transform: none; box-shadow: 0 0.3rem 0 #b8b8b8; }

/* ---------- 卡片状态：激活已通过（6:907） ---------- */
.csa-emblem-card { position: relative; background: #fff; border-top: 0.2rem solid #f1c554; border-radius: 1.5rem; padding: 1rem 2rem 2rem; text-align: center; box-shadow: 0 0.6rem 1.1rem rgba(214,69,23,0.08); }
.csa-emblem { display: block; width: 15.9rem; height: 10.7rem; margin: 0 auto -0.2rem; object-fit: cover; }
.csa-title { margin: 0; font-size: 1.8rem; font-weight: 500; color: #211916; letter-spacing: 0.08rem; }
.csa-sub { margin: 0.8rem 0 0; font-size: 1.2rem; color: #6c3d33; letter-spacing: 0.05rem; }
.csa-badge { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 1.2rem; padding: 0.6rem 1.2rem; background: linear-gradient(180deg,#f5fbe9,#e6f2d9); border: 0.1rem solid #b8d89c; border-radius: 1.4rem; color: #58982f; font-size: 1.1rem; font-weight: 500; }
.csa-badge-tick { display: inline-flex; align-items: center; justify-content: center; width: 1rem; height: 1rem; border-radius: 0.5rem; background: #69a53d; color: #fff; font-size: 0.8rem; font-style: normal; }

.csa-info { margin-top: 1.8rem; background: rgba(255,255,255,0.96); border-radius: 1.5rem; padding: 0.6rem 1.8rem; box-shadow: 0 0.6rem 2.2rem rgba(214,69,23,0.08); }
.csa-info-row { display: flex; align-items: center; height: 5rem; border-bottom: 0.1rem solid #f2e0d7; }
.csa-info-row--last { border-bottom: 0; }
.csa-info-ic { display: inline-flex; align-items: center; justify-content: center; width: 2.1rem; height: 2.1rem; border-radius: 0.7rem; background: #fff1ec; margin-right: 1.4rem; }
.csa-info-ic img { width: 1.3rem; height: 1.3rem; }
.csa-info-k { font-size: 1.2rem; font-weight: 500; color: #211916; }
.csa-info-v { margin-left: auto; font-size: 1.1rem; font-weight: 500; color: #3f302c; letter-spacing: 0.02rem; }

.csa-steps { margin-top: 1.8rem; background: rgba(255,255,255,0.96); border-radius: 1.5rem; padding: 1.4rem 1.7rem 1.6rem; box-shadow: 0 0.6rem 2.2rem rgba(214,69,23,0.08); }
.csa-steps-hd { display: flex; align-items: center; gap: 0.9rem; color: #c91018; font-size: 1.6rem; font-weight: 500; }
.csa-steps-hd-ic { display: inline-flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; border-radius: 0.3rem; background: linear-gradient(145deg,#ff3e33,#d9000c); color: #fff; font-size: 1.1rem; }
.csa-steps-list { margin-top: 1.2rem; background: #fffaf7; border: 0.1rem solid #f4d4c1; border-radius: 0.8rem; overflow: hidden; }
.csa-step { display: flex; align-items: center; height: 3.4rem; padding: 0 1rem; border-bottom: 0.1rem solid #f5dfd2; color: #211916; font-size: 1.1rem; font-weight: 500; }
.csa-step--last { border-bottom: 0; }
.csa-step-no { display: inline-flex; align-items: center; justify-content: center; width: 1.8rem; height: 1.8rem; margin-right: 1.2rem; border-radius: 0.9rem; background: linear-gradient(145deg,#ff3c31,#d8000e); color: #fff; font-size: 1rem; font-weight: 700; }

.csa-tip { position: relative; margin-top: 1.8rem; display: flex; gap: 1.2rem; background: linear-gradient(90deg,#fff5f0,#fff9f7); border: 0.1rem solid #f4c8b8; border-radius: 1rem; padding: 1.4rem 1.2rem; }
.csa-tip-ic { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 2.9rem; height: 2.9rem; border-radius: 1.45rem; background: linear-gradient(145deg,#ff4b35,#db0010); box-shadow: 0 0.5rem 0.5rem rgba(218,0,16,0.15); }
.csa-tip-ic img { width: 1.5rem; height: 1.5rem; }
.csa-tip-title { color: #dc0a15; font-size: 1.3rem; font-weight: 500; }
.csa-tip-text { margin: 0.4rem 0 0; color: #4c332d; font-size: 1rem; line-height: 1.65rem; }
.csa-tip-team { margin: 0.2rem 0 0; color: #dc0a15; font-size: 1rem; line-height: 1.65rem; }

/* 前往启用（6:943） */
.csa-cta { display: flex; align-items: center; justify-content: center; width: 100%; height: 3.9rem; margin-top: 1.8rem; padding: 0 0.6rem; background: linear-gradient(90deg, #f30b16 0%, #f8110e 48%, #ff5c2c 100%); border-radius: 1.8rem; box-shadow: 0 0.6rem 0.7rem rgba(233,0,18,0.18); color: #fff; font-size: 1.5rem; font-weight: 500; letter-spacing: 0.08rem; text-decoration: none; }
.csa-cta:active { opacity: 0.94; }

/* ---------- 卡片状态：启用成功（6:1536） ---------- */
.cse-card { background: rgba(255,255,255,0.98); border-radius: 1.3rem; padding: 2.3rem 2.8rem 1.6rem; text-align: center; box-shadow: 0 0.4rem 1.7rem rgba(149,73,33,0.07); }
.cse-check { display: block; width: 8rem; height: 8rem; margin: 0 auto; }
.cse-title { margin: 1rem 0 0; font-size: 2.4rem; font-weight: 500; color: #3c2a22; letter-spacing: 0.1rem; }
.cse-sub { margin: 0.8rem 0 1rem; font-size: 1.5rem; font-weight: 500; color: #443730; line-height: 2.5rem; }
.cse-divider { border-top: 0.1rem dashed #cfc7c2; }
.cse-eta { display: flex; align-items: center; justify-content: center; gap: 0.9rem; margin-top: 1rem; }
.cse-eta-ic { width: 5rem; height: 5rem; }
.cse-eta-txt { text-align: left; }
.cse-eta-k { display: block; font-size: 1.6rem; font-weight: 500; color: #3c2a22; }
.cse-eta-ok { color: #12b85e; font-weight: 500; }
.cse-eta-v { display: block; margin-top: 0.4rem; font-size: 1.5rem; font-weight: 500; color: #bd1712; }
.cse-note { margin: 0.6rem 0 1rem; font-size: 1.1rem; font-weight: 500; color: #5a504b; }
.cse-shield-box { display: flex; align-items: center; justify-content: center; gap: 0.9rem; padding: 0.8rem; background: linear-gradient(90deg,#f5fff8,#f0fbf4); border: 0.1rem solid #bde4c7; border-radius: 0.8rem; }
.cse-shield-ic { width: 2.8rem; height: 3.2rem; }
.cse-shield-txt { margin: 0; text-align: left; font-size: 1.15rem; font-weight: 500; color: #554a44; line-height: 1.95rem; }

.cse-info { margin-top: 2rem; background: rgba(255,255,255,0.92); border-radius: 1.3rem; padding: 1.3rem 1.4rem; box-shadow: 0 0.4rem 1.7rem rgba(149,73,33,0.07); }
.cse-info-hd { display: flex; align-items: center; gap: 0.5rem; color: #40352e; font-size: 1.3rem; margin-bottom: 0.6rem; }
.cse-info-hd-ic { width: 1.9rem; height: 1.9rem; }
.cse-info-row { display: flex; align-items: center; justify-content: space-between; height: 2.4rem; border-bottom: 0.1rem solid #eee9e5; }
.cse-info-row--last { border-bottom: 0; }
.cse-info-k { font-size: 1.1rem; font-weight: 500; color: #968d88; }
.cse-info-v { font-size: 1.15rem; color: #4d4743; }
.cse-info-v--review { color: #0787ff; font-weight: 500; }

.cse-warn { display: flex; align-items: flex-start; gap: 0.6rem; margin-top: 1rem; padding: 0 0.4rem; }
.cse-warn-ic { flex: none; width: 2rem; height: 2rem; margin-top: 0.1rem; }
.cse-warn span { font-size: 0.85rem; color: #000; line-height: 1.4rem; }

.cse-btn-back { display: flex; align-items: center; justify-content: center; width: 100%; height: 3.3rem; margin-top: 1.6rem; background: #ff0000; border: 0.1rem solid #d02722; border-radius: 0.8rem; color: #fff; font-size: 1.4rem; font-weight: 500; text-decoration: none; }
.cse-btn-lottery { display: flex; align-items: center; justify-content: center; width: 100%; height: 3.3rem; margin-top: 1rem; background: #fff; border: 0.1rem solid #d02722; border-radius: 0.8rem; color: #ff0000; font-size: 1.4rem; font-weight: 500; cursor: pointer; text-decoration: none; }
.cse-btn-lottery:active { opacity: 0.92; }

/* ---------- 启用中心1：intro（6:995） ---------- */
.ec1-card, .ec1-notice { background: #fff; border-radius: 1.2rem; padding: 2rem 1.4rem 1.6rem; }
.ec1-notice { margin-top: 1.4rem; padding-bottom: 0.8rem; }
.ec1-h { margin: 0 0 1.6rem; color: #b70d11; font-size: 1.7rem; font-weight: 500; letter-spacing: 0.02rem; }
.ec1-track { display: flex; align-items: flex-start; justify-content: space-between; position: relative; }
.ec1-track-line { flex: 1 1 auto; min-width: 1rem; height: 0.2rem; margin-top: 1.6rem; background: #d9d9d9; }
.ec1-track-line.is-on { background: #eb252b; }
.ec1-node { flex: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 0.8rem; width: 5rem; }
.ec1-node-ic { display: inline-flex; align-items: center; justify-content: center; width: 3.4rem; height: 3.4rem; border-radius: 1.7rem; background: #e4e4e4; }
.ec1-node-ic img { width: 1.8rem; height: 1.8rem; }
.ec1-node-lb { font-size: 1.2rem; color: #242424; text-align: center; white-space: nowrap; }
.ec1-node.is-done .ec1-node-ic { background: linear-gradient(145deg,#ff4b35,#db0010); }
.ec1-node.is-done .ec1-node-lb { color: #eb252b; }

.ec1-count { position: relative; margin-top: 1.4rem; background: linear-gradient(135deg,#fff3e3,#fff8f0); border: 0.1rem solid #ffe1c4; border-radius: 1.2rem; padding: 1.4rem 1.4rem 1.6rem; overflow: hidden; }
.ec1-count-title { color: #d8090e; font-size: 1.7rem; font-weight: 500; }
.ec1-count-sub { margin-top: 0.4rem; color: #676767; font-size: 1.25rem; }
.ec1-count-clock { position: absolute; top: 1.2rem; right: 1.4rem; width: 4.6rem; height: 4.6rem; }
.ec1-timer { display: flex; align-items: center; gap: 0.4rem; margin-top: 1.4rem; }
.ec1-timer-box { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; height: 5.8rem; background: #fffdfb; border: 0.1rem solid #f7dcc6; border-radius: 0.9rem; box-shadow: 0 0.2rem 0.5rem rgba(214,69,23,0.05); }
.ec1-timer-box b { font-size: 2.7rem; font-weight: 500; color: #d10c10; line-height: 1; }
.ec1-timer-box i { margin-top: 0.4rem; font-size: 1.3rem; font-style: normal; color: #6a6a6a; }
.ec1-timer-sep { color: #d10c10; font-size: 2.4rem; }

.ec1-notice-item { display: flex; align-items: center; gap: 1.4rem; min-height: 3.4rem; color: #202124; font-size: 1.35rem; }
.ec1-notice-ic { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; border-radius: 1.5rem; background: #fff1d9; }
.ec1-notice-ic img { width: 1.6rem; height: 1.6rem; }

/* ---------- 启用中心2：checklist（6:1134） ---------- */
.ec2-tipbar { display: flex; align-items: center; justify-content: center; gap: 0.7rem; height: 3.6rem; background: linear-gradient(90deg,#fff8ed,#fff3e6,#fff8ed); border-radius: 0.8rem; color: #b43a26; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.01rem; }
.ec2-tipbar-dot { width: 0.6rem; height: 0.6rem; background: #f0a01b; transform: rotate(45deg); box-shadow: 0 0 0 0.2rem rgba(255,183,47,0.18); }
.ec2-title { margin: 1.4rem 0 0.9rem; color: #971f18; font-size: 1.8rem; font-weight: 700; letter-spacing: 0.02rem; }
.ec2-list { background: rgba(255,255,255,0.95); border-radius: 0.9rem; box-shadow: 0 0.3rem 1.8rem rgba(96,37,16,0.05); overflow: hidden; }
.ec2-item { display: flex; align-items: center; gap: 0.7rem; height: 6.9rem; padding: 0 1.9rem 0 1.3rem; border-bottom: 0.1rem solid #eee8e5; text-decoration: none; }
.ec2-item--last { border-bottom: 0; }
.ec2-item-ic { flex: none; width: 3.6rem; height: 3.6rem; object-fit: contain; }
.ec2-item-bd { flex: 1; min-width: 0; padding-left: 0.4rem; }
.ec2-item-t { color: #8f211c; font-size: 1.46rem; font-weight: 700; line-height: 1.65rem; }
.ec2-item-d { margin-top: 0.4rem; color: #303638; font-size: 1.3rem; line-height: 1.56rem; }
.ec2-item-st { flex: none; font-size: 1.4rem; color: #333; }
.ec2-item-st.is-done { color: #2e9e5b; }
.ec2-item-req { flex: none; margin-right: 0.6rem; padding: 0.2rem 0.6rem; background: #f3f3f3; border-radius: 0.5rem; color: #ff2d2d; font-size: 1rem; font-weight: 700; }
.ec2-item-arw { flex: none; margin-left: 0.4rem; color: #42484a; font-size: 1.6rem; transform: scaleY(1.3); }
.ec2-note { margin-top: 1.2rem; background: #fff; border-radius: 0.8rem; padding: 0.8rem 1.1rem 1rem; box-shadow: 0 0.3rem 0.7rem rgba(58,24,8,0.07); }
.ec2-note-t { margin: 0; color: #333; font-size: 1.2rem; font-weight: 500; }
.ec2-note-t b { color: #ff2d2d; }
.ec2-note-d { margin: 0.4rem 0; color: #666; font-size: 1rem; line-height: 1.5rem; }
.ec2-note-more { display: inline-block; margin-top: 0.2rem; padding: 0; border: 0; background: transparent; font-family: inherit; color: #0f67b1; font-size: 1.1rem; text-decoration: none; cursor: pointer; }
.ec2-agree { display: flex; align-items: center; gap: 0.7rem; margin-top: 1.6rem; }
.ec2-agree input, .eca-agree input, .ecp-agree input { position: absolute; opacity: 0; width: 0; height: 0; }
.ec2-agree-box { flex: none; width: 1.8rem; height: 1.8rem; border: 0.1rem solid #594f4f; border-radius: 0.9rem; background: #fff; position: relative; }
.ec2-agree input:checked + .ec2-agree-box { background: #e93731; border-color: #e93731; }
.ec2-agree input:checked + .ec2-agree-box::after { content: ""; position: absolute; left: 0.55rem; top: 0.25rem; width: 0.5rem; height: 0.9rem; border: solid #fff; border-width: 0 0.2rem 0.2rem 0; transform: rotate(45deg); }
.ec2-agree-tx { color: #333; font-size: 1.2rem; }
.ec2-agree-link { color: #277db1; text-decoration: none; }

/* ---------- 身份核验（6:1226） ---------- */
.eci-title { display: flex; align-items: center; gap: 0.8rem; margin: 0.4rem 0 1.2rem; color: #333; font-size: 1.6rem; font-weight: 700; }
.eci-title-bar { width: 0.4rem; height: 1.6rem; background: #e02b23; border-radius: 0.2rem; }
.eci-card { background: #fff; border-radius: 1.2rem; padding: 1rem 1.6rem; box-shadow: 0 0.4rem 1.2rem rgba(149,73,33,0.06); }
.eci-row { display: flex; align-items: center; justify-content: space-between; height: 3.7rem; }
.eci-row--last { border-bottom: 0; }
.eci-k { color: #555; font-size: 1.3rem; font-weight: 500; }
.eci-v { color: #222; font-size: 1.3rem; font-weight: 500; }
.eci-info { display: flex; align-items: center; gap: 0.6rem; margin-top: 1.2rem; padding: 0.9rem 1rem; background: #eaf2fb; border-radius: 0.8rem; color: #356a9d; font-size: 1.12rem; }
.eci-info-i { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; border: 0.1rem solid #2d7df0; color: #2d7df0; font-size: 0.9rem; font-weight: 700; font-style: normal; }

/* ---------- 签署协议（6:1257） ---------- */
.eca-notice { background: linear-gradient(134deg,#fff5e8,#fffaf3,#fff2e4); border-radius: 1.2rem; padding: 1rem 1.1rem 0.9rem; box-shadow: 0 0.5rem 0.9rem rgba(153,78,20,0.06); }
.eca-notice-hd { display: flex; align-items: center; gap: 0.7rem; color: #161616; font-size: 1.4rem; font-weight: 500; }
.eca-notice-ic { width: 1.5rem; height: 1.5rem; }
.eca-notice-tx { margin: 0.4rem 0 0; color: #242424; font-size: 1.1rem; line-height: 1.7rem; }
.eca-doc { margin-top: 0.8rem; background: #fff; border-radius: 1.2rem; padding: 1.8rem 1.3rem 1.2rem; box-shadow: 0 0.5rem 0.75rem rgba(35,35,35,0.06); }
.eca-doc-t { margin: 0 0 0.8rem; text-align: center; color: #b91b16; font-size: 1.5rem; font-weight: 500; letter-spacing: 0.04rem; }
.eca-doc-ul { margin: 0; padding-left: 1.6rem; }
.eca-doc-ul li { color: #161616; font-size: 1.04rem; line-height: 1.64rem; }
.eca-doc-ul li + li { margin-top: 0.7rem; }
.eca-agree { display: flex; align-items: center; gap: 0.7rem; margin-top: 1rem; }
.eca-agree-box { flex: none; width: 1.5rem; height: 1.5rem; border: 0.1rem solid #b09b98; border-radius: 0.75rem; background: #fff; position: relative; }
.eca-agree input:checked + .eca-agree-box { background: #e93731; border-color: #e93731; }
.eca-agree input:checked + .eca-agree-box::after { content: ""; position: absolute; left: 0.45rem; top: 0.18rem; width: 0.42rem; height: 0.78rem; border: solid #fff; border-width: 0 0.18rem 0.18rem 0; transform: rotate(45deg); }
.eca-agree-tx { color: #161616; font-size: 1.1rem; }
.eca-agree-tx b { color: #ed322b; font-weight: 500; }
.eca-sign { margin-top: 1.4rem; background: #fff; border-radius: 1.2rem; padding: 1.2rem 1.4rem; box-shadow: 0 0.5rem 1.5rem rgba(30,30,30,0.07); }
.eca-sign-hd { display: flex; align-items: center; justify-content: space-between; }
.eca-sign-tip { color: #474747; font-size: 1.1rem; }
.eca-sign-reset { background: none; border: 0; color: #e72822; font-size: 1.1rem; cursor: pointer; }
.eca-sign-canvas { display: block; width: 100%; height: 18rem; margin-top: 0.6rem; touch-action: none; }

/* ---------- 设置密码（6:1320） ---------- */
.ecp-tipbar { display: flex; align-items: center; gap: 0.7rem; height: 3.6rem; padding: 0 1.2rem; background: #fff; border-radius: 0.8rem; color: #a52b20; font-size: 1.28rem; font-weight: 500; box-shadow: 0 0.3rem 0.9rem rgba(96,37,16,0.05); }
.ecp-tipbar-dot { width: 0.6rem; height: 0.6rem; background: #f0a01b; transform: rotate(45deg); }
.ecp-card { margin-top: 1.2rem; background: #fff; border-radius: 1.2rem; padding: 1.8rem 1.6rem; box-shadow: 0 0.4rem 1.4rem rgba(149,73,33,0.06); }
.ecp-block-t { color: #9b1d18; font-size: 1.6rem; font-weight: 500; }
.ecp-block-d { margin-top: 0.4rem; color: #666; font-size: 1.2rem; }
.ecp-boxes { position: relative; display: flex; gap: 0.9rem; margin-top: 1.2rem; }
.ecp-hidden { position: absolute; opacity: 0; left: 0; top: 0; width: 100%; height: 100%; border: 0; background: transparent; }
.ecp-box { flex: 1; height: 4.6rem; border: 0.1rem solid #e2ddd9; border-radius: 0.8rem; background: #fbfaf9; position: relative; }
.ecp-box.is-active { border-color: #e02b23; }
.ecp-box.is-filled::after { content: ""; position: absolute; left: 50%; top: 50%; width: 0.9rem; height: 0.9rem; border-radius: 50%; background: #333; transform: translate(-50%,-50%); }
.ecp-divider { height: 0.1rem; margin: 1.6rem 0; background: #eee8e5; }
.ecp-rules { display: flex; gap: 0.9rem; margin-top: 1.6rem; padding: 1rem 1.2rem; background: #fff6f0; border: 0.1rem solid #f6d3bf; border-radius: 0.8rem; }
.ecp-rules-ic { flex: none; width: 2.6rem; height: 2.9rem; }
.ecp-rules-tx p { margin: 0; color: #444; font-size: 1.3rem; line-height: 1.9rem; }
.ecp-agree { display: flex; align-items: center; gap: 0.7rem; margin-top: 1.6rem; }
.ecp-agree-box { flex: none; width: 1.6rem; height: 1.6rem; border: 0.1rem solid #b3aaa4; border-radius: 50%; background: #fff; position: relative; }
.ecp-agree input:checked + .ecp-agree-box { background: #e93731; border-color: #e93731; }
.ecp-agree input:checked + .ecp-agree-box::after { content: ""; position: absolute; left: 0.5rem; top: 0.2rem; width: 0.42rem; height: 0.78rem; border: solid #fff; border-width: 0 0.18rem 0.18rem 0; transform: rotate(45deg); }
.ecp-agree-tx { color: #555b60; font-size: 1.24rem; }

/* ---------- 购买中银基（6:1387） ---------- */
.ecf-banner { display: flex; align-items: center; gap: 1rem; padding: 1rem 1.4rem; background: linear-gradient(105deg,#fffaf1,#fff8e9,#ffe29b); border: 0.1rem solid rgba(240,186,88,0.42); border-radius: 0.9rem; box-shadow: 0 0.8rem 0.7rem rgba(113,55,18,0.12); text-decoration: none; }
.ecf-banner-ic { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 3.8rem; height: 3.8rem; border-radius: 1.9rem; background: linear-gradient(145deg,#ffd769,#ffad16); }
.ecf-banner-ic img { width: 2.2rem; height: 2.2rem; }
.ecf-banner-bd { flex: 1; min-width: 0; }
.ecf-banner-t { color: #e7161c; font-size: 1.4rem; font-weight: 500; line-height: 2rem; }
.ecf-banner-d { color: #444; font-size: 0.9rem; line-height: 1.4rem; }
.ecf-banner-arw { flex: none; color: #b06a12; font-size: 1.6rem; }
.ecf-title { margin: 1.6rem 0 0.4rem; color: #2b2320; font-size: 2rem; font-weight: 700; }
.ecf-sub { margin: 0 0 1.2rem; color: #7a6f66; font-size: 1.3rem; }
.ecf-brand { display: flex; align-items: center; gap: 0.9rem; background: #fff; border: 0.1rem solid rgba(240,186,88,0.42); border-radius: 0.9rem; padding: 1rem 1.2rem; box-shadow: 0 0.5rem 1.8rem rgba(40,34,28,0.06); flex-wrap: wrap; }
.ecf-brand-logo { flex: none; width: 3.4rem; height: 3.4rem; object-fit: contain; }
.ecf-brand-bd { flex: 1; min-width: 8rem; }
.ecf-brand-t { color: #b40012; font-size: 1.4rem; font-weight: 700; }
.ecf-brand-d { color: #2f3439; font-size: 0.98rem; margin-top: 0.2rem; }
.ecf-brand-tags { display: flex; align-items: center; gap: 0.9rem; }
.ecf-brand-tag { display: flex; flex-direction: column; align-items: center; gap: 0.3rem; color: #444; font-size: 0.86rem; }
.ecf-brand-tag img { width: 2rem; height: 2rem; }
.ecf-brand-tag-sep { width: 0.1rem; height: 0.9rem; background: #ead9d0; }
.ecf-why { margin-top: 1.2rem; background: rgba(255,255,255,0.95); border-radius: 0.7rem; padding: 1.6rem 1.2rem 1.2rem; box-shadow: 0 0.5rem 1.8rem rgba(40,34,28,0.1); }
.ecf-why-t { margin: 0; color: #b40012; font-size: 1.39rem; font-weight: 500; }
.ecf-why-d { margin: 0.6rem 0 1rem; color: #2e3339; font-size: 0.99rem; line-height: 1.54rem; }
.ecf-benefit { display: flex; align-items: center; gap: 1rem; background: #fff; border-radius: 0.6rem; padding: 0.8rem 1rem; box-shadow: 0 0.2rem 0.55rem rgba(32,36,40,0.07); }
.ecf-benefit + .ecf-benefit { margin-top: 0.7rem; }
.ecf-benefit-ic { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 3.4rem; height: 3.4rem; border-radius: 1.7rem; background: linear-gradient(145deg,#ff3a38,#df111c,#c60916); box-shadow: 0 0.2rem 0.1rem rgba(161,0,12,0.26); }
.ecf-benefit-ic img { width: 2.2rem; height: 2.2rem; }
.ecf-benefit-bd { flex: 1; min-width: 0; }
.ecf-benefit-t { color: #1d2530; font-size: 1.12rem; font-weight: 500; }
.ecf-benefit-x { margin: 0.3rem 0 0; color: #2c3238; font-size: 0.88rem; line-height: 1.3rem; }
.ecf-benefit-x b { color: #c50014; font-weight: 500; }
.ecf-tip { display: flex; gap: 0.6rem; margin-top: 1rem; padding: 0.9rem 1rem; background: #fdf6ee; border-radius: 0.6rem; color: #6a5c50; font-size: 0.92rem; line-height: 1.4rem; }
.ecf-tip-ic { flex: none; }
.ecf-tip b { color: #8a5a1e; }

/* ===== 中央清算卡「统一开放使用」倒计时弹窗（Figma Group 2 · 全站最高优先级）=====
   底图 image/card-notice-countdown.png（1024×1536），图内金框叠加 天/时/分/秒（每秒刷新）。 */
.cn2-modal {
  position: fixed; inset: 0; z-index: 3000;
  display: flex; align-items: center; justify-content: center;
  padding: 2rem;
}
.cn2-modal[hidden] { display: none; }
.cn2-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.62); }
.cn2-stage { position: relative; z-index: 1; width: 34rem; max-width: 86.5vw; }
.cn2-pic { display: block; width: 100%; height: auto; user-select: none; border-radius: 0.6rem; }
/* 图内「立即前往正式开通」红色按钮热区 → 确认打款页（基于 请及时前往确认.png 比例标定） */
.cn2-go {
  position: absolute; left: 10%; top: 72%; width: 80%; height: 10%;
  z-index: 2; display: block; border-radius: 3rem;
  -webkit-tap-highlight-color: transparent;
}
.cn2-go:active { background: rgba(255, 255, 255, 0.12); }
/* 倒计时数字：叠加在图内四个金框中央（天/时/分/秒），字号由 JS 按舞台宽度自适应 */
.cn2-cell {
  position: absolute;
  top: 66.8%;
  transform: translate(-50%, -50%);
  z-index: 2;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'PingFang SC', sans-serif;
  font-weight: 600;
  font-size: var(--cn2-fs, 1.9rem);
  color: #a30000;
  line-height: 1;
  letter-spacing: 0.02em;
  pointer-events: none;
  /* 等宽数字 + 固定字宽，避免每秒切换 0-9 时数字左右抖动 */
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
  text-align: center;
  min-width: 1.8em;
  white-space: nowrap;
}
.cn2-d { left: 20.3%; }
.cn2-h { left: 41.5%; }
.cn2-m { left: 61.3%; }
.cn2-s { left: 81.2%; }
/* 右上角关闭 ×（圆形可见按钮） */
.cn2-close {
  position: absolute; right: 0; top: -3.8rem; z-index: 3;
  width: 3rem; height: 3rem; border-radius: 50%;
  background: rgba(0, 0, 0, 0.45); color: #fff; font-size: 2rem; line-height: 2.8rem; text-align: center;
  padding: 0; margin: 0; border: 0.1rem solid rgba(255, 255, 255, 0.7); cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

/* =====================================================================
 * 首页「中央清算629万清退款激活人员名单」卡片（Figma 1:111）
 * ===================================================================== */
.hac-card {
  background: #fff; border-radius: 1.2rem;
  box-shadow: 0 0.2rem 0.9rem rgba(0, 0, 0, 0.08);
  padding: 1.2rem 1.1rem 1.4rem; margin-top: 1.2rem;
}
.hac-title { font-size: 1.5rem; font-weight: 800; color: #1f2937; line-height: 1.4; }
.hac-cols { position: relative; display: flex; margin-top: 1rem; }
.hac-badge-link {
  position: absolute; left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  z-index: 2; display: block; line-height: 0; cursor: pointer;
}
.hac-badge-link:active { opacity: 0.9; }
.hac-badge {
  display: block; width: 15rem; height: auto;
  filter: drop-shadow(0 0.3rem 0.6rem rgba(0, 0, 0, 0.18));
}
.hac-col { flex: 1; min-width: 0; padding: 0 0.7rem; }
.hac-col + .hac-col { border-left: 0.1rem solid #f0f0f0; }
.hac-col-hd { display: flex; align-items: baseline; flex-wrap: wrap; }
.hac-col-t { font-size: 1.3rem; font-weight: 700; }
.hac-col-t--green { color: #16a34a; }
.hac-col-t--orange { color: #f97316; }
.hac-col-sub { font-size: 0.95rem; color: #9ca3af; }
.hac-num { font-size: 2.4rem; font-weight: 800; line-height: 1; margin-top: 0.5rem; }
.hac-num--green { color: #16a34a; }
.hac-num--orange { color: #f5473d; }
.hac-num-u { font-size: 1.1rem; font-weight: 500; margin-left: 0.2rem; }
.hac-keep { font-size: 1rem; color: #f5473d; margin-top: 0.5rem; }
.hac-list { list-style: none; margin: 0.6rem 0 0; padding: 0; }
.hac-item { display: flex; justify-content: space-between; align-items: center; padding: 0.28rem 0; }
.hac-item-name { color: #374151; font-size: 1.15rem; white-space: nowrap; }
.hac-item-time { color: #9ca3af; font-size: 0.95rem; }
.hac-item-remain { color: #f5473d; font-size: 0.95rem; white-space: nowrap; }
.hac-item-self { margin-left: 0.4rem; font-size: 0.85rem; color: #16a34a; background: #e7f8ee; border-radius: 100rem; padding: 0.05rem 0.4rem; }
.hac-foot {
  margin-top: 0.9rem; display: flex; align-items: center; gap: 0.4rem;
  font-size: 0.98rem; border-radius: 0.6rem; padding: 0.45rem 0.5rem; line-height: 1.2;
}
.hac-foot--green { background: #eafaf0; color: #16a34a; }
.hac-foot--orange { background: #fff2ec; color: #f5473d; }
.hac-foot-ic {
  flex: none; width: 1.4rem; height: 1.4rem; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: #16a34a; color: #fff; font-size: 0.9rem; font-weight: 700;
}
.hac-foot--orange .hac-foot-ic--warn { background: #f5473d; }
.hac-cta {
  display: block; margin-top: 1.2rem; height: 4rem; line-height: 4rem;
  text-align: center; color: #fff; font-size: 1.5rem; font-weight: 700;
  border-radius: 0.9rem; text-decoration: none;
  background: linear-gradient(90deg, #ff8a3d, #f5473d);
  box-shadow: 0 0.4rem 0.9rem rgba(245, 71, 61, 0.32);
}
.hac-cta:active { opacity: 0.92; }

/* =====================================================================
 * 成员激活状态页（Figma 未办理 1:176 / 已办理 1:387）
 * ===================================================================== */
.ms-body { margin: 0; background: #f2f3f5; }
.ms-page { min-height: 100vh; background: #f2f3f5; padding-bottom: 3rem; }
.ms-banner { position: relative; line-height: 0; }
.ms-banner-bg { display: block; width: 100%; height: auto; }
.ms-banner-back {
  position: absolute; left: 0; top: 0; width: 6rem; height: 100%;
  display: block; -webkit-tap-highlight-color: transparent;
}
.ms-main { padding: 0 1.4rem; margin-top: -1.6rem; position: relative; z-index: 1; }

/* 名额统计 */
.ms-stats { background: #fff; border-radius: 1.2rem; box-shadow: 0 0.2rem 0.9rem rgba(0,0,0,0.06); padding: 1.4rem 1.2rem 1rem; }
.ms-stats-row { display: flex; align-items: center; }
.ms-stat { flex: 1; min-width: 0; text-align: center; }
.ms-stat-k { font-size: 1.15rem; color: #4b5563; }
.ms-stat-sub { font-size: 0.9rem; color: #9ca3af; }
.ms-stat-v { font-size: 2rem; font-weight: 800; margin-top: 0.4rem; line-height: 1; }
.ms-stat-v--dark { color: #1f2937; }
.ms-stat-v--green { color: #16a34a; }
.ms-stat-v--orange { color: #f5473d; }
.ms-stat-u { font-size: 1rem; font-weight: 500; margin-left: 0.15rem; }
.ms-stat-divider { width: 0.1rem; height: 3.6rem; background: #eee; flex: none; }
.ms-stats-tip {
  margin-top: 1rem; background: #fff6ee; color: #e8863a; border-radius: 0.6rem;
  padding: 0.55rem 0.7rem; font-size: 1rem; line-height: 1.4; display: flex; gap: 0.4rem; align-items: flex-start;
}
.ms-stats-tip-ic { flex: none; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: #f5a623; color: #fff; font-weight: 700; font-size: 0.95rem; display: inline-flex; align-items: center; justify-content: center; }

/* 我的当前状态 - 未激活 */
.ms-cur { border-radius: 1.2rem; margin-top: 1.4rem; padding: 1.4rem 1.3rem; position: relative; overflow: hidden; }
.ms-cur--unpaid { background: linear-gradient(180deg, #fff6ef, #ffffff); border: 0.1rem solid #ffe2cf; }
.ms-cur-hd { display: flex; align-items: center; gap: 0.6rem; }
.ms-cur-ic { width: 2.6rem; height: 2.6rem; border-radius: 50%; flex: none; background: #f97316 radial-gradient(circle at 50% 40%, #ffb877, #f97316); }
.ms-cur-t { font-size: 1.5rem; font-weight: 800; color: #1f2937; }
.ms-cur-badge { margin-left: auto; font-size: 0.95rem; padding: 0.3rem 0.7rem; border-radius: 100rem; }
.ms-cur-badge--orange { background: #fff0e5; color: #f5731f; }
.ms-cur-badge--green { background: #e7f8ee; color: #16a34a; }
.ms-cur-state { font-size: 1.7rem; font-weight: 800; margin-top: 1rem; }
.ms-cur-state--orange { color: #f5473d; }
.ms-cur-state--green { color: #16a34a; display: flex; align-items: center; gap: 0.4rem; }
.ms-cur-keep { margin-top: 0.7rem; font-size: 1.2rem; color: #4b5563; display: flex; align-items: center; gap: 0.3rem; }
.ms-cur-keep .ms-cd { color: #f5473d; font-weight: 800; font-size: 1.4rem; }
.ms-cur-keep-ic, .ms-cur-time-ic { color: #f5731f; }
.ms-cur-note { margin-top: 0.5rem; font-size: 1rem; color: #9ca3af; }
.ms-cur-cta {
  display: block; margin-top: 1.2rem; height: 4rem; line-height: 4rem; text-align: center;
  color: #fff; font-size: 1.5rem; font-weight: 700; border-radius: 0.9rem; text-decoration: none;
  background: linear-gradient(90deg, #ff8a3d, #f5473d); box-shadow: 0 0.4rem 0.9rem rgba(245,71,61,0.3);
}
.ms-cur-cta:active { opacity: 0.92; }

/* 我的当前状态 - 已激活 */
.ms-cur--paid { background: linear-gradient(180deg, #eefaf1, #ffffff); border: 0.1rem solid #cdefd8; }
.ms-cur-paid-top { display: flex; gap: 1rem; }
.ms-cur-paid-shield { flex: none; width: 5rem; }
.ms-cur-paid-shield img { width: 100%; height: auto; display: block; }
.ms-cur-paid-body { flex: 1; min-width: 0; }
.ms-cur-paid-hd { display: flex; align-items: center; gap: 0.5rem; }
.ms-cur-check { color: #16a34a; }
.ms-cur-time { margin-top: 0.6rem; font-size: 1.05rem; color: #6b7280; display: flex; align-items: center; gap: 0.3rem; }
.ms-cur-desc { margin: 0.7rem 0 0; font-size: 1.05rem; color: #6b7280; line-height: 1.5; }
.ms-cur-lockrow {
  display: flex; align-items: center; gap: 0.7rem; margin-top: 1.1rem;
  background: #f4fbf6; border: 0.1rem solid #d7f0de; border-radius: 0.8rem; padding: 0.8rem 0.9rem;
}
.ms-cur-lockrow-ic { flex: none; font-size: 1.6rem; }
.ms-cur-lockrow-txt { flex: 1; min-width: 0; }
.ms-cur-lockrow-s { font-size: 0.95rem; color: #9ca3af; }
.ms-cur-lockrow-b { font-size: 1.3rem; font-weight: 800; color: #16a34a; }
.ms-cur-lockrow-btn {
  flex: none; background: linear-gradient(90deg, #23c268, #16a34a); color: #fff;
  font-size: 1.1rem; padding: 0.5rem 1rem; border-radius: 100rem; text-decoration: none;
}

/* 人员名单 */
.ms-list-sec { background: #fff; border-radius: 1.2rem; box-shadow: 0 0.2rem 0.9rem rgba(0,0,0,0.06); padding: 1.1rem 1.1rem 1.2rem; margin-top: 1.4rem; }
.ms-list-hd { display: flex; align-items: baseline; }
.ms-list-t { font-size: 1.35rem; font-weight: 800; }
.ms-list-t--orange { color: #f5731f; }
.ms-list-t--green { color: #16a34a; }
.ms-list-sub { font-size: 0.95rem; color: #9ca3af; margin-left: 0.2rem; }
.ms-list-count { margin-left: auto; font-size: 1.1rem; color: #6b7280; }
.ms-list { border: 0.1rem solid #f0f0f0; border-radius: 0.8rem; margin-top: 0.9rem; overflow: hidden; }
.ms-row { display: flex; align-items: center; gap: 0.8rem; padding: 0.7rem 0.9rem; }
.ms-row + .ms-row { border-top: 0.1rem solid #f2f2f2; }
.ms-list--un .ms-row { background: #fffaf6; }
.ms-list--act .ms-row { background: #f6fbf7; }
.ms-row-avatar { flex: none; width: 2.8rem; height: 2.8rem; border-radius: 50%; }
.ms-row-avatar--orange { background: radial-gradient(circle at 50% 35%, #ffcf9e, #f79d4d); }
.ms-row-avatar--green { background: radial-gradient(circle at 50% 35%, #a6e7bd, #34c76f); }
.ms-row-main { flex: 1; min-width: 0; }
.ms-row-name { font-size: 1.25rem; font-weight: 700; color: #1f2937; }
.ms-row-self { margin-left: 0.5rem; font-size: 0.9rem; color: #f5731f; background: #fff0e5; border-radius: 100rem; padding: 0.1rem 0.5rem; font-weight: 500; }
.ms-row-self--green { color: #16a34a; background: #e7f8ee; }
.ms-list--act .ms-row--self { background: #eefaf1; }
.ms-row-sub { font-size: 0.95rem; color: #9ca3af; margin-top: 0.25rem; }
.ms-row-right { text-align: right; flex: none; }
.ms-row-right-k { font-size: 0.9rem; color: #9ca3af; }
.ms-row-right-v { font-size: 1.2rem; font-weight: 800; color: #f5473d; }
.ms-row-lock { flex: none; font-size: 1rem; color: #16a34a; background: #e7f8ee; border-radius: 100rem; padding: 0.35rem 0.7rem; }
.ms-list-note { margin-top: 0.8rem; font-size: 0.98rem; line-height: 1.5; display: flex; gap: 0.4rem; align-items: flex-start; }
.ms-list-note--warn { color: #f5473d; }
.ms-list-note-ic { flex: none; width: 1.4rem; height: 1.4rem; border-radius: 50%; background: #f5473d; color: #fff; font-weight: 700; font-size: 0.9rem; display: inline-flex; align-items: center; justify-content: center; }
.ms-list-foot { text-align: center; font-size: 0.95rem; color: #b0b3b8; margin-top: 0.8rem; }

/* 规则说明 */
.ms-rules { position: relative; background: #fff; border-radius: 1.2rem; box-shadow: 0 0.2rem 0.9rem rgba(0,0,0,0.06); padding: 1.2rem 1.2rem 1.4rem; margin-top: 1.4rem; overflow: hidden; }
.ms-rules-hd { font-size: 1.3rem; font-weight: 800; color: #1f2937; display: flex; align-items: center; gap: 0.4rem; }
.ms-rules-dot { color: #f5473d; font-size: 1rem; }
.ms-rules-li { margin: 0.7rem 0 0; font-size: 1.05rem; color: #6b7280; line-height: 1.5; max-width: 26rem; }
.ms-rules-badge { position: absolute; right: 1.2rem; top: 1rem; width: 6.4rem; height: auto; }

/* =====================================================================
 * 锁定名额详情页（Figma 1:625）
 * ===================================================================== */
.ld-body { margin: 0; background: #f2f3f5; }
.ld-page { min-height: 100vh; background: #f2f3f5; padding-bottom: 3rem; }
.ld-banner { position: relative; line-height: 0; }
.ld-banner-bg { display: block; width: 100%; height: auto; }
.ld-banner-back { position: absolute; left: 0; top: 0; width: 6rem; height: 100%; display: block; -webkit-tap-highlight-color: transparent; }
.ld-main { padding: 0 1.4rem; margin-top: -1.2rem; position: relative; z-index: 1; }

/* 锁定成功大卡 */
.ld-hero {
  position: relative; overflow: hidden; border-radius: 1.2rem;
  background: linear-gradient(160deg, #fff4e2, #ffe4c8);
  border: 0.1rem solid #f6d9b0; padding: 1.4rem 1.4rem 1.6rem;
  box-shadow: 0 0.3rem 1rem rgba(0,0,0,0.08);
}
.ld-hero-stars { color: #f5b642; font-size: 1.2rem; letter-spacing: 0.2rem; }
.ld-hero-title { margin: 0.6rem 0 0; font-size: 2rem; font-weight: 800; color: #e0322a; line-height: 1.35; }
.ld-hero-title strong { color: #e0322a; }
.ld-hero-state { display: inline-block; margin-top: 0.9rem; background: #fbe3c8; color: #c0392b; font-size: 1.1rem; padding: 0.35rem 1rem; border-radius: 100rem; }
.ld-hero-info { margin-top: 1rem; background: rgba(255,255,255,0.6); border: 0.1rem solid #f0dcc0; border-radius: 0.8rem; padding: 0.7rem 0.9rem; width: 22rem; max-width: 68%; }
.ld-hero-info-row { font-size: 1.05rem; color: #8a6a45; display: flex; align-items: center; gap: 0.3rem; }
.ld-hero-info-row + .ld-hero-info-row { margin-top: 0.5rem; }
.ld-hero-info-v { color: #6b4e2e; font-weight: 600; }
.ld-hero-shield { position: absolute; right: 0.8rem; top: 1.6rem; width: 12rem; height: auto; }

/* 通用小节 */
.ld-sec { background: #fff; border-radius: 1.2rem; box-shadow: 0 0.2rem 0.9rem rgba(0,0,0,0.06); padding: 1.2rem 1.3rem 1.4rem; margin-top: 1.4rem; position: relative; overflow: hidden; }
.ld-sec-hd { font-size: 1.4rem; font-weight: 800; color: #1f2937; display: flex; align-items: center; gap: 0.5rem; }
.ld-sec-bar { width: 0.4rem; height: 1.5rem; border-radius: 100rem; background: linear-gradient(180deg, #ff8a3d, #f5473d); }
.ld-info { margin-top: 0.8rem; }
.ld-info-row { display: flex; align-items: center; gap: 0.5rem; padding: 0.7rem 0; font-size: 1.15rem; color: #374151; }
.ld-info-row + .ld-info-row { border-top: 0.1rem solid #f2f2f2; }
.ld-info-ic { flex: none; }
.ld-info-k { color: #6b7280; }
.ld-info-v { color: #1f2937; font-weight: 600; }
.ld-info-v--green { color: #16a34a; }
.ld-tips { list-style: none; margin: 0.8rem 0 0; padding: 0; }
.ld-tips li { position: relative; padding-left: 1.2rem; font-size: 1.05rem; color: #6b7280; line-height: 1.6; max-width: 24rem; }
.ld-tips li::before { content: '·'; position: absolute; left: 0.2rem; color: #f5473d; font-weight: 800; }
.ld-tips-shield { position: absolute; right: 1rem; bottom: 1rem; width: 8rem; height: auto; }

/* 操作按钮 */
.ld-btns { display: flex; gap: 1.2rem; margin-top: 1.6rem; }
.ld-btn { flex: 1; height: 4rem; border-radius: 100rem; display: flex; align-items: center; justify-content: center; gap: 0.4rem; font-size: 1.4rem; font-weight: 700; text-decoration: none; }
.ld-btn-ic { font-size: 1.4rem; }
.ld-btn--primary { background: linear-gradient(90deg, #ff5a4d, #e0322a); color: #fff; box-shadow: 0 0.4rem 0.9rem rgba(224,50,42,0.3); }
.ld-btn--ghost { background: #fff; color: #e0322a; border: 0.1rem solid #f3b7b1; }
.ld-btn:active { opacity: 0.92; }
.ld-footpill { margin: 1.4rem auto 0; width: fit-content; background: #fff2ec; color: #e0673a; border-radius: 100rem; padding: 0.5rem 1.4rem; font-size: 1.1rem; display: flex; align-items: center; gap: 0.4rem; }

/* ===================== 基金专区（fund_zone.php / fund_detail.php / fund_income.php） ===================== */
.fz-body { background: linear-gradient(180deg, #fffaf4 0%, #ffffff 45%, #fffaf7 100%); min-height: 100vh; }
.fz-page { position: relative; max-width: 48rem; margin: 0 auto; padding-bottom: 8rem; overflow-x: hidden; }
.fz-header { width: 100%; line-height: 0; }
.fz-header-bg { width: 100%; height: auto; display: block; }
.fz-main { padding: 0 1.2rem; margin-top: -0.4rem; }

/* 基金服务说明 */
.fz-note { margin-top: 1.2rem; border: 0.1rem solid rgba(218,199,184,0.65); border-radius: 1.1rem; padding: 1rem 1.2rem; background: linear-gradient(114deg, #fffdf9 0%, #fff9ee 70%, #fff4dd 100%); box-shadow: 0 0.3rem 0.5rem rgba(91,43,19,0.08); }
.fz-note-hd { display: flex; align-items: center; gap: 0.6rem; }
.fz-note-ic { font-size: 1.4rem; }
.fz-note-title { font-size: 1.3rem; font-weight: 600; color: #20140f; }
.fz-note-text { margin: 0.5rem 0 0; font-size: 0.95rem; line-height: 1.5; color: #5c4940; }

/* 三项收益汇总 */
.fz-summary { margin-top: 1.2rem; display: flex; background: rgba(255,255,255,0.96); border: 0.1rem solid rgba(218,199,184,0.65); border-radius: 1.1rem; box-shadow: 0 0.3rem 1rem rgba(91,43,19,0.08); padding: 0.9rem 0.6rem; }
.fz-sum-item { flex: 1; padding: 0 0.9rem; border-right: 0.1rem solid #eadfd6; }
.fz-sum-item--last { border-right: none; }
.fz-sum-hd { display: flex; align-items: center; gap: 0.4rem; }
.fz-sum-ic { width: 2.2rem; height: 2.2rem; border-radius: 1.1rem; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.fz-sum-ic--red { background: #f9e5e0; }
.fz-sum-ic--gold { background: #fbefda; }
.fz-sum-ic--brown { background: #f6eee7; }
.fz-sum-label { font-size: 0.9rem; color: #20140f; white-space: nowrap; }
.fz-sum-val { margin-top: 0.5rem; font-size: 1.7rem; font-weight: 700; color: #bf1117; letter-spacing: 0.1px; }

/* 基金卡 */
.fz-card { position: relative; margin-top: 1rem; background: rgba(255,255,255,0.96); border: 0.1rem solid rgba(218,199,184,0.65); border-radius: 1.1rem; box-shadow: 0 0.3rem 1rem rgba(91,43,19,0.08); padding: 1rem; }
.fz-card-top { display: flex; gap: 0.8rem; }
.fz-card-logo { width: 5rem; height: 5rem; flex: none; object-fit: contain; }
.fz-card-info { flex: 1; min-width: 0; }
.fz-card-nameline { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.fz-card-name { font-size: 1.4rem; font-weight: 700; color: #191919; }
.fz-card-tag { font-size: 0.85rem; padding: 0.15rem 0.5rem; border-radius: 0.4rem; }
.fz-card-tag--1 { background: #eaf4ec; color: #2f9e57; }
.fz-card-tag--2 { background: #fdeede; color: #d98a16; }
.fz-card-intro { margin: 0.4rem 0 0; font-size: 0.9rem; color: #77655b; line-height: 1.4; }
.fz-card-metrics { display: flex; margin-top: 0.6rem; }
.fz-metric { flex: 1; display: flex; flex-direction: column; gap: 0.3rem; padding-right: 0.6rem; }
.fz-metric + .fz-metric { border-left: 0.1rem solid #f0e7df; padding-left: 0.8rem; }
.fz-metric-label { font-size: 0.85rem; color: #77655b; }
.fz-metric-val { font-size: 1.15rem; font-weight: 700; color: #bf1117; white-space: nowrap; }
.fz-card-btns { flex: none; width: 7.6rem; display: flex; flex-direction: column; gap: 0.7rem; }
.fz-btn-ghost, .fz-btn-buy { height: 2.2rem; border-radius: 0.5rem; font-size: 1.05rem; font-weight: 600; font-family: inherit; display: flex; align-items: center; justify-content: center; cursor: pointer; text-decoration: none; box-sizing: border-box; border: 0.1rem solid transparent; }
.fz-card-foot { display: flex; justify-content: space-between; gap: 0.4rem; margin-top: 0.9rem; padding-top: 0.7rem; border-top: 0.1rem solid #f0e7df; }
.fz-foot-item { font-size: 0.9rem; color: #77655b; white-space: nowrap; }
.fz-foot-item b { color: #20140f; font-weight: 600; }

/* 卡主题色 */
.fz-card--red .fz-btn-ghost { color: #d0121a; border-color: #e79aa0; }
.fz-card--red .fz-btn-buy { background: linear-gradient(180deg, #e0322a, #c81d25); color: #fff; }
.fz-card--gold .fz-btn-ghost { color: #d98a16; border-color: #f0c877; }
.fz-card--gold .fz-btn-buy { background: linear-gradient(180deg, #f6b545, #df8a1d); color: #fff; }
.fz-card--blue .fz-btn-ghost { color: #1768de; border-color: #a9c8f4; }
.fz-card--blue .fz-btn-buy { background: linear-gradient(180deg, #4b8ff4, #1768de); color: #fff; }
.fz-btn-ghost:active, .fz-btn-buy:active { opacity: 0.9; }
.fz-empty { text-align: center; color: #999; padding: 3rem 0; }

/* 收益详解入口按钮 */
.fz-detail-btn {
  width: 100%;
  margin-top: 1rem;
  height: 3.2rem;
  border: none;
  border-radius: 0.9rem;
  background: linear-gradient(90deg, #f79b3d, #ef6b1f);
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  box-shadow: 0 0.3rem 0.9rem rgba(239, 107, 31, 0.28);
  cursor: pointer;
}
.fz-detail-btn:active { transform: translateY(0.1rem); }
.fz-detail-btn-ic { font-size: 1.1rem; }

/* 收益详解海报弹窗 */
.fz-poster-mask {
  position: fixed;
  top: 0; right: 0; bottom: 0; left: 0;
  background: rgba(0, 0, 0, 0.72);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 2rem 1.4rem;
  box-sizing: border-box;
}
.fz-poster-mask[hidden] { display: none !important; }
.fz-poster-box { position: relative; max-width: 100%; max-height: 100%; }
.fz-poster-img {
  display: block;
  max-width: 100%;
  max-height: 82vh;
  border-radius: 0.8rem;
  box-shadow: 0 0.6rem 2rem rgba(0, 0, 0, 0.4);
}
.fz-poster-close {
  position: absolute;
  top: -1.2rem;
  right: -0.4rem;
  width: 3rem;
  height: 3rem;
  border: none;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.55);
  color: #fff;
  font-size: 2rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

/* 底部两卡 */
.fz-bottom { display: flex; gap: 0.9rem; margin-top: 1rem; }
.fz-bottom-card { flex: 1; display: flex; gap: 0.6rem; align-items: center; border-radius: 0.9rem; padding: 0.9rem; text-decoration: none; border: 0.1rem solid transparent; }
.fz-bottom-card--income { background: linear-gradient(118deg, #fffaf2, #fff4ec); border-color: #ffd9bb; }
.fz-bottom-card--hold { background: linear-gradient(118deg, #f6fbff, #e9f3ff); border-color: #c8ddff; }
.fz-bottom-ic { font-size: 2.4rem; flex: none; color: #f15a25; }
.fz-bottom-ic--blue { color: #4b8cf2; }
.fz-bottom-main { display: flex; flex-direction: column; gap: 0.25rem; min-width: 0; }
.fz-bottom-title { font-size: 0.95rem; color: #191919; font-weight: 600; }
.fz-bottom-num { font-size: 1.3rem; font-weight: 700; color: #d1121a; }
.fz-bottom-desc { font-size: 0.75rem; color: #675f5a; line-height: 1.3; }
.fz-bottom-btn { margin-top: 0.3rem; height: 1.9rem; border-radius: 0.5rem; display: inline-flex; align-items: center; justify-content: center; padding: 0 0.9rem; font-size: 0.85rem; font-weight: 600; align-self: flex-start; }
.fz-bottom-btn--income { background: #fff; border: 0.1rem solid #ef8b3d; color: #dc4b10; }
.fz-bottom-btn--hold { background: linear-gradient(180deg, #4b8ff4, #1768de); color: #fff; }

/* ---------- 基金详情 fund_detail.php ---------- */
.fd-main { padding: 0 1.2rem; margin-top: -1.8rem; position: relative; z-index: 2; }
.fd-card { background: #fff; border: 0.1rem solid rgba(235,225,219,0.9); border-radius: 1.1rem; box-shadow: 0 0.4rem 0.9rem rgba(96,46,18,0.1); padding: 1.1rem 0.9rem 0.9rem; }
.fd-head { display: flex; gap: 0.4rem; }
.fd-logo { width: 6rem; height: 6rem; flex: none; object-fit: contain; }
.fd-head-info { flex: 1; min-width: 0; padding-top: 0.2rem; }
.fd-nameline { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.fd-name { font-size: 1.55rem; font-weight: 600; color: #1f1f1f; }
.fd-tag { font-size: 0.85rem; padding: 0.2rem 0.6rem; border-radius: 1rem; background: #eaf2ff; color: #22599d; }
.fd-intro-line { margin: 0.6rem 0 0; font-size: 0.95rem; color: #4e4e4e; line-height: 1.5; }

.fd-income { display: flex; margin-top: 1rem; border: 0.1rem solid #eee4de; border-radius: 0.8rem; overflow: hidden; }
.fd-income-item { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 0.4rem; padding: 0.8rem 0.4rem; border-right: 0.1rem solid #eee5df; }
.fd-income-item--last { border-right: none; }
.fd-income-hd { display: flex; align-items: center; gap: 0.4rem; }
.fd-income-ic { width: 1.8rem; height: 1.8rem; border-radius: 0.6rem; display: inline-flex; align-items: center; justify-content: center; font-size: 1rem; }
.fd-income-ic--red { background: #fff0f0; }
.fd-income-ic--gold { background: #fff5e4; }
.fd-income-ic--brown { background: #f6efe6; }
.fd-income-label { font-size: 0.9rem; color: #1f1f1f; }
.fd-income-val { font-size: 1.5rem; font-weight: 700; color: #d91017; letter-spacing: 0.2px; }

.fd-stats { display: flex; margin-top: 0.8rem; border: 0.1rem solid #eee6e1; border-radius: 0.8rem; }
.fd-stat { flex: 1; display: flex; align-items: center; justify-content: center; gap: 0.5rem; padding: 0.7rem 0.3rem; border-right: 0.1rem solid #eee5df; }
.fd-stat--last { border-right: none; }
.fd-stat-ic { font-size: 1.3rem; }
.fd-stat-box { display: flex; flex-direction: column; gap: 0.1rem; }
.fd-stat-box i { font-size: 0.8rem; color: #555; font-style: normal; }
.fd-stat-box b { font-size: 1.1rem; color: #1f1f1f; }

.fd-grid { display: flex; gap: 0.7rem; margin-top: 0.8rem; align-items: stretch; }
.fd-brief, .fd-invest { background: #fff; border: 0.1rem solid #eee9e5; border-radius: 0.8rem; box-shadow: 0 0.2rem 0.35rem rgba(74,51,38,0.07); padding: 0.9rem; }
.fd-brief { flex: 1; }
.fd-invest { flex: 1.2; }
.fd-sec-title { display: flex; align-items: center; gap: 0.5rem; font-size: 1.05rem; font-weight: 600; color: #252525; }
.fd-sec-ic { font-size: 1.1rem; }
.fd-brief-text { margin: 0.7rem 0 0; font-size: 0.9rem; color: #4b4b4b; line-height: 1.6; letter-spacing: 0.25px; }
.fd-invest-list { margin-top: 0.7rem; display: flex; flex-direction: column; gap: 0.6rem; }
.fd-invest-item { display: flex; align-items: center; gap: 0.5rem; }
.fd-invest-dot { flex: none; width: 2.2rem; height: 2.2rem; border-radius: 1.1rem; background: #fff2dc; color: #db8a24; display: inline-flex; align-items: center; justify-content: center; font-size: 1.1rem; }
.fd-invest-body { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
.fd-invest-body b { font-size: 0.95rem; font-weight: 600; color: #252525; }
.fd-invest-body i { font-size: 0.82rem; color: #4d4d4d; font-style: normal; line-height: 1.3; }

.fd-highlight { background: #fff; border: 0.1rem solid #ece8e4; border-radius: 0.8rem; box-shadow: 0 0.2rem 0.35rem rgba(74,51,38,0.08); padding: 0.9rem; margin-top: 0.8rem; }
.fd-highlight-grid { display: flex; gap: 0.6rem; margin-top: 0.7rem; }
.fd-hl { flex: 1; min-width: 0; border: 0.1rem solid #f0d7d2; border-radius: 0.6rem; padding: 0.7rem 0.6rem; background: linear-gradient(134deg, #fff6f2 0%, #fff 100%); }
.fd-hl-hd { display: flex; align-items: center; gap: 0.4rem; }
.fd-hl-badge { width: 1.5rem; height: 1.5rem; border-radius: 0.3rem; flex: none; }
.fd-hl-name { font-size: 0.9rem; font-weight: 600; color: #252525; }
.fd-hl-desc { margin: 0.4rem 0 0; font-size: 0.78rem; color: #565656; line-height: 1.4; }
.fd-hl--red { border-color: #f0d7d2; background: linear-gradient(134deg, #fff6f2, #fff); }
.fd-hl--red .fd-hl-badge { background: #c75050; }
.fd-hl--gold { border-color: #f2dfc7; background: linear-gradient(134deg, #fff8ed, #fff); }
.fd-hl--gold .fd-hl-badge { background: #db8a24; }
.fd-hl--brown { border-color: #eadccf; background: linear-gradient(134deg, #fff7ee, #fff); }
.fd-hl--brown .fd-hl-badge { background: #cd8734; }
.fd-hl--blue { border-color: #d6e1f4; background: linear-gradient(134deg, #eef5ff, #fff); }
.fd-hl--blue .fd-hl-badge { background: #477bb7; border-radius: 0.75rem; }

.fd-actions { display: flex; gap: 0.9rem; margin-top: 1rem; }
.fd-btn-back { flex: 1; height: 3.2rem; border-radius: 0.6rem; border: 0.1rem solid #0a61ca; color: #0b62ca; background: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.1rem; font-weight: 500; text-decoration: none; }
.fd-btn-buy { flex: 1.25; height: 3.2rem; border-radius: 0.6rem; border: none; background: linear-gradient(180deg, #096bcf, #064ba7); color: #fff; font-size: 1.1rem; font-weight: 500; font-family: inherit; cursor: pointer; }
.fd-btn-back:active, .fd-btn-buy:active { opacity: 0.9; }

/* ---------- 查看持有基金 fund_income.php（1:1 Figma 1:669） ---------- */
.fi-header { position: relative; }
.fi-topbar { position: absolute; top: 5.2rem; left: 1.3rem; right: 0.2rem; height: 4.2rem; display: flex; align-items: center; }
.fi-back { flex: none; width: 4.6rem; background: none; border: none; padding: 0 1.1rem; display: flex; align-items: center; cursor: pointer; }
.fi-back img { width: 2.4rem; height: 2.4rem; filter: brightness(0) invert(1); }
.fi-title { flex: 1; text-align: center; font-size: 1.7rem; font-weight: 500; color: #fff; margin: 0; }
.fi-topbar-right { flex: none; width: 4.8rem; padding-left: 2.1rem; }

.fi-main { padding: 0 1.3rem; margin-top: -2.2rem; position: relative; z-index: 2; }

/* 累计收益卡 */
.fi-card { position: relative; display: flex; align-items: stretch; background: rgba(255,252,247,0.98); border: 0.1rem solid #efd8c9; border-radius: 1rem; box-shadow: 0 0.5rem 1.4rem rgba(91,44,20,0.1); overflow: hidden; min-height: 8.7rem; }
.fi-card-left { flex: 0 0 44%; padding: 1.4rem 1.3rem; display: flex; flex-direction: column; justify-content: center; border-right: 0.1rem solid #eadbd2; }
.fi-card-hd { display: flex; align-items: center; gap: 0.7rem; }
.fi-card-label { font-size: 1rem; color: #4d3c34; }
.fi-eye { background: none; border: none; padding: 0; line-height: 0; cursor: pointer; display: inline-flex; }
.fi-eye img { width: 1.5rem; height: 1.5rem; display: block; }
.fi-card-val { margin-top: 0.9rem; font-size: 2.7rem; font-weight: 800; color: #c70e17; letter-spacing: 0.5px; white-space: nowrap; }
.fi-card-deco { position: absolute; right: 0.7rem; bottom: 0.9rem; width: 8.5rem; height: 6.7rem; object-fit: contain; pointer-events: none; }

/* 明细标题 */
.fi-list-title { text-align: center; font-size: 1.3rem; font-weight: 500; color: #241712; letter-spacing: 0.7px; margin: 1.4rem 0 0.9rem; }

/* 持有基金卡 */
.fi-article { position: relative; display: flex; align-items: flex-start; gap: 0.6rem; background: rgba(255,255,255,0.95); border: 0.1rem solid #f0dfd6; border-radius: 0.9rem; box-shadow: 0 0.3rem 1rem rgba(107,63,33,0.08); padding: 0.8rem; margin-top: 0.9rem; }
.fi-article-logo { flex: none; width: 5.2rem; height: 5.4rem; object-fit: contain; }
.fi-article-body { flex: 1; min-width: 0; }
.fi-article-hd { display: flex; align-items: center; gap: 0.6rem; }
.fi-article-name { font-size: 1.2rem; font-weight: 500; color: #241712; }
.fi-article-tag { font-size: 0.7rem; padding: 0.3rem 0.5rem; border-radius: 0.7rem; }
.fi-article-tag--gold { background: #fff4dd; color: #b56b10; }
.fi-article-tag--blue { background: #eaf2ff; color: #22599d; }
.fi-metrics { display: flex; margin-top: 0.8rem; }
.fi-metric { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 0.5rem; padding: 0 0.5rem; }
.fi-metric--bd { border-right: 0.1rem solid #f0e3dc; }
.fi-metric i { font-size: 0.72rem; color: #8a7d75; font-style: normal; line-height: 1.2; }
.fi-metric b { font-size: 1rem; font-weight: 700; color: #d41119; white-space: nowrap; }
.fi-metric b.fi-metric-dark { color: #241712; }
.fi-article-note { position: absolute; left: 0; right: 0; bottom: -2.1rem; display: flex; align-items: center; justify-content: center; gap: 0.5rem; font-size: 0.78rem; color: #9b8f88; }
.fi-note-ic { color: #c9a06a; }
.fi-empty { text-align: center; color: #999; padding: 2rem 0; font-size: 0.95rem; }

/* =====================================================================
 * 在线客服（用户端）kefu.php —— 仿微信气泡
 * ===================================================================== */
/* hidden 守卫：这些元素设置了 display，需显式让 [hidden] 生效，避免遮罩默认覆盖全屏 */
.kf-quote[hidden], .kf-attach[hidden], .kf-hold[hidden], .kf-textarea[hidden],
.kf-ctxmask[hidden], .kf-viewer[hidden], .kf-voicetip[hidden] { display: none !important; }
.kf-body { margin: 0; background: #ededed; }
.kf-page { width: 100%; max-width: 480px; margin: 0 auto; display: flex; flex-direction: column; height: 100vh; height: 100dvh; background: #ededed; }
.kf-topbar { flex: none; height: 4.6rem; background: #f7f7f7; border-bottom: 0.1rem solid #dcdcdc; display: flex; align-items: center; padding: 0 1.2rem; position: relative; }
.kf-back { border: none; background: none; padding: 0.4rem; display: flex; align-items: center; cursor: pointer; }
.kf-back img { width: 1.1rem; height: 1.9rem; }
.kf-title { flex: 1; text-align: center; margin: 0; font-size: 1.7rem; font-weight: 600; color: #191919; }
.kf-status { position: absolute; right: 1.2rem; font-size: 1.1rem; color: #52a635; }
.kf-status::before { content: ''; display: inline-block; width: 0.6rem; height: 0.6rem; border-radius: 50%; background: #52a635; margin-right: 0.35rem; vertical-align: middle; }

.kf-main { flex: 1; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 1rem 1rem 1.4rem; }
.kf-loadmore { text-align: center; font-size: 1.1rem; color: #6a6a6a; padding: 0.6rem 0 1rem; cursor: pointer; }
.kf-list { display: flex; flex-direction: column; gap: 1.2rem; }

.kf-row { display: flex; gap: 0.7rem; align-items: flex-start; }
.kf-row--me { flex-direction: row-reverse; }
.kf-avatar { flex: none; width: 3.6rem; height: 3.6rem; border-radius: 0.5rem; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; color: #fff; background: #b6b6b6; }
.kf-row--me .kf-avatar { background: #4c8bf5; }
.kf-col { max-width: 68%; display: flex; flex-direction: column; gap: 0.35rem; }
.kf-row--me .kf-col { align-items: flex-end; }
.kf-replyref { font-size: 1rem; color: #6a6a6a; background: #e3e3e3; border-radius: 0.5rem; padding: 0.4rem 0.6rem; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.kf-bubble { position: relative; font-size: 1.5rem; line-height: 1.5; color: #1a1a1a; background: #fff; border-radius: 0.8rem; padding: 0.9rem 1.1rem; word-break: break-word; box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.05); }
/* 「专属客服办理入口」卡片消息(type=entry)：整卡可点击 → service_booking.php */
.kf-entry { display: flex; align-items: center; gap: 0.8rem; min-width: 16rem; max-width: 24rem; padding: 1.1rem 1.2rem; background: linear-gradient(135deg, #c8102e, #e23b52); color: #fff; border-radius: 0.9rem; text-decoration: none; box-shadow: 0 0.2rem 0.6rem rgba(200,16,46,0.28); }
.kf-entry .kf-entry-tx { display: flex; flex-direction: column; gap: 0.35rem; flex: 1; min-width: 0; }
.kf-entry .kf-entry-tx b { font-size: 1.45rem; font-weight: 700; }
.kf-entry .kf-entry-tx i { font-size: 1.15rem; font-style: normal; opacity: 0.92; }
.kf-entry .kf-entry-arrow { font-size: 2.4rem; line-height: 1; font-weight: 300; flex: none; }
.kf-entry:active { transform: scale(0.98); }
.kf-row--me .kf-bubble { background: #95ec69; color: #0d1a05; }
.kf-bubble--media { padding: 0.3rem; background: #fff; }
.kf-row--me .kf-bubble--media { background: #95ec69; }
.kf-img { max-width: 16rem; max-height: 20rem; border-radius: 0.6rem; display: block; cursor: pointer; }
.kf-videothumb { display: inline-flex; align-items: center; gap: 0.5rem; min-width: 8rem; height: 4.4rem; padding: 0 1rem; background: #000; color: #fff; border-radius: 0.6rem; font-size: 1.2rem; cursor: pointer; }
.kf-play { font-size: 1.6rem; }
.kf-bubble--voice { display: inline-flex; align-items: center; gap: 0.6rem; min-width: 6rem; cursor: pointer; }
.kf-voiceico { font-size: 1.6rem; }
.kf-time { font-size: 0.9rem; color: #9a9a9a; }
.kf-pending { opacity: 0.6; }
.kf-failed .kf-bubble::after { content: '!'; position: absolute; left: -2rem; top: 50%; transform: translateY(-50%); width: 1.6rem; height: 1.6rem; border-radius: 50%; background: #e0362c; color: #fff; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; }
.kf-row--me.kf-failed .kf-bubble::after { left: auto; right: -2rem; }

.kf-quote { flex: none; display: flex; align-items: center; gap: 0.6rem; background: #e3e3e3; border-top: 0.1rem solid #d5d5d5; padding: 0.6rem 1.2rem; }
.kf-quote-body { flex: 1; min-width: 0; display: flex; align-items: center; gap: 0.5rem; }
.kf-quote-label { flex: none; font-size: 1rem; color: #4c8bf5; }
.kf-quote-text { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 1.1rem; color: #555; }
.kf-quote-close { border: none; background: none; font-size: 1.8rem; color: #888; cursor: pointer; padding: 0 0.4rem; }

.kf-input { flex: none; display: flex; align-items: flex-end; gap: 0.6rem; background: #f7f7f7; border-top: 0.1rem solid #dcdcdc; padding: 0.7rem 0.9rem; padding-bottom: calc(0.7rem + env(safe-area-inset-bottom)); }
.kf-ibtn { flex: none; width: 3.8rem; height: 3.8rem; border: none; border-radius: 0.6rem; background: #fff; font-size: 1.9rem; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.kf-textarea { flex: 1; min-width: 0; resize: none; border: none; border-radius: 0.6rem; padding: 0.9rem 1rem; font-size: 1.4rem; line-height: 1.4; max-height: 10rem; background: #fff; font-family: inherit; }
.kf-hold { flex: 1; height: 3.8rem; border: none; border-radius: 0.6rem; background: #fff; font-size: 1.4rem; color: #333; cursor: pointer; }
.kf-hold:active { background: #dcdcdc; }
.kf-send { flex: none; height: 3.8rem; padding: 0 1.4rem; border: none; border-radius: 0.6rem; background: #07c160; color: #fff; font-size: 1.4rem; font-weight: 600; cursor: pointer; }

.kf-attach { flex: none; display: flex; gap: 1.4rem; background: #f7f7f7; border-top: 0.1rem solid #eee; padding: 1.2rem 1.4rem; padding-bottom: calc(1.2rem + env(safe-area-inset-bottom)); }
.kf-attach-item { display: flex; flex-direction: column; align-items: center; gap: 0.5rem; border: none; background: none; cursor: pointer; font-size: 1.1rem; color: #555; }
.kf-attach-ico { width: 5.4rem; height: 5.4rem; border-radius: 1rem; background: #fff; display: flex; align-items: center; justify-content: center; font-size: 2.6rem; }

.kf-ctxmask { position: fixed; inset: 0; z-index: 900; background: rgba(0,0,0,0.02); }
.kf-ctxmenu { position: absolute; left: 50%; top: 40%; transform: translate(-50%,-50%); background: #4c4c4c; border-radius: 0.8rem; display: flex; overflow: hidden; }
.kf-ctxitem { border: none; background: none; color: #fff; font-size: 1.3rem; padding: 1rem 1.8rem; cursor: pointer; }
.kf-ctxitem:active { background: #333; }

.kf-viewer { position: fixed; inset: 0; z-index: 950; background: rgba(0,0,0,0.9); display: flex; align-items: center; justify-content: center; }
.kf-viewer-inner { max-width: 100%; max-height: 100%; padding: 1.5rem; }
.kf-viewer-inner img, .kf-viewer-inner video { max-width: 100%; max-height: 86vh; display: block; }
.kf-viewer-close { position: absolute; top: 1.5rem; right: 1.5rem; width: 3.6rem; height: 3.6rem; border: none; border-radius: 50%; background: rgba(255,255,255,0.2); color: #fff; font-size: 2.2rem; cursor: pointer; }

.kf-voicetip { position: fixed; inset: 0; z-index: 940; display: flex; align-items: center; justify-content: center; pointer-events: none; }
.kf-voicetip-box { background: rgba(0,0,0,0.7); border-radius: 1.2rem; padding: 2rem 2.4rem; display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.kf-voicetip-ico { font-size: 3.6rem; }
.kf-voicetip-text { color: #fff; font-size: 1.2rem; }

/* ============================================================
   国债持有证书入口卡（bond.php）+ 证书列表页（bond_certificates.php）
   1:1 还原 Figma 设计稿
   ============================================================ */

/* --- 国债页：持有证书入口卡（介绍卡下方） --- */
.bond-cert-entry {
  width: 38rem;
  margin: 1rem auto 0;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 1rem;
  height: 8.6rem;
  padding: 1rem 1.3rem;
  background: rgba(255, 253, 248, 0.96);
  border: 0.1rem solid #f0d2ae;
  border-radius: 1.2rem;
  box-shadow: 0 0.1rem 0.6rem rgba(161, 76, 0, 0.04);
  text-decoration: none;
}
.bond-cert-entry-icon {
  flex: 0 0 auto;
  width: 6.2rem;
  height: 6.2rem;
  border-radius: 0.8rem;
  overflow: hidden;
}
.bond-cert-entry-icon img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bond-cert-entry-main { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.bond-cert-entry-title { font-size: 1.6rem; font-weight: 500; color: #653017; }
.bond-cert-entry-sub { font-size: 1.05rem; line-height: 1.52rem; color: #5d514a; }
.bond-cert-entry-btn {
  flex: 0 0 auto;
  background: #d90a16;
  color: #fff;
  font-size: 1.1rem;
  font-weight: 700;
  padding: 0.9rem 1.3rem;
  border-radius: 1.6rem;
  white-space: nowrap;
}
.bond-cert-entry-arrow { flex: 0 0 auto; color: #cd7e24; font-size: 2.7rem; line-height: 1; margin-left: -0.2rem; }

/* --- 证书列表页 --- */
.bcert-body { background: #fcf2ea; }
.bcert-page {
  position: relative;
  width: 39.3rem;
  max-width: 100%;
  margin: 0 auto;
  min-height: 100vh;
  padding-bottom: 2.2rem;
  box-sizing: border-box;
}

/* 页头 */
.bcert-header { position: relative; height: 22.5rem; }
.bcert-header-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.bcert-topbar {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4.6rem;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.bcert-back {
  position: absolute;
  left: 1.4rem;
  top: 1.4rem;
  font-size: 2.8rem;
  line-height: 1;
  color: #fff;
  text-decoration: none;
}
.bcert-topbar-title { margin-top: 1.9rem; font-size: 1.6rem; line-height: 2rem; color: #fff; }
.bcert-topbar-msg { position: absolute; top: 2rem; right: 2.2rem; width: 1.7rem; height: 1.5rem; }
.bcert-big-title {
  position: absolute;
  top: 9.6rem; left: 0; right: 0;
  margin: 0;
  text-align: center;
  font-size: 3.4rem;
  line-height: 3.4rem;
  font-weight: 700;
  background: linear-gradient(180deg, #fdeacb 0%, #fbc273 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  filter: drop-shadow(0 0.4rem 0.4rem rgba(0, 0, 0, 0.25));
}

/* 股权说明 */
.bcert-desc { position: relative; width: 38rem; margin: -3.1rem auto 0; z-index: 1; }
.bcert-desc-ribbon { position: relative; width: 38rem; height: 3.5rem; }
.bcert-desc-ribbon img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  border-radius: 1rem 1rem 0 0;
  filter: drop-shadow(0 0.1rem 0.5rem rgba(0, 0, 0, 0.1));
}
.bcert-desc-ribbon-text {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; font-weight: 500; line-height: 1.6rem;
  background: linear-gradient(180deg, #fdeacb 0%, #fbc273 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.bcert-desc-text {
  margin: 0;
  padding: 2.2rem 1.6rem 2rem;
  font-size: 1.4rem;
  line-height: 2.2rem;
  color: #000;
  background: #fffaf3;
  border: 0.05rem solid #d8a85c;
  border-top: 0;
  border-radius: 0 0 1rem 1rem;
}

/* 证书列表 */
.bcert-list {
  width: 38rem;
  margin: 1.4rem auto 0;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
.bcert-empty { text-align: center; color: #999; font-size: 1.4rem; padding: 4rem 1rem; }

.bcert-card {
  position: relative;
  height: 13.6rem;
  background: rgba(255, 255, 255, 0.96);
  border-radius: 1.2rem;
  box-shadow: 0 0.4rem 1.3rem rgba(176, 176, 176, 0.13);
  overflow: hidden;
}
.bcert-card-left { position: absolute; left: 0.7rem; top: 1.5rem; width: 15.8rem; height: 10.4rem; }
.bcert-graphic { width: 100%; height: 100%; object-fit: cover; border-radius: 0.4rem; }
.bcert-badge {
  position: absolute;
  left: 0; top: -0.6rem;
  height: 2.2rem;
  display: flex; align-items: center;
  padding: 0 0.9rem 0 0.7rem;
  font-size: 1.02rem;
  color: #fff;
  background: linear-gradient(90deg, #f04421 0%, #ff7140 100%);
  border-radius: 0.3rem 0.5rem 0.5rem 0;
  box-shadow: 0 0.2rem 0.2rem rgba(207, 68, 30, 0.2);
  white-space: nowrap;
}
.bcert-card-right {
  position: absolute;
  left: 17.5rem; right: 1rem; top: 0.9rem; bottom: 0.5rem;
  display: flex;
  flex-direction: column;
}
.bcert-name {
  font-size: 1.34rem;
  font-weight: 500;
  color: #171717;
  letter-spacing: -0.025rem;
  line-height: 2rem;
}
.bcert-info { list-style: none; margin: 0.4rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0.3rem; flex: 1; }
.bcert-info li { display: flex; align-items: flex-start; font-size: 0.97rem; line-height: 1.5rem; }
.bcert-info-key { flex: 0 0 auto; color: #777; letter-spacing: -0.005rem; }
.bcert-info-val { color: #737373; letter-spacing: -0.005rem; word-break: break-all; }
.bcert-mono { font-family: 'Liberation Sans', Arial, sans-serif; }
.bcert-exchange {
  margin-top: 0.4rem;
  height: 2.2rem;
  width: 100%;
  border: 0;
  border-radius: 0.6rem;
  background: linear-gradient(90deg, #d90b11 0%, #e81a20 100%);
  color: #fff;
  font-size: 1.15rem;
  font-weight: 500;
  cursor: pointer;
  display: block;
  text-align: center;
  line-height: 2.2rem;
  text-decoration: none;
  box-sizing: border-box;
}
.bcert-exchange--done {
  background: #bdbdbd;
  cursor: default;
}

/* 立即兑换提示弹窗（居中） */
.bcert-modal-mask {
  position: fixed; inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.45);
  display: flex; align-items: center; justify-content: center;
}
.bcert-modal-mask[hidden] { display: none; }
.bcert-modal {
  width: 28rem;
  background: #fff;
  border-radius: 1.4rem;
  padding: 2.6rem 2rem 1.8rem;
  text-align: center;
  box-shadow: 0 0.6rem 3rem rgba(0, 0, 0, 0.2);
}
.bcert-modal-title { font-size: 1.7rem; font-weight: 600; color: #333; }
.bcert-modal-text { margin: 1.2rem 0 2rem; font-size: 1.4rem; line-height: 2.2rem; color: #666; }
.bcert-modal-ok {
  width: 100%;
  height: 4.2rem;
  border: 0;
  border-radius: 2.1rem;
  background: linear-gradient(90deg, #d90b11 0%, #e81a20 100%);
  color: #fff;
  font-size: 1.5rem;
  cursor: pointer;
}

/* ===================== 基金持有证书 & 中银专属款（fund_zone / fund_detail / fund_certificates / fund_certificate_view） ===================== */

/* ---------- 基金专区：持有证书入口卡（Figma 5:524） ---------- */
.fz-cert-entry { display: flex; align-items: center; margin-top: 1.2rem; padding: 0.7rem 1rem 0.2rem; background: linear-gradient(90deg, #fff8ef 0%, #ffffff 100%); border: 0.1rem solid #f0bb83; border-radius: 1rem; box-shadow: 0 0.2rem 0.4rem rgba(126,59,28,0.1); text-decoration: none; }
.fz-cert-entry-ic { width: 4.2rem; height: 3.8rem; flex: none; object-fit: contain; }
.fz-cert-entry-body { flex: 1; min-width: 0; padding-left: 1.1rem; }
.fz-cert-entry-title { font-size: 1.15rem; font-weight: 700; color: #151515; }
.fz-cert-entry-sub { margin-top: 0.3rem; font-size: 0.8rem; line-height: 1.05rem; color: #555; }
.fz-cert-entry-btn { flex: none; width: 8.2rem; height: 2.3rem; border: 0.1rem solid #e69127; border-radius: 0.6rem; background: #fff; color: #d96d00; font-size: 0.95rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }

/* ---------- 基金专区：中银稳健优选基金卡（Figma 4:257） ---------- */
.fzb-card { position: relative; margin-top: 1.2rem; padding: 0.9rem 1rem 0.7rem; background: rgba(255,212,212,0.96); border: 0.1rem solid rgba(218,199,184,0.65); border-radius: 1rem; box-shadow: 0 0.3rem 1rem rgba(91,43,19,0.08); display: flex; flex-wrap: wrap; align-items: flex-start; column-gap: 0.7rem; }
.fzb-bank-pill { position: absolute; top: 0.5rem; right: 1rem; background: #fff0f0; color: #df1b27; font-size: 0.9rem; font-weight: 500; padding: 0.15rem 0.7rem; border-radius: 1rem; }
.fzb-logo { width: 5.3rem; height: 5.2rem; flex: none; object-fit: contain; margin-top: 0.2rem; }
.fzb-body { flex: 1; min-width: 0; }
.fzb-nameline { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.fzb-name { font-size: 1.4rem; color: #20140f; font-weight: 600; letter-spacing: 0.01rem; }
.fzb-tag { font-size: 0.75rem; padding: 0.3rem 0.5rem; border-radius: 0.8rem; }
.fzb-tag--gold { background: #fff0d2; color: #c3770f; }
.fzb-tag--blue { background: #eaf2ff; color: #22599d; }
.fzb-intro { margin-top: 0.4rem; font-size: 0.78rem; color: #544c47; line-height: 1.15rem; }
.fzb-metrics { display: flex; margin-top: 0.6rem; }
.fzb-metric { flex: 1; min-width: 0; padding: 0 0.8rem; border-right: 0.1rem solid #e7ddd5; }
.fzb-metric:first-child { padding-left: 0; }
.fzb-metric--last { border-right: 0; padding-right: 0; }
.fzb-metric-label { display: block; font-size: 0.7rem; color: #75645c; }
.fzb-metric-val { display: block; margin-top: 0.3rem; font-size: 1.1rem; font-weight: 700; color: #c41418; font-family: 'Liberation Sans', Arial, sans-serif; }
.fzb-btns { flex: none; width: 7.6rem; display: flex; flex-direction: column; gap: 0.7rem; padding-top: 1.9rem; }
.fzb-btn-ghost { height: 2.2rem; border: 0.1rem solid #cf171c; border-radius: 0.6rem; background: #fff; color: #c8171b; font-size: 0.95rem; display: flex; align-items: center; justify-content: center; text-decoration: none; }
.fzb-btn-buy { height: 2.2rem; border: 0; border-radius: 0.6rem; background: linear-gradient(180deg, #dd231e, #b9060b); color: #fff; font-size: 0.95rem; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.fzb-btn-buy--done { background: #c9cdd4; color: #fff; cursor: not-allowed; font-size: 0.78rem; padding: 0 0.2rem; text-align: center; }
.fzb-foot { width: 100%; margin-top: 0.8rem; padding-top: 0.8rem; border-top: 0.1rem solid #eadfd7; display: flex; align-items: center; flex-wrap: wrap; }
.fzb-foot-item { font-size: 0.72rem; color: #77655b; display: flex; align-items: center; gap: 0.3rem; padding-right: 0.8rem; margin-right: 0.8rem; border-right: 0.1rem solid #eadfd7; }
.fzb-foot-item b { color: #20140f; font-weight: 500; }
.fzb-foot-note { font-size: 0.72rem; color: #8e3300; }

/* ---------- 中银详情页（Figma 5:324） ---------- */
.fdb-main { padding: 0 1.2rem; margin-top: -1.8rem; position: relative; z-index: 2; }
.fdb-card { background: #fff; border: 0.1rem solid rgba(235,225,219,0.9); border-radius: 1.1rem; box-shadow: 0 0.4rem 0.9rem rgba(96,46,18,0.1); padding: 1.1rem 0.9rem 0.9rem; }
.fdb-head { display: flex; gap: 0.6rem; position: relative; }
.fdb-logo { width: 7rem; height: 7.6rem; flex: none; object-fit: contain; }
.fdb-head-info { flex: 1; min-width: 0; padding-top: 0.2rem; }
.fdb-name { font-size: 1.7rem; color: #1f1f1f; font-weight: 600; }
.fdb-tags { display: flex; gap: 0.5rem; margin-top: 0.5rem; flex-wrap: wrap; }
.fdb-tag { font-size: 0.8rem; padding: 0.2rem 0.8rem; border-radius: 1rem; }
.fdb-tag--gold { background: #fff2dc; color: #22599d; }
.fdb-tag--blue { background: #eaf2ff; color: #22599d; }
.fdb-tag--red { background: #ffe9e7; color: #c63a36; font-weight: 700; }
.fdb-desc { margin-top: 0.7rem; font-size: 0.9rem; line-height: 1.3rem; color: #4e4e4e; }
.fdb-bank-badge { position: absolute; top: 0; right: 0; display: flex; align-items: center; gap: 0.3rem; padding: 0.4rem 0.6rem; border: 0.1rem solid #ecd6cf; border-radius: 0.7rem; background: linear-gradient(145deg, #fff 0%, #fff8f5 100%); }
.fdb-bank-badge-ic { font-size: 1.1rem; }
.fdb-bank-badge-txt { display: flex; flex-direction: column; line-height: 1.15; }
.fdb-bank-badge-txt b { font-size: 0.72rem; color: #a51419; font-weight: 700; }
.fdb-bank-badge-txt i { font-size: 0.58rem; color: #a51419; font-style: normal; }
.fdb-income { margin-top: 0.9rem; display: flex; border: 0.1rem solid #eee4de; border-radius: 0.8rem; background: #fff; }
.fdb-income-item { flex: 1; padding: 0.8rem 0.5rem; border-right: 0.1rem solid #eee5df; text-align: center; }
.fdb-income-item--last { border-right: 0; }
.fdb-income-hd { display: flex; align-items: center; justify-content: center; gap: 0.4rem; }
.fdb-income-ic { width: 1.6rem; height: 1.6rem; border-radius: 0.8rem; display: flex; align-items: center; justify-content: center; font-size: 0.9rem; }
.fdb-income-ic--red { background: #fff0f0; }
.fdb-income-ic--gold { background: #fff5e4; }
.fdb-income-ic--brown { background: #f3ede6; }
.fdb-income-label { font-size: 0.8rem; color: #1f1f1f; }
.fdb-income-val { margin-top: 0.4rem; font-size: 1.4rem; font-weight: 700; color: #d91017; font-family: 'Liberation Sans', Arial, sans-serif; }
.fdb-stats { margin-top: 0.8rem; display: flex; }
.fdb-stat { flex: 1; display: flex; align-items: center; gap: 0.4rem; padding-right: 0.5rem; border-right: 0.1rem solid #eee5df; }
.fdb-stat--last { border-right: 0; }
.fdb-stat-ic { font-size: 1.1rem; flex: none; }
.fdb-stat-box { display: flex; flex-direction: column; min-width: 0; }
.fdb-stat-box i { font-size: 0.7rem; color: #77655b; font-style: normal; }
.fdb-stat-box b { font-size: 0.85rem; color: #20140f; font-weight: 600; white-space: nowrap; }
.fdb-why { margin-top: 1rem; padding: 1.2rem 1rem 0.8rem; border: 0.1rem solid #f0a878; border-radius: 0.7rem; background: linear-gradient(134deg, #fff 0%, #fffaf7 60%, #fff4e8 100%); }
.fdb-why-title { display: flex; align-items: center; gap: 0.5rem; font-size: 1rem; font-weight: 900; color: #bb171b; }
.fdb-why-flag { color: #bb171b; }
.fdb-why-list { list-style: none; margin: 0.8rem 0 0; padding: 0; display: flex; flex-direction: column; gap: 0.6rem; }
.fdb-why-list li { display: flex; gap: 0.6rem; align-items: flex-start; }
.fdb-why-no { flex: none; width: 1.2rem; height: 1.2rem; border-radius: 0.6rem; background: linear-gradient(180deg, #e65119, #b51b0d); color: #fff; font-size: 0.72rem; display: flex; align-items: center; justify-content: center; font-weight: 700; margin-top: 0.1rem; }
.fdb-why-txt { flex: 1; min-width: 0; font-size: 0.78rem; line-height: 1.2rem; color: #333; }
.fdb-why-txt b { color: #191919; font-weight: 700; }
.fdb-grid { margin-top: 0.8rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem; align-items: start; }
.fdb-brief, .fdb-steps { background: #fff; border: 0.1rem solid #ead8cf; border-radius: 0.7rem; padding: 0.8rem 1rem; }
.fdb-sec-title { display: flex; align-items: center; gap: 0.5rem; font-size: 1rem; font-weight: 900; color: #191919; }
.fdb-sec-ic--star { color: #e68b00; }
.fdb-brief-text { margin-top: 0.6rem; font-size: 0.72rem; line-height: 1.25rem; color: #333; }
.fdb-step { display: flex; align-items: center; gap: 0.7rem; margin-top: 0.6rem; font-size: 0.72rem; color: #191919; }
.fdb-step-no { flex: none; width: 1.3rem; height: 1.3rem; border: 0.1rem solid #f0b568; border-radius: 0.65rem; color: #df8610; font-size: 0.72rem; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.fdb-highlight { margin-top: 0.8rem; background: #fff; border: 0.1rem solid #ead8cf; border-radius: 0.7rem; padding: 0.8rem; }
.fdb-hl-grid { display: flex; gap: 0.6rem; margin-top: 0.7rem; }
.fdb-hl { flex: 1; min-width: 0; display: flex; gap: 0.5rem; align-items: center; padding: 0.7rem 0.6rem; border: 0.1rem solid #ead8cf; border-radius: 0.6rem; background: linear-gradient(139deg, #fff 0%, #fff7f0 100%); }
.fdb-hl-ic { flex: none; font-size: 1.2rem; }
.fdb-hl-ic--green { color: #20a253; font-weight: 700; }
.fdb-hl-body { display: flex; flex-direction: column; min-width: 0; }
.fdb-hl-body b { font-size: 0.72rem; color: #191919; font-weight: 700; }
.fdb-hl-body i { font-size: 0.62rem; color: #333; font-style: normal; line-height: 0.92rem; }
.fdb-actions { margin-top: 1rem; display: grid; grid-template-columns: 1fr 1.15fr; gap: 1rem; }
.fdb-btn-back { height: 3.1rem; border: 0.1rem solid #e10c14; border-radius: 0.6rem; background: #fff; color: #e51a1a; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; text-decoration: none; }
.fdb-btn-buy { height: 3.1rem; border: 0; border-radius: 0.6rem; background: linear-gradient(90deg, #ee161d, #c8070d); color: #fff; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.fdb-btn-buy--done { background: #c9cdd4; color: #fff; cursor: not-allowed; }

/* ---------- 基金持有证书列表（Figma 5:539） ---------- */
.fcert-main { padding: 0 0.7rem; position: relative; z-index: 2; }
.fcert-note { display: flex; gap: 0.6rem; align-items: center; padding: 0.9rem 1rem; border: 0.1rem solid #f0d2bf; border-radius: 1rem; background: linear-gradient(95deg, #fff 0%, #fffaf6 100%); box-shadow: 0 0.2rem 0.35rem rgba(133,49,15,0.08); margin-top: 0.4rem; }
.fcert-note-ic { width: 6.9rem; height: 6.5rem; flex: none; object-fit: contain; }
.fcert-note-body { flex: 1; min-width: 0; border-left: 0.1rem solid #efcdbd; padding-left: 1rem; }
.fcert-note-title { display: flex; align-items: center; gap: 0.4rem; font-size: 1.34rem; font-weight: 700; color: #181818; letter-spacing: 0.05rem; }
.fcert-note-diamond { color: #e6a100; font-size: 1rem; }
.fcert-note-text { margin-top: 0.6rem; font-size: 0.78rem; line-height: 1.3rem; color: #222; }
.fcert-stats { display: flex; margin-top: 0.8rem; padding: 0.8rem 1rem; border: 0.1rem solid #f0d2bf; border-radius: 1rem; background: linear-gradient(90deg, #fff 0%, #fff8f2 100%); }
.fcert-stat { flex: 1; display: flex; align-items: center; justify-content: center; gap: 1rem; }
.fcert-stat-ic { width: 3.47rem; height: 3.47rem; border-radius: 1.74rem; flex: none; display: flex; align-items: center; justify-content: center; box-shadow: inset 0 0 0 0.1rem rgba(255,255,255,0.6); }
.fcert-stat-ic img { width: 2rem; height: 2rem; display: block; filter: brightness(0) invert(1); }
.fcert-stat-ic--red { background: linear-gradient(145deg, #fa5252 0%, #bd0000 100%); }
.fcert-stat-ic--gold { background: linear-gradient(145deg, #ffc84d 0%, #e69a00 100%); }
.fcert-stat-box { display: flex; flex-direction: column; }
.fcert-stat-box i { font-size: 0.9rem; color: #181818; font-style: normal; }
.fcert-stat-box b { font-size: 1.5rem; color: #181818; font-weight: 700; }
.fcert-list { margin-top: 0; }
.fcert-empty { padding: 3rem 1rem; text-align: center; color: #999; font-size: 1.3rem; }
.fcert-card { display: flex; gap: 0.7rem; align-items: stretch; margin-top: 0.8rem; padding: 0.9rem 0.8rem; background: #fff; border: 0.1rem solid #f2dccb; border-radius: 1rem; box-shadow: 0 0.2rem 0.5rem rgba(133,49,15,0.05); }
.fcert-thumb-wrap { flex: none; width: 6.4rem; border-radius: 0.6rem; overflow: hidden; align-self: center; box-shadow: 0 0.1rem 0.4rem rgba(0,0,0,0.12); }
.fcert-thumb { width: 100%; height: 6.6rem; object-fit: cover; object-position: top center; display: block; }
.fcert-body { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.fcert-nameline { display: flex; align-items: center; gap: 0.4rem; }
.fcert-logo { width: 1.6rem; height: 1.6rem; object-fit: contain; flex: none; }
.fcert-name { font-size: 1.1rem; font-weight: 700; color: #181818; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fcert-state-badge { flex: none; font-size: 0.7rem; color: #118a19; background: #eaf9ec; border-radius: 0.4rem; padding: 0.1rem 0.4rem; }
.fcert-info { margin-top: 0.5rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.35rem 0.6rem; }
.fcert-info-row { display: flex; gap: 0.4rem; font-size: 0.78rem; min-width: 0; }
.fcert-info-row--full { grid-column: 1 / -1; }
.fcert-info-k { color: #555; flex: none; }
.fcert-info-v { color: #222; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fcert-mono { font-family: 'Liberation Sans', Arial, sans-serif; }
.fcert-amount { color: #e00000; font-weight: 600; }
.fcert-ok { color: #118a19; }
.fcert-btns { flex: none; width: 6.4rem; display: flex; flex-direction: column; gap: 0.6rem; justify-content: center; }
.fcert-btn-view { height: 2.46rem; border-radius: 0.6rem; background: linear-gradient(180deg, #f01111, #b90000); color: #fff; font-size: 0.95rem; display: flex; align-items: center; justify-content: center; text-decoration: none; }
.fcert-btn-exchange { height: 2.46rem; border: 0.1rem solid #f12525; border-radius: 0.6rem; background: #fff; color: #e81414; font-size: 0.95rem; display: flex; align-items: center; justify-content: center; cursor: pointer; text-decoration: none; box-sizing: border-box; }
.fcert-btn-exchange--done { border-color: #d0d0d0; color: #9a9a9a; background: #f4f4f4; cursor: default; }
.fcert-state-badge--done { color: #b26a00; background: #fff3e0; }
.fcert-done { color: #b26a00; }
.fcert-tip { display: flex; align-items: center; gap: 0.7rem; margin-top: 0.8rem; padding: 0.8rem 1.1rem; border: 0.1rem solid #f2c89d; border-radius: 1rem; background: linear-gradient(90deg, #fff9ef 0%, #fff8f2 100%); }
.fcert-tip-ic { font-size: 1.6rem; flex: none; }
.fcert-tip-body { flex: 1; min-width: 0; }
.fcert-tip-title { font-size: 0.9rem; font-weight: 700; color: #f45a1e; }
.fcert-tip-text { margin-top: 0.3rem; font-size: 0.75rem; line-height: 1.15rem; color: #555; }
.fcert-tip-shield { width: 3.8rem; height: 3.8rem; flex: none; }
.fcert-back-btn { display: flex; align-items: center; justify-content: center; height: 3.2rem; margin: 1.2rem 0.1rem 0; border-radius: 0.6rem; background: linear-gradient(180deg, #0b5cb4, #003f87); color: #fff; font-size: 1.4rem; text-decoration: none; }

/* ---------- 单张证书查看/保存（Figma 5:902-5:906 底图 + 动态字段） ---------- */
.fcv-body { background: #efe7de; min-height: 100vh; }
.fcv-page { max-width: 48rem; margin: 0 auto; min-height: 100vh; display: flex; flex-direction: column; }
.fcv-topbar { position: relative; height: 4.4rem; display: flex; align-items: center; justify-content: center; flex: none; }
.fcv-back { position: absolute; left: 1.2rem; top: 50%; transform: translateY(-50%); font-size: 2.8rem; line-height: 1; color: #333; text-decoration: none; }
.fcv-topbar-title { font-size: 1.6rem; font-weight: 600; color: #222; }
.fcv-stage { flex: 1; display: flex; align-items: flex-start; justify-content: center; padding: 0.4rem 0 2rem; }
.fcv-cert { position: relative; width: 39.3rem; max-width: 100%; aspect-ratio: 393 / 556; }
.fcv-cert-bg { width: 100%; height: 100%; display: block; border-radius: 0.4rem; }
.fcv-field { position: absolute; font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif; font-weight: 500; font-size: 1rem; line-height: 1.4rem; white-space: nowrap; color: #403838; }
.fcv-field--no { color: #222; }
.fcv-field--dark { color: #403838; }
.fcv-actions { position: sticky; bottom: 0; flex: none; padding: 1rem 1.2rem calc(1rem + env(safe-area-inset-bottom)); background: linear-gradient(180deg, rgba(239,231,222,0) 0%, #efe7de 35%); }
.fcv-save-btn { width: 100%; height: 4.4rem; border: 0; border-radius: 0.8rem; background: linear-gradient(90deg, #dd231e, #b9060b); color: #fff; font-size: 1.6rem; font-weight: 600; cursor: pointer; }
.fcv-save-mask { position: fixed; inset: 0; background: rgba(0,0,0,0.82); display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 1.2rem; z-index: 1000; padding: 2rem; }
.fcv-save-mask[hidden] { display: none; }
.fcv-save-box { display: flex; flex-direction: column; align-items: center; gap: 1.2rem; max-width: 100%; }
.fcv-save-img { width: 28rem; max-width: 82vw; border-radius: 0.6rem; box-shadow: 0 0.6rem 2rem rgba(0,0,0,0.5); }
.fcv-save-hint { color: #fff; font-size: 1.3rem; }
.fcv-save-close { padding: 0.8rem 3rem; border: 0.1rem solid #fff; border-radius: 2rem; background: transparent; color: #fff; font-size: 1.4rem; }

/* =====================================================================
   启用中心2 · 查看详情 弹层（Figma 13:8 一比一）
   ===================================================================== */
.vd-overlay {
  position: fixed; inset: 0; z-index: 1300;
  background: #fff7f1;
  overflow-y: auto; -webkit-overflow-scrolling: touch;
  animation: vdFade .2s ease;
}
.vd-overlay[hidden] { display: none; }
@keyframes vdFade { from { opacity: 0; } to { opacity: 1; } }
.vd-page { min-height: 100%; display: flex; flex-direction: column; }

.vd-header {
  position: sticky; top: 0; z-index: 3;
  background: #fff; height: 5.2rem;
  display: flex; align-items: center; justify-content: center;
}
.vd-header-title { font-size: 1.7rem; font-weight: 700; color: #222; }
.vd-back {
  position: absolute; left: 1.4rem; top: 50%; transform: translateY(-50%);
  border: 0; background: transparent; color: #000;
  font-size: 3rem; line-height: 1; cursor: pointer; padding: 0 .6rem;
}

/* Hero */
.vd-hero {
  position: relative; overflow: hidden;
  padding: 1.7rem 0 2.4rem;
  background: linear-gradient(145deg, #fffaf4 0%, #fff0e5 55%, #fff8f1 100%);
  display: flex; flex-direction: column; align-items: center;
}
.vd-hero-deco {
  position: absolute; right: -0.2rem; top: 4.7rem; width: 7.2rem; height: 6rem;
  background: #d87936; border-top: 1rem solid #e49a54; opacity: .26;
  display: flex; gap: .4rem; padding: 1.8rem 1.3rem .7rem;
}
.vd-hero-deco i { width: .6rem; height: 3.5rem; background: #fff2dc; }
.vd-hero-deco::before {
  content: ""; position: absolute; left: 50%; top: -2.7rem; transform: translateX(-50%);
  border-left: 4.3rem solid transparent; border-right: 4.3rem solid transparent;
  border-bottom: 1.8rem solid #d86b32;
}
.vd-hero-t { position: relative; z-index: 1; font-size: 2.4rem; font-weight: 700; color: #c51e1a; line-height: 2.4rem; }
.vd-hero-s { position: relative; z-index: 1; margin-top: 1rem; font-size: 1.7rem; font-weight: 700; color: #222; line-height: 1.7rem; }
.vd-hero-box {
  position: relative; z-index: 1; margin: 1.4rem 2.8rem 0;
  align-self: stretch; display: flex; align-items: center; gap: .6rem;
  min-height: 4.9rem; padding: .6rem 1.3rem;
  background: #fffaf5; border: .1rem solid #f9e7d8; border-radius: .9rem;
  box-shadow: 0 .2rem .4rem rgba(157,63,32,.1);
}
.vd-hero-box-ic { width: 2.6rem; height: auto; flex-shrink: 0; }
.vd-hero-box-tx { font-size: 1.05rem; line-height: 1.7rem; color: #222; }
.vd-hero-box-tx b { color: #d6231c; font-weight: 400; }
.vd-hero-curve {
  position: absolute; left: -2rem; right: -2rem; bottom: -2.6rem; height: 6.5rem;
  background: #fff8f5; border-radius: 14rem 14rem 0 0;
}

/* Main cards */
.vd-main { position: relative; z-index: 1; padding: 1.4rem 1.6rem 0; }
.vd-card {
  position: relative; background: #fff; border-radius: 1.1rem;
  box-shadow: 0 .4rem .8rem rgba(198,91,42,.12);
  margin-bottom: 1.3rem; padding: 1.7rem 1.3rem 1.4rem;
}
.vd-bar { position: absolute; left: 1.3rem; top: 1.7rem; width: .4rem; height: 1.4rem; background: #dd2a20; border-radius: .2rem; }
.vd-card-t { font-size: 1.4rem; font-weight: 700; color: #b71916; padding-left: 1.4rem; }

/* 政策依据 */
.vd-policy { min-height: 11.1rem; }
.vd-policy-tx { margin-top: 1.3rem; padding-right: 6.5rem; font-size: 1.05rem; line-height: 1.8rem; color: #222; }
.vd-policy-ic { position: absolute; right: 1.5rem; top: 4.1rem; width: 4.3rem; height: 5.4rem; object-fit: contain; }

/* 为什么需要持有中银基金 */
.vd-reason { display: flex; align-items: center; gap: .6rem; min-height: 6.2rem; }
.vd-reason--line { border-bottom: .1rem solid #eee; }
.vd-reason-ic { width: 5.6rem; height: 4.4rem; object-fit: contain; flex-shrink: 0; }
.vd-reason-t { font-size: 1.3rem; font-weight: 700; color: #222; margin-bottom: .5rem; }
.vd-reason-d { font-size: .95rem; line-height: 1.5rem; color: #666; }

/* 如何满足条件 */
.vd-how .vd-steps { margin-top: 1.4rem; display: flex; align-items: flex-start; justify-content: space-between; }
.vd-step { width: 9.8rem; display: flex; flex-direction: column; align-items: center; gap: .6rem; }
.vd-step-no { width: 1.8rem; height: 1.8rem; border-radius: .9rem; background: #ffc472; color: #fff; font-size: .9rem; font-weight: 700; line-height: 1.8rem; text-align: center; }
.vd-step-ic { width: 4.8rem; height: 4.8rem; border-radius: 2.4rem; object-fit: cover; }
.vd-step-tx { font-size: .95rem; line-height: 1.3rem; color: #222; text-align: center; }
.vd-step-arw { margin-top: 2.6rem; font-size: 3.2rem; line-height: 1; color: #f4c5b6; }

/* 温馨提示 */
.vd-tip { padding: 1rem 1.3rem; }
.vd-tip-t { font-size: 1.03rem; font-weight: 700; color: #d22a1e; margin-bottom: .5rem; }
.vd-tip-d { font-size: .88rem; line-height: 1.4rem; color: #444; }

/* Footer */
.vd-footer { position: sticky; bottom: 0; margin-top: auto; padding: .6rem 1.6rem 1.2rem; background: #fff7f1; }
.vd-footer-btn {
  width: 100%; border: 0; cursor: pointer; color: #fff;
  min-height: 4rem; border-radius: .8rem; font-size: 1.5rem; font-family: inherit;
  background: linear-gradient(90deg, #dc261f 0%, #c51612 100%);
}

/* =====================================================================
   清算卡服务协议 弹层（Figma 13:97 一比一）
   ===================================================================== */
.sp-overlay {
  position: fixed; inset: 0; z-index: 1300;
  background: #f7f7f7; display: flex; flex-direction: column;
  animation: vdFade .2s ease;
}
.sp-overlay[hidden] { display: none; }
.sp-page { height: 100%; width: 100%; display: flex; flex-direction: column; }

.sp-header {
  position: relative; flex-shrink: 0; height: 4.4rem;
  background: linear-gradient(90deg, #e70000 0%, #ff1118 100%);
  display: flex; align-items: center; justify-content: center;
}
.sp-header-title { font-size: 1.62rem; color: #fff; letter-spacing: .025rem; }
.sp-back {
  position: absolute; left: 1.3rem; top: 50%; transform: translateY(-50%);
  border: 0; background: transparent; color: #fff;
  font-size: 2.6rem; line-height: 1; cursor: pointer; padding: 0 .6rem;
}

.sp-card {
  flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch;
  margin: 1rem 1.3rem .2rem; padding: 2rem 1.3rem 1.6rem;
  background: #fff; border-radius: .92rem; box-shadow: 0 .3rem 1.1rem rgba(0,0,0,.1);
}
.sp-card-t { text-align: center; font-size: 1.86rem; color: #000; line-height: 2.5rem; letter-spacing: .015rem; }
.sp-intro { margin-top: 1.6rem; font-size: .89rem; line-height: 1.53rem; color: #000; letter-spacing: .005rem; }
.sp-sep { margin: 1.2rem 0; border-top: .1rem solid #d7d7d7; }
.sp-art { margin-bottom: 1rem; }
.sp-art-t { font-size: 1.11rem; color: #000; line-height: 1.5rem; margin-bottom: .3rem; letter-spacing: .01rem; }
.sp-art-d { padding-left: 2.16rem; font-size: .89rem; line-height: 1.38rem; color: #000; }

.sp-hint { flex-shrink: 0; display: flex; align-items: center; gap: .6rem; padding: .6rem 1.8rem 0; font-size: .9rem; color: #202020; }
.sp-hint-ic { color: #ff1118; }
.sp-agree { flex-shrink: 0; display: flex; align-items: center; padding: .4rem 1.8rem 0; font-size: .87rem; }
.sp-agree-box { width: 1.3rem; height: 1.3rem; margin-right: 1rem; border: .1rem solid #5a5a5a; border-radius: .65rem; background: #fff; flex-shrink: 0; }
.sp-agree-tx { color: #777; }
.sp-agree-link { margin-left: .7rem; color: #08f; text-decoration: none; }

.sp-footer { flex-shrink: 0; display: flex; gap: .8rem; padding: .8rem 1.7rem 1.4rem; }
.sp-btn { flex: 1 1 0; min-height: 3.6rem; border-radius: 1.23rem; font-size: 1.12rem; font-family: inherit; cursor: pointer; letter-spacing: .015rem; }
.sp-btn--ghost { background: #fff; border: .1rem solid #ff1118; color: #ff1118; }
.sp-btn--primary { border: 0; color: #fff; background: linear-gradient(90deg, #ff4851 0%, #ff171f 100%); }

/* =====================================================================
   幸运大抽奖 · 获取次数弹窗 / 召集弹窗（Figma 15:234 / 15:242 一比一）
   ===================================================================== */
.lg-mask {
  position: fixed; inset: 0; z-index: 1300;
  background: rgba(0, 0, 0, .5);
  display: flex; align-items: center; justify-content: center;
  padding: 2rem;
}
.lg-mask[hidden] { display: none; }
.lg-box {
  width: 34.1rem; max-width: 100%;
  background: #fff; border-radius: 1.6rem; overflow: hidden;
  box-shadow: 0 2.5rem 5rem -1.2rem rgba(0, 0, 0, .25);
  padding: 1.9rem 1.1rem 2.2rem;
}
.lg-title { text-align: center; font-size: 1.4rem; font-weight: 500; color: #000; line-height: 2.4rem; }
.lg-text { margin-top: 1rem; font-size: 1.4rem; line-height: 2.6rem; color: #000; }
.lg-text--center { text-align: center; margin-top: 1.1rem; }
.lg-text .lg-red { color: #e60012; }
.lg-btns { margin-top: 1.8rem; display: flex; gap: 2.4rem; justify-content: center; }
.lg-btn {
  width: 13.4rem; height: 3.4rem; border: 0; border-radius: .8rem;
  background: #c81d25; color: #fff; font-size: 1.4rem; font-weight: 500;
  box-shadow: 0 .4rem .4rem rgba(0, 0, 0, .25); cursor: pointer; font-family: inherit;
}
.lg-btn--wide { width: 24.1rem; }
.lg-btn--full { width: 29.2rem; margin: 1rem auto 0; display: block; }

/* ============================================================
   中银基金·中央清算卡绑定（fund_bind.php）
   ============================================================ */
.fb-body { background: #fcf2ea; margin: 0; }
.fb-page { position: relative; width: 39.3rem; max-width: 100%; margin: 0 auto; min-height: 100vh; background: #fcf2ea; overflow-x: hidden; padding-bottom: 14rem; box-sizing: border-box; }

/* 顶部红色头图 + 标题栏 */
.fb-top { position: relative; height: 4.6rem; z-index: 2; }
.fb-top-bg { position: absolute; top: 0; left: 0; width: 39.3rem; max-width: 100%; height: 22.5rem; object-fit: cover; z-index: -1; }
.fb-back { position: absolute; top: 1.4rem; left: 2rem; width: 2.4rem; height: 2.4rem; border: 0; background: transparent; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.fb-top-title { display: block; text-align: center; line-height: 4.6rem; color: #fff; font-size: 1.6rem; letter-spacing: 0.1rem; }

.fb-main { position: relative; z-index: 2; padding: 0 1.8rem; }

/* 卡片状态卡 */
.fb-statuscard { position: relative; margin-top: 3.5rem; height: 13.5rem; border: 0.1rem solid rgba(255,233,199,0.95); border-radius: 1.3rem; box-shadow: 0 0.5rem 1rem rgba(113,33,0,0.18); background: linear-gradient(137deg, #fff8ed 0%, #fffdfa 56%, #fff1dc 100%); overflow: hidden; box-sizing: border-box; }
.fb-statuscard-l { position: absolute; left: 1.7rem; top: 1.8rem; width: 13rem; }
.fb-sc-title { margin: 0; color: #b8000d; font-size: 1.8rem; letter-spacing: 0.1rem; }
.fb-sc-pill { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 1rem; background: #ffd9d0; color: #b6000a; font-size: 1rem; padding: 0.4rem 0.9rem 0.5rem; border-radius: 1.8rem; }
.fb-sc-pill i { width: 0.5rem; height: 0.5rem; border-radius: 0.25rem; background: #c4000d; }
.fb-sc-desc { margin: 1.3rem 0 0; color: #3d312d; font-size: 1rem; line-height: 1.7rem; }
.fb-sc-card { position: absolute; right: 1.3rem; top: 2.1rem; width: 15.4rem; height: 10.1rem; object-fit: contain; border-radius: 0.9rem; }

/* 通用小节卡 */
.fb-section { position: relative; margin-top: 1.2rem; background: rgba(255,255,255,0.96); border: 0.1rem solid #f1d3c3; border-radius: 1.1rem; box-shadow: 0 0.3rem 0.9rem rgba(176,83,25,0.08); padding: 1.1rem 0.9rem 0.9rem; box-sizing: border-box; }
.fb-section-hd { display: flex; align-items: center; gap: 0.6rem; color: #ba0010; font-size: 1.1rem; padding-left: 0.3rem; }
.fb-hd-ic { font-size: 1.2rem; }

/* 表单 */
.fb-form { margin-top: 0.6rem; border: 0.1rem solid #f1d9cd; border-radius: 0.8rem; padding: 0 0.8rem; }
.fb-field { display: flex; align-items: center; height: 3.9rem; border-bottom: 0.1rem solid #ece7e3; }
.fb-field--last { border-bottom: 0; }
.fb-field-ic { flex: none; width: 1.5rem; height: 1.5rem; display: flex; align-items: center; justify-content: center; }
.fb-field-label { flex: none; width: 9.8rem; padding-left: 0.7rem; color: #302a29; font-size: 1rem; }
.fb-field-input { flex: 1; min-width: 0; border: 0; background: transparent; font-size: 1rem; color: #302a29; font-family: inherit; outline: none; padding: 0; }
.fb-field-input::placeholder { color: #aaa6a7; }
.fb-field-input.is-locked { color: #302a29; }
.fb-note { display: flex; gap: 0.7rem; align-items: center; margin-top: 0.8rem; padding: 0.7rem 0.8rem; background: #fff7f0; border: 0.1rem solid #f4e0d3; border-radius: 0.7rem; color: #7a5a48; font-size: 0.9rem; line-height: 1.4rem; }
.fb-note-ic { flex: none; font-size: 1.6rem; }

/* 还未收到卡 */
.fb-cs { overflow: hidden; }
.fb-cs-text { margin: 0.7rem 0 0; color: #4b4545; font-size: 0.9rem; line-height: 1.6rem; }
.fb-cs-btn { display: inline-flex; align-items: center; gap: 0.6rem; margin-top: 1rem; padding: 0.7rem 1.1rem; border-radius: 0.6rem; background: linear-gradient(90deg, #bd0011, #e3170b); color: #fff; font-size: 0.9rem; text-decoration: none; box-shadow: 0 0.2rem 0.25rem rgba(187,0,16,0.22); }
.fb-cs-illus { position: absolute; right: 2.8rem; bottom: -0.1rem; width: 11rem; height: 9.1rem; object-fit: contain; }

/* 绑定后可使用 */
.fb-uses { margin-top: 0.6rem; display: flex; border: 0.1rem solid #f2ddd3; border-radius: 0.8rem; padding: 0.6rem 0; }
.fb-use { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 0.2rem; position: relative; }
.fb-use--div::before { content: ''; position: absolute; left: 0; top: 0.9rem; width: 0.1rem; height: 3.5rem; background: #f0ded6; }
.fb-use-ic { font-size: 2rem; line-height: 1; }
.fb-use b { color: #2b2625; font-size: 0.9rem; font-weight: 500; margin-top: 0.2rem; }
.fb-use i { color: #8f8a89; font-size: 0.7rem; font-style: normal; }

/* 立即绑定 */
.fb-submit { display: block; width: 100%; margin-top: 1.4rem; height: 3.6rem; border: 0; border-radius: 0.8rem; background: linear-gradient(90deg, #ff6500, #dc1106 50%, #c90018); color: #fff; font-size: 1.5rem; font-weight: 700; letter-spacing: 0.1rem; cursor: pointer; box-shadow: 0 0.3rem 0.3rem rgba(179,29,0,0.22); font-family: inherit; }
.fb-submit:disabled { opacity: 0.7; }

.fb-footer { position: absolute; left: 0; bottom: 0; width: 39.3rem; max-width: 100%; height: 13.9rem; object-fit: cover; z-index: 0; }

/* ---------- 绑定成功态 ---------- */
.fb-result-body { background: linear-gradient(180deg, #fff9f5, #fff 61%, #fffaf7); }
.fb-result { background: transparent; padding-bottom: 3rem; }
.fb-rtop { position: relative; height: 3.7rem; background: linear-gradient(90deg, #bd0000, #de0909 55%, #c70000); display: flex; align-items: center; justify-content: center; }
.fb-rback { position: absolute; left: 1.1rem; top: 0.7rem; width: 2.4rem; height: 2.4rem; border: 0; background: transparent; display: flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; }
.fb-rtop-title { color: #fff; font-size: 1.7rem; letter-spacing: 0.05rem; text-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.2); }

.fb-hero { position: relative; height: 18.6rem; }
.fb-hero-bg { position: absolute; top: 0; left: 0; width: 39.3rem; max-width: 100%; height: 17.6rem; object-fit: cover; }
.fb-hero-check { position: absolute; left: 50%; transform: translateX(-50%); top: 2.9rem; width: 8.2rem; height: 8.2rem; object-fit: contain; }
.fb-hero-title { position: absolute; left: 0; right: 0; top: 12.2rem; text-align: center; color: #b70b0b; font-size: 2.4rem; letter-spacing: 0.1rem; text-shadow: 0 0.1rem 0.1rem rgba(255,255,255,0.8); }
.fb-hero-sub { position: absolute; left: 0; right: 0; top: 15.7rem; text-align: center; color: #fff; font-size: 1.2rem; letter-spacing: 0.025rem; }
/* 新绑定成功：2 行副标题，红色区域加高 */
.fb-hero--adv { height: 20.6rem; }
.fb-hero--adv .fb-hero-bg { height: 19.6rem; }
.fb-hero--adv .fb-hero-title { top: 11.8rem; }
.fb-hero--adv .fb-hero-sub { top: 15.2rem; line-height: 1.75rem; }

.fb-rmain { position: relative; z-index: 1; padding: 0 1.7rem; margin-top: 0.3rem; }

/* 中央清算卡信息卡 */
.fb-rcard { background: rgba(255,255,255,0.92); border: 0.1rem solid #f1ccb9; border-radius: 0.8rem; padding: 0.9rem 0.8rem; }
.fb-rcard-hd { display: flex; align-items: center; gap: 0.6rem; color: #c91919; font-size: 1.1rem; }
.fb-rcard-ic { font-size: 1.2rem; }
.fb-rcard-box { display: flex; align-items: center; gap: 0.8rem; margin-top: 0.6rem; padding: 0.9rem; border: 0.1rem solid #f4d6c8; border-radius: 0.7rem; background: linear-gradient(90deg, #fff, #fffdfa); }
.fb-rcard-img { flex: none; width: 13rem; height: 7.4rem; object-fit: contain; }
.fb-rcard-rows { flex: 1; min-width: 0; }
.fb-rcard-row { display: flex; align-items: center; justify-content: space-between; padding: 0.3rem 0; font-size: 1rem; }
.fb-rcard-row span { color: #8a7f7a; }
.fb-rcard-row b { color: #2b2625; font-weight: 500; }
.fb-rcard-tag { background: #e8fbef; color: #21a15a; font-size: 0.9rem; font-style: normal; padding: 0.1rem 0.6rem; border-radius: 0.4rem; }
.fb-rserve { display: flex; gap: 0.8rem; margin-top: 0.9rem; padding: 0.9rem; border: 0.1rem solid #cfe9d8; border-radius: 0.7rem; background: linear-gradient(90deg, #f3fbf6, #fbfffc); }
.fb-rserve-shield { flex: none; font-size: 3rem; line-height: 1; }
.fb-rserve-body b { color: #1f7a44; font-size: 1.1rem; }
.fb-rserve-body p { margin: 0.4rem 0 0; display: flex; align-items: flex-start; gap: 0.4rem; color: #4a4a4a; font-size: 0.85rem; line-height: 1.2rem; }
.fb-rserve-body p i { color: #21a15a; font-style: normal; font-weight: 700; }

/* 基金关联状态 */
.fb-rfund { margin-top: 1rem; background: #fff; border: 0.1rem solid #f1ccb9; border-radius: 0.8rem; padding: 1rem 0.9rem; }
.fb-rfund-hd { display: flex; align-items: center; justify-content: space-between; }
.fb-rfund-hd-l { display: flex; align-items: center; gap: 0.6rem; color: #b8342a; font-size: 1.1rem; font-weight: 600; }
.fb-rfund-hd-ic { color: #e20c14; }
.fb-rfund-badge { background: #fff2e0; color: #d98a2b; font-size: 0.85rem; padding: 0.2rem 0.8rem; border-radius: 1rem; }
.fb-rfund-body { display: flex; gap: 0.8rem; margin-top: 0.9rem; }
.fb-rfund-icon { flex: none; font-size: 3.4rem; line-height: 1; }
.fb-rfund-main { flex: 1; min-width: 0; }
.fb-rfund-t { margin: 0; color: #1c1c1c; font-size: 1.1rem; font-weight: 600; }
.fb-rfund-sub { margin: 0.3rem 0 0; color: #888; font-size: 0.9rem; }
.fb-rfund-steps { display: flex; align-items: center; margin-top: 0.9rem; }
.fb-step { flex: 1; position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.4rem; }
.fb-step i { width: 1rem; height: 1rem; border-radius: 0.5rem; border: 0.1rem solid #9b9b9b; background: #fff; box-sizing: border-box; }
.fb-step.done i { border-color: #e21a20; background: #e21a20; box-shadow: 0 0 0 0.3rem #fff, 0 0 0 0.4rem #e21a20; }
.fb-step span { color: #777; font-size: 0.75rem; }
.fb-step.done span { color: #cf1a1a; }
.fb-step:not(:last-child)::after { content: ''; position: absolute; top: 0.45rem; left: 60%; width: 80%; height: 0.1rem; background: #cfcfcf; }
.fb-step.done:not(:last-child)::after { background: linear-gradient(90deg, #e21a20 50%, #9c9c9c 50%); }
.fb-rfund-list { margin: 0.9rem 0 0; padding: 0; list-style: none; }
.fb-rfund-list li { position: relative; padding-left: 1.2rem; color: #666; font-size: 0.8rem; line-height: 1.7rem; }
.fb-rfund-list li::before { content: ''; position: absolute; left: 0; top: 0.65rem; width: 0.55rem; height: 0.55rem; border: 0.1rem solid #ff9600; border-radius: 0.3rem; box-sizing: border-box; }

/* 温馨提示 */
.fb-rtip { margin-top: 1rem; background: #fffdfb; border: 0.1rem solid #f3d5ca; border-radius: 0.7rem; padding: 0.6rem 0.9rem; }
.fb-rtip-t { color: #d82420; font-size: 1rem; }
.fb-rtip p { margin: 0.3rem 0 0; color: #4d4f54; font-size: 0.8rem; line-height: 1.3rem; }

/* 底部按钮 */
.fb-ractions { display: flex; gap: 1.2rem; margin-top: 1.4rem; }
.fb-rbtn { flex: 1; height: 3.5rem; border-radius: 0.8rem; display: flex; align-items: center; justify-content: center; gap: 0.5rem; font-size: 1.3rem; text-decoration: none; box-sizing: border-box; }
.fb-rbtn--ghost { background: #fff; border: 0.1rem solid #df1717; color: #d10e0e; }
.fb-rbtn--primary { background: linear-gradient(180deg, #e20c12, #c9060d); border: 0.1rem solid #d70b11; color: #fff; box-shadow: 0 0.3rem 0.4rem rgba(204,0,0,0.16); }

/* 新绑定成功·下一步联系专属客服（Figma 23:1589 / 23:1615 / 23:1624） */
.fbcs { display: flex; align-items: center; gap: 0.8rem; margin-top: 1rem; padding: 1rem 0.9rem; box-sizing: border-box;
  border: 0.1rem solid #f1b78f; border-radius: 0.7rem; background: linear-gradient(90deg, #fffaf5, #fff); }
.fbcs-agent { flex: none; width: 7.1rem; height: 10.4rem; object-fit: contain; align-self: flex-end; }
.fbcs-bd { flex: 1; min-width: 0; }
.fbcs-title { color: #c50b13; font-size: 1.3rem; font-weight: 500; }
.fbcs-desc { margin: 0.4rem 0 0; color: #555a63; font-size: 0.88rem; line-height: 1.28rem; }
.fbcs-chips { display: flex; margin-top: 0.7rem; padding: 0.5rem 0; background: rgba(255,255,255,0.9);
  border-radius: 0.5rem; box-shadow: 0 0.3rem 1rem rgba(120,50,10,0.06); }
.fbcs-chip { position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 0.3rem;
  font-size: 0.78rem; color: #50545c; }
.fbcs-chip img { width: 1.7rem; height: 1.7rem; display: block; }
.fbcs-chip--div::before { content: ''; position: absolute; left: 0; top: 0.2rem; width: 0.1rem; height: 2.7rem; background: #eee0db; }
.fbcs-actions { display: flex; flex-direction: column; gap: 1rem; margin-top: 1.4rem; }
.fbcs-btn-primary { display: flex; align-items: center; justify-content: center; gap: 0.8rem; height: 4.7rem;
  border-radius: 0.8rem; background: linear-gradient(90deg, #ee1a20, #d00c12); color: #fff; font-size: 1.5rem;
  font-weight: 700; text-decoration: none; box-shadow: 0 0.4rem 0.8rem rgba(210,10,16,0.25); }
.fbcs-btn-ic { width: 2.4rem; height: 2.4rem; display: inline-flex; }
.fbcs-btn-ic img { width: 2.4rem; height: 2.4rem; display: block; }
.fbcs-btn-ghost { display: flex; align-items: center; justify-content: center; gap: 0.6rem; height: 3.8rem;
  border-radius: 0.8rem; background: #fff; border: 0.1rem solid #e6b9b9; color: #d10e0e; font-size: 1.4rem; text-decoration: none; }
.fbcs-home-ic { font-size: 1.5rem; }
.fbcs-btn-primary:active, .fbcs-btn-ghost:active { opacity: 0.92; }

/* 首页·绑定中央清算卡卡片（Figma 绑定卡片 9:2） */
.bindcard { position: relative; display: flex; align-items: center; justify-content: space-between; margin-top: 1rem; padding: 2.1rem 1.2rem 1.2rem 1.3rem; border: 0.2rem solid #f41b19; border-radius: 1rem; background: linear-gradient(90deg, #fff 0%, #fffaf4 65%, #fff0d9 100%); box-shadow: 0 0.3rem 0.5rem rgba(105,33,20,0.13); overflow: hidden; }
.bindcard-body { position: relative; z-index: 1; flex: none; width: 20.5rem; }
.bindcard-hd { display: flex; align-items: center; gap: 0.6rem; }
.bindcard-badge { width: 1.8rem; height: 1.8rem; border-radius: 0.3rem; object-fit: cover; }
.bindcard-name { color: #dd1219; font-size: 1.3rem; }
.bindcard-tag { border: 0.1rem solid #efb38d; color: #ed6a43; font-size: 0.8rem; padding: 0.3rem 0.8rem; border-radius: 0.9rem; }
.bindcard.is-bound .bindcard-tag { border-color: #7bc47f; color: #1aa863; }
.bindcard-title { margin: 0.9rem 0 0; color: #251d1b; font-size: 1.5rem; }
.bindcard-desc { margin: 0.4rem 0 0; color: #6a625e; font-size: 0.9rem; }
.bindcard-btn { margin-top: 1rem; border: 0; border-radius: 1.5rem; background: linear-gradient(90deg, #c70a13, #e12120); color: #fff; font-size: 1rem; padding: 0.8rem 1.7rem; cursor: pointer; font-family: inherit; }
.bindcard-art { position: absolute; right: 0.6rem; top: 50%; transform: translateY(-50%); width: 15.8rem; height: 10.7rem; object-fit: contain; z-index: 0; }

/* 首页·未持有中银基金提示弹窗（Figma 提示卡片 9:18） */
.bindtip-mask { position: fixed; inset: 0; z-index: 1400; background: rgba(0,0,0,0.45); display: flex; align-items: center; justify-content: center; }
.bindtip-mask[hidden] { display: none; }
.bindtip { width: 30.2rem; max-width: 84%; background: #fff; border-radius: 1.6rem; box-shadow: 0 2.5rem 5rem -1.2rem rgba(0,0,0,0.25); padding: 1.8rem 2.2rem 2.2rem; box-sizing: border-box; }
.bindtip-title { text-align: center; color: #000; font-size: 1.4rem; font-weight: 500; line-height: 2.4rem; }
.bindtip-text { margin: 1.7rem 0 0; color: #000; font-size: 1.4rem; line-height: 2.6rem; }
.bindtip-text span { color: #000; }
.bindtip-btn { display: flex; align-items: center; justify-content: center; margin: 1.7rem auto 0; width: 24.1rem; max-width: 100%; height: 3.4rem; border-radius: 0.8rem; background: #c81d25; color: #fff; font-size: 1.4rem; text-decoration: none; box-shadow: 0 0.4rem 0.4rem rgba(0,0,0,0.25); }

/* =====================================================================
 * 限时活动「持有金额减半，收益不减」·基金/国债共用样式
 *   - 基金页 Figma Frame 1000005224：证书入口下方横幅
 *   - 国债页 Figma Frame 1000005225：证书入口下方横幅
 *   - 参与卡片：右上「限时5折」金红渐变角标；持有金额显示原价划线 + 半价高亮
 * ===================================================================== */

/* 基金页横幅（Figma Frame 1000005224） */
.fz-promo-banner { margin: 1rem 1.5rem 0; border-radius: 1.1rem; overflow: hidden; box-shadow: 0 0.3rem 0.6rem rgba(200, 16, 46, 0.18); }
.fz-promo-banner img { display: block; width: 100%; height: auto; }

/* 国债页横幅（Figma Frame 1000005225） */
.bond-promo-banner { margin: 1rem 1.5rem 0; border-radius: 1.1rem; overflow: hidden; box-shadow: 0 0.3rem 0.6rem rgba(200, 16, 46, 0.18); }
.bond-promo-banner img { display: block; width: 100%; height: auto; }

/* 基金专区参与卡：容器允许溢出（角标露头） */
.fz-card.fz-card--promo { position: relative; overflow: visible; }
.fz-promo-badge {
  position: absolute; top: -0.6rem; right: 1rem; z-index: 2;
  padding: 0.3rem 0.9rem; font-size: 1.1rem; font-weight: 700; color: #fff;
  background: linear-gradient(135deg, #e23b3b 0%, #c8102e 100%);
  border-radius: 0.6rem; letter-spacing: 0.05rem;
  box-shadow: 0 0.2rem 0.4rem rgba(200, 16, 46, 0.35);
}

/* 基金卡底部「持有金额」原价划线 + 半价高亮 */
.fz-foot-item--promo { display: inline-flex; align-items: baseline; gap: 0.4rem; }
.fz-foot-old { color: #9c9d9f; font-size: 1rem; text-decoration: line-through; margin-left: 0.3rem; }
.fz-foot-new { color: #c8102e; font-weight: 700; }

/* 基金详情页顶部持有金额：原价划线 + 半价高亮 */
.fd-stat-promo { display: inline-flex; align-items: baseline; gap: 0.4rem; }
.fd-stat-promo s { color: #9c9d9f; font-size: 1.05rem; text-decoration: line-through; font-weight: 400; }
.fd-stat-promo .fd-stat-new { color: #c8102e; font-weight: 700; }

/* 国债参与卡：右上「限时5折」角标 */
.bond-card.bond-card--promo { position: relative; }
.bond-promo-badge {
  position: absolute; top: 0.8rem; right: 0.8rem; z-index: 3;
  padding: 0.3rem 0.9rem; font-size: 1.1rem; font-weight: 700; color: #fff;
  background: linear-gradient(135deg, #e23b3b 0%, #c8102e 100%);
  border-radius: 0.6rem; letter-spacing: 0.05rem;
  box-shadow: 0 0.2rem 0.4rem rgba(200, 16, 46, 0.35);
}
/* 同时命中收益翻倍角标时：把「限时5折」放到翻倍图标的正左侧
   (翻倍图标 right:8.2rem width:7.8rem → 左缘距右侧 16rem；留 0.4rem 间距 → right: 16.4rem)
   避免与左上角的国债名称冲突 */
.bond-card--boost.bond-card--promo .bond-promo-badge {
  left: auto;
  right: 16.4rem;
  top: 1.9rem;
}

/* 国债卡价格区：原价划线（小） + 半价（大） + 一行说明 */
.bond-card--promo .bond-card-price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0.5rem; }
.bond-price-old { color: #9c9d9f; font-size: 1.3rem; text-decoration: line-through; font-weight: 400; }
.bond-price-note { flex-basis: 100%; margin-top: 0.2rem; color: #c8102e; font-size: 1.1rem; font-weight: 500; }

/* ============================================================
 * 首页新组件：组件1（清算公告+4快捷入口）/ 组件2（可兑换权益总览）/ 组件3（限时优惠 banner）
 *   —— 全部原生 HTML/CSS，展示真实数据；1:1 对齐 Figma 组件1/组件2/组件3。
 * ============================================================ */

/* ==== 组件1（Figma 1:342）：清算公告条 + 4 列快捷入口 ==== */
.hc1 {
  display: block;
  width: 100%;
  margin: 1.2rem auto 0;
  background: #fff;
  border-radius: 0.9rem;
  overflow: hidden;
  box-shadow: 0 0.3rem 1rem rgba(123, 84, 58, 0.05);
}
.hc1-top {
  display: flex; align-items: center;
  padding: 0.55rem 1rem;
  background: #fff;
  gap: 0.9rem;
}
.hc1-tag {
  display: inline-flex; align-items: center; gap: 0.35rem;
  color: #0a84ff; font-weight: 500; font-size: 1.05rem;
  white-space: nowrap;
  padding-right: 0.9rem;
  border-right: 0.05rem solid #f0dfcf;
}
.hc1-tag-ic { width: 1.35rem; height: 1.35rem; display: block; }
.hc1-tip-link {
  flex: 1; min-width: 0;
  display: flex; align-items: center;
  text-decoration: none;
}
.hc1-tip-link:active { opacity: 0.7; }
.hc1-tip {
  flex: 1; min-width: 0;
  color: #0a84ff; font-size: 1.05rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.hc1-arrow {
  color: #0a84ff; font-size: 1.5rem; font-weight: 400; line-height: 1;
}
.hc1-btns {
  display: grid; grid-template-columns: repeat(4, 1fr);
  align-items: stretch;
  border-top: 0.05rem solid #f3e5d9;
  padding: 0.35rem 0.35rem 0.4rem;
  background: #fff;
}
.hc1-btn {
  position: relative;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 0.15rem;
  padding: 0.2rem 0.3rem 0.3rem;
  background: transparent; border: 0; cursor: pointer;
  text-decoration: none; text-align: center;
  -webkit-tap-highlight-color: transparent;
}
.hc1-btn + .hc1-btn::before {
  content: ''; position: absolute; left: 0; top: 0.15rem; bottom: 0.15rem;
  width: 0.05rem; background: #f1e1d5;
}
.hc1-btn-tt {
  color: #0a84ff; font-weight: 500; font-size: 1.15rem;
  text-decoration: underline; text-decoration-thickness: 0.05rem;
  text-decoration-color: #0a84ff;
  text-underline-offset: 0.15rem;
  white-space: nowrap;
}
.hc1-btn-sub {
  color: #a43c00; font-size: 0.85rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%;
}
.hc1-btn:active { background: rgba(216, 28, 32, 0.05); border-radius: 0.4rem; }
/* 右上角「1 条未读」红色角标：未点击时常亮（带轻微呼吸动画），点击一次后隐藏（JS 持久化） */
.hc1-badge {
  position: absolute; top: 0; right: 0.5rem; z-index: 2;
  min-width: 1.35rem; height: 1.35rem; padding: 0 0.32rem;
  display: inline-flex; align-items: center; justify-content: center;
  background: #ff3b30; color: #fff;
  font-size: 0.85rem; font-weight: 700; line-height: 1;
  border-radius: 0.7rem;
  box-shadow: 0 0 0 0.12rem #fff, 0 0.1rem 0.3rem rgba(255, 59, 48, 0.45);
  pointer-events: none;
  animation: hc1BadgePulse 1.4s ease-in-out infinite;
}
.hc1-badge[hidden] { display: none; }
@keyframes hc1BadgePulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.12); }
}

/* ==== 组件2（Figma 1:296）：持有证书可兑换数字人民币总览 ==== */
.hc2 {
  display: block; text-decoration: none;
  width: 100%;
  margin: 0 auto;
  padding: 0.6rem 0.8rem;
  background: rgba(255, 255, 255, 0.93);
  border: 0.05rem solid #eab365;
  border-radius: 0.8rem;
  box-shadow: 0 0.3rem 1rem rgba(112, 62, 40, 0.10);
}
.hc2:active { opacity: 0.94; }
.hc2-head {
  display: flex; align-items: baseline; gap: 0.9rem;
  padding-bottom: 0.35rem;
}
.hc2-title { color: #d61d23; font-weight: 500; font-size: 1.05rem; white-space: nowrap; }
.hc2-sub   { flex: 1; min-width: 0; color: #b97939; font-size: 0.85rem;
             overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hc2-arrow { color: #b16a24; font-size: 1.4rem; font-weight: 400; line-height: 1; }

.hc2-body {
  position: relative;
  display: flex; align-items: center;
  padding: 0.4rem 0.8rem;
  background: #fff;
  border: 0.05rem solid #eee2d8;
  border-radius: 0.6rem;
  min-height: 4.6rem;
}
.hc2-icon {
  flex: 0 0 auto;
  width: 3.9rem; height: auto; max-height: 4.1rem;
  object-fit: contain;
  filter: drop-shadow(0 0.2rem 0.1rem rgba(118, 65, 8, 0.12));
}
.hc2-vd {
  flex: 0 0 auto;
  width: 0.08rem; height: 2.5rem;
  background: #e7ddd7; margin: 0 0.35rem;
}
.hc2-stat {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 0 0.4rem;
}
.hc2-stat-lb { color: #3e3936; font-size: 0.85rem; white-space: nowrap; margin-bottom: 0.15rem; }
.hc2-stat-vl {
  color: #d81c20; font-weight: 700; font-size: 1.25rem;
  font-variant-numeric: tabular-nums;
  white-space: nowrap; line-height: 1.1;
}
.hc2-stat-vl strong { font-weight: 800; }
.hc2-stat-vl em { font-style: normal; font-size: 0.75rem; color: #d81c20; font-weight: 500; margin-left: 0.1rem; }
.hc2-money      { color: #d81c20; font-size: 1.25rem; }
.hc2-money.down { color: #17b26a; }
.hc2-spark { flex: 0 0 auto; width: 3rem; height: 2rem; margin: 0 0.2rem 0 0.3rem; }
.hc2-cta {
  flex: 0 0 auto;
  padding: 0.25rem 0.7rem;
  background: linear-gradient(180deg, #e52830, #bd0a12);
  color: #fff; font-size: 0.85rem; font-weight: 500;
  border-radius: 1rem;
  white-space: nowrap;
  align-self: flex-end;
}

@media (max-width: 25rem) {
  .hc2-stat-vl, .hc2-money { font-size: 1rem; }
  .hc2-stat-lb            { font-size: 0.75rem; }
  .hc2-icon               { width: 3.2rem; max-height: 3.4rem; }
  .hc2-spark              { width: 2.4rem; height: 1.6rem; }
  .hc2-cta                { padding: 0.2rem 0.55rem; font-size: 0.8rem; }
  .hc2-vd                 { margin: 0 0.2rem; }
  .hc1-btn-tt             { font-size: 1rem; }
  .hc1-btn-sub            { font-size: 0.7rem; }
  .hc1-tip                { font-size: 0.9rem; }
}

/* ==== 组件3（Figma 3:2）：国债 & 基金 限时优惠 ==== */
.hc3 {
  position: relative;
  display: block;
  width: 100%;
  margin: 1rem auto 0;
  padding: 2.4rem 1rem 1rem;
  border-radius: 1.1rem;
  overflow: hidden;
  color: #fff2bc;
  border: 0.05rem solid #ffb048;
  box-shadow: 0 0.2rem 0.5rem rgba(124, 0, 0, 0.22),
              inset 0 0 0 0.4rem #a40000,
              inset 0 0 0 0.5rem #ff932d;
  background:
    radial-gradient(ellipse at 20% 45%, rgba(255, 70, 20, 0.5), rgba(255, 70, 20, 0) 32%),
    radial-gradient(ellipse at 90% 70%, rgba(255, 181, 61, 0.35), rgba(255, 181, 61, 0) 28%),
    linear-gradient(133deg, #b30000 0%, #e21b06 55%, #8f0900 100%);
}

/* 顶部两条 ribbon */
.hc3-ribbons { position: absolute; left: 0; right: 0; top: 0; height: 2.2rem; }
.hc3-tag-l {
  position: absolute; left: 0; top: 0;
  display: inline-flex; align-items: center; gap: 0.6rem;
  height: 2.2rem;
  padding: 0 1.4rem 0 1.4rem;
  background: linear-gradient(180deg, #e83c0b, #9e0600);
  color: #fff0c5; font-size: 1rem; font-weight: 500;
  clip-path: polygon(0 0, 100% 0, calc(100% - 0.9rem) 100%, 0 100%);
  border-top-left-radius: 1.1rem;
}
.hc3-tag-l-vd { width: 0.05rem; height: 1.2rem; background: #ffd178; }
.hc3-tag-l-t, .hc3-tag-l-s { white-space: nowrap; }
.hc3-tag-r {
  position: absolute; right: -0.1rem; top: -0.1rem;
  transform: rotate(2deg); transform-origin: right top;
  min-width: 7rem; height: 2.9rem;
  padding: 0.4rem 0.8rem 1.2rem;
  background: linear-gradient(180deg, #ffb84a, #e46a12);
  color: #fff2a9; font-size: 0.85rem; font-weight: 500;
  text-align: center; line-height: 1.3;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 70%, 0 100%);
  display: flex; align-items: flex-start; justify-content: center;
}

/* 主标题 */
.hc3-title {
  margin: 0; padding: 0;
  text-align: center;
  font-size: 2.3rem; font-weight: 700; letter-spacing: 0.3rem;
  color: #fff1b8;
  text-shadow: 0 0.2rem 0.2rem #680000;
  line-height: 1.05;
}
.hc3-title em { font-style: normal; font-size: 1.9rem; margin: 0 0.2rem; }

.hc3-sub {
  margin: 0.5rem 0 0;
  text-align: center;
  font-size: 0.85rem; color: #ffd597; letter-spacing: 0.03rem;
}

/* 两个 box：时间截止 / 名额截止 */
.hc3-boxes {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-top: 0.9rem;
}
.hc3-box {
  border: 0.05rem solid #ffb840;
  border-radius: 0.7rem;
  padding: 0.5rem 0.7rem;
}
.hc3-box--time  { background: linear-gradient(144deg, rgba(141, 0, 0, 0.95), rgba(209, 29, 4, 0.86)); }
.hc3-box--slots { background: linear-gradient(144deg, rgba(120, 30, 0, 0.92), rgba(200, 78, 8, 0.88)); }
.hc3-box-hd { text-align: center; color: #fff0c5; font-size: 0.85rem; margin-bottom: 0.4rem; }
.hc3-cd { display: flex; justify-content: center; align-items: flex-end; gap: 0.25rem; }
.hc3-cd-n {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 2.1rem; height: 1.85rem;
  background: #fff7e7;
  border-radius: 0.35rem;
  box-shadow: inset 0 0 0 0.05rem #ffde9e;
  color: #db120a; font-weight: 700; font-size: 1.1rem;
  font-variant-numeric: tabular-nums;
}
.hc3-cd-lb { color: #fff0c5; font-size: 0.7rem; padding-bottom: 0.15rem; }

.hc3-slots {
  display: flex; align-items: baseline; justify-content: center;
  gap: 0.3rem; flex-wrap: wrap;
  font-size: 0.85rem;
}
.hc3-slots-taken { color: #fff0c5; }
.hc3-slots-taken strong { color: #fff7e7; font-size: 1.15rem; font-weight: 700; }
.hc3-slots-total { color: #ffd597; font-size: 0.75rem; }
.hc3-slots-left  { color: #ffd597; font-size: 0.75rem; margin-left: 0.3rem; }
.hc3-slots-left strong { color: #fff7e7; font-weight: 700; }
.hc3-progress {
  margin-top: 0.35rem;
  height: 0.4rem; border-radius: 999px;
  background: rgba(255, 255, 255, 0.15);
  overflow: hidden;
}
.hc3-progress i {
  display: block; height: 100%;
  background: linear-gradient(90deg, #ffdc80, #ff9d32);
  border-radius: 999px;
  transition: width 0.4s ease;
}

/* 两个专区按钮 */
.hc3-zones {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
  margin-top: 0.7rem;
}
.hc3-zone {
  position: relative;
  display: flex; align-items: center; gap: 0.4rem;
  height: 3.4rem; padding: 0 0.7rem;
  border: 0.05rem solid;
  border-radius: 0.7rem;
  text-decoration: none;
  box-shadow: inset 0 0 0.6rem rgba(255, 187, 56, 0.22);
  -webkit-tap-highlight-color: transparent;
}
.hc3-zone:active { opacity: 0.85; }
.hc3-zone--bond {
  background: linear-gradient(139deg, #c10b02 0%, #ee2810 65%, #ac0800 100%);
  border-color: #ffb840;
}
.hc3-zone--fund {
  background: linear-gradient(139deg, #b94308 0%, #d66d08 65%, #9a2d00 100%);
  border-color: #ff9d32;
}
.hc3-zone-ic { width: 2.4rem; height: 2.4rem; object-fit: contain; flex: 0 0 auto; }
.hc3-zone-tt { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.hc3-zone-tt strong { color: #fff2bc; font-size: 1.1rem; font-weight: 500; line-height: 1.2; }
.hc3-zone-tt small  { color: #ffe5aa; font-size: 0.7rem; margin-top: 0.15rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hc3-zone-arr { color: #fff2bc; font-size: 1.6rem; font-weight: 500; line-height: 1; }

/* 立即参与活动 CTA */
.hc3-cta {
  position: relative;
  display: flex; align-items: center; justify-content: center;
  width: calc(100% - 2.4rem);
  margin: 0.8rem auto 0;
  height: 2.6rem;
  padding: 0 0.7rem;
  background: linear-gradient(180deg, #ff6a2a, #da1006);
  color: #fff6ce; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.1rem;
  border: 0.05rem solid #ffd258;
  border-radius: 1.6rem;
  box-shadow: 0 0.1rem 0.15rem rgba(78, 0, 0, 0.4),
              inset 0 0.2rem 0.4rem rgba(255, 255, 255, 0.25);
  cursor: pointer;
}
.hc3-cta[disabled] {
  background: linear-gradient(180deg, #a06060, #6f2020);
  color: #ffd7c0;
  cursor: not-allowed;
  box-shadow: none;
}
.hc3-cta-arr {
  position: absolute; right: 0.8rem;
  width: 1.9rem; height: 1.9rem;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff2ae;
  color: #c31308; font-size: 1.5rem; font-weight: 700;
  border-radius: 50%;
}
.hc3-footer {
  margin: 0.6rem 0 0;
  text-align: center;
  font-size: 0.75rem; color: #eebc77;
}

@media (max-width: 25rem) {
  .hc3-title      { font-size: 1.9rem; letter-spacing: 0.2rem; }
  .hc3-title em   { font-size: 1.55rem; }
  .hc3-cd-n       { min-width: 1.8rem; height: 1.65rem; font-size: 1rem; }
  .hc3-zone-tt strong { font-size: 1rem; }
  .hc3-cta        { font-size: 1.05rem; height: 2.4rem; }
}

/* 专区选择弹窗 */
.zone-modal {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center;
  padding: 2rem;
}
.zone-modal[hidden] { display: none; }
.zone-modal-mask {
  position: absolute; inset: 0;
  background: rgba(0, 0, 0, 0.55);
}
.zone-modal-box {
  position: relative;
  width: 100%;
  max-width: 34rem;
  aspect-ratio: 357 / 484;
  border-radius: 1.6rem;
  overflow: hidden;
  animation: zoneModalIn 0.22s ease-out both;
}
@keyframes zoneModalIn {
  from { transform: scale(0.85); opacity: 0; }
  to   { transform: scale(1);    opacity: 1; }
}
.zone-modal-bg {
  position: absolute; inset: 0; width: 100%; height: 100%;
  display: block; pointer-events: none;
  user-select: none; -webkit-user-drag: none;
}
.zone-modal .zone-modal-close,
.zone-modal .zone-modal-hit,
.zone-modal .zone-modal-cancel {
  position: absolute; background: transparent; border: 0; padding: 0; margin: 0;
  cursor: pointer; -webkit-appearance: none; appearance: none;
  color: transparent; font-size: 0;
}
.zone-modal-close  { right: 3%;  top: 3.4%; width: 13.4%; height: 9.9%; border-radius: 50%; }
.zone-modal-hit--bond { left: 5.6%; top: 27.1%; width: 88.8%; height: 24.8%; border-radius: 1.2rem; }
.zone-modal-hit--fund { left: 5.6%; top: 54.7%; width: 88.8%; height: 24.8%; border-radius: 1.2rem; }
.zone-modal-cancel { left: 5.6%; bottom: 0;  width: 88.8%; height: 14.9%; }
.zone-modal-close:active,
.zone-modal-hit:active,
.zone-modal-cancel:active { background: rgba(255, 255, 255, 0.12); }

/* ============================================================
 * 可兑换权益页 exchange_benefits.php（1:1 对齐 Figma 3:142）
 *   页面结构：红金 header → 双卡 → 每日签到 → 双 tab + 证书列表 → 温馨提示 → 返回首页
 * ============================================================ */
.ex-body { background: #fff6ea; margin: 0; }
.ex-page {
  max-width: 42rem; margin: 0 auto;
  background: #fff6ea;
  min-height: 100vh;
  padding-bottom: 2rem;
  position: relative;
}

/* ---- 头图（Figma 3:143 全图，包含主/副标题/徽章） ---- */
.ex-header {
  position: relative;
  width: 100%;
  line-height: 0;                 /* 消除 img 底部空白 */
  border-bottom-left-radius: 1.6rem;
  border-bottom-right-radius: 1.6rem;
  overflow: hidden;
  background: #b30000;             /* 图片加载中先兜底 */
}
.ex-header-bg {
  display: block;
  width: 100%;
  height: auto;                    /* 保持原图 1179:528 比例，不裁切 */
  user-select: none; -webkit-user-drag: none;
}
.ex-back {
  position: absolute; left: 1rem; top: 1rem;
  width: 3rem; height: 3rem;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 2.4rem; line-height: 1; text-decoration: none;
  background: rgba(0, 0, 0, 0.28);
  border-radius: 50%;
  z-index: 2;
}

.ex-main {
  position: relative; z-index: 2;
  padding: 0 1.2rem;
  margin-top: -2.5rem;
}

/* ---- 顶部双卡 ---- */
.ex-top-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; }
.ex-card {
  background: #fff;
  border-radius: 1.1rem;
  padding: 1rem 1.1rem 1.1rem;
  box-shadow: 0 0.4rem 1.2rem rgba(200, 16, 46, 0.10);
  border: 0.05rem solid #fadfc7;
  min-height: 12rem;
  display: flex; flex-direction: column;
}
.ex-card-label { color: #6b7280; font-size: 1rem; }
.ex-balance-row { display: flex; align-items: baseline; gap: 0.15rem; margin-top: 0.55rem; }
.ex-yen { color: #e4393c; font-size: 1.35rem; font-weight: 700; }
.ex-balance { color: #e4393c; font-size: 2rem; font-weight: 800; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; }
.ex-card-note { color: #9ca3af; font-size: 0.9rem; margin: 0.35rem 0 0.8rem; }
.ex-withdraw-btn {
  align-self: flex-start;
  padding: 0.4rem 1.1rem;
  border: 0.1rem solid #e4393c; color: #e4393c; background: #fff;
  border-radius: 999px; font-size: 1rem; cursor: pointer;
}
.ex-withdraw-btn:active { background: #fdecec; }

.ex-total-row { display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; margin-top: 0.55rem; }
.ex-total { color: #e4393c; font-size: 1.85rem; font-weight: 800; letter-spacing: 0.02em; font-variant-numeric: tabular-nums; }
.ex-total-spark { width: 5rem; height: 2.6rem; flex: 0 0 auto; }
.ex-card-note2 { color: #6b7280; font-size: 1rem; margin-top: 0.6rem; }
.ex-gain { font-size: 1.15rem; font-weight: 700; margin-top: 0.2rem; font-variant-numeric: tabular-nums; }
.ex-gain.up   { color: #e4393c; }
.ex-gain.down { color: #17b26a; }

/* ---- 开放兑换倒计时（Figma Section 1:2） ---- */
.ex-countdown {
  position: relative;
  margin: 0.9rem 0 0;
  min-height: 12.1rem;
  padding: 1.1rem 1.4rem 0.9rem 1.9rem;
  border-radius: 0.8rem;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(4.05rem 4.05rem at 1.5rem 5.45rem, rgba(255,207,59,0.82) 0%, rgba(255,207,59,0) 21%),
    linear-gradient(103.6deg, #d90b0b 0%, #ef1b17 54%, #ff6a21 100%);
  box-shadow: 0 0.4rem 1.2rem rgba(188, 45, 0, 0.16);
}
/* 与上下相邻卡片间隙为 0 */
.ex-countdown { margin-top: 0; }
.ex-countdown + .ex-checkin { margin-top: 0; }

.ex-cd-clock {
  position: absolute; left: 1.2rem; top: 0.9rem;
  width: 7.1rem; height: 7.2rem; object-fit: contain;
  pointer-events: none;
}
.ex-cd-top {
  margin-left: 7.2rem;
  display: flex; flex-direction: column; align-items: flex-start; gap: 0.4rem;
}
.ex-cd-title {
  font-size: 1.65rem; font-weight: 700; color: #fff;
  letter-spacing: 0.03rem; line-height: 1.3; white-space: nowrap;
}
.ex-cd-timer { display: flex; align-items: center; gap: 0.5rem; }
.ex-cd-box {
  position: relative;
  display: inline-flex; align-items: center; justify-content: center;
  width: 4.8rem; height: 3.1rem; border-radius: 0.6rem;
  background: linear-gradient(180deg, #fff7dc 0%, #ffe8b8 100%);
  box-shadow: inset 0 0.1rem 0 0 #fff;
}
.ex-cd-num {
  color: #d91419; font-size: 2rem; font-weight: 700; line-height: 1;
  font-variant-numeric: tabular-nums;
}
.ex-cd-unit {
  position: absolute; right: 0.3rem; bottom: 0.3rem;
  color: #d91419; font-size: 0.7rem; font-weight: 700; line-height: 1;
}
.ex-cd-sep { color: #fff; font-size: 1.3rem; font-weight: 700; line-height: 1; }
.ex-cd-note {
  margin-top: 1.4rem;
  font-size: 0.8rem; font-weight: 700; color: #fff; line-height: 1.4;
}
.ex-cd-note--sub { margin-top: 0.4rem; font-weight: 500; opacity: 0.9; }
.ex-cd-divider {
  width: 22.8rem; max-width: 100%; height: 0.1rem;
  margin: 0.5rem 0 0.4rem;
  background: rgba(255,255,255,0.34);
}
.ex-cd-foot { display: flex; align-items: center; gap: 0.7rem; }
.ex-cd-cal { width: 1.1rem; height: 1.1rem; flex: 0 0 auto; }
.ex-cd-foot span { font-size: 0.78rem; font-weight: 700; color: #fff; line-height: 1; }

/* ---- 活动提示（Figma 26:835）：紧贴开放兑换倒计时下方 ---- */
.ex-acttip {
  position: relative;
  margin: 0.9rem 0 0;
  padding: 3.2rem 0.9rem 1.1rem;
  background: #fff;
  border: 0.1rem solid #ff9e9e;
  border-radius: 1.2rem;
  box-shadow: 0 0.3rem 0.7rem rgba(120, 60, 30, 0.1);
}
.ex-acttip-title {
  position: absolute; top: -0.1rem; left: 50%; transform: translateX(-50%);
  width: 15rem; height: 3.3rem; object-fit: contain;
  pointer-events: none;
}
.ex-acttip-cards { display: flex; align-items: stretch; gap: 0.5rem; }
.ex-acttip-card {
  position: relative; overflow: hidden;
  flex: 1 1 0; min-width: 0; min-height: 11rem;
  display: flex; flex-direction: column; align-items: flex-start; gap: 0.5rem;
  padding: 1.1rem 0.8rem;
  border-radius: 0.9rem;
  background: linear-gradient(134.74deg, #ffffff 0%, #fff1dd 100%);
}
.ex-acttip-badge {
  display: inline-flex; align-items: center; justify-content: center;
  width: 2.1rem; height: 2.1rem;
  border-radius: 0.6rem;
  background: #f2282d;
  color: #fff; font-size: 1.1rem; font-weight: 700; line-height: 1;
  font-family: Arial, Helvetica, sans-serif;
}
.ex-acttip-text {
  position: relative; z-index: 1;
  width: 9.5rem; max-width: 100%; margin: 0;
  color: #222; font-size: 1rem; line-height: 1.55rem; font-weight: 400;
}
.ex-acttip-text em { color: #f21d27; font-style: normal; font-weight: 500; }
.ex-acttip-img { position: absolute; object-fit: contain; pointer-events: none; }
.ex-acttip-img--coin { right: 0.3rem; bottom: 0.2rem; width: 7rem; height: 5.25rem; }
.ex-acttip-img--gift { right: -0.6rem; bottom: 0; width: 8.2rem; height: 6.2rem; }

/* ---- 每日签到（Figma 3:181） ---- */
.ex-checkin {
  margin-top: 0.9rem; padding: 1.1rem;
  background: linear-gradient(135deg, #fff2dc 0%, #ffdcaf 100%);
  border-radius: 1.1rem;
  border: 0.05rem solid #f5c17e;
  box-shadow: 0 0.3rem 1rem rgba(232, 128, 30, 0.10);
}
.ex-checkin-hd { display: flex; align-items: center; justify-content: space-between; gap: 0.8rem; }
.ex-checkin-tt { display: flex; flex-direction: column; gap: 0.15rem; }
.ex-checkin-title { color: #6b2b00; font-weight: 700; font-size: 1.35rem; }
.ex-checkin-sub { color: #a56534; font-size: 0.9rem; }
.ex-checkin-rule {
  padding: 0.3rem 0.9rem; font-size: 0.9rem;
  background: #fff; color: #d97706; border: 0.05rem solid #f5c17e;
  border-radius: 999px; cursor: pointer;
  white-space: nowrap;
}

.ex-checkin-days {
  display: grid; grid-template-columns: repeat(7, 1fr);
  gap: 0.35rem; margin-top: 0.9rem;
}
.ex-day {
  --c1: #f2b06a; --c2: #d68538;
  display: flex; flex-direction: column; align-items: center; gap: 0.25rem;
  padding: 0.55rem 0.15rem 0.5rem;
  border-radius: 0.7rem;
  background: #fff;
  border: 0.05rem solid #f2d5aa;
  position: relative;
}
/* 每天固定色（1/7 红、2/4/6 金、3/5 橙） */
.ex-day[data-day="1"], .ex-day[data-day="7"] { --c1: #ff7960; --c2: #e83e2b; }
.ex-day[data-day="2"], .ex-day[data-day="4"], .ex-day[data-day="6"] { --c1: #ffd576; --c2: #f0a53a; }
.ex-day[data-day="3"], .ex-day[data-day="5"] { --c1: #ffb469; --c2: #f08300; }

.ex-day-label { color: #6b2b00; font-size: 0.8rem; }
.ex-day-ic {
  width: 2rem; height: 2rem; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1.05rem; font-weight: 800;
  background: linear-gradient(135deg, var(--c1), var(--c2));
  box-shadow: 0 0.15rem 0.3rem rgba(178, 79, 0, 0.28);
}
.ex-day.is-final .ex-day-ic { font-size: 1.15rem; }
.ex-day-reward { color: #d97706; font-weight: 700; font-size: 0.9rem; font-variant-numeric: tabular-nums; }
.ex-day-state { color: #a56534; font-size: 0.75rem; }

/* 已签到：整格轻微变灰 + 打钩角标 */
.ex-day.is-done { background: #fff8e8; opacity: 0.9; }
.ex-day.is-done .ex-day-state { color: #16a34a; font-weight: 600; }
.ex-day.is-done::after {
  content: '✓'; position: absolute; right: 0.15rem; top: 0.15rem;
  width: 0.9rem; height: 0.9rem; border-radius: 50%;
  background: #16a34a; color: #fff; font-size: 0.65rem; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
/* 当前可签到日：红色边框 + 阴影 */
.ex-day.is-today {
  border-color: #e83e2b;
  box-shadow: 0 0 0 0.15rem rgba(232, 62, 43, 0.18), 0 0.25rem 0.6rem rgba(232, 62, 43, 0.18);
}
.ex-day.is-today .ex-day-state { color: #e83e2b; font-weight: 700; }
.ex-day.is-final { background: linear-gradient(135deg, #ffe8bc, #ffd276); border-color: #f0a53a; }

.ex-checkin-btn {
  display: block; width: 100%; margin-top: 1rem;
  padding: 0.9rem; border: 0;
  background: linear-gradient(135deg, #ff5b3d, #b91c1c);
  color: #fff; font-size: 1.3rem; font-weight: 700;
  border-radius: 999px; cursor: pointer;
  box-shadow: 0 0.3rem 0.9rem rgba(228, 57, 60, 0.35);
}
.ex-checkin-btn:disabled { background: #d1d5db; color: #fff; box-shadow: none; cursor: not-allowed; }

/* ---- 兑换未开放提示（2026-07-25 前显示） ---- */
.ex-notopen {
  display: flex; align-items: center; gap: 0.7rem;
  margin-top: 0.9rem;
  padding: 0.85rem 1.1rem;
  background: linear-gradient(135deg, #fff2dc, #ffe0b8);
  border: 0.05rem solid #f0a53a;
  border-radius: 1.1rem;
  color: #7a3400;
  box-shadow: 0 0.3rem 0.9rem rgba(240, 165, 58, 0.18);
}
.ex-notopen-ic { font-size: 1.6rem; line-height: 1; }
.ex-notopen-txt { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; flex: 1; }
.ex-notopen-title { font-weight: 700; font-size: 1.1rem; color: #b45309; }
.ex-notopen-sub { color: #a56534; font-size: 0.9rem; font-variant-numeric: tabular-nums; }

/* 未开放时立即兑换按钮：变灰不可点 */
.ex-exchange-btn.is-locked,
.ex-exchange-btn:disabled {
  background: #d1d5db;
  color: #fff;
  box-shadow: none;
  cursor: not-allowed;
  opacity: 1;
  font-size: 0.75rem;
  letter-spacing: 0;
}

/* ---- 证书列表（Figma 3:190+） ---- */
.ex-list-wrap {
  margin-top: 0.9rem;
  background: transparent;
}
.ex-tabs {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 0.6rem;
  margin-bottom: 0.5rem;
}
.ex-tab {
  display: inline-flex; align-items: center; justify-content: center; gap: 0.35rem;
  padding: 0.65rem 0.5rem;
  border: 0;
  background: linear-gradient(135deg, #ff5b3d, #c8102e);
  color: #fff;
  border-radius: 0.7rem;
  font-size: 1.05rem; font-weight: 700; cursor: pointer;
  box-shadow: 0 0.25rem 0.6rem rgba(200, 16, 46, 0.28);
  -webkit-tap-highlight-color: transparent;
}
.ex-tab:not(.is-active) {
  background: linear-gradient(135deg, #ff8367, #e04a3c);
  box-shadow: 0 0.15rem 0.4rem rgba(200, 16, 46, 0.18);
  opacity: 0.86;
}
.ex-tab.is-active { transform: translateY(-0.05rem); }
.ex-tab-ic { display: inline-flex; align-items: center; }

.ex-list-head {
  display: grid;
  grid-template-columns: 33% 22% 14% 12% 19%;
  align-items: center;
  gap: 0.15rem;
  padding: 0.55rem 0.8rem;
  background: #fff;
  border-radius: 0.7rem 0.7rem 0 0;
  border: 0.05rem solid #fadfc7;
  border-bottom: 0.05rem solid #f5c17e;
  color: #7a3400; font-size: 0.85rem; font-weight: 600;
}
.ex-col-value  { text-align: center; }
.ex-col-spark  { text-align: center; }
.ex-col-pct    { text-align: right;  }
.ex-col-op     { text-align: center; }

.ex-list { display: none; }
.ex-list.is-active {
  display: block;
  background: #fff;
  border: 0.05rem solid #fadfc7;
  border-top: 0;
  border-radius: 0 0 0.7rem 0.7rem;
  overflow: hidden;
}
.ex-empty { padding: 3rem 1rem; text-align: center; color: #9ca3af; font-size: 1.1rem; }

.ex-row {
  display: grid;
  grid-template-columns: 33% 22% 14% 12% 19%;
  align-items: center;
  gap: 0.15rem;
  padding: 0.75rem 0.6rem;
  border-bottom: 0.05rem dashed #f5e0c6;
}
.ex-list > .ex-row:last-child { border-bottom: 0; }

/* --- 奖牌盾牌形 --- */
.ex-col-name { display: flex; align-items: center; gap: 0.55rem; padding-left: 0.15rem; }
.ex-medal {
  position: relative; flex: 0 0 auto;
  width: 3rem; height: 3.5rem;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  border-radius: 0.35rem 0.35rem 0.25rem 0.25rem;
  background: linear-gradient(160deg, var(--m1, #e83e2b), var(--m2, #a90000));
  box-shadow: 0 0.15rem 0.35rem rgba(0, 0, 0, 0.22);
  margin-bottom: 0.4rem;
}
.ex-medal::before {
  content: ''; position: absolute; inset: 0.2rem;
  border-radius: 0.25rem;
  border: 0.05rem solid rgba(255, 226, 138, 0.7);
  pointer-events: none;
}
.ex-medal::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -0.5rem;
  height: 0.65rem;
  background: inherit;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 55%, 0 100%);
}
.ex-medal-num {
  color: #fff2b0; font-weight: 800; font-size: 1.5rem; line-height: 1;
  text-shadow: 0 0.1rem 0.15rem rgba(0, 0, 0, 0.35);
  position: relative; z-index: 1;
}
.ex-medal-tag {
  color: #fff2b0; font-size: 0.6rem; font-weight: 600; letter-spacing: 0.1rem;
  margin-top: 0.15rem;
  position: relative; z-index: 1;
}

.ex-name-box { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; flex: 1; }
.ex-name-row { display: flex; align-items: center; gap: 0.3rem; flex-wrap: wrap; }
.ex-name { color: #1f2937; font-weight: 700; font-size: 1.05rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ex-badge-nat {
  display: inline-block;
  background: linear-gradient(135deg, #e4393c, #b91c1c);
  color: #fff;
  font-size: 0.7rem;
  padding: 0.05rem 0.4rem;
  border-radius: 0.25rem;
  white-space: nowrap;
}
.ex-state { color: #9ca3af; font-size: 0.75rem; }
.ex-state span { color: #16a34a; }

.ex-value-main { color: #1f2937; font-weight: 700; font-size: 1.05rem; font-variant-numeric: tabular-nums; line-height: 1.15; }
.ex-value-sub  { color: #9ca3af; font-size: 0.72rem; font-variant-numeric: tabular-nums; margin-top: 0.1rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.ex-col-spark { display: flex; flex-direction: column; align-items: center; gap: 0.1rem; }
.ex-col-spark svg { width: 100%; height: 2.2rem; display: block; }
.ex-pct-gain { font-size: 0.85rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.ex-pct-gain.up   { color: #e4393c; }
.ex-pct-gain.down { color: #17b26a; }

.ex-col-pct { text-align: right; font-variant-numeric: tabular-nums; padding-right: 0.1rem; }
.ex-col-pct.up   { color: #e4393c; }
.ex-col-pct.down { color: #17b26a; }
.ex-pct-rate { font-size: 1rem; font-weight: 700; }

.ex-col-op { display: flex; flex-direction: column; align-items: stretch; gap: 0.25rem; text-align: center; padding-right: 0.1rem; }
.ex-exchange-btn {
  padding: 0.4rem 0.4rem; border: 0;
  background: linear-gradient(135deg, #8b5cf6, #6d28d9);
  color: #fff; font-size: 0.85rem; font-weight: 700; border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 0.15rem 0.35rem rgba(109, 40, 217, 0.28);
}
.ex-exchange-btn:active { opacity: 0.85; }
/* 立即兑换/查看 现为 <a>：去除下划线并居中 */
a.ex-exchange-btn { display: block; text-decoration: none; text-align: center; line-height: 1.4; }
/* 已兑换行：灰化奖牌 + 已兑换徽标 + 「查看我的兑换证书」按钮 */
.ex-row--exchanged { opacity: 0.96; }
.ex-medal--gray { filter: grayscale(0.55); }
.ex-badge-done {
  display: inline-block; background: #eceef1; color: #8a929c;
  font-size: 0.75rem; font-weight: 600; padding: 0.1rem 0.5rem; border-radius: 0.4rem;
}
.ex-exchange-btn--view {
  background: linear-gradient(135deg, #ff7a33, #e4393c);
  box-shadow: 0 0.15rem 0.35rem rgba(228, 57, 60, 0.28);
  font-size: 0.78rem; padding: 0.4rem 0.3rem;
}
.ex-hold-count { color: #6b7280; font-size: 0.75rem; display: flex; justify-content: center; align-items: baseline; gap: 0.25rem; }
.ex-hold-count strong { color: #e4393c; font-size: 0.85rem; font-weight: 700; }

/* ---- 温馨提示 ---- */
.ex-tips {
  position: relative; overflow: hidden;
  margin-top: 1rem; padding: 1rem 1.2rem 1rem;
  background: linear-gradient(135deg, #fff5d9, #ffe4a1);
  border-radius: 1.1rem;
  border: 0.05rem solid #f5c17e;
}
.ex-tips-hd { display: flex; align-items: center; gap: 0.4rem; color: #d97706; font-weight: 700; font-size: 1.15rem; margin-bottom: 0.4rem; }
.ex-tips-list { list-style: disc; padding-left: 1.4rem; margin: 0; color: #7a3400; font-size: 0.95rem; line-height: 1.7; }
.ex-tips-yen {
  position: absolute; right: -0.5rem; bottom: -1.2rem;
  font-size: 6rem; color: rgba(217, 119, 6, 0.14); font-weight: 900;
  pointer-events: none;
}

/* ---- 返回首页 ---- */
.ex-home-btn {
  display: flex; align-items: center; justify-content: center; gap: 0.5rem;
  margin: 1.3rem 1.2rem 0; padding: 1rem;
  background: linear-gradient(135deg, #ff5b3d, #b91c1c);
  color: #fff; text-decoration: none;
  border-radius: 999px; font-size: 1.3rem; font-weight: 700;
  box-shadow: 0 0.3rem 0.9rem rgba(228, 57, 60, 0.35);
}
.ex-home-btn:active { opacity: 0.9; }

/* ---- 通用 modal（兑换确认 / 签到规则） ---- */
.ex-modal {
  position: fixed; inset: 0; z-index: 1000;
  display: flex; align-items: center; justify-content: center; padding: 2rem;
}
.ex-modal[hidden] { display: none; }
.ex-modal-mask { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.55); }
.ex-modal-box {
  position: relative; width: 100%; max-width: 32rem;
  background: #fff; border-radius: 1.2rem; padding: 1.6rem;
  box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.2);
}
.ex-modal-title { text-align: center; font-size: 1.5rem; font-weight: 700; color: #1f2937; }
.ex-modal-text  { text-align: center; color: #4b5563; font-size: 1.1rem; line-height: 1.7; margin: 1rem 0; }
.ex-modal-text--left { text-align: left; }
.ex-modal-text strong { color: #e4393c; margin: 0 0.2rem; }
.ex-modal-actions { display: flex; gap: 0.8rem; margin-top: 0.6rem; }
.ex-modal-cancel, .ex-modal-ok {
  flex: 1; padding: 0.9rem;
  border-radius: 999px; font-size: 1.15rem; font-weight: 700; cursor: pointer;
  border: 0;
}
.ex-modal-cancel { background: #f3f4f6; color: #4b5563; }
.ex-modal-ok { background: linear-gradient(135deg, #ff5b3d, #b91c1c); color: #fff; }
.ex-modal-ok:disabled { opacity: 0.7; cursor: not-allowed; }

/* 提现余额提示弹窗（Figma 提示 1:592） */
.ex-wtip {
  position: relative; width: 100%; max-width: 30.3rem;
  background: #fff; border-radius: 1.6rem; overflow: hidden;
  padding: 2rem 2.1rem 2.1rem;
  box-shadow: 0 2.5rem 5rem -1.2rem rgba(0, 0, 0, 0.25);
}
.ex-wtip-title { text-align: center; color: #000; font-size: 1.5rem; font-weight: 500; line-height: 2.4rem; }
.ex-wtip-text { margin: 1.4rem 0 0; color: #4e4639; font-size: 1.4rem; line-height: 2.6rem; }
.ex-wtip-btn {
  display: block; width: 100%; margin: 1.7rem 0 0; height: 3.6rem; border: 0;
  border-radius: 0.8rem; background: #c81d25; color: #fff; font-size: 1.4rem; font-weight: 500;
  cursor: pointer; box-shadow: 0 0.4rem 0.4rem rgba(0, 0, 0, 0.25);
}
.ex-wtip-btn:active { opacity: 0.92; }

/* ---- 小屏适配（< 25rem 约 400px） ---- */
@media (max-width: 25rem) {
  .ex-balance         { font-size: 1.6rem; }
  .ex-total           { font-size: 1.5rem; }
  .ex-total-spark     { width: 3.6rem; height: 2.2rem; }
  .ex-card            { padding: 0.8rem 0.85rem 0.9rem; min-height: 11rem; }
  .ex-day-ic          { width: 1.7rem; height: 1.7rem; font-size: 0.95rem; }
  .ex-day-label       { font-size: 0.7rem; }
  .ex-day-reward      { font-size: 0.8rem; }
  .ex-day-state       { font-size: 0.65rem; }
  .ex-tab             { font-size: 0.9rem; padding: 0.55rem 0.35rem; }
  .ex-list-head, .ex-row {
    grid-template-columns: 32% 22% 13% 12% 21%;
    padding: 0.55rem 0.4rem;
    font-size: 0.75rem;
  }
  .ex-medal           { width: 2.6rem; height: 3.05rem; }
  .ex-medal-num       { font-size: 1.25rem; }
  .ex-name            { font-size: 0.9rem; }
  .ex-value-main      { font-size: 0.9rem; }
  .ex-value-sub       { font-size: 0.65rem; }
  .ex-pct-rate        { font-size: 0.85rem; }
  .ex-exchange-btn    { font-size: 0.75rem; padding: 0.3rem 0.3rem; }
  .ex-hold-count      { font-size: 0.65rem; }
  .ex-hold-count strong { font-size: 0.75rem; }
}


/* ==================================================================
 * 中国银行优先转入合并提现（priority-withdraw · .pw-*）
 * 用于：mine.php 顶部通知卡片、withdraw_priority.php、withdraw_priority_confirm.php
 * ================================================================== */

/* ---- mine.php 钱包宫格上方的通知卡片（Figma Group 1 · 369×83） ---- */
.pw-notice {
  display: flex; align-items: center; gap: 0.9rem;
  margin: 0;                       /* 间距交给 .mine-main 的 flex gap，避免双重间隙 */
  padding: 1rem 1.1rem;
  background: linear-gradient(135deg, #fff8f8 0%, #ffeef0 100%);
  border: 0.05rem solid #ffd0d4;
  border-radius: 1rem;
  box-shadow: 0 0.2rem 0.7rem rgba(215, 25, 37, 0.1);
  text-decoration: none; color: inherit;
  position: relative;
}
.pw-notice-bell {
  flex: 0 0 auto;
  width: 2.9rem; height: 2.9rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #ff5b6a, #d71925);
  display: inline-flex; align-items: center; justify-content: center;
  position: relative;
  box-shadow: 0 0.2rem 0.5rem rgba(215, 25, 37, 0.35);
}
.pw-notice-bell svg { width: 1.5rem; height: 1.5rem; }
.pw-notice-dot {
  position: absolute; top: 0.25rem; right: 0.35rem;
  width: 0.55rem; height: 0.55rem; border-radius: 50%;
  background: #ffd400; border: 0.1rem solid #fff;
}
.pw-notice-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 0.4rem; }
.pw-notice-hd { display: flex; align-items: center; gap: 0.5rem; }
.pw-notice-title { font-size: 1.05rem; font-weight: 700; color: #1a1a1a; line-height: 1.1; }
.pw-notice-tag {
  font-size: 0.7rem; font-weight: 600; color: #d71925;
  padding: 0.15rem 0.45rem;
  border: 0.05rem solid #f2b8bc; border-radius: 0.5rem;
  background: #fff3f4;
  line-height: 1.2;
}
.pw-notice-time { margin-left: auto; font-size: 0.7rem; color: #999; line-height: 1.2; white-space: nowrap; }
.pw-notice-line { font-size: 0.78rem; color: #6a6a6a; line-height: 1.45; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pw-notice-more {
  flex: 0 0 auto; align-self: center;
  display: inline-flex; align-items: center; gap: 0.25rem;
  padding: 0.4rem 0.7rem;
  font-size: 0.78rem; font-weight: 600; color: #fff;
  background: linear-gradient(135deg, #ff5b6a, #d71925);
  border-radius: 999px;
  white-space: nowrap;
  box-shadow: 0 0.15rem 0.4rem rgba(215, 25, 37, 0.3);
}
.pw-notice-more svg path { stroke: #fff; }

/* ---- withdraw_priority.php / _confirm.php 共享 ---- */
.pw-body { background: #f5f5f7; }
.pw-page { padding-bottom: 9.5rem; }
.pw-main { padding: 5.4rem 0.9rem 0; }

/* 顶部栏保持主题红底（白字可见） */
.pw-topbar { background: linear-gradient(180deg, #e22a23 0%, #c81d25 100%); }

/* 顶部大标题「中国银行提现处理详情」 */
.pw-hero {
  padding: 1.4rem 0.9rem 1rem;
  background: linear-gradient(180deg, #fff5f5, #f5f5f7);
  text-align: center;
}
.pw-hero-title { font-size: 1.15rem; font-weight: 700; color: #111; }

/* 成功页顶部（对号 + 提现成功 + 副标题） */
.pw-hero--success { display: flex; align-items: center; gap: 0.75rem; text-align: left; }
.pw-success-badge {
  flex: 0 0 auto; width: 3rem; height: 3rem;
  border-radius: 50%; background: #22a45d;
  display: inline-flex; align-items: center; justify-content: center;
  box-shadow: 0 0.2rem 0.5rem rgba(34, 164, 93, 0.35);
}
.pw-success-badge svg { transform: scale(0.85); }
.pw-success-title { font-size: 1.15rem; font-weight: 700; color: #111; }
.pw-success-sub { margin-top: 0.15rem; font-size: 0.7rem; color: #666; line-height: 1.4; }

/* 通用卡片 */
.pw-card {
  background: #fff;
  border: 0.05rem solid #eee;
  border-radius: 1.15rem;
  margin-bottom: 1.1rem;
  padding: 1.5rem 1.5rem;
}
.pw-card-hd,
.pw-tips-hd,
.pw-detail-hd,
.pw-result-hd,
.pw-sum-hd,
.pw-explain-hd {
  display: flex; align-items: center; gap: 0.6rem;
  font-size: 1.3rem; font-weight: 700; color: #111;
  margin-bottom: 1rem;
}
.pw-card-hd svg, .pw-tips-hd svg, .pw-detail-hd svg, .pw-result-hd svg { width: 1.6rem; height: 1.6rem; }

/* 余额总览 */
.pw-overview-row {
  display: flex; align-items: stretch; padding: 0.4rem 0.2rem 0.2rem;
}
.pw-overview-item { flex: 1 1 0; display: flex; gap: 0.9rem; align-items: center; padding: 0.6rem 0.7rem; }
.pw-overview-ic {
  width: 3.6rem; height: 3.6rem; border-radius: 1rem;
  display: inline-flex; align-items: center; justify-content: center;
  background: #fafafa;
}
.pw-overview-ic svg { width: 2rem; height: 2rem; }
.pw-overview-ic--subsidy { background: #fff2e0; }
.pw-overview-ic--tickets { background: #ffe5e5; }
.pw-overview-label { font-size: 1.15rem; color: #666; line-height: 1; }
.pw-overview-value {
  margin-top: 0.55rem;
  font-size: 1.85rem; font-weight: 700; color: #111; line-height: 1;
}
.pw-overview-value .cny { font-size: 1.15rem; margin-right: 0.15rem; }
.pw-overview-value .unit { font-size: 1.15rem; margin-left: 0.15rem; color: #666; font-weight: 500; }
.pw-overview-divider { width: 0.05rem; background: #eee; margin: 0.55rem 0; }
.pw-overview-total {
  margin-top: 1rem; padding: 1.2rem 1.3rem;
  background: linear-gradient(90deg, #fff5f5, #ffeef0);
  border-radius: 0.85rem;
  border-top: 0.05rem solid #fbe0e2;
}
.pw-overview-total-lbl { font-size: 1.15rem; color: #6a6a6a; }
.pw-overview-total-val { margin-top: 0.35rem; font-size: 2.9rem; font-weight: 800; color: #d71925; line-height: 1; }
.pw-overview-total-val .cny { font-size: 1.5rem; margin-right: 0.1rem; }
.pw-overview-total-note { margin-top: 0.7rem; font-size: 0.95rem; color: #9a9a9a; line-height: 1.5; }

/* ---- 状态 A：红色头图 hero（Figma 我的中心页头） ---- */
.pw-hero2 { position: relative; width: 100%; height: 15.5rem; overflow: hidden; }
.pw-hero2-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pw-hero2-bar {
  position: relative; z-index: 2;
  height: 2.75rem; display: flex; align-items: center; justify-content: center;
  padding: 0 0.6rem;
}
.pw-hero2-back { position: absolute; left: 0.6rem; top: 50%; transform: translateY(-50%); background: none; border: 0; padding: 0.25rem; cursor: pointer; display: inline-flex; }
.pw-hero2-msg  { position: absolute; right: 0.8rem; top: 50%; transform: translateY(-50%); display: inline-flex; }
.pw-hero2-nav  { font-size: 1.4rem; font-weight: 600; color: #fff; }
.pw-hero2-title {
  position: relative; z-index: 2;
  margin-top: 2rem; text-align: center;
  font-size: 2.2rem; font-weight: 800; color: #fff;
  letter-spacing: 0.04em;
  text-shadow: 0 0.1rem 0.4rem rgba(120, 0, 0, 0.35);
}
/* 状态 A 使用红色头图（无固定顶栏），取消顶部内边距并上移压住头图 */
.pw-main--overlap { padding-top: 0; margin-top: -3.6rem; position: relative; z-index: 3; }

/* ---- 状态 A：提现说明卡 ---- */
.pw-explain2-hd { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 1rem; }
.pw-explain2-ic { flex: 0 0 auto; display: inline-flex; }
.pw-explain2-ic svg { width: 1.8rem; height: 1.8rem; }
.pw-explain2-title { font-size: 1.4rem; font-weight: 700; color: #1a1a1a; }
.pw-explain2-tag {
  margin-left: auto; font-size: 0.98rem; font-weight: 600; color: #d71925;
  padding: 0.28rem 0.7rem; border: 0.05rem solid #f2b8bc; border-radius: 0.55rem; background: #fff3f4;
}
.pw-explain2-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0.8rem; }
.pw-explain2-list li {
  position: relative; padding-left: 1.2rem;
  font-size: 1.15rem; color: #555; line-height: 1.45;
}
.pw-explain2-list li::before {
  content: ''; position: absolute; left: 0; top: 0.65rem;
  width: 0.45rem; height: 0.45rem; border-radius: 50%; background: #d71925;
}

/* ---- 状态 B：提现成功卡 ---- */
.pw-succ {
  margin: 0.6rem 0 0.7rem;
  border-radius: 1rem; overflow: hidden;
  background: linear-gradient(180deg, #fff1ec 0%, #ffe4e0 100%);
  border: 0.05rem solid #ffd9d3;
  box-shadow: 0 0.2rem 0.7rem rgba(215, 25, 37, 0.08);
}
.pw-succ-top { display: flex; align-items: center; gap: 1.1rem; padding: 1.6rem 1.4rem 1.2rem; }
.pw-succ-badge { flex: 0 0 auto; width: 4.5rem; height: 4.5rem; display: inline-flex; }
.pw-succ-badge svg { width: 100%; height: 100%; }
.pw-succ-hd { flex: 1 1 auto; min-width: 0; }
.pw-succ-title { font-size: 2.2rem; font-weight: 800; color: #d71925; line-height: 1.1; }
.pw-succ-sub { margin-top: 0.55rem; font-size: 1.15rem; color: #a05a4a; line-height: 1.45; }
.pw-succ-amount { margin: 0 1rem 1.1rem; padding: 1.4rem 1.3rem 1.5rem; background: #fff; border-radius: 1rem; }
.pw-succ-amount-hd { font-size: 1.5rem; font-weight: 700; color: #1a1a1a; margin-bottom: 1.1rem; }
.pw-succ-row { display: flex; align-items: center; justify-content: center; gap: 1rem; }
.pw-succ-item { display: flex; align-items: center; gap: 0.75rem; }
.pw-succ-ic { flex: 0 0 auto; width: 3.3rem; height: 3.4rem; display: inline-flex; align-items: center; justify-content: center; }
.pw-succ-ic svg { width: 2.3rem; height: 2.3rem; }
.pw-succ-label { font-size: 1.15rem; color: #666; line-height: 1; }
.pw-succ-val { margin-top: 0.5rem; font-size: 1.75rem; font-weight: 700; color: #1a1a1a; line-height: 1; }
.pw-succ-val .cny { font-size: 1.05rem; margin-right: 0.1rem; }
.pw-succ-val .unit { font-size: 1.05rem; margin-left: 0.15rem; color: #666; font-weight: 500; }
.pw-succ-text { display: flex; flex-direction: column; }
.pw-succ-plus {
  flex: 0 0 auto; width: 2.2rem; height: 2.2rem; border-radius: 0.55rem;
  background: #fdecec; color: #d71925; font-size: 1.75rem; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
}
.pw-succ-total-lbl { margin-top: 1.4rem; text-align: center; font-size: 1.25rem; color: #666; }
.pw-succ-total-val { margin-top: 0.4rem; text-align: center; font-size: 3.2rem; font-weight: 800; color: #d71925; line-height: 1; }
.pw-succ-total-val .cny { font-size: 1.7rem; margin-right: 0.1rem; }

/* 到账详情：键值两端对齐 */
.pw-detail-row { justify-content: space-between; }
.pw-detail-key { display: inline-flex; align-items: center; gap: 0.35rem; flex: 0 0 auto; }
.pw-detail-row .pw-detail-val { flex: 0 1 auto; text-align: right; }

/* ==================================================================
 * withdraw_priority_confirm.php · 优先转入确认（Figma 2:2）
 * ================================================================== */
.pw-page--confirm { padding-bottom: 9.5rem; }
/* banner 已负责让开固定顶栏，主体不再重复顶部内边距 */
.pw-page--confirm .pw-main { padding-top: 0.9rem; }

/* 红色 banner（让开固定顶栏 4.6rem） */
.pw-banner {
  margin: 5.4rem 0.9rem 0;
  border-radius: 0.9rem; overflow: hidden;
  background: linear-gradient(135deg, #c8121f 0%, #9c0d18 100%);
  box-shadow: 0 0.25rem 0.7rem rgba(156, 13, 24, 0.3);
  display: flex; align-items: stretch; position: relative;
  padding: 1.2rem 1.3rem;
}
.pw-banner-main { flex: 1 1 auto; min-width: 0; }
.pw-banner-row { display: flex; align-items: center; gap: 0.4rem; }
.pw-banner-shield { display: inline-flex; }
.pw-banner-shield svg { width: 2rem; height: 2.4rem; }
.pw-banner-brand { font-size: 1rem; color: #ffe6a8; font-weight: 600; letter-spacing: 0.05em; }
.pw-banner-title { margin-top: 0.6rem; font-size: 1.9rem; font-weight: 800; color: #fff; letter-spacing: 0.03em; }
.pw-banner-pills { margin-top: 0.8rem; display: flex; gap: 0.5rem; flex-wrap: wrap; }
.pw-banner-pill {
  font-size: 0.85rem; color: #ffe6a8;
  padding: 0.3rem 0.7rem; border: 0.05rem solid rgba(255, 224, 138, 0.5);
  border-radius: 999px; background: rgba(255, 255, 255, 0.08);
}
.pw-banner-seal {
  flex: 0 0 auto; width: 4.5rem; height: 4.5rem; align-self: center;
  border: 0.1rem solid #f6c453; border-radius: 50%;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  color: #ffe6a8; text-align: center;
  background: rgba(0,0,0,0.12);
}
.pw-banner-seal-top { font-size: 0.7rem; letter-spacing: 0.05em; }
.pw-banner-seal-big { font-size: 1.05rem; font-weight: 800; line-height: 1.05; margin-top: 0.15rem; }

/* 卡片标题（图标红、文字深色，匹配 Figma） */
.pw-card-hd--red { color: #1a1a1a; }

/* 本次提现总览（确认页） */
.pw-ov2-row { display: flex; gap: 0.7rem; }
.pw-ov2-box {
  flex: 1 1 0; display: flex; align-items: center; gap: 0.6rem;
  padding: 0.8rem 0.85rem; border: 0.05rem solid #eee; border-radius: 0.75rem;
}
.pw-ov2-box-ic { flex: 0 0 auto; width: 2.6rem; height: 2.6rem; border-radius: 0.7rem; display: inline-flex; align-items: center; justify-content: center; }
.pw-ov2-box-ic svg { width: 1.5rem; height: 1.5rem; }
.pw-ov2-box-ic--sub { background: #ffecec; }
.pw-ov2-box-ic--tic { background: #fff3e0; }
.pw-ov2-box-label { font-size: 1rem; color: #666; }
.pw-ov2-box-val { margin-left: auto; font-size: 1.35rem; font-weight: 700; color: #d71925; }
.pw-ov2-box-val .cny { font-size: 0.85rem; }
.pw-ov2-box-val .unit { font-size: 0.85rem; color: #666; font-weight: 500; margin-left: 0.1rem; }
.pw-ov2-total {
  margin-top: 0.8rem; padding: 1.1rem 1.2rem;
  background: linear-gradient(90deg, #fff5f5, #ffeef0);
  border-radius: 0.8rem; border: 0.05rem solid #fbe0e2;
  display: flex; align-items: center; gap: 0.7rem;
}
.pw-ov2-total-body { flex: 1 1 auto; min-width: 0; }
.pw-ov2-total-lbl { font-size: 1.05rem; color: #6a6a6a; }
.pw-ov2-total-val { margin-top: 0.25rem; font-size: 2.5rem; font-weight: 800; color: #d71925; line-height: 1; }
.pw-ov2-total-val .cny { font-size: 1.3rem; margin-right: 0.1rem; }
.pw-ov2-total-note { margin-top: 0.5rem; font-size: 0.9rem; color: #9a9a9a; line-height: 1.5; }
.pw-ov2-total-ic { flex: 0 0 auto; display: inline-flex; opacity: 0.9; }
.pw-ov2-total-ic svg { width: 2.4rem; height: 2.4rem; }

/* 398 退回说明高亮框 */
.pw-refund {
  margin-top: 0.7rem; padding: 0.7rem 0.8rem;
  background: linear-gradient(180deg, #fff6e6, #ffeccf);
  border: 0.05rem solid #f4d9a6; border-radius: 0.7rem;
}
.pw-refund-hd { display: flex; align-items: center; gap: 0.5rem; font-size: 1.2rem; font-weight: 700; color: #b5451a; }
.pw-refund-list { margin: 0.7rem 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0.45rem; }
.pw-refund-list li { position: relative; padding-left: 1.3rem; font-size: 1rem; color: #8a6a3a; line-height: 1.45; }
.pw-refund-list li::before { content: '✓'; position: absolute; left: 0; top: 0; color: #e0a020; font-weight: 700; font-size: 0.95rem; }

/* 双栏：支付后获得 / 办理流程 */
.pw-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; }
.pw-cols .pw-card { margin-bottom: 0; }
.pw-col-hd { display: flex; align-items: center; gap: 0.5rem; font-size: 1.2rem; font-weight: 700; color: #1a1a1a; margin-bottom: 0.9rem; }
.pw-col-hd-ic {
  flex: 0 0 auto; width: 1.5rem; height: 1.5rem; border-radius: 0.35rem;
  background: #fdecec; position: relative;
}
.pw-col-hd-ic::before { content: ''; position: absolute; left: 0.35rem; right: 0.35rem; top: 50%; height: 0.15rem; background: #d71925; transform: translateY(-50%); }
.pw-col-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0.55rem; }
.pw-col-list li { position: relative; padding-left: 1.1rem; font-size: 1rem; color: #555; line-height: 1.4; }
.pw-col-list li::before { content: ''; position: absolute; left: 0; top: 0.55rem; width: 0.38rem; height: 0.38rem; border-radius: 50%; background: #d71925; }

/* 办理流程五步 */
.pw-flow { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 0.3rem; }
.pw-flow-step { display: flex; flex-direction: column; align-items: center; width: 3rem; }
.pw-flow-num {
  width: 1.7rem; height: 1.7rem; border-radius: 50%;
  background: linear-gradient(135deg, #ff5b6a, #d71925); color: #fff;
  font-size: 0.95rem; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
}
.pw-flow-txt { margin-top: 0.4rem; font-size: 0.8rem; color: #666; text-align: center; line-height: 1.3; }
.pw-flow-arrow { font-size: 0.9rem; color: #d71925; margin-top: 0.5rem; }

/* 原型说明 FAQ */
.pw-faq-item { padding: 0.5rem 0; border-top: 0.05rem solid #f2f2f2; display: flex; flex-direction: column; gap: 0.25rem; }
.pw-faq-item:first-of-type { border-top: 0; }
.pw-faq-q { display: flex; align-items: center; gap: 0.5rem; font-size: 1.1rem; font-weight: 600; color: #333; }
.pw-faq-mark {
  flex: 0 0 auto; width: 1.4rem; height: 1.4rem; border-radius: 50%;
  background: #d71925; color: #fff; font-size: 0.9rem; font-weight: 700;
  display: inline-flex; align-items: center; justify-content: center;
}
.pw-faq-a { font-size: 0.95rem; color: #888; line-height: 1.5; padding-left: 1.9rem; }

/* 绑定银行卡卡片 */
.pw-bank { display: flex; align-items: center; gap: 1.1rem; text-decoration: none; color: inherit; }
.pw-bank-ic {
  width: 3.6rem; height: 3.6rem; border-radius: 1rem;
  background: #e8f0ff;
  display: inline-flex; align-items: center; justify-content: center;
}
.pw-bank-ic svg { width: 2rem; height: 2rem; }
.pw-bank-body { flex: 1 1 auto; min-width: 0; }
.pw-bank-title { display: block; font-size: 1.3rem; font-weight: 700; color: #111; }
.pw-bank-desc { display: block; margin-top: 0.4rem; font-size: 1.1rem; color: #666; letter-spacing: 0.03em; }
.pw-bank-desc--empty { color: #999; }
.pw-bank-more { flex: 0 0 auto; }
.pw-bank-more svg { width: 0.9rem; height: 1.3rem; }

/* 温馨提示卡 */
.pw-tips-body {
  margin: 0;
  font-size: 1.1rem; color: #666; line-height: 1.65;
}

/* 提现总览 / 到账金额汇总 */
.pw-sum-hd { justify-content: flex-start; }
.pw-sum-row {
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.4rem 0.2rem 0.3rem;
}
.pw-sum-item { display: flex; align-items: center; gap: 0.6rem; flex: 1 1 0; }
.pw-sum-ic {
  flex: 0 0 auto; width: 1.85rem; height: 1.95rem; border-radius: 0.55rem;
  display: inline-flex; align-items: center; justify-content: center;
}
.pw-sum-ic--sub { background: #fff2e0; }
.pw-sum-ic--tic { background: #ffe5e5; }
.pw-sum-label { font-size: 0.7rem; color: #666; line-height: 1; }
.pw-sum-val { margin-top: 0.25rem; font-size: 0.95rem; font-weight: 700; color: #111; line-height: 1; }
.pw-sum-val .cny { font-size: 0.6rem; margin-right: 0.15rem; }
.pw-sum-val .unit { font-size: 0.6rem; margin-left: 0.15rem; color: #666; font-weight: 500; }
.pw-sum-plus {
  flex: 0 0 auto; width: 1.35rem; height: 1.35rem;
  border-radius: 0.4rem; background: #fdecec; color: #d71925;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 0.9rem; font-weight: 700;
}
.pw-sum-total-lbl { margin-top: 0.7rem; text-align: center; font-size: 0.7rem; color: #666; }
.pw-sum-total-val { margin-top: 0.15rem; text-align: center; font-size: 1.35rem; font-weight: 700; color: #d71925; }
.pw-sum-total-val .cny { font-size: 0.85rem; margin-right: 0.15rem; }

/* 398 元办理说明 */
.pw-explain-list {
  margin: 0; padding: 0 0 0 0.2rem; list-style: none;
  display: flex; flex-direction: column; gap: 0.3rem;
}
.pw-explain-list li {
  position: relative; padding-left: 1.1rem;
  font-size: 1rem; color: #555; line-height: 1.55;
}
.pw-explain-list li::before {
  content: ''; position: absolute; left: 0; top: 0.6rem;
  width: 0.38rem; height: 0.38rem; border-radius: 50%; background: #d71925;
}
.pw-explain-list li:first-child { font-size: 1.1rem; color: #333; }
.pw-explain-fee {
  margin-top: 0.9rem; padding: 0.9rem 1.1rem;
  background: linear-gradient(90deg, #fff5f5, #ffe8ea);
  border-radius: 0.7rem;
  display: flex; align-items: center; justify-content: space-between;
}
.pw-explain-fee-lbl { font-size: 1.05rem; color: #7a1218; font-weight: 600; }
.pw-explain-fee-val { font-size: 1.6rem; font-weight: 700; color: #d71925; }
.pw-explain-fee-val .cny { font-size: 1.05rem; margin-right: 0.15rem; }

/* 到账详情 */
.pw-detail-row {
  display: flex; align-items: flex-start; gap: 0.5rem;
  padding: 0.7rem 0;
  font-size: 1.15rem; line-height: 1.5;
}
.pw-detail-check {
  flex: 0 0 auto; width: 1.5rem; height: 1.5rem;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.2rem; color: #b0b0b0;
}
.pw-detail-check--ok { color: #d71925; font-weight: 700; }
.pw-detail-label { flex: 0 0 auto; color: #666; }
.pw-detail-val { flex: 1 1 auto; color: #111; word-break: break-all; }
.pw-detail-val--red { color: #d71925; font-weight: 600; }
.pw-detail-val--mono { font-family: 'SF Mono', Consolas, Monaco, monospace; letter-spacing: 0.05em; }

/* 处理结果 */
.pw-result-list {
  margin: 0; padding: 0 0 0 0.6rem; list-style: none;
  display: flex; flex-direction: column; gap: 0.3rem;
}
.pw-result-list li {
  position: relative; padding-left: 1.2rem;
  font-size: 1.15rem; color: #444; line-height: 1.6;
}
.pw-result-list li::before {
  content: ''; position: absolute; left: 0; top: 0.75rem;
  width: 0.45rem; height: 0.45rem; border-radius: 50%; background: #d71925;
}

/* 底部固定操作栏 */
.pw-actions {
  position: fixed; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 39.3rem; max-width: 100%;
  padding: 0.8rem 0.9rem calc(0.9rem + env(safe-area-inset-bottom));
  background: #fff;
  border-top: 0.05rem solid #eee;
  display: flex; flex-direction: column; gap: 0.6rem;
  z-index: 90;
}
.pw-btn {
  display: block; width: 100%;
  padding: 1.2rem;
  border: 0;
  border-radius: 999px;
  font-size: 1.35rem; font-weight: 700;
  text-align: center; text-decoration: none;
  cursor: pointer; line-height: 1;
}
.pw-btn--primary {
  background: linear-gradient(135deg, #ff5b6a, #d71925);
  color: #fff;
  box-shadow: 0 0.3rem 0.7rem rgba(215, 25, 37, 0.3);
}
.pw-btn--primary:disabled { background: #ccc; box-shadow: none; cursor: not-allowed; color: #fff; }
.pw-btn--ghost {
  background: transparent;
  color: #666;
  border: 0.05rem solid #ddd;
}

/* 选卡弹窗 */
.pw-modal-mask {
  position: fixed; inset: 0;
  background: rgba(0, 0, 0, 0.45);
  display: flex; align-items: flex-end; justify-content: center;
  z-index: 100;
}
.pw-modal[hidden], .pw-modal-mask[hidden] { display: none; }
.pw-modal {
  width: 100%; max-width: 500px;
  background: #fff;
  border-radius: 0.9rem 0.9rem 0 0;
  padding: 1rem 0.9rem calc(1rem + env(safe-area-inset-bottom));
}
.pw-modal-title { font-size: 0.95rem; font-weight: 700; color: #111; text-align: center; margin-bottom: 0.7rem; }
.pw-modal-body { max-height: 55vh; overflow-y: auto; }
.pw-modal-empty { padding: 1.4rem; text-align: center; color: #999; font-size: 0.75rem; }
.pw-modal-item {
  display: flex; align-items: center; gap: 0.6rem;
  padding: 0.7rem 0.4rem;
  border-bottom: 0.05rem solid #f2f2f2;
  cursor: pointer;
}
.pw-modal-item:last-child { border-bottom: 0; }
.pw-modal-item input[type="radio"] { display: none; }
.pw-modal-item-check {
  width: 1rem; height: 1rem; border-radius: 50%;
  border: 0.1rem solid #ccc;
  flex: 0 0 auto;
  position: relative;
}
.pw-modal-item input[type="radio"]:checked + .pw-modal-item-check {
  border-color: #d71925;
}
.pw-modal-item input[type="radio"]:checked + .pw-modal-item-check::after {
  content: ''; position: absolute; left: 50%; top: 50%;
  width: 0.55rem; height: 0.55rem; border-radius: 50%;
  background: #d71925;
  transform: translate(-50%, -50%);
}
.pw-modal-item-info { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 0.15rem; }
.pw-modal-item-info b { font-size: 0.75rem; font-weight: 600; color: #111; }
.pw-modal-item-info i { font-style: normal; font-size: 0.65rem; color: #666; letter-spacing: 0.05em; }
.pw-modal-actions { display: flex; gap: 0.5rem; margin-top: 0.6rem; }
.pw-modal-btn {
  flex: 1 1 0; padding: 0.65rem;
  border: 0; border-radius: 999px;
  font-size: 0.8rem; font-weight: 700; cursor: pointer;
}
.pw-modal-btn--ghost { background: #f2f2f2; color: #666; }
.pw-modal-btn--primary { background: linear-gradient(135deg, #ff5b6a, #d71925); color: #fff; }

/* =====================================================================
 * 中央清算卡「正式开通」 formal_open.php （Figma 1:98 / 1:242 / 1:394 等）
 * ===================================================================== */
.fo-body { margin: 0; background: #fff; font-family: -apple-system, "PingFang SC", "Helvetica Neue", Arial, sans-serif; }
.fo-page { max-width: 430px; margin: 0 auto; min-height: 100vh; position: relative;
  background: linear-gradient(180deg, #fff9f5 0%, #ffffff 100%); }

/* 顶部横幅 */
.fo-banner-wrap { position: relative; }
.fo-banner-img { display: block; width: 100%; }
.fo-banner-back { position: absolute; top: 14px; left: 14px; width: 30px; height: 30px;
  display: flex; align-items: center; justify-content: center; z-index: 3; }
.fo-banner-back img { width: 11px; filter: brightness(0) invert(1); }

/* 顶部进度条头图（Figma 1:909） */
.fo-banner-title { position: absolute; top: 18.5%; left: 0; right: 0; text-align: center; z-index: 2;
  color: #fff; font-size: 19px; font-weight: 500; letter-spacing: 1px; }
.fo-steps-bar { position: absolute; top: 42%; left: 17.8%; right: 13.7%; z-index: 2;
  display: flex; align-items: flex-start; }
.fo-sb-item { width: 72px; flex-shrink: 0; display: flex; flex-direction: column; align-items: center; gap: 9px; }
.fo-sb-dot { width: 22px; height: 22px; border-radius: 11px; box-sizing: border-box;
  display: flex; align-items: center; justify-content: center; font-size: 12px; line-height: 1; }
.fo-sb-dot--done, .fo-sb-dot--todo { background: #fff3d7; border: 1px solid rgba(255,255,255,.8); color: #e22a28; }
.fo-sb-dot--active { background: #e93635; border: 2px solid #ffddba; color: #fff; font-weight: 700; }
.fo-sb-lab { font-size: 10px; color: #fff; white-space: nowrap; }
.fo-sb-line { flex: 1; min-width: 0; height: 1px; margin-top: 10px; background: rgba(255,244,209,.65); }

.fo-main { position: relative; padding: 0 11px 26px; margin-top: -40px; }

/* 您的启用申请已通过 */
.fo-hero { display: flex; gap: 10px; align-items: center; padding: 11px 10px; border-radius: 12px;
  background: linear-gradient(103.8deg, #ffe0a8 0%, #fff1da 63%, #ffdca5 100%);
  box-shadow: 0 4px 6px rgba(214,103,0,.12); }
.fo-hero-ic { width: 45px; height: 46px; object-fit: contain; flex-shrink: 0;
  filter: drop-shadow(0 2px 2px rgba(255,127,0,.25)); }
.fo-hero-bd { flex: 1; min-width: 0; }
.fo-hero-top { display: flex; gap: 6px; align-items: center; }
.fo-hero-title { margin: 0; font-size: 17px; font-weight: 600; color: #36170f; white-space: nowrap; }
.fo-hero-badge { font-size: 9px; color: #2b00ff; background: #ffe0ad; border: 1px solid rgba(207,92,18,.08);
  padding: 5px 8px; border-radius: 12px; white-space: nowrap; }
.fo-hero-badge.is-done { color: #2b00ff; }
.fo-hero-sub { margin: 7px 0 0; font-size: 10px; color: #5c4037; line-height: 1.4; }
.fo-hero-sub--blue { color: #2b00ff; }

/* 办理倒计时 */
.fo-countdown { margin-top: 10px; border: 1px solid #e60012; border-radius: 12px;
  padding-bottom: 12px; overflow: hidden; }
.fo-cd-row { display: flex; align-items: center; gap: 8px; padding: 14px 10px 0; }
.fo-cd-left { display: flex; align-items: center; gap: 8px; width: 171px; }
.fo-cd-clock { width: 21px; height: 21px; }
.fo-cd-title { font-size: 14px; font-weight: 600; color: #36170f; }
.fo-cd-desc { font-size: 10px; color: #8a7a72; margin-top: 4px; }
.fo-cd-right { flex: 1; }
.fo-cd-remain { display: flex; align-items: center; justify-content: center; gap: 8px;
  font-size: 10px; color: #a2554a; margin-bottom: 8px; }
.fo-cd-line { width: 30px; height: 1px; background: rgba(230,0,18,.25); display: inline-block; }
.fo-cd-clocks { display: flex; align-items: flex-start; justify-content: center; gap: 4px; }
.fo-cd-unit { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.fo-cd-num { width: 31px; height: 31px; display: flex; align-items: center; justify-content: center;
  border-radius: 5px; background: linear-gradient(180deg, #ff2b2b, #dc0b0b); color: #fff;
  font-size: 17px; font-weight: 700; box-shadow: inset 0 1px 0 rgba(255,255,255,.32); }
.fo-cd-lab { font-size: 9px; color: #4e403b; }
.fo-cd-colon { color: #ef4e3e; font-size: 12px; font-weight: 700; padding-top: 8px; }
.fo-cd-note { display: flex; gap: 8px; margin: 12px 9px 0; padding: 8px 11px; border-radius: 9px;
  background: linear-gradient(90deg, #fff4ee, #fff0ee 58%, #fff8f3); border: 1px solid #ff9e9a; }
.fo-cd-note-ic { width: 44px; height: 50px; flex-shrink: 0; align-self: center; }
.fo-cd-note p { margin: 0; font-size: 9.2px; line-height: 1.44; color: #493934; }
.fo-cd-note b { color: #e41c1c; font-weight: 600; }

/* 3 项流程 */
.fo-steps { margin-top: 12px; background: rgba(255,255,255,.88); border-radius: 12px; padding: 8px;
  box-shadow: 0 4px 14px rgba(156,72,43,.08); }
.fo-steps-hd { display: flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 600;
  color: #36170f; padding: 4px; }
.fo-steps-bar { width: 3px; height: 12px; background: #e60012; border-radius: 3px; }
.fo-step { display: flex; align-items: center; gap: 7px; background: #fff; border-radius: 9px;
  padding: 8.5px 8px; margin-top: 7px; box-shadow: 0 4px 6px rgba(157,88,62,.1); text-decoration: none; }
.fo-step-ic { width: 54px; height: 50px; object-fit: contain; flex-shrink: 0; }
.fo-step-bd { flex: 1; min-width: 0; padding-left: 6px; }
.fo-step-t { display: flex; align-items: center; gap: 8px; }
.fo-step-no { background: #fff1df; color: #6d4630; font-size: 9px; font-weight: 700;
  padding: 3px 5px; border-radius: 9px; }
.fo-step-name { font-size: 12px; font-weight: 600; color: #36170f; }
.fo-step-desc { font-size: 8.8px; color: #70615a; line-height: 1.45; margin-top: 5px; }
.fo-step-btn { flex-shrink: 0; border: 1px solid #ff3b30; color: #dd241b; background: #fff;
  font-size: 10px; padding: 6px 11px; border-radius: 18px; }
.fo-step-btn.is-done { border-color: #ff3b30; color: #fff; background: #ff3b30; }
.fo-step-arrow { color: #e60012; font-size: 18px; flex-shrink: 0; }
/* 权益卡片（Figma 1:374） */
.fo-benefits { display: flex; align-items: center; width: 100%; margin-top: 12px;
  background: linear-gradient(90deg, #eef5ff 0%, #ffffff 50%, #eef5ff 100%);
  border-radius: 10px; padding: 7px 2px; }
.fo-benefit-item { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 5px;
  padding: 2px 4px; }
.fo-benefit-item + .fo-benefit-item { border-left: 1px solid rgba(205, 218, 236, .45); }
.fo-benefit-ic { width: 27px; height: 27px; object-fit: contain; }
.fo-benefit-lab { font-size: 8.5px; line-height: 1; color: #36170f; white-space: nowrap; }

/* 还差最后一步即可正式开通（1:366） */
.fo-alldone { display: flex; align-items: center; gap: 20px; margin-top: 12px; padding: 2px 16px 1px 13px;
  height: 67px; border-radius: 11px; border: 1px solid #85daa0;
  background: linear-gradient(90deg, #f4fff1, #fbffef);
  box-shadow: 0 4px 6px rgba(26,138,65,.06); box-sizing: border-box; }
.fo-alldone-ic { width: 57px; height: 57px; object-fit: contain; flex-shrink: 0;
  filter: drop-shadow(0 5px 4px rgba(35,172,89,.22)); }
.fo-alldone-bd { flex: 1; min-width: 0; }
.fo-alldone-t { font-size: 17px; font-weight: 600; color: #0011ff; }
.fo-alldone-d { margin: 5px 0 0; font-size: 11px; color: #58725e; line-height: 17.4px; }

/* 主按钮 */
.fo-cta { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 14px;
  height: 40px; border-radius: 22px; background: linear-gradient(90deg, #ff3b30, #e60012);
  color: #fff; font-size: 15px; font-weight: 600; text-decoration: none;
  box-shadow: 0 6px 6.5px rgba(238,18,24,.25); }
.fo-cta--ghost { background: #fff; border: 1px solid #cac4c4; color: #f90202; box-shadow: none; }
.fo-cta-arrow { font-size: 15px; }
.fo-foot { text-align: center; font-size: 11px; color: #a99b93; margin-top: 12px; }
.fo-foot--lock { color: #8b8f98; }

/* ---- 通用表单卡片 / 勾选 / 签名 ---- */
.fo-card { background: #fff; border-radius: 14px; padding: 10px; margin-top: 6px;
  box-shadow: 0 6px 18px rgba(156,72,43,.08); }
.fo-check { display: flex; align-items: flex-start; gap: 8px; margin: 12px 2px; cursor: pointer; }
.fo-check input { display: none; }
.fo-check-box { width: 14px; height: 14px; border: 1px solid #d0574b; border-radius: 3px; flex-shrink: 0;
  margin-top: 1px; position: relative; }
.fo-check input:checked + .fo-check-box { background: #e60012; border-color: #e60012; }
.fo-check input:checked + .fo-check-box::after { content: "✓"; color: #fff; font-size: 10px;
  position: absolute; left: 1.5px; top: -1px; }
.fo-check-txt { font-size: 12px; color: #555; line-height: 1.4; }
.fo-check-txt a { color: #e60012; text-decoration: none; }
.fo-check--sm .fo-check-txt { font-size: 11px; }
.fo-check--round { align-items: center; margin: 12px 0 0; padding-left: 12px; }
.fo-check--round .fo-check-box { border-radius: 50%; border-color: #ef1a24; width: 13px; height: 13px; margin-top: 0; }
.fo-check--round input:checked + .fo-check-box { background: #ef1a24; border-color: #ef1a24; }
.fo-check--round .fo-check-txt { font-size: 9.5px; color: #4f4a4a; }
.fo-check--round .fo-check-txt a { color: #ef1a24; }
.fo-form-btn { display: flex; align-items: center; justify-content: center; gap: 4px; width: 100%;
  height: 38px; border: 0; border-radius: 22px; background: linear-gradient(90deg, #ff3b30, #e60012);
  color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; text-decoration: none;
  box-shadow: 0 6px 6.5px rgba(238,18,24,.25); }
.fo-form-btn[disabled] { opacity: .6; }
.fo-form-btn-arrow { font-size: 15px; }
.fo-form-btn--pay { margin-top: 10px; height: 39px; font-size: 17px;
  background: linear-gradient(90deg, #f10c11, #ed0a0a); box-shadow: 0 6px 6.5px rgba(238,18,24,.25); }
.fo-cf-pay-amt { font-size: 17px; font-weight: 700; }
.fo-sign { border: 1px dashed #e2c9c2; border-radius: 10px; padding: 10px; margin-top: 12px; background: #fffdfb; }
.fo-sign-hd { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.fo-sign-lab { font-size: 13px; color: #333; }
.fo-sign-reset { border: 0; background: transparent; color: #e60012; font-size: 13px; cursor: pointer; }
.fo-sign-canvas { display: block; width: 100%; height: 130px; background: #fff;
  border: 1px solid #eee; border-radius: 8px; touch-action: none; }

/* ---- 身份信息确认 ---- */
/* 身份认证提示卡片（Figma 1:563） */
.fo-id-header { display: flex; align-items: center; gap: 8px; width: 100%; padding: 9px 11px;
  border-radius: 8px; box-sizing: border-box;
  background: linear-gradient(110deg, #fff0e6 0%, #fff7ee 55%, #fff0de 100%); }
.fo-id-header-ic { width: 30px; height: 36px; flex-shrink: 0; object-fit: contain; }
.fo-id-header-txt { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 4px; }
.fo-id-header-t { margin: 0; font-size: 11px; line-height: 13.2px; color: #292929; }
.fo-id-header-s { margin: 0; font-size: 8.7px; line-height: 11.75px; color: #777; }
.fo-id-header-badge { width: 50px; height: 38px; flex-shrink: 0; object-fit: contain; }
.fo-id-info { border: 1px solid #eef0f4; border-radius: 12px; margin-top: 10px; box-shadow: 0 2px 8px rgba(0,0,0,.03); }
.fo-id-info-hd { display: flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 600;
  color: #1c2330; padding: 11px 12px; }
.fo-id-info-bar { width: 4px; height: 14px; background: #2669ef; border-radius: 2px; }
.fo-id-row { display: flex; justify-content: space-between; align-items: center; padding: 10px 12px;
  border-top: 1px solid #f1f3f6; font-size: 13px; }
.fo-id-k { color: #6b7280; }
.fo-id-v { color: #1c2330; font-weight: 500; }
.fo-id-encrypt { display: flex; align-items: center; justify-content: center; gap: 5px;
  font-size: 11px; color: #9aa0ab; margin-top: 10px; }
.fo-id-encrypt--c { margin-top: 12px; }
.fo-id-lock { font-size: 11px; }
.fo-id-tip { background: #fff8f2; border: 1px solid #ffe1c4; border-radius: 10px; padding: 10px 12px; margin-top: 10px; }
.fo-id-tip-hd { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: #b8570e; }
.fo-id-tip-ic { width: 14px; height: 14px; border-radius: 50%; background: #ffb020; color: #fff;
  font-size: 10px; display: flex; align-items: center; justify-content: center; }
.fo-id-tip-txt { margin: 8px 0 0; font-size: 11px; color: #a06a2c; line-height: 1.5; }

/* ---- 签署正式开通协议 ---- */
.fo-ag-note { display: flex; align-items: center; gap: 6px; font-size: 12px; color: #2155bd; margin: 4px 2px 10px; }
.fo-ag-doc { border: 1px solid #eef0f4; border-radius: 12px; padding: 14px; }
.fo-ag-title { text-align: center; margin: 0; font-size: 16px; font-weight: 600; color: #1c2330; }
.fo-ag-lead { text-align: center; margin: 8px 0 0; font-size: 11px; color: #6b7280; line-height: 1.5; }
.fo-ag-sec { margin-top: 14px; }
.fo-ag-h3 { margin: 0 0 8px; font-size: 13px; font-weight: 600; color: #1c2330; }
.fo-ag-ol { margin: 0; padding-left: 18px; }
.fo-ag-ol li { font-size: 11px; color: #4b5563; line-height: 1.7; }
.fo-ag-doc .fo-check { margin-top: 14px; }

/* ---- 签署用卡保证书 ---- */
.fo-gt-intro { display: flex; gap: 10px; align-items: flex-start; }
.fo-gt-intro-txt { flex: 1; }
.fo-gt-title { margin: 0; font-size: 22px; font-weight: 700; color: #b31217; }
.fo-gt-lead { margin: 10px 0 0; font-size: 12px; color: #6b5a54; line-height: 1.6; }
.fo-gt-illus { width: 106px; height: 100px; object-fit: contain; flex-shrink: 0; }
.fo-gt-list { margin-top: 8px; }
.fo-gt-item { display: flex; gap: 12px; padding: 14px 0; border-bottom: 1px solid #f4eeec; position: relative; }
.fo-gt-no { width: 34px; height: 34px; border-radius: 9px; background: linear-gradient(135deg, #ffe6d0, #ffd0b0);
  color: #c2410c; font-size: 15px; font-weight: 700; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.fo-gt-h2 { margin: 0; font-size: 15px; font-weight: 600; color: #2a1b16; }
.fo-gt-bd p { margin: 6px 0 0; font-size: 12px; color: #6b5a54; line-height: 1.6; }

/* ---- 确认开通（押金）1:804 ---- */
.fo-confirm { padding-top: 6px; }
.fo-cf-hero { display: flex; align-items: flex-start; justify-content: space-between; padding: 18px 16px 18px 20px;
  border-radius: 15px; background: #fff; box-shadow: 0 7px 18px rgba(216,52,52,.12); }
.fo-cf-hero-bd { flex: 1; min-width: 0; }
.fo-cf-hero-t { font-size: 18px; font-weight: 600; color: #291817; }
.fo-cf-hero-amt { font-size: 34px; font-weight: 700; color: #ef111b; margin-top: 4px; line-height: 1; letter-spacing: 1px; }
.fo-cf-hero-sym { font-size: 20px; margin-right: 3px; letter-spacing: 0; }
.fo-cf-hero-tip { display: flex; align-items: center; gap: 6px; font-size: 10px; color: #676060; margin-top: 12px; }
.fo-cf-hero-tick { width: 13px; height: 15px; border: 1px solid #ef1f29; border-radius: 3px; color: #ef1f29;
  font-size: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.fo-cf-hero-ic { width: 88px; height: 88px; object-fit: contain; flex-shrink: 0; }
.fo-cf-card { background: #fff; border-radius: 15px; padding: 13px 14px 5px; margin-top: 12px;
  box-shadow: 0 7px 9px rgba(216,52,52,.12); }
.fo-cf-card-hd { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; color: #291817; }
.fo-cf-card-ic { width: 18px; height: 21px; object-fit: contain; flex-shrink: 0; }
.fo-cf-row { display: flex; gap: 11px; align-items: flex-start; padding: 8px 0 9px; border-bottom: 1px dashed #f3dddd; }
.fo-cf-row--last { border-bottom: 0; }
.fo-cf-row-ic { width: 34px; height: 34px; object-fit: contain; flex-shrink: 0; }
.fo-cf-row-bd h4 { margin: 0; font-size: 12px; font-weight: 600; color: #291817; }
.fo-cf-row-bd p { margin: 3px 0 0; font-size: 9.5px; color: #6f6969; line-height: 1.5; }
.fo-cf-refund { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px;
  background: linear-gradient(100deg, #f6fff8, #effcf1); border: 1px solid #55d178;
  border-radius: 13px; padding: 13px 13px 10px; margin-top: 12px; }
.fo-cf-refund-bd { flex: 1; min-width: 0; }
.fo-cf-refund-t { margin: 0; font-size: 14px; font-weight: 600; color: #119c37; }
.fo-cf-refund-list { list-style: none; margin: 8px 0 0; padding: 0; }
.fo-cf-refund-list li { display: flex; align-items: flex-start; gap: 6px; font-size: 9.5px; color: #5f6861; margin-top: 5px; }
.fo-cf-tick { width: 10px; height: 10px; border-radius: 3px; background: #38c65f; color: #fff; font-size: 7px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0; margin-top: 1px; }
.fo-cf-refund-ic { width: 63px; height: 67px; object-fit: contain; flex-shrink: 0; }
.fo-cf-note { display: flex; align-items: flex-start; gap: 8px; background: #fffaf3; border: 1px solid #ffcb88;
  border-radius: 9px; padding: 8px 13px; margin-top: 12px; }
.fo-cf-note-ic { width: 18px; height: 23px; object-fit: contain; flex-shrink: 0; }
.fo-cf-note-bd { flex: 1; min-width: 0; }
.fo-cf-note-hd { font-size: 11px; font-weight: 600; color: #291817; }
.fo-cf-note-txt { margin: 3px 0 0; font-size: 8.8px; color: #6f6258; line-height: 1.5; }
.fo-cf-total { display: flex; justify-content: space-between; align-items: center; background: #fff;
  border: 1px solid #eee5e5; border-radius: 9px; padding: 6px 13px; margin-top: 12px; }
.fo-cf-total-k { font-size: 11px; color: #291817; }
.fo-cf-total-v { font-size: 16px; font-weight: 700; color: #ee111b; }

/* ---- 支付完成 ---- */
.fo-done { background: #fff; border-radius: 18px; padding: 20px 15px 15px; box-shadow: 0 -4px 9px rgba(106,44,26,.06); }
.fo-done-hero { display: flex; gap: 12px; align-items: flex-start; }
.fo-done-hero-ic { width: 62px; height: 62px; border-radius: 31px; padding: 4px; flex-shrink: 0;
  background: linear-gradient(145deg, #dfeaff, #fff); box-shadow: 0 3px 4px rgba(48,95,213,.18); }
.fo-done-hero-ic img { width: 100%; height: 100%; }
.fo-done-hero-bd { flex: 1; min-width: 0; }
.fo-done-hero-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.fo-done-hero-title { margin: 0; font-size: 18px; font-weight: 500; color: #1c1d22; line-height: 24.3px; white-space: nowrap; }
.fo-done-badge { background: #fff8ef; border: 1px solid #ffc788; color: #ff7400; font-size: 13px;
  font-weight: 500; padding: 8px 13px; border-radius: 999px; white-space: nowrap; }
.fo-done-hero-blue { margin: 7px 0 0; font-size: 14px; font-weight: 500; color: #154ed7; line-height: 1.45; }
.fo-done-hero-gray { margin: 6px 0 0; font-size: 12.5px; color: #555a63; line-height: 1.65; }
.fo-done-eta { display: flex; gap: 12px; align-items: center; padding: 16px 13px; border-radius: 12px;
  margin-top: 9px; background: linear-gradient(90deg, #f1f7ff, #e9f2ff); }
.fo-done-eta-ic { width: 40px; height: 40px; flex-shrink: 0; }
.fo-done-eta-t { font-size: 13px; font-weight: 500; color: #2155bd; }
.fo-done-eta-d { font-size: 11.5px; color: #5a6170; margin-top: 5px; }
.fo-done-divider { height: 1px; background: #eceef2; margin: 12px 0; }
.fo-done-hd { display: flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 600; color: #1c1d22; }
.fo-done-hd-bar { width: 3px; height: 14px; background: #2669ef; border-radius: 2px; }
/* 开通流程进度 4 步（Figma 1:435） */
.fo-done-progress { position: relative; display: flex; gap: 2px; align-items: flex-start;
  padding: 7px 0 2px; margin-top: 10px; }
.fo-dp-line { position: absolute; top: 27px; left: 45px; right: 45px; height: 2px; background: #e7e9ed; z-index: 0; }
.fo-dp-line-fill { position: absolute; top: 0; left: 0; width: 34%; height: 100%; background: #276cf3; }
.fo-dp-step { flex: 1 0 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 4px;
  position: relative; z-index: 1; }
.fo-dp-dot { width: 43px; height: 43px; border-radius: 21.5px; border: 3px solid #f8f9fb; box-sizing: border-box;
  display: flex; align-items: center; justify-content: center; position: relative; z-index: 1; }
.fo-dp-dot img { width: 25px; height: 25px; display: block; }
.fo-dp-dot--done { background: linear-gradient(145deg, #0b69ff, #2057d9);
  box-shadow: 0 0 0 2px #a9c7ff, 0 4px 8px rgba(18,82,211,.25); }
.fo-dp-dot--active { background: linear-gradient(145deg, #4a91ff, #2563e4);
  box-shadow: 0 0 0 2px #d1e1ff, 0 4px 8px rgba(18,82,211,.18); }
.fo-dp-dot--todo { background: #d4d7dd; filter: drop-shadow(0 2px 2.5px rgba(30,45,70,.18)); }
.fo-dp-t { font-size: 11px; font-weight: 500; line-height: 14.3px; text-align: center; margin-top: 3px; }
.fo-dp-step--done .fo-dp-t, .fo-dp-step--todo .fo-dp-t { color: #1c1d22; }
.fo-dp-step--active .fo-dp-t { color: #2461df; }
.fo-dp-s { font-size: 9.5px; text-align: center; white-space: nowrap; }
.fo-dp-step--done .fo-dp-s, .fo-dp-step--active .fo-dp-s { color: #2461df; }
.fo-dp-step--todo .fo-dp-s { color: #6d7280; }

/* 正式开通·已提交「受理中」版本（Figma Main 1:2）：仅 2026-07-28 19:00 前支付 648 的用户 */
.fo-done2 .fo-done-hero-blue { color: #e4393c; }
.fo-done2 .fo-done-eta-t { color: #e4393c; }
.fo-done2 .fo-done-eta-hl { color: #e4393c; font-weight: 600; }
.fo-done2 .fo-dp-line-fill { width: 67%; }

.fo-done-card { display: flex; gap: 14px; align-items: center; border: 1px solid #e7e8eb; border-radius: 13px;
  padding: 18px 13px 11px; margin-top: 14px; box-shadow: 0 2px 7px rgba(45,55,80,.05); }
.fo-done-card-img { width: 116px; height: 76px; object-fit: cover; border-radius: 5px; flex-shrink: 0;
  box-shadow: 0 5px 9px rgba(165,0,0,.27); }
.fo-done-card-rows { flex: 1; min-width: 0; }
.fo-done-card-row { display: flex; justify-content: space-between; align-items: center; padding: 7px 0 8px;
  border-bottom: 1px solid #eceef1; font-size: 11px; }
.fo-done-card-row:last-child { border-bottom: 0; }
.fo-done-card-k { color: #33363c; }
.fo-done-card-v { color: #1c1d22; font-weight: 500; }

/* 温馨提示（Figma 1:496） */
.fo-done-tip { display: flex; align-items: center; gap: 13px; padding: 13px 14px 10px;
  border: 1px solid #ffddb8; border-radius: 13px; margin-top: 12px;
  background: linear-gradient(90deg, #fffaf4, #fffefb); }
.fo-done-tip-ic { width: 43px; height: 47px; object-fit: contain; flex-shrink: 0; }
.fo-done-tip-bd { flex: 1; min-width: 0; }
.fo-done-tip-t { font-size: 12px; font-weight: 500; color: #f16f00; }
.fo-done-tip-list { list-style: disc; margin: 5px 0 0; padding-left: 16px; color: #33363d; font-size: 10.5px; }
.fo-done-tip-list li { line-height: 17.33px; }

/* 安全保障（Figma 1:516） */
.fo-done-safety { display: flex; align-items: flex-start; padding: 13px 4px 10px;
  border-radius: 12px; margin-top: 12px;
  background: linear-gradient(180deg, #fafbfc, #f5f6f8); }
.fo-done-sf-item { flex: 1 0 0; min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 3px;
  border-right: 1px solid #e7e9ed; }
.fo-done-sf-item:last-child { border-right: 0; }
.fo-done-sf-item img { width: 38px; height: 38px; object-fit: contain; }
.fo-done-sf-t { font-size: 10.8px; font-weight: 500; color: #1c1d22; text-align: center; margin-top: 2px; }
.fo-done-sf-s { font-size: 9px; color: #747982; text-align: center; }

/* ---- 审核已通过（Figma 23:1223） ---- */
.foa-hero { display: flex; flex-direction: column; align-items: center; text-align: center; padding-top: 2px; }
.foa-shield { width: 96px; height: auto; display: block; }
.foa-title { margin: 2px 0 0; font-size: 27px; font-weight: 600; color: #171a20; letter-spacing: 0.5px; line-height: 32.4px; }
.foa-sub { margin: 4px 0 0; font-size: 16px; font-weight: 500; color: #04966a; line-height: 22.4px; }
.foa-body { margin: 10px 0 0; font-size: 12.8px; color: #5d626b; line-height: 22.4px; }
.foa-contact { display: flex; align-items: center; gap: 10px; height: 72px; box-sizing: border-box;
  margin-top: 16px; padding: 4px 15px 0; border-radius: 12px; text-decoration: none;
  background: linear-gradient(133deg, #ff1d26 0%, #ed0011 70%, #d6000e 100%);
  box-shadow: 0 8px 9px rgba(230,0,18,0.22); }
.foa-contact-ic { width: 42px; height: 42px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; }
.foa-contact-ic img { width: 30px; height: 30px; display: block; }
.foa-contact-tx { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.foa-contact-tx b { font-size: 17px; font-weight: 700; color: #fff; line-height: 1.2; }
.foa-contact-tx i { font-size: 11.5px; font-style: normal; color: rgba(255,255,255,0.88); }
.foa-contact-arrow { flex-shrink: 0; color: #fff; font-size: 22px; line-height: 1; }
.foa-line-full { width: 100%; }
.foa-actions { display: flex; flex-direction: column; gap: 12px; padding: 14px 13px 0; }
.foa-btn { display: flex; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box;
  height: 44px; border-radius: 22px; font-size: 17px; font-weight: 700; text-decoration: none; cursor: pointer; }
.foa-btn-ic { width: 20px; height: 20px; display: inline-flex; }
.foa-btn-ic img { width: 20px; height: 20px; display: block; }
.foa-btn--primary { color: #fff; background: linear-gradient(90deg, #f10c11, #ed0a0a);
  box-shadow: 0 6px 6.5px rgba(238,18,24,0.25); }
.foa-btn--ghost { background: #fff; border: 1px solid #cac4c4; color: #f90202; }
.foa-btn:active { opacity: 0.92; }
.foa-foot { display: flex; align-items: center; justify-content: center; gap: 5px;
  padding: 16px 0 20px; font-size: 9.5px; color: #8b8f98; }

/* ---- 清算卡专属通道已开启（Figma 23:1474，qualify 页，1rem=10px） ---- */
.qzadv { position: relative; height: 16.4rem; margin: 1.2rem 1.6rem 0; box-sizing: border-box; overflow: hidden;
  border: 0.1rem solid #efc8ab; border-radius: 1rem;
  background: linear-gradient(105deg, #fff7ed 0%, #fffdf8 53%, #fff0de 100%);
  box-shadow: 0 0.3rem 1.2rem rgba(101,42,13,0.06); }
.qzadv-headset { position: absolute; left: 1.2rem; top: 1.4rem; width: 8.2rem; height: 8.8rem; object-fit: contain; z-index: 1; }
.qzadv-deco { position: absolute; right: -0.5rem; top: 3.2rem; width: 8rem; height: 7rem; object-fit: contain; opacity: 0.55; z-index: 0; }
.qzadv-bd { position: absolute; left: 10.3rem; right: 1.8rem; top: 1.9rem; z-index: 1; }
.qzadv-title { font-size: 1.6rem; font-weight: 800; color: #7b260f; line-height: 1.92rem; }
.qzadv-sub { margin: 0.7rem 0 0; font-size: 1.05rem; color: #594a43; line-height: 1.733rem; }
.qzadv-chips { position: absolute; left: 10.3rem; right: 2rem; top: 8.9rem; height: 2.2rem; box-sizing: border-box;
  display: flex; align-items: center; justify-content: space-between; gap: 0.4rem; padding: 0 1rem;
  background: #fff8f0; border: 0.1rem solid #f2d7c1; border-radius: 0.8rem; z-index: 1; }
.qzadv-chip { display: flex; align-items: center; gap: 0.3rem; font-size: 0.7rem; color: #775c4c; white-space: nowrap; }
.qzadv-chip img { width: 1rem; height: 1rem; display: block; }
.qzadv-foot { position: absolute; left: 1.5rem; right: 0.5rem; bottom: 1.4rem; display: flex; align-items: center; gap: 0.6rem; z-index: 1; }
.qzadv-btn { flex: 0 0 auto; width: 23.5rem; height: 2.8rem; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(90deg, #ff6514, #ff9418); border-radius: 999px; color: #fff; font-size: 1.1rem;
  font-weight: 800; letter-spacing: 0.05rem; text-decoration: none; box-shadow: 0 0.3rem 0.6rem rgba(255,101,20,0.25); }
.qzadv-btn:active { opacity: 0.92; }
.qzadv-boc { flex: 0 0 auto; height: 2.7rem; width: auto; object-fit: contain; margin-left: auto; }

/* ============================================================
 * 中央清算卡使用资格查询（首页卡片 21:2 + 结果页 21:21/21:228）
 * 1rem = 设计 10px
 * ============================================================ */

/* ---- 首页「使用资格查询」卡片 ---- */
.qcard { position: relative; width: 100%; aspect-ratio: 373 / 213; border-radius: 1.2rem; overflow: hidden;
  border: 0.2rem solid #f04a17; box-shadow: 0 0 0 0.4rem #ffd98a, 0 0.6rem 1.8rem rgba(165,54,0,0.18);
  margin-bottom: 1.2rem; }
.qcard-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; pointer-events: none; }
.qcard-badge { position: absolute; left: 20.9rem; top: 1.8rem; z-index: 3; background: #ef2b1e; color: #fff;
  font-size: 1rem; font-weight: 500; letter-spacing: 0.05rem; padding: 0.3rem 0.6rem; border-radius: 1rem; }
.qcard-body { position: absolute; left: 1.4rem; top: 1.4rem; width: 20.2rem; z-index: 2;
  display: flex; flex-direction: column; gap: 0.5rem; }
.qcard-title { margin: 0; font-size: 1.7rem; font-weight: 600; color: #171717; letter-spacing: 0.05rem; line-height: 1.35; white-space: nowrap; }
.qcard-title-red { color: #cf1010; }
.qcard-sub { margin: 0; font-size: 1rem; color: #414141; line-height: 1.55rem; }
.qcard-tag { align-self: flex-start; background: #fff1e2; border: 1px solid #ffd5ae; border-radius: 1.2rem;
  color: #d92717; font-size: 0.8rem; font-weight: 500; padding: 0.45rem 0.9rem; white-space: nowrap; }
.qcard-input { display: flex; align-items: center; gap: 0.6rem; height: 3.8rem; padding: 0 1rem;
  background: rgba(255,255,255,0.9); border-radius: 0.6rem; }
.qcard-input-ic { width: 1.7rem; height: 1.7rem; object-fit: contain; flex-shrink: 0; }
.qcard-input-el { flex: 1; min-width: 0; border: none; background: transparent; outline: none;
  font-size: 1.2rem; color: #333; }
.qcard-input-el::placeholder { color: #757575; }
.qcard-btn { position: absolute; left: 1.3rem; right: 1.3rem; bottom: 1rem; z-index: 2; height: 2.9rem;
  border: none; border-radius: 1.8rem; background: linear-gradient(180deg, #f4271e, #cd0000);
  color: #fff; font-size: 1.3rem; font-weight: 500; cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.4), 0 0.3rem 0.4rem rgba(190,0,0,0.25); }

/* ---- 账号有误 / 按顺序办理 弹窗（首页卡片与结果页共用）---- */
.qacct-modal { position: fixed; inset: 0; z-index: 4000; display: flex; align-items: center; justify-content: center; padding: 2rem; }
.qacct-modal[hidden] { display: none; }
.qacct-mask { position: absolute; inset: 0; background: rgba(0,0,0,0.5); }
.qacct-box { position: relative; z-index: 1; width: 28rem; max-width: 86vw; background: #fff; border-radius: 1.4rem;
  padding: 2.4rem 2rem 1.8rem; text-align: center; box-shadow: 0 0.8rem 3rem rgba(0,0,0,0.2); }
.qacct-title { font-size: 1.7rem; font-weight: 700; color: #1a1a1a; margin-bottom: 1rem; }
.qacct-text { font-size: 1.4rem; color: #555; line-height: 2rem; margin-bottom: 1.8rem; }
.qacct-btn { width: 100%; height: 4rem; border: none; border-radius: 2rem;
  background: linear-gradient(180deg, #f4271e, #cd0000); color: #fff; font-size: 1.5rem; font-weight: 600; cursor: pointer; }

/* ---- 资格查询结果页 ---- */
.qz-body { display: block; margin: 0 auto; max-width: 39.3rem; min-height: 100vh; background: #f3f4f6;
  font-family: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif; color: #333; padding-bottom: 3rem; }
.qz-topbar { display: flex; align-items: center; gap: 0.7rem; height: 3.6rem; padding: 0 1.1rem;
  background: linear-gradient(92deg, #a90400 0%, #ce1304 52%, #a70000 100%); }
.qz-topbar-emblem { width: 2.5rem; height: 2.5rem; object-fit: contain; }
.qz-topbar-title { color: #fff; font-size: 1.3rem; font-weight: 700; letter-spacing: 0.02rem; }

.qz-hero { position: relative; height: 12.6rem; margin: 0 0.8rem; border-radius: 0.8rem 0.8rem 0 0;
  overflow: hidden; border: 1px solid rgba(255,255,255,0.8); }
.qz-hero-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.qz-hero-tx { position: absolute; left: 1.9rem; top: 1.8rem; }
.qz-hero-h1 { color: #fff; font-size: 1.6rem; font-weight: 700; line-height: 1.84rem; }
.qz-hero-p { color: #fff; font-size: 1.07rem; line-height: 1.177rem; margin-top: 0.5rem; }
.qz-hero-strong { color: #fff; font-size: 1.07rem; font-weight: 700; line-height: 1.177rem; margin-top: 0.4rem; }
.qz-hero-wave { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 6.7rem; pointer-events: none; }

.qz-main { position: relative; }

/* 查询信息（21:78 / 21:290）*/
.qz-search { position: relative; z-index: 2; margin: -1.9rem 1.6rem 0; padding: 1.1rem 1.3rem 0.9rem;
  background: rgba(255,255,255,0.97); border: 1px solid #f3d7c7; border-radius: 0.8rem;
  box-shadow: 0 0.2rem 0.6rem rgba(198,91,25,0.08); }
.qz-search-hd { display: flex; align-items: center; gap: 0.6rem; height: 1.8rem; }
.qz-search-ic { width: 1.5rem; height: 1.5rem; object-fit: contain; }
.qz-search-t { font-size: 1.1rem; font-weight: 700; color: #202020; }
.qz-search-row { display: flex; align-items: center; gap: 0.2rem; padding: 0.6rem 0 0.8rem; }
.qz-search-lb { width: 4.6rem; padding-left: 0.5rem; font-size: 0.9rem; color: #252525; white-space: nowrap; }
.qz-search-input { flex: 1; min-width: 0; height: 2.5rem; border: 1px solid #ecd7c9; border-radius: 0.7rem;
  padding: 0 1rem; font-size: 0.87rem; color: #333; outline: none; }
.qz-search-input::placeholder { color: #b7b7b7; }
.qz-search-btn { width: 100%; height: 2.4rem; border: none; border-radius: 2rem;
  background: linear-gradient(90deg, #e80000 0%, #f01713 50%, #d40000 100%); color: #fff;
  font-size: 1.1rem; font-weight: 700; cursor: pointer; box-shadow: inset 0 -1px 0 rgba(0,0,0,0.08); }
.qz-search-note { display: flex; align-items: center; justify-content: center; gap: 0.4rem; height: 1.9rem;
  margin-top: 0.2rem; font-size: 0.78rem; color: #595959; }
.qz-search-note-ic { width: 1.1rem; height: 1.1rem; object-fit: contain; }

.qz-result[hidden] { display: none; }

/* 查询结果外框（Section 21:39 / 21:246）*/
.qz-rc { margin: 1rem 1.6rem 0; padding: 0.7rem 1.3rem 0.8rem; border: 1px solid #e9e3e3; border-radius: 0.8rem;
  box-shadow: 0 0.1rem 0.25rem rgba(0,0,0,0.04); }
.qz-rc--todo { background: linear-gradient(108deg, #f8faff, #fff); }
.qz-rc--done { background: linear-gradient(108deg, #f7fff9, #fff); margin-left: 1.7rem; margin-right: 1.5rem; }
.qz-rc-hd { display: flex; align-items: center; gap: 0.6rem; height: 1.8rem; margin-bottom: 0.3rem; }
.qz-rc-hd-ic { width: 1rem; height: 1rem; border-radius: 0.5rem; background: #0aa14a; color: #fff;
  font-size: 0.7rem; line-height: 1; display: inline-flex; align-items: center; justify-content: center; }
.qz-rc-hd-ic--blue { background: #1763ea; }
.qz-rc-hd-t { font-size: 1.1rem; font-weight: 700; color: #111; }

/* 结果内白框（Background+Border 21:45 / 21:252）*/
.qz-rc-box { position: relative; background: #fff; border-radius: 0.7rem; padding: 0.5rem 0.8rem 0.8rem; }
.qz-rc-box--todo { border: 1px solid #1763ea; }
.qz-rc-box--done { border: 1px solid #0aa14a; }
.qz-rc-top { display: flex; align-items: flex-start; gap: 0.7rem; }
.qz-shield-img { width: 2.6rem; height: 2.9rem; flex-shrink: 0; object-fit: contain; }
.qz-rc-top-tx { min-width: 0; padding-top: 0.1rem; }
.qz-rc-title { font-size: 1.03rem; font-weight: 700; line-height: 1.236rem; }
.qz-rc-title--todo { color: #1763ea; }
.qz-rc-title--done { color: #0aa14a; }
.qz-rc-sub { font-size: 0.72rem; color: #777; line-height: 0.9rem; margin-top: 0.3rem; }
.qz-rc--done .qz-rc-sub { font-size: 0.8rem; }
.qz-desc { margin: 0.5rem 0 0; }
.qz-desc-row { display: flex; line-height: 1.117rem; }
.qz-desc-row dt { margin: 0; width: 5.8rem; font-size: 0.77rem; color: #595959; white-space: nowrap; }
.qz-desc-row dd { margin: 0; font-size: 0.77rem; color: #555; }
.qz-desc-lock { color: #1763ea; font-weight: 700; }
.qz-desc-strong--todo { color: #ff5c16; font-weight: 700; }
.qz-desc-strong--done { color: #0aa14a; font-weight: 700; }
.qz-rc-tip { display: flex; gap: 0.2rem; margin-top: 0.6rem; padding: 0.4rem 0.7rem 0.5rem;
  background: #fff2df; border-radius: 0.5rem; }
.qz-rc-tip-t { flex-shrink: 0; width: 4.6rem; font-size: 0.7rem; font-weight: 700; color: #f07b14; line-height: 0.875rem; }
.qz-rc-tip-x { font-size: 0.69rem; color: #5a5a5a; line-height: 0.863rem; }
.qz-rc-btn { display: block; width: 100%; margin-top: 0.6rem; height: 2.6rem; line-height: 2.6rem; text-align: center;
  border: none; border-radius: 1.2rem; color: #fff; font-size: 0.78rem; font-weight: 400; cursor: pointer; text-decoration: none; }
.qz-rc-btn--todo { background: linear-gradient(90deg, #1e63ee, #1763ea); }
.qz-rc-btn--done { background: linear-gradient(90deg, #17b35f, #0aa14a); }

/* 待办事项（Section 21:95）*/
.qz-todo { margin: 1rem 1.6rem 2rem; padding: 1.1rem 1.2rem 1rem; background: rgba(255,255,255,0.98);
  border: 1px solid #e0e4e8; border-radius: 0.8rem; box-shadow: 0 0.3rem 1rem rgba(41,52,65,0.07); }
.qz-todo-hd { display: flex; align-items: center; justify-content: space-between; margin-bottom: 0.7rem; }
.qz-todo-hd-l { display: flex; align-items: center; gap: 0.7rem; font-size: 1.4rem; font-weight: 500; color: #20232a; }
.qz-todo-hd-ic { width: 1.7rem; height: 1.7rem; object-fit: contain; }
.qz-todo-hd-r { font-size: 0.9rem; color: #7b7f85; }
.qz-todo-list { position: relative; }
.qz-todo-item { position: relative; display: flex; gap: 1.2rem; padding-bottom: 1.4rem; }
.qz-todo-item:last-child { padding-bottom: 0; }
.qz-todo-item:not(:last-child)::before { content: ''; position: absolute; left: 1rem; top: 2.6rem; bottom: 0.1rem;
  border-left: 1px dashed #cbd1d8; }
.qz-todo-no { position: relative; z-index: 1; margin-top: 1.1rem; width: 2rem; height: 2rem; flex-shrink: 0; border-radius: 1rem;
  display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.1rem; font-weight: 700;
  box-shadow: 0 0 0 0.3rem #fff; }
.qz-todo-no--active { background: #ff5b00; }
.qz-todo-no--wait { background: #9da2aa; }
.qz-todo-card { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  background: #fff; border: 1px solid #e3e5e8; border-radius: 0.8rem; padding: 1.1rem; min-height: 5.8rem;
  box-shadow: 0 0.1rem 0.2rem rgba(20,30,40,0.02); }
.qz-todo-main { min-width: 0; }
.qz-todo-tt-row { display: flex; align-items: center; gap: 0.7rem; margin-bottom: 0.5rem; flex-wrap: wrap; }
.qz-todo-tt { font-size: 1.1rem; font-weight: 500; color: #20232a; }
.qz-todo-badge { flex-shrink: 0; background: #fff4ed; border: 1px solid #ffc09c; color: #ff5d00; font-size: 0.8rem;
  border-radius: 0.7rem; padding: 0.4rem 0.7rem; white-space: nowrap; }
.qz-todo-desc { font-size: 0.85rem; color: #73777d; line-height: 1.1rem; }
.qz-todo-btn { flex-shrink: 0; height: 2.5rem; border: none; border-radius: 0.5rem; padding: 0 0.65rem;
  background: linear-gradient(180deg, #f20a08, #de0000); color: #fff; font-size: 0.95rem; font-weight: 500;
  white-space: nowrap; cursor: pointer; box-shadow: 0 0.3rem 0.35rem rgba(227,0,0,0.15); }

/* ==== 首页「中国银行提现提示」卡片（Figma 2:40 提示卡片；整卡热区）==== */
.hwd-tip {
  display: block;
  width: 100%;
  line-height: 0;
  text-decoration: none;
  border-radius: 0.9rem;
  overflow: hidden;
}
.hwd-tip:active { opacity: 0.94; }
.hwd-tip-img { display: block; width: 100%; height: auto; }

/* ==== 中国银行提现说明页（Figma 2:242 说明 / 2:382 完成；整图 + 透明热区）==== */
.wnp-body { margin: 0; background: #fff6ec; -webkit-tap-highlight-color: transparent; }
.wnp-stage {
  position: relative;
  width: 100%;
  max-width: 480px;
  margin: 0 auto;
}
.wnp-img { display: block; width: 100%; height: auto; }
.wnp-hot {
  position: absolute;
  display: block;
  border-radius: 1.2rem;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0.06);
}
.wnp-hot:active { background: rgba(0, 0, 0, 0.06); }

/* ==== 查看更多事项页 more_items.php（Figma 2:60，1rem=设计10px）==== */
.mi-body { margin: 0; background: linear-gradient(180deg, #fff0de 0%, #fffaf5 24%, #ffffff 60%); min-height: 100vh; -webkit-tap-highlight-color: transparent; }
.mi-page { position: relative; width: 100%; min-height: 100vh; overflow: hidden; }

.mi-header { position: relative; display: flex; align-items: center; justify-content: center; padding: 3rem 1.8rem 1rem; }
.mi-back { position: absolute; left: 1.4rem; top: 2.7rem; width: 2.6rem; height: 2.6rem; border: none; background: none; padding: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; }
.mi-back img { width: 2.2rem; height: 2.2rem; display: block; }
.mi-head-tt { text-align: center; }
.mi-title { margin: 0; font-size: 1.9rem; line-height: 2.6rem; color: #111; font-weight: 500; letter-spacing: 0.02rem; }
.mi-subtitle { margin: 0.2rem 0 0; font-size: 1.2rem; line-height: 1.8rem; color: #8b8b8b; }
.mi-shield { position: absolute; right: 3rem; top: 1.5rem; width: 7.6rem; height: 7.2rem; object-fit: contain; pointer-events: none; }

.mi-main { padding: 0 1.8rem 3rem; }

.mi-announce { display: flex; align-items: center; height: 3.9rem; margin-top: 0.4rem; background: rgba(255,255,255,0.96); border: 0.1rem solid rgba(255,255,255,0.85); border-radius: 1.1rem; box-shadow: 0 0.4rem 1.2rem rgba(86,45,18,0.08); overflow: hidden; }
.mi-announce-tag { display: inline-flex; align-items: center; gap: 0.7rem; height: 100%; padding: 0 1.3rem 0 1.2rem; border-right: 0.1rem solid #efefef; color: #151dff; font-weight: 500; font-size: 1.3rem; white-space: nowrap; }
.mi-announce-ic { width: 1.7rem; height: 1.7rem; display: block; }
.mi-announce-tip { min-width: 0; padding: 0 1.4rem 0 1.2rem; color: #151dff; font-size: 1.2rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.mi-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.6rem 0.7rem; margin-top: 1.1rem; }
.mi-card { position: relative; display: flex; align-items: center; width: 100%; height: 6.4rem; padding: 0 0.8rem 0 0.9rem; background: rgba(255,255,255,0.98); border: none; border-radius: 1.2rem; box-shadow: 0 0.4rem 1.2rem rgba(86,45,18,0.08); text-decoration: none; text-align: left; font: inherit; cursor: pointer; }
.mi-card:active { opacity: 0.94; }
.mi-card--wide { grid-column: 1 / -1; }
.mi-card-ic { flex: 0 0 auto; width: 2.8rem; height: 2.8rem; border-radius: 1.4rem; background: #f1efff; display: flex; align-items: center; justify-content: center; }
.mi-card-ic img { width: 1.8rem; height: 1.8rem; display: block; }
.mi-card-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 0.6rem; padding-left: 1rem; }
.mi-card-tt { color: #151dff; font-weight: 500; font-size: 1.37rem; line-height: 1.9rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mi-card-sub { color: #e95c29; font-size: 1.13rem; line-height: 1.5rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mi-card-arr { flex: 0 0 auto; color: #9c9c9c; font-size: 2.2rem; line-height: 1; }
.mi-badge { position: absolute; top: -0.7rem; right: 0.66rem; z-index: 2; min-width: 1.7rem; height: 1.7rem; padding: 0 0.5rem; display: inline-flex; align-items: center; justify-content: center; background: #f5162c; border: 0.1rem solid #fff; border-radius: 1rem; color: #fff; font-size: 1rem; font-weight: 700; line-height: 1; }

.mi-quick-hd { display: flex; align-items: center; gap: 0.7rem; margin: 1.6rem 0 0.7rem; padding-left: 0.1rem; color: #111; font-weight: 500; font-size: 1.4rem; }
.mi-quick-bar { width: 0.3rem; height: 1.5rem; border-radius: 0.2rem; background: #ef7f16; }
.mi-quick { background: rgba(255,255,255,0.96); border: 0.1rem solid rgba(255,255,255,0.85); border-radius: 1.1rem; box-shadow: 0 0.4rem 1.2rem rgba(86,45,18,0.08); padding: 0 1rem; }
.mi-quick-row { display: flex; align-items: center; height: 3.2rem; border-bottom: 0.1rem solid #eee; text-decoration: none; }
.mi-quick-row:last-child { border-bottom: none; }
.mi-quick-row:active { opacity: 0.7; }
.mi-quick-ic { flex: 0 0 auto; width: 2.5rem; height: 2.5rem; border-radius: 1.25rem; background: #fff0df; display: flex; align-items: center; justify-content: center; }
.mi-quick-ic img { width: 1.6rem; height: 1.6rem; display: block; }
.mi-quick-tt { flex: 0 0 auto; padding-left: 0.9rem; color: #111; font-weight: 500; font-size: 1.23rem; white-space: nowrap; }
.mi-quick-sub { flex: 1 1 auto; min-width: 0; padding-left: 1.4rem; color: #a5a5a5; font-size: 1.02rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mi-quick-arr { flex: 0 0 auto; padding-left: 0.5rem; color: #9c9c9c; font-size: 2.2rem; line-height: 1; }

.mi-home-btn { display: flex; align-items: center; justify-content: center; height: 3.4rem; margin-top: 1.4rem; border-radius: 2.2rem; background: linear-gradient(90deg, #3e48ff, #5a32ff); color: #fff; font-size: 1.7rem; text-decoration: none; box-shadow: 0 0.8rem 0.9rem rgba(70,54,255,0.22); }
.mi-home-btn:active { opacity: 0.92; }

/* =====================================================================
 * 全平台限时减免 50% —— 字条 / 顶部弹窗 / 政策详情页
 * ===================================================================== */

/* 「原需缴纳XXX元，现优惠减免50%」字条：按钮内文字下方 / 页面底部一行 */
.fee-cut {
  display: block;
  flex-basis: 100%;
  width: fit-content;
  max-width: 100%;
  margin: 0.6rem auto 0;
  padding: 0.3rem 1.1rem;
  border-radius: 1.1rem;
  background: #fff3e0;
  color: #d81e06;
  font-size: 1.15rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* 含字条的按钮允许换行，字条落到文字下方 */
.fo-form-btn:has(.fee-cut),
.df-cta:has(.fee-cut),
.settle-btn:has(.fee-cut),
.pw-btn:has(.fee-cut),
.fdb-btn-buy:has(.fee-cut),
.fd-btn-buy:has(.fee-cut) { flex-wrap: wrap; height: auto; padding-top: 1rem; padding-bottom: 1rem; }

/* 顶部弹窗（Figma 10:179）：从顶部下拉 */
.promo-pop-mask { position: fixed; inset: 0; z-index: 9999; display: flex; justify-content: center; align-items: flex-start; background: rgba(0,0,0,0); transition: background .3s ease; }
.promo-pop-mask[hidden] { display: none; }
.promo-pop-mask--on { background: rgba(0,0,0,0.35); }
.promo-pop { width: 35rem; max-width: calc(100% - 2.4rem); margin-top: 1.2rem; background: #fff; border-radius: 1.4rem; overflow: hidden; box-shadow: 0 1rem 3rem rgba(0,0,0,0.25); transform: translateY(-130%); transition: transform .34s cubic-bezier(.2,.8,.25,1); }
.promo-pop-mask--on .promo-pop { transform: translateY(0); }
.promo-pop-hd { display: flex; align-items: center; height: 4.5rem; padding: 0 1.2rem; background: #fff7ef; border-bottom: 0.1rem solid #f0e6da; }
.promo-pop-spk { font-size: 1.8rem; margin-right: 0.6rem; }
.promo-pop-title { font-size: 1.55rem; font-weight: 700; color: #2b1d0e; }
.promo-pop-time { margin-left: auto; color: #b7a58f; font-size: 1.15rem; }
.promo-pop-close { margin-left: 1rem; width: 2.4rem; height: 2.4rem; border: none; border-radius: 1.2rem; background: #e6ddd0; color: #7a6a55; font-size: 1.8rem; line-height: 1; }
.promo-pop-close:active { opacity: 0.8; }
.promo-pop-body { display: flex; align-items: stretch; }
.promo-pop-hero { flex: 0 0 44%; background: #d81e06; display: flex; }
.promo-pop-hero img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: center; }
.promo-pop-right { flex: 1 1 auto; min-width: 0; padding: 1.3rem 1.2rem; display: flex; flex-direction: column; }
.promo-pop-text { margin: 0; color: #5a5147; font-size: 1.15rem; line-height: 1.7; }
.promo-pop-text b { color: #d81e06; font-weight: 700; }
.promo-pop-items { display: flex; justify-content: space-between; gap: 0.3rem; margin: 1.1rem 0; }
.promo-pop-item { flex: 1 1 0; min-width: 0; text-align: center; }
.promo-pop-ic { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 0.8rem; background: #ffe9df; color: #d81e06; font-size: 1.3rem; font-weight: 700; }
.promo-pop-item b { display: block; margin-top: 0.4rem; color: #2b1d0e; font-size: 1.02rem; font-weight: 700; white-space: nowrap; }
.promo-pop-item i { display: block; color: #a99a86; font-size: 0.82rem; font-style: normal; white-space: nowrap; }
.promo-pop-btn { display: flex; align-items: center; justify-content: center; height: 3.4rem; margin-top: auto; border-radius: 1.7rem; background: linear-gradient(90deg,#ff4d3d,#d81e06); color: #fff; font-size: 1.4rem; font-weight: 700; text-decoration: none; }
.promo-pop-btn:active { opacity: 0.92; }

/* 首页顶部消息弹窗（Figma 16:395「两大升级」）：从顶部下拉，顶部栏 HTML + 主体整图 + 透明热区 */
.topmsg-mask { position: fixed; inset: 0; z-index: 9999; display: flex; justify-content: center; align-items: flex-start; background: rgba(0,0,0,0); transition: background .3s ease; }
.topmsg-mask[hidden] { display: none; }
.topmsg-mask--on { background: rgba(0,0,0,0.35); }
.topmsg { width: 35.2rem; max-width: calc(100% - 2.4rem); margin-top: 1.2rem; background: #fff; border-radius: 1.4rem; overflow: hidden; box-shadow: 0 1rem 3rem rgba(0,0,0,0.25); transform: translateY(-130%); transition: transform .34s cubic-bezier(.2,.8,.25,1); }
.topmsg-mask--on .topmsg { transform: translateY(0); }
.topmsg-hd { display: flex; align-items: center; height: 4.5rem; padding: 0 1.2rem; background: #fff; border-bottom: 0.1rem solid #f0e6da; }
.topmsg-spk { font-size: 1.8rem; margin-right: 0.6rem; }
.topmsg-title { font-size: 1.55rem; font-weight: 700; color: #2b1d0e; }
.topmsg-time { margin-left: auto; color: #b7a58f; font-size: 1.15rem; }
.topmsg-close { margin-left: 1rem; width: 2.4rem; height: 2.4rem; border: none; border-radius: 1.2rem; background: #e6ddd0; color: #7a6a55; font-size: 1.8rem; line-height: 1; cursor: pointer; }
.topmsg-close:active { opacity: 0.8; }
.topmsg-body { padding: 0.6rem; }
.topmsg-imgwrap { position: relative; }
.topmsg-img { display: block; width: 100%; height: auto; border-radius: 0.8rem; }
.topmsg-hot { position: absolute; display: block; padding: 0; border: none; background: none; cursor: pointer; -webkit-tap-highlight-color: rgba(255,255,255,0.25); border-radius: 2rem; }
.topmsg-hot--book { left: 10.5%; top: 74.5%; width: 31%; height: 9.6%; }
.topmsg-hot--acc  { left: 58.4%; top: 74.5%; width: 31%; height: 9.6%; }
.topmsg-hot:active { background: rgba(255,255,255,0.18); }
/* 顶部消息弹窗 · 海报变体（image/首页弹窗.png 竖版整图，直链 service_booking.php）
   宽度随图自适应、并以视口高度封顶，保证「顶部下拉 + 整张海报(含底部CTA) + 关闭按钮」都可见不裁切。 */
.topmsg--poster { width: auto; }
.topmsg--poster .topmsg-imgwrap { display: block; line-height: 0; border-radius: 0.8rem; overflow: hidden; }
.topmsg--poster .topmsg-img { width: auto; height: auto; max-width: 100%; max-height: calc(88vh - 5rem); border-radius: 0.8rem; }

/* 首页顶部弹窗 ·「官方活动通知」(Figma 顶部弹窗 2:289) —— 先于 #topMsgMask 展示，主体整图 → upgrade_card.php */
.hnotice-mask { position: fixed; inset: 0; z-index: 10000; display: flex; justify-content: center; align-items: flex-start; background: rgba(0,0,0,0); transition: background .3s ease; }
.hnotice-mask[hidden] { display: none; }
.hnotice-mask--on { background: rgba(0,0,0,0.35); }
.hnotice { width: 37.7rem; max-width: calc(100% - 1.6rem); margin-top: 1.2rem; background: linear-gradient(180deg, #fffdfa 0%, #fffaf2 100%); border-radius: 1.7rem; overflow: hidden; box-shadow: 0 0.9rem 3rem rgba(0,0,0,0.2); transform: translateY(-130%); transition: transform .34s cubic-bezier(.2,.8,.25,1); }
.hnotice-mask--on .hnotice { transform: translateY(0); }
.hnotice-hd { display: flex; align-items: center; height: 4.5rem; padding: 0 1rem 0 0.7rem; }
.hnotice-ic { flex: none; width: 3.4rem; height: 3.4rem; border-radius: 1.7rem; display: block; object-fit: cover; }
.hnotice-title { margin-left: 1.2rem; font-size: 1.5rem; font-weight: 500; color: #171717; letter-spacing: 0.02rem; }
.hnotice-time { margin-left: auto; font-size: 1.2rem; color: #555; }
.hnotice-close { margin-left: 1rem; flex: none; width: 2.4rem; height: 2.4rem; padding: 0; border: none; border-radius: 1.2rem; background: #7a7a7a; color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.hnotice-close:active { opacity: 0.85; }
.hnotice-body { display: block; margin: 0 0.7rem 0.7rem; border-radius: 1.3rem; overflow: hidden; line-height: 0; -webkit-tap-highlight-color: rgba(0,0,0,0.06); }
.hnotice-img { display: block; width: 100%; height: auto; }
.hnotice-body:active { opacity: 0.96; }

/* 首页「专属通道推广」弹窗（image/sytc.png 竖版整图）· 最高优先级：z-index 4000 高于使用通知(3000)/物流(1400)/公告(1000)
   整图点击 → service_booking.php；右上角 × 关闭。图片以视口高度封顶，保证含底部「立即前往专属通道」按钮完整可见不裁切。 */
.sytc-modal { position: fixed; inset: 0; z-index: 4000; display: flex; align-items: center; justify-content: center; padding: 2rem; }
.sytc-modal[hidden] { display: none; }
.sytc-mask { position: absolute; inset: 0; background: rgba(0,0,0,0.62); }
.sytc-stage { position: relative; z-index: 1; max-width: 86.5vw; }
.sytc-go { display: block; line-height: 0; }
.sytc-pic { display: block; width: auto; height: auto; max-width: 100%; max-height: 84vh; border-radius: 0.8rem; user-select: none; }
.sytc-close { position: absolute; top: 0.8rem; right: 0.8rem; width: 3.2rem; height: 3.2rem; border: none; border-radius: 50%; background: rgba(0,0,0,0.45); color: #fff; font-size: 2.2rem; line-height: 3.2rem; text-align: center; cursor: pointer; z-index: 2; }
.sytc-close:active { opacity: 0.85; }

/* 限时减免政策详情页（Figma 10:45） */
.pp-body { margin: 0; background: linear-gradient(180deg,#ffefe0,#fff8f0 42%,#fdf7f0); min-height: 100vh; font-family: -apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",Arial,sans-serif; }
.pp-page { max-width: 43rem; margin: 0 auto; padding-bottom: 3.5rem; }
.pp-nav { position: sticky; top: 0; z-index: 10; display: flex; align-items: center; height: 4.6rem; padding: 0 1.6rem; background: linear-gradient(180deg,#ffe6cf,#ffefe0); }
.pp-back { width: 3rem; font-size: 2.6rem; color: #3a2a17; text-decoration: none; line-height: 1; }
.pp-nav-title { flex: 1; text-align: center; font-size: 1.7rem; font-weight: 600; color: #2b1d0e; }
.pp-nav-share { width: 3rem; }
.pp-main { padding: 1rem 2.1rem 0; }
.pp-marquee { display: flex; align-items: center; gap: 0.6rem; height: 2.6rem; padding: 0 1.3rem; border-radius: 1.3rem; background: #fff; border: 0.1rem solid #ffe0c2; box-shadow: 0 0.3rem 0.8rem rgba(216,80,20,.06); color: #e06a1a; font-size: 1.2rem; }
.pp-marquee-txt { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pp-count { display: flex; align-items: center; gap: 0.7rem; height: 2.9rem; margin-top: 0.6rem; padding: 0 1.3rem; border-radius: 1rem; background: #fff; border: 0.1rem solid #ffe0c2; box-shadow: 0 0.3rem 0.8rem rgba(216,80,20,.06); }
.pp-count-ic { font-size: 1.4rem; }
.pp-count-label { color: #c8102e; font-size: 1.3rem; font-weight: 600; }
.pp-count-boxes { display: flex; align-items: center; gap: 0.4rem; margin-left: 0.3rem; }
.pp-count-box { display: inline-flex; align-items: baseline; gap: 0.15rem; padding: 0.25rem 0.5rem; border-radius: 0.5rem; background: linear-gradient(180deg,#ff5a3c,#e21f06); color: #fff; }
.pp-count-box b { font-size: 1.3rem; font-weight: 700; min-width: 1.9rem; text-align: center; }
.pp-count-box i { font-size: 0.82rem; font-style: normal; }
.pp-count-sep { color: #e21f06; font-weight: 700; }
.pp-hero { margin-top: 1.2rem; }
.pp-hero img { display: block; width: 100%; border-radius: 1.4rem; }
.pp-card { margin-top: 1.2rem; padding: 1.3rem 1.4rem; background: #fff; border-radius: 1.4rem; box-shadow: 0 0.4rem 1.2rem rgba(120,60,20,.06); }
.pp-card-hd { display: flex; align-items: center; gap: 0.7rem; font-size: 1.5rem; font-weight: 700; color: #2b1d0e; }
.pp-card-ic { display: inline-flex; align-items: center; justify-content: center; width: 2.1rem; height: 2.1rem; border-radius: 0.6rem; background: #fff0e2; font-size: 1.2rem; }
.pp-card-body { margin: 0.9rem 0 0; color: #6b6157; font-size: 1.22rem; line-height: 1.75; }
.pp-hl { color: #d81e06; font-weight: 600; }
.pp-scope { margin-top: 0.9rem; display: flex; flex-direction: column; gap: 0.6rem; }
.pp-scope-row { display: flex; align-items: center; gap: 0.5rem; padding: 0.5rem 1rem; border-radius: 0.8rem; background: #fff8f1; border: 0.1rem solid #ffe6d0; color: #6b6157; font-size: 1.2rem; }
.pp-scope-dot { color: #ef7f16; font-weight: 700; }
.pp-tipbar { display: flex; align-items: center; gap: 0.6rem; margin-top: 0.9rem; padding: 0.6rem 1.1rem; border-radius: 0.8rem; background: #fff5e6; border: 0.1rem solid #ffe0b8; color: #c8102e; font-size: 1.15rem; }
.pp-actions { margin-top: 2rem; display: flex; flex-direction: column; gap: 1.1rem; padding: 0 0.8rem; }
.pp-btn { display: flex; align-items: center; justify-content: center; height: 4.2rem; border-radius: 2.1rem; font-size: 1.6rem; font-weight: 700; text-decoration: none; }
.pp-btn--primary { background: linear-gradient(90deg,#ff4d3d,#d81e06); color: #fff; box-shadow: 0 0.6rem 1.2rem rgba(216,30,6,.28); }
.pp-btn--ghost { background: #fff; color: #d81e06; border: 0.15rem solid #f2b6ac; }
.pp-btn:active { opacity: 0.92; }

/* ============================================================
 * 首页「预约专属客服 / 加速使用」两个图片入口（Figma 1:1424 / 1:1425）
 * 整图即热区；卡片上下间隙为 0（紧贴上方「持有证书可兑换数字人民币」卡片）
 * ============================================================ */
.home-svc-entries { display: block; margin: 0; }
.home-svc-entry { display: block; margin: 0; padding: 0; border: none; width: 100%; background: none;
  -webkit-tap-highlight-color: transparent; cursor: pointer; }
.home-svc-entry + .home-svc-entry { margin-top: 0.2rem; }
.home-svc-entry img { display: block; width: 100%; height: auto; border-radius: 1.2rem; }
.home-svc-entry:active { opacity: 0.94; }
/* 预约专属客服入口：红色描边已内置在图片素材中，不再由 CSS 叠加（避免双重红框） */

/* 未开通拦截弹窗（Figma 1:1414 弹窗提示） */
.svc-gate-mask { position: fixed; inset: 0; z-index: 9998; display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,0.45); padding: 0 2rem; }
.svc-gate-mask[hidden] { display: none; }
.svc-gate { width: 30.2rem; max-width: 100%; background: #fff; border-radius: 1.6rem; overflow: hidden;
  box-shadow: 0 1rem 3rem rgba(0,0,0,0.22); }
.svc-gate-hd { display: flex; align-items: center; justify-content: center; height: 3.8rem;
  border-bottom: 0.1rem solid #eee; font-size: 1.5rem; font-weight: 700; color: #1a1a1a; }
.svc-gate-body { padding: 1.6rem 2.4rem; color: #4a4a4a; font-size: 1.35rem; line-height: 1.95; text-align: justify; }
.svc-gate-ft { display: flex; gap: 2.1rem; padding: 0 2.4rem 2.2rem; }
.svc-gate-btn { flex: 1 1 0; display: flex; align-items: center; justify-content: center; height: 3.4rem;
  border-radius: 0.6rem; font-size: 1.45rem; font-weight: 500; text-decoration: none; border: none; cursor: pointer; }
.svc-gate-btn--ghost { background: #fff; color: #e4393c; border: 0.1rem solid #e4393c; }
.svc-gate-btn--primary { background: #e4393c; color: #fff; }
.svc-gate-btn:active { opacity: 0.9; }

/* ============================================================
 * 加速中央清算卡使用 accelerate.php（Figma 1:920 / 1:1190；整图 + 透明热区）
 * ============================================================ */
.acc-body { margin: 0; background: #f5f5f5; -webkit-tap-highlight-color: transparent; }
.acc-stage { position: relative; width: 100%; max-width: 39.3rem; margin: 0 auto; }
.acc-img { display: block; width: 100%; height: auto; }
.acc-hot { position: absolute; display: block; border-radius: 1.2rem; -webkit-tap-highlight-color: rgba(0,0,0,0.06); }
.acc-hot:active { background: rgba(0,0,0,0.06); }

/* 加速成功凭证弹窗（Figma 8:261 加速成功） */
.acc-voucher-mask { position: fixed; inset: 0; z-index: 9998; display: flex; align-items: center; justify-content: center;
  background: rgba(0,0,0,0.5); padding: 0 2rem; }
.acc-voucher-mask[hidden] { display: none; }
.acc-voucher { width: 34rem; max-width: 100%; background: #fff; border-radius: 1.4rem; overflow: hidden;
  box-shadow: 0 1rem 3rem rgba(0,0,0,0.28); padding: 0 1.4rem 1.6rem; box-sizing: border-box; }
.acc-voucher-hd { margin: 0 -1.4rem 1.4rem; height: 4rem; display: flex; align-items: center; justify-content: center;
  font-size: 1.6rem; font-weight: 700; color: #fff;
  background: linear-gradient(90deg, #ef383a 0%, #ff5954 50%, #ef3b3e 100%); }
.acc-voucher-img { display: block; width: 100%; height: auto; border-radius: 1rem; }
.acc-voucher-tip { margin: 1.2rem 0 1.4rem; color: #a15b12; font-size: 1.15rem; line-height: 1.7; text-align: justify; }
.acc-voucher-ft { display: flex; gap: 1rem; }
.acc-voucher-btn { flex: 1; height: 4.2rem; border: none; border-radius: 2.1rem; cursor: pointer;
  font-size: 1.5rem; font-weight: 700; font-family: inherit; }
.acc-voucher-btn--ghost { background: #fff; color: #e4393c; border: 0.1rem solid #f0b7b1; }
.acc-voucher-btn--primary { color: #fff; background: linear-gradient(90deg, #ef383a 0%, #ff5954 50%, #ef3b3e 100%);
  box-shadow: 0 0.5rem 1rem rgba(235,57,55,0.22); }
.acc-voucher-btn:active { opacity: 0.92; }

/* 轻提示 toast（加速页保存凭证反馈） */
.acc-body .toast { position: fixed; left: 50%; bottom: 9rem; transform: translateX(-50%); z-index: 9999;
  max-width: 80%; padding: 1rem 1.8rem; border-radius: 0.9rem; background: rgba(0,0,0,0.82); color: #fff;
  font-size: 1.35rem; opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.acc-body .toast.toast--show { opacity: 1; }

/* ============================================================
 * 专属客服预约 service_booking.php（Figma 1:654 预约页 / 1:788 预约成功）
 * 1rem = 设计 10px；基准宽度 393 = 39.3rem。卡片上下间隙统一为 0。
 * ============================================================ */
.svc-body { margin: 0; background: #fbf7f5; -webkit-tap-highlight-color: transparent; }

/* 预约成功态：整图 + 透明热区 */
.svc-stage { position: relative; width: 100%; max-width: 39.3rem; margin: 0 auto; }
.svc-stage-img { display: block; width: 100%; height: auto; }
.svc-hot { position: absolute; display: block; border-radius: 1.2rem; -webkit-tap-highlight-color: rgba(0,0,0,0.06); }
.svc-hot:active { background: rgba(0,0,0,0.06); }

/* 轻提示 toast（预约页保存凭证反馈） */
.svc-body .toast { position: fixed; left: 50%; bottom: 9rem; transform: translateX(-50%); z-index: 9999;
  max-width: 80%; padding: 1rem 1.8rem; border-radius: 0.9rem; background: rgba(0,0,0,0.82); color: #fff;
  font-size: 1.35rem; opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.svc-body .toast.toast--show { opacity: 1; }

/* 预约提交中倒计时弹窗 */
.svc-loading { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; background: rgba(0,0,0,0.55); }
.svc-loading[hidden] { display: none; }
.svc-loading-box { width: 27rem; max-width: 80%; padding: 3rem 2.2rem 2.6rem; border-radius: 1.6rem; background: #fff; text-align: center; box-shadow: 0 1rem 3rem rgba(0,0,0,0.28); }
.svc-loading-spinner { width: 4.6rem; height: 4.6rem; margin: 0 auto 1.8rem; border: 0.4rem solid #f0d9d6; border-top-color: #d81e06; border-radius: 50%; animation: svc-spin 0.9s linear infinite; }
@keyframes svc-spin { to { transform: rotate(360deg); } }
.svc-loading-title { margin: 0 0 1.1rem; font-size: 1.6rem; font-weight: 700; color: #2b2b2b; line-height: 1.7; }
.svc-loading-sub { margin: 0; font-size: 1.4rem; color: #8a8a8a; }
.svc-loading-num { font-size: 1.9rem; font-weight: 700; color: #d81e06; }

/* 预约表单态 */
.svc-page { position: relative; width: 100%; max-width: 39.3rem; margin: 0 auto; min-height: 100vh; background: #fbf7f5; }
.svc-topbar { position: relative; display: flex; align-items: center; justify-content: center; height: 4.4rem; background: #fff; }
.svc-back { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); width: 3.2rem; height: 3.2rem;
  display: flex; align-items: center; justify-content: center; color: #1a1a1a; font-size: 3rem; line-height: 1; text-decoration: none; }
.svc-topbar-tt { margin: 0; font-size: 1.7rem; font-weight: 600; color: #1a1a1a; letter-spacing: 0.02rem; }
.svc-hero { display: block; width: 100%; height: auto; margin: 0; }
/* 卡片切片：宽度 351/393 = 89.313%，居中，上下间隙 0 */
.svc-card { position: relative; width: 89.313%; margin: 0 auto; }
.svc-card-img { display: block; width: 100%; height: auto; margin: 0; }
/* 覆盖在切片图输入框上的真实输入框（白底遮住图内占位文案，值已自动填写） */
.svc-input { position: absolute; box-sizing: border-box; left: 5.983%; width: 88.034%; height: 13.78%;
  border: none; outline: none; background: #fff; color: #1a1a1a; font-size: 1.45rem;
  font-family: inherit; padding: 0 1.2rem; border-radius: 0.8rem; }
.svc-input--name  { top: 41.675%; }
.svc-input--phone { top: 69.237%; }
.svc-input::placeholder { color: #b9b3b0; }
/* 协议 + 立即预约按钮卡片（Figma 1:778）：纯 HTML 还原，避免与切片图内图标重叠 */
.svc-agree-card { position: relative; width: 89.313%; margin: 0 auto; box-sizing: border-box;
  display: flex; flex-direction: column; gap: 0.6rem; padding: 2rem 1.7rem 1.1rem;
  background: #fff; border: 0.1rem solid #f5eeeb; border-radius: 1.7rem;
  box-shadow: 0 0.7rem 1.1rem rgba(103,54,34,0.06); }
.svc-agree-row { display: flex; align-items: center; gap: 0.7rem; height: 1.9rem; cursor: pointer; }
.svc-agree-box { flex: 0 0 auto; width: 1.4rem; height: 1.4rem; margin: 0; padding: 0;
  -webkit-appearance: none; appearance: none; border: 0.1rem solid #d6cfcc; border-radius: 0.4rem; cursor: pointer;
  background: #fff center/0.9rem 0.9rem no-repeat; }
.svc-agree-box:checked { border-color: #ee3f3d; background-color: #ee3f3d;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.4 6.3l2.2 2.2 5-5' fill='none' stroke='%23fff' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.svc-agree-text { font-size: 1.05rem; color: #665c59; line-height: 1.4rem; white-space: nowrap; display: inline-flex; align-items: center; }
.svc-agree-link { color: #ee3f3d; font-weight: 700; text-decoration: none; }
.svc-agree-arrow { display: inline-block; width: 0.6rem; height: 0.6rem; margin-left: 0.35rem;
  border-top: 0.1rem solid #ee3f3d; border-right: 0.1rem solid #ee3f3d; transform: rotate(45deg); }
.svc-submit-btn { display: flex; align-items: center; justify-content: center; width: 100%; height: 4.7rem;
  border: none; border-radius: 1.2rem; cursor: pointer; color: #fff; font-size: 1.6rem; font-weight: 700;
  letter-spacing: 0.03rem; font-family: inherit;
  background: linear-gradient(90deg, #ef383a 0%, #ff5954 50%, #ef3b3e 100%);
  box-shadow: 0 0.7rem 0.65rem rgba(235,57,55,0.18); }
.svc-submit-btn:active { opacity: 0.92; }
.svc-agree-tip { margin: 0; padding-bottom: 0.2rem; text-align: center; color: #aaa5a5; font-size: 0.9rem; }
/* 校验提示 */
.svc-err { position: fixed; left: 50%; bottom: 8rem; transform: translateX(-50%); z-index: 60; max-width: 80%;
  padding: 0.9rem 1.6rem; border-radius: 0.8rem; background: rgba(0,0,0,0.78); color: #fff; font-size: 1.3rem;
  transition: opacity .3s ease; }
.svc-err--out { opacity: 0; }

/* ============================================================
 * 专属顾问系列页面（Figma 23:xxxx；1rem = 设计10px，宽 393 = 39.3rem）
 * 共享：头部 / 头图 / 卡片 / 底部按钮；状态：已分配/已开通/连线中/成功连接
 * ============================================================ */
.adv-body { margin: 0; background: linear-gradient(180deg, #fff 0%, #fffdfc 65%, #fff 100%); min-height: 100vh; -webkit-tap-highlight-color: transparent; }
.adv-page { position: relative; width: 100%; max-width: 39.3rem; margin: 0 auto; min-height: 100vh; overflow: hidden; padding-bottom: 3.4rem; }
/* 头部 */
.adv-header { position: relative; display: flex; align-items: center; justify-content: center; height: 7.4rem; background: #fff; border-bottom: 0.1rem solid #f1efef; }
.adv-header h1 { margin: 0; font-size: 2rem; font-weight: 500; letter-spacing: 0.02rem; color: #241b1b; }
.adv-back { position: absolute; left: 1.8rem; top: 50%; transform: translateY(-50%); width: 2.8rem; height: 4.4rem; display: flex; align-items: center; justify-content: center; background: none; border: none; padding: 0; cursor: pointer; text-decoration: none; }
.adv-back::before { content: ''; display: block; width: 1.2rem; height: 1.2rem; border-left: 0.2rem solid #111; border-bottom: 0.2rem solid #111; transform: rotate(45deg); }
/* 头图 */
.adv-hero { display: block; width: 100%; height: auto; margin-top: -0.2rem; }
/* 主体 */
.adv-main { position: relative; padding: 0.8rem 2.1rem 0; display: flex; flex-direction: column; gap: 0.7rem; }
/* 通用卡片 */
.adv-sec { background: #fff; border: 0.1rem solid #f0dddd; border-radius: 2rem; box-shadow: 0 0.7rem 1rem rgba(53,31,31,0.04); padding: 1.8rem 1.8rem 0.9rem; }
.adv-sec-hd { display: flex; align-items: center; gap: 1rem; height: 2.8rem; }
.adv-sec-hd img { width: 1.8rem; height: 1.8rem; display: block; }
.adv-sec-hd b { font-size: 1.8rem; font-weight: 500; color: #1b1b1b; }
.adv-sec-hd .adv-cs-badge { margin-left: auto; }
/* 预约信息行 */
.adv-info-row { display: flex; align-items: center; justify-content: space-between; min-height: 4.3rem; padding: 0.4rem 0; border-bottom: 0.1rem dashed #edd9d9; }
.adv-info-row:last-child { border-bottom: none; }
.adv-info-l { display: flex; align-items: center; gap: 1.1rem; }
.adv-info-chip { flex: 0 0 auto; width: 2.3rem; height: 2.3rem; border-radius: 1.15rem; background: #fff1f0; display: flex; align-items: center; justify-content: center; }
.adv-info-chip img { width: 1.4rem; height: 1.4rem; display: block; }
.adv-info-lb { font-size: 1.3rem; color: #666; }
.adv-info-r { text-align: right; }
.adv-info-v { font-size: 1.3rem; font-weight: 500; color: #1b1b1b; line-height: 1.56rem; }
.adv-info-v--assign { color: #ef7a00; font-size: 1.4rem; }
.adv-info-sub { margin-top: 0.4rem; font-size: 1.1rem; color: #777; line-height: 1.32rem; }
/* 已分配小胶囊 */
.adv-cs-badge { flex: 0 0 auto; padding: 0.25rem 0.7rem; border-radius: 0.9rem; background: #fff3e6; color: #e88525; font-size: 1rem; line-height: 1.6rem; }
/* 您的专属客服 */
.adv-cs-row { display: flex; align-items: flex-start; gap: 1rem; padding: 0.6rem 0 0.2rem; }
.adv-cs-avatar { flex: 0 0 auto; width: 5.4rem; height: 5.4rem; border-radius: 2.7rem; object-fit: cover; background: #fdeee9; }
.adv-cs-body { flex: 1 1 auto; min-width: 0; }
.adv-cs-title { font-size: 1.4rem; font-weight: 500; color: #1b1b1b; }
.adv-cs-desc { margin-top: 0.5rem; font-size: 1.1rem; color: #888; }
/* 步骤条 */
.adv-steps { position: relative; display: flex; align-items: flex-start; justify-content: space-between; margin-top: 1rem; padding-top: 0.5rem; }
.adv-steps::before { content: ''; position: absolute; left: 2.2rem; right: 1.6rem; top: 1.9rem; height: 0.1rem; background: #cfcfcf; }
.adv-step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.6rem; width: 7.2rem; }
.adv-step-ic { width: 2.8rem; height: 2.8rem; border-radius: 1.4rem; background: #fff; border: 0.2rem solid #f3212d; display: flex; align-items: center; justify-content: center; }
.adv-step-ic img { width: 1.8rem; height: 1.8rem; display: block; }
.adv-step-lb { font-size: 1rem; color: #f3212d; text-align: center; white-space: nowrap; }
.adv-step--off .adv-step-ic { border: 0.1rem solid #aaa; }
.adv-step--off .adv-step-lb { color: #aaa; }
/* 温馨提示 */
.adv-tip { position: relative; overflow: hidden; background: rgba(255,255,255,0.96); border: 0.1rem solid #f1e8e5; border-radius: 1.8rem; box-shadow: 0 0.6rem 2rem rgba(92,45,25,0.05); padding: 1.7rem 1.5rem; }
.adv-tip-hd { display: flex; align-items: center; gap: 1rem; }
.adv-tip-hd img { width: 2rem; height: 2rem; display: block; }
.adv-tip-hd b { font-size: 1.6rem; font-weight: 500; color: #241b1b; }
.adv-tip-list { margin: 1rem 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0.55rem; }
.adv-tip-item { position: relative; padding-left: 1.4rem; font-size: 1.1rem; color: #665b5b; line-height: 1.485rem; max-width: 24rem; }
.adv-tip-item::before { content: ''; position: absolute; left: 0.3rem; top: 0.55rem; width: 0.5rem; height: 0.5rem; border-radius: 0.25rem; background: #ec3036; }
.adv-tip-deco { position: absolute; right: 1.7rem; bottom: 1.5rem; width: 7.4rem; height: 6.4rem; object-fit: contain; pointer-events: none; }
/* 底部按钮 */
.adv-actions { display: flex; flex-direction: column; gap: 0.8rem; padding: 1.4rem 2.2rem 0; }
.adv-btn { display: flex; align-items: center; justify-content: center; height: 3.6rem; border-radius: 2rem; font-size: 1.5rem; font-weight: 500; font-family: inherit; text-decoration: none; cursor: pointer; }
.adv-btn--primary { color: #fff; border: none; background: linear-gradient(90deg, #f1242b 0%, #ec3035 50%, #ee2d32 100%); box-shadow: 0 0.5rem 0.6rem rgba(226,37,43,0.16); }
.adv-btn--ghost { color: #ed2e33; background: #fff; border: 0.1rem solid #ef3035; }
.adv-btn:active { opacity: 0.92; }
.adv-foot-note { display: flex; align-items: center; justify-content: center; gap: 0.7rem; height: 2.4rem; margin-top: 0.8rem; color: #aaa5a5; font-size: 0.9rem; }
.adv-foot-note img { width: 1.2rem; height: 1.2rem; display: block; }

/* ===== 开通资格验证页 advisor_verify.php（Figma 28:2 新待验证 / 28:74 新验证通过，1:1） ===== */
.advv-card { margin: 0.9rem 1.7rem 0; background: linear-gradient(180deg,#fff 0%,#fffdfb 100%); border: 0.1rem solid #ffd7bd; border-radius: 1rem; padding: 1.4rem 1.3rem 1.3rem; }
.advv-hd { position: relative; display: flex; align-items: center; gap: 0.8rem; height: 2.2rem; }
.advv-hd img { width: 2.2rem; height: 2.2rem; display: block; }
.advv-hd b { font-size: 1.6rem; font-weight: 500; color: #202124; }
.advv-badge { margin-left: auto; display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.4rem 0.9rem; border-radius: 1rem; background: #efefef; color: #777; font-size: 0.85rem; line-height: 1; }
.advv-badge--doing { background: transparent; color: #ff2838; padding: 0; font-size: 1.1rem; }
.advv-badge--done { background: #e8f7ee; color: #1aa85e; }
.advv-ring { width: 1rem; height: 1rem; border-radius: 50%; border: 0.15rem solid currentColor; border-top-color: transparent; animation: advv-spin 0.7s linear infinite; }
@keyframes advv-spin { to { transform: rotate(360deg); } }
.advv-sub { margin-top: 1.1rem; font-size: 1rem; color: #7b7f85; }
.advv-list { margin-top: 0.9rem; display: flex; flex-direction: column; gap: 0.8rem; }
.advv-item { position: relative; overflow: hidden; display: flex; align-items: center; gap: 0.8rem; min-height: 5.4rem; padding: 0.9rem 1rem 0.9rem 0.7rem; background: #fff; border: 0.1rem solid #f1f1f1; border-radius: 1rem; box-shadow: 0 0.3rem 0.5rem rgba(0,0,0,0.02); transition: border-color .25s ease, box-shadow .25s ease; }
.advv-item.is-checking { border-color: #ffcfd4; box-shadow: 0 0.3rem 0.8rem rgba(245,37,54,0.12); }
.advv-item.is-checking::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent 0%, rgba(245,37,54,0.10) 50%, transparent 100%); transform: translateX(-100%); animation: advv-sweep 0.85s ease; }
@keyframes advv-sweep { to { transform: translateX(100%); } }
.advv-item.is-pass { border-color: #d4efdf; }
.advv-item.is-fail { border-color: #ffd7d9; }
.advv-ic { flex: 0 0 auto; width: 3.4rem; height: 3.4rem; border-radius: 1rem; display: block; object-fit: cover; }
.advv-item-body { flex: 1 1 auto; min-width: 0; padding-left: 0.3rem; }
.advv-tt { font-size: 1.24rem; font-weight: 500; color: #202124; }
.advv-val { margin-top: 0.5rem; font-size: 1.2rem; color: #8d9096; line-height: 1.3; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.advv-val--empty { color: #b0b3b8; }
.advv-st { flex: 0 0 auto; display: flex; align-items: center; justify-content: flex-end; gap: 0.5rem; min-width: 4.9rem; font-size: 1rem; color: #8d8d8d; }
.advv-st--pass { color: #20a83a; }
.advv-st--doing { color: #ef7f34; }
.advv-tick { display: inline-block; width: 1.4rem; height: 1.4rem; background: url("../image/advisor/ic-vf-check.svg") center/1.4rem no-repeat; }
.advv-go { display: inline-flex; align-items: center; justify-content: center; height: 2.3rem; padding: 0 1.1rem; border-radius: 1.15rem; background: linear-gradient(90deg,#f52536,#ea1427); color: #fff; font-size: 1rem; font-weight: 500; text-decoration: none; white-space: nowrap; }
.advv-go:active { opacity: 0.9; }
.advv-hint { display: flex; align-items: center; gap: 0.6rem; margin-top: 1.1rem; min-height: 2.4rem; padding: 0.5rem 0.7rem; background: #fff6ec; border-radius: 0.6rem; }
.advv-hint img { flex: 0 0 auto; width: 1.4rem; height: 1.4rem; display: block; }
.advv-hint span { font-size: 0.9rem; color: #ef7f34; line-height: 1.25; }
.advv-hint[hidden] { display: none; }   /* 覆盖 display:flex，使 JS 的 hidden 生效 */
/* 验证通过：绿色资格框（Figma 28:134，位于卡片外、按钮上方） */
.advv-success { margin: 0.6rem 1.7rem 0; box-sizing: border-box; display: none; align-items: center; gap: 1.1rem; min-height: 8rem; padding: 1.25rem 1.2rem 1.15rem; background: linear-gradient(90deg,#f6fff7 0%,#fff 100%); border: 0.1rem solid #bce7c3; border-radius: 0.9rem; }
.advv-success.is-show { display: flex; animation: advv-fade .35s ease; }
@keyframes advv-fade { from { opacity: 0; transform: translateY(0.6rem); } to { opacity: 1; transform: none; } }
.advv-success-ic { flex: 0 0 auto; width: 4.2rem; height: 4.2rem; display: block; }
.advv-success-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 0.6rem; }
.advv-success-tt { font-size: 1.4rem; font-weight: 500; color: #202124; line-height: 1.5rem; }
.advv-success-desc { font-size: 0.93rem; font-weight: 500; color: #84888e; line-height: 1.35; }
.advv-success-sub { display: flex; align-items: center; gap: 0.5rem; font-size: 0.88rem; font-weight: 500; color: #8e939a; }
.advv-success-sub img { flex: 0 0 auto; width: 1.3rem; height: 1.3rem; display: block; }

/* ===== 开通专属通道页 advisor_open.php（Figma 28:162 新样式-2，1:1） ===== */
/* 专属顾问的重要性（Figma 28:314） */
.advo-imp { margin: 0.5rem 1.4rem 0; box-sizing: border-box; background: linear-gradient(90deg,#fff9f6 0%,#fff 100%); border: 0.1rem solid #f4c4b2; border-radius: 0.7rem; box-shadow: 0 0.4rem 0.6rem rgba(203,54,29,0.06); padding: 0.7rem 0.9rem 0.7rem; }
.advo-imp-hd { display: flex; align-items: flex-start; gap: 0.8rem; }
.advo-imp-badge { flex: 0 0 auto; width: 2.8rem; height: 2.8rem; border-radius: 1.4rem; display: flex; align-items: center; justify-content: center; background: linear-gradient(145deg,#ff927a 0%,#eb1734 100%); box-shadow: 0 0.3rem 0.35rem rgba(229,44,53,0.16); }
.advo-imp-badge img { width: 2rem; height: 2rem; display: block; }
.advo-imp-txt { flex: 1 1 auto; min-width: 0; padding-top: 0.1rem; }
.advo-imp-tt { font-size: 1.06rem; font-weight: 500; color: #ed1832; }
.advo-imp-desc { margin: 0.31rem 0 0; font-size: 0.66rem; color: #292929; line-height: 1.023rem; }
.advo-imp-feats { display: flex; margin-top: 0.6rem; height: 3.2rem; background: #fff; border-radius: 0.6rem; box-shadow: 0 0.2rem 0.4rem rgba(207,130,95,0.06); }
.advo-imp-feat { position: relative; flex: 1 1 0; min-width: 0; display: flex; align-items: center; gap: 0.5rem; padding: 0.4rem 0.6rem; }
.advo-imp-feat:not(:last-child)::after { content: ''; position: absolute; right: 0; top: 0.7rem; bottom: 0.7rem; width: 0.1rem; background: #f2e8e4; }
.advo-imp-fic { flex: 0 0 auto; width: 1.9rem; height: 1.9rem; border-radius: 0.4rem; display: block; }
.advo-imp-fbody { min-width: 0; display: flex; flex-direction: column; gap: 0.2rem; }
.advo-imp-fbody b { font-size: 0.9rem; font-weight: 700; color: #111; line-height: 0.863rem; white-space: nowrap; }
.advo-imp-fbody i { font-style: normal; font-size: 0.55rem; color: #767676; line-height: 0.633rem; white-space: nowrap; }
.advo-stats { position: relative; margin: 0.8rem 2.3rem 0; background: rgba(255,255,255,0.96); border: 0.1rem solid #f1bd96; border-radius: 1.5rem; box-shadow: 0 0.8rem 1.8rem rgba(223,91,43,0.05); padding: 1.3rem 1rem 3.3rem; }
.advo-stats-row { display: flex; align-items: flex-start; height: 6.2rem; }
.advo-stat { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 0.5rem; }
.advo-stat--cd { flex: 1.3 1 0; }
.advo-stat-lb { font-size: 1.05rem; color: #3b3b3e; }
.advo-stat-val { display: flex; align-items: baseline; justify-content: center; gap: 0.2rem; }
.advo-stat-num { font-size: 2.8rem; font-weight: 700; color: #ef2636; letter-spacing: -0.1rem; line-height: 1; font-family: 'Liberation Sans', Arial, sans-serif; }
.advo-stat-unit { font-size: 1rem; color: #2f2f32; font-weight: 500; }
.advo-stat-div { flex: 0 0 auto; width: 0; align-self: flex-start; height: 4.4rem; border-left: 0.1rem dashed #f4bd9c; }
.advo-cd { display: flex; align-items: center; gap: 0.3rem; }
.advo-cd-box { min-width: 2.3rem; padding: 0.3rem 0.2rem 0.4rem; background: #fffaf8; border: 0.1rem solid #f3ddd5; border-radius: 0.4rem; font-size: 1.7rem; font-weight: 700; color: #ef2636; text-align: center; font-family: 'Liberation Sans', Arial, sans-serif; line-height: 1; }
.advo-cd-sep { font-size: 1.5rem; font-weight: 700; color: #ef2636; }
.advo-stats-note { position: absolute; left: 1rem; right: 1rem; bottom: 0.8rem; display: flex; align-items: center; gap: 0.7rem; height: 2.8rem; padding: 0 0.9rem; background: #fffaf7; border: 0.1rem solid #f5d1bb; border-radius: 0.7rem; }
.advo-stats-note img { width: 1.5rem; height: 1.5rem; flex: 0 0 auto; display: block; }
.advo-stats-note span { font-size: 0.88rem; color: #525257; white-space: nowrap; }
/* 卡片通用（开通信息/办理流程） */
.advo-card { margin: 0.9rem 2.3rem 0; background: rgba(255,255,255,0.96); border: 0.1rem solid #f3dfe0; border-radius: 1.5rem; padding: 1.2rem 1.3rem 0.9rem; }
.advo-hd { display: flex; align-items: center; gap: 0.8rem; height: 2.5rem; }
.advo-hd img { width: 1.9rem; height: 1.9rem; display: block; }
.advo-hd b { font-size: 1.4rem; font-weight: 500; color: #1f1f22; }
.advo-irow { display: flex; align-items: center; gap: 0.6rem; min-height: 2.8rem; padding: 0.4rem 0; border-bottom: 0.1rem dashed #f2e0e1; }
.advo-irow:last-child { border-bottom: none; }
.advo-irow-ic { flex: 0 0 auto; width: 1.9rem; height: 1.9rem; border-radius: 0.95rem; object-fit: cover; display: block; }
.advo-irow-lb { flex: 0 0 auto; width: 8.2rem; font-size: 1.05rem; color: #6a6a70; }
.advo-irow-v { flex: 1 1 auto; text-align: right; font-size: 1.05rem; color: #1d1d20; }
.advo-irow-v--wait { color: #ff5b20; font-weight: 500; }
/* 办理流程：各步骤按内容自适应宽度（Figma 列宽 59/59/63/72），禁止换行 */
.advo-steps { display: flex; align-items: flex-start; justify-content: space-between; margin-top: 0.4rem; }
.advo-step { flex: 0 0 auto; min-width: 5.9rem; display: flex; flex-direction: column; align-items: center; gap: 0.3rem; }
.advo-step img { width: 3.4rem; height: 3.4rem; display: block; }
.advo-step span { font-size: 0.9rem; color: #56565b; text-align: center; white-space: nowrap; }
.advo-step-arrow { flex: 0 0 auto; padding-top: 0.9rem; color: #ff7a34; font-size: 1.6rem; }
.advo-flow-note { margin-top: 0.7rem; padding: 0.55rem 0.4rem; background: #fff6ec; border-radius: 0.6rem; font-size: 0.82rem; color: #d0771f; line-height: 1.45; white-space: nowrap; text-align: center; }

/* ===== 提示弹窗（Figma 23:2873 名额满/时间到；也用于其它提示） ===== */
.advp-modal { position: fixed; inset: 0; z-index: 12000; display: flex; align-items: center; justify-content: center; padding: 2rem; }
.advp-modal[hidden] { display: none; }
.advp-mask { position: absolute; inset: 0; background: rgba(0,0,0,0.5); }
.advp-box { position: relative; z-index: 1; width: 30.1rem; max-width: 88vw; background: #fff; border-radius: 1.6rem; box-shadow: 0 2.5rem 5rem -1.2rem rgba(0,0,0,0.25); padding: 1.9rem 2.4rem 2.2rem; }
.advp-title { text-align: center; font-size: 1.4rem; font-weight: 500; color: #000; line-height: 2.4rem; }
.advp-body { margin-top: 1.2rem; font-size: 1.4rem; color: #000; line-height: 2.6rem; }
.advp-actions { display: flex; gap: 2.1rem; margin-top: 1.8rem; }
.advp-btn { flex: 1 1 0; height: 3.4rem; border-radius: 0.8rem; display: flex; align-items: center; justify-content: center; font-size: 1.4rem; font-weight: 500; font-family: inherit; text-decoration: none; cursor: pointer; }
.advp-btn--ghost { background: #fff; border: 0.1rem solid #b69e9e; color: #ff0000; }
.advp-btn--primary { background: #c81d25; color: #fff; border: none; box-shadow: 0 0.4rem 0.4rem rgba(0,0,0,0.25); }
.advp-btn:active { opacity: 0.9; }

/* ===== 开通支付页 advisor_pay.php（Figma 31:2 专属顾问开通页面设计示意，整图 393×1241 + 透明热区） ===== */
.advpay-body { margin: 0; background: #f4f4f4; -webkit-tap-highlight-color: transparent; }
.advpay-stage { position: relative; width: 100%; max-width: 39.3rem; margin: 0 auto; }
.advpay-img { display: block; width: 100%; height: auto; }
.advpay-hot { position: absolute; display: block; background: none; border: none; padding: 0; cursor: pointer; border-radius: 1rem; }
.advpay-hot:active { background: rgba(0,0,0,0.06); }

/* ===== 激活中央清算卡 activate_card.php（Figma 激活页面未开通 6:814 / 已开通 6:815，整图 393×945 + 透明热区） ===== */
.actv2-body { margin: 0; background: #fcf2ea; -webkit-tap-highlight-color: transparent; }
.actv2-stage { position: relative; width: 100%; max-width: 39.3rem; margin: 0 auto; }
.actv2-img { display: block; width: 100%; height: auto; }
.actv2-hot { position: absolute; display: block; background: none; border: none; padding: 0; cursor: pointer; border-radius: 0.7rem; }
.actv2-hot:active { background: rgba(0,0,0,0.06); }

/* ===== 专属顾问 已开通/连线中/成功连接（Figma 23:1971 / 23:2126 / 23:2282） ===== */
.advd-main { padding: 0.9rem 2.3rem 0; display: flex; flex-direction: column; gap: 0.85rem; }
/* 开通成功 / 连线成功 行 */
.advd-succ { display: flex; align-items: center; gap: 1.2rem; min-height: 6.5rem; padding: 0.8rem 1.5rem; background: #fff; border: 0.1rem solid #ffe7e4; border-radius: 1.3rem; }
.advd-succ-ic { flex: 0 0 auto; width: 2.5rem; height: 2.5rem; border-radius: 1.25rem; background: #43ce64 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.1 2.1 4.9-4.9' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/1.6rem no-repeat; }
.advd-succ-tt { font-size: 1.7rem; font-weight: 500; color: #171717; }
.advd-succ-sub { margin-top: 0.6rem; font-size: 1.07rem; color: #777; line-height: 1.4; }
/* 通用卡片 */
.advd-sec { background: #fff; border: 0.1rem solid #f3deda; border-radius: 1.2rem; padding: 1rem 1.3rem 1.2rem; }
.advd-sec--grad { background: linear-gradient(99deg, #fffafa 0%, #fff5f2 100%); }
.advd-sec--soft { border-color: #ffe7e4; border-radius: 1.3rem; }
.advd-sec-hd { display: flex; align-items: center; gap: 0.9rem; height: 2.6rem; }
.advd-chip { flex: 0 0 auto; width: 2.6rem; height: 2.6rem; border-radius: 1.3rem; background: #fff0ee; display: flex; align-items: center; justify-content: center; }
.advd-chip img { width: 1.6rem; height: 1.6rem; display: block; }
.advd-sec-hd b { font-size: 1.5rem; font-weight: 500; color: #171717; }
/* 专属通道码 */
.advd-code { display: flex; align-items: center; justify-content: center; gap: 1.9rem; height: 3.6rem; margin: 0.7rem 3.4rem 0; background: rgba(230,230,188,0.55); border: 0.1rem dashed #ffb2a6; border-radius: 2.4rem; }
.advd-code-no { font-family: 'Liberation Sans', Arial, sans-serif; font-size: 2.2rem; color: #ed1c24; letter-spacing: 0.04rem; line-height: 1; }
.advd-code-copy { flex: 0 0 auto; width: 1.7rem; height: 1.7rem; padding: 0; border: none; cursor: pointer; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ed1c24' stroke-width='2'%3E%3Crect x='9' y='9' width='11' height='11' rx='2'/%3E%3Cpath d='M5 15V5a2 2 0 0 1 2-2h10'/%3E%3C/svg%3E") center/contain no-repeat; }
.advd-code-rows { display: flex; margin-top: 1rem; }
.advd-code-left { flex: 1 1 0; min-width: 0; padding-left: 3.8rem; display: flex; flex-direction: column; gap: 0.3rem; }
.advd-cb { display: flex; align-items: center; gap: 0.6rem; font-size: 0.96rem; color: #555; }
.advd-cb i { flex: 0 0 auto; width: 1.1rem; height: 1.1rem; border: 0.1rem solid #ed1c24; border-radius: 0.55rem; color: #ed1c24; font-size: 0.7rem; font-style: normal; display: flex; align-items: center; justify-content: center; }
.advd-code-right { flex: 0 0 auto; width: 9.6rem; border-left: 0.1rem solid #f3ddd9; display: flex; flex-direction: column; align-items: center; gap: 0.1rem; }
.advd-code-save { font-size: 1rem; color: #ea7a19; font-weight: 500; }
.advd-code-save-sub { font-size: 0.87rem; color: #656565; }
/* 连线专属顾问 */
.advd-connect-desc { margin: 0.6rem 0 0 3.9rem; font-size: 0.9rem; color: #555; line-height: 1.52; }
.advd-connect-btn { display: flex; align-items: center; justify-content: center; box-sizing: border-box; width: 100%; height: 2.8rem; margin: 0.9rem 0 0; padding: 0; border: none; border-radius: 2rem; color: #fff; font-size: 1.5rem; font-weight: 700; font-family: inherit; background: linear-gradient(100deg, #ff202f 0%, #f0001b 100%); box-shadow: 0 0.6rem 0.7rem rgba(237,28,36,0.18); cursor: pointer; text-decoration: none; }
.advd-connect-btn:active { opacity: 0.92; }
.advd-connecting { display: flex; align-items: center; justify-content: center; gap: 0.7rem; box-sizing: border-box; width: 100%; height: 2.8rem; margin: 0.9rem 0 0; border-radius: 2rem; background: #fdeceb; color: #c8555a; font-size: 1.3rem; }
.advd-connecting .advv-ring { border-color: #c8555a; border-top-color: transparent; }
.advd-steps { position: relative; display: flex; justify-content: space-between; margin: 1.3rem 2.2rem 0; }
.advd-steps::before { content: ''; position: absolute; left: 1rem; right: 1rem; top: 0.5rem; height: 0.1rem; background: #d8d8d8; }
.advd-step { position: relative; display: flex; flex-direction: column; align-items: center; gap: 0.5rem; width: 7rem; }
.advd-dot { width: 1rem; height: 1rem; border-radius: 0.5rem; background: #fff; border: 0.1rem solid #c8c8c8; }
.advd-step.is-on .advd-dot { background: #ed1c24; border-color: #ed1c24; box-shadow: inset 0 0 0 0.3rem #fff; }
.advd-step-lb { font-size: 0.87rem; color: #555; text-align: center; line-height: 1.26; }
.advd-step-lb b { display: block; font-weight: 400; }
.advd-step.is-on .advd-step-lb b { color: #ff0505; font-weight: 500; }
/* 您的专属顾问 */
.advd-adv-row { display: flex; align-items: center; gap: 1.5rem; margin-top: 0.8rem; }
.advd-adv-avatar { flex: 0 0 auto; width: 7.7rem; height: 7.7rem; border-radius: 3.85rem; object-fit: cover; background: #f6f6f6; }
.advd-adv-body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 0.9rem; }
.advd-adv-nameline { display: flex; align-items: center; gap: 0.8rem; }
.advd-adv-name { font-size: 1.8rem; font-weight: 500; color: #171717; }
.advd-adv-no { display: inline-flex; align-items: center; height: 2.1rem; padding: 0 0.9rem; border-radius: 1.1rem; background: #fff5e8; color: #dc8b45; font-size: 0.88rem; font-weight: 500; }
.advd-adv-role { font-size: 1.09rem; color: #333; }
.advd-adv-tags { display: flex; gap: 1.4rem; }
.advd-adv-tag { display: flex; align-items: center; gap: 0.3rem; font-size: 0.98rem; color: #4f4f4f; }
.advd-adv-tag img { width: 1.3rem; height: 1.3rem; display: block; }
.advd-adv-time { position: relative; display: flex; flex-direction: column; justify-content: center; gap: 0.1rem; min-height: 4.3rem; margin-top: 0.9rem; padding: 0.2rem 1rem 0 3.7rem; background: #fff1ef; border-radius: 0.6rem; }
.advd-adv-time img { position: absolute; left: 1.5rem; top: 1rem; width: 1.8rem; height: 1.8rem; }
.advd-adv-time .t1 { font-size: 1.07rem; color: #222; font-weight: 500; }
.advd-adv-time .t1 span { font-weight: 400; color: #333; }
.advd-adv-time .t2 { font-size: 1.07rem; color: #666; }
/* 您可享受的专属服务 */
.advd-benefits { position: relative; overflow: hidden; background: #fff; border: 0.1rem solid #ffe9e8; border-radius: 1.2rem; box-shadow: 0 0.2rem 0.8rem rgba(222,117,111,0.04); padding: 1.4rem; }
.advd-benefits-headset { position: absolute; right: 1.4rem; top: 2.2rem; width: 9.2rem; height: 7.5rem; object-fit: contain; opacity: 0.93; pointer-events: none; }
.advd-benefits-hd { display: flex; align-items: center; gap: 0.7rem; }
.advd-benefits-hd img { width: 1.5rem; height: 1.5rem; display: block; }
.advd-benefits-hd b { font-size: 1.2rem; font-weight: 500; color: #171717; }
.advd-benefits-list { margin: 0.9rem 0 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 0.6rem; max-width: 22rem; }
.advd-benefits-list li { position: relative; padding-left: 1.6rem; font-size: 0.9rem; color: #55565a; }
.advd-benefits-list li::before { content: '✓'; position: absolute; left: 0; top: -0.1rem; width: 0.9rem; height: 0.9rem; border-radius: 0.45rem; background: #ff2b3d; color: #fff; font-size: 0.6rem; display: flex; align-items: center; justify-content: center; }
/* 底部 */
.advd-actions { display: flex; flex-direction: column; gap: 0.8rem; padding: 1.2rem 2.3rem 0; }
.advd-btn { display: flex; align-items: center; justify-content: center; height: 3.8rem; border-radius: 2rem; font-size: 1.4rem; font-weight: 500; font-family: inherit; text-decoration: none; cursor: pointer; }
.advd-btn--primary { color: #fff; border: none; background: linear-gradient(100deg, #ff202f 0%, #f0001b 100%); box-shadow: 0 0.5rem 0.8rem rgba(237,28,36,0.18); }
.advd-btn--ghost { color: #ff2435; background: #fff; border: 0.1rem solid #ff2435; }
.advd-btn:active { opacity: 0.92; }
.advd-footer { display: flex; align-items: center; justify-content: center; gap: 0.7rem; height: 2.5rem; margin-top: 0.7rem; color: #b9b9b9; font-size: 0.85rem; }
.advd-footer img { width: 1.2rem; height: 1.2rem; display: block; }
.advd-footer span { color: #b9b9b9; }
.advd-footer i { width: 0.1rem; height: 0.8rem; background: #d4d4d4; display: inline-block; }

/* ===== 专属客服聊天页 advisor_chat.php（Figma 23:1088 样式模拟） ===== */
.advc-body { margin: 0; background: #fff; -webkit-tap-highlight-color: transparent; }
.advc-page { display: flex; flex-direction: column; height: 100vh; max-width: 39.3rem; margin: 0 auto; background: #fdfdfd; }
@supports (height: 100dvh) { .advc-page { height: 100dvh; } }
/* 顶栏 */
.advc-hd { flex: 0 0 auto; display: flex; align-items: center; height: 4.6rem; background: #fff; border-bottom: 0.1rem solid #ececec; }
.advc-back { flex: 0 0 auto; width: 4.4rem; height: 4.5rem; display: flex; align-items: center; justify-content: center; text-decoration: none; }
.advc-back::before { content: ''; width: 1.1rem; height: 1.1rem; border-left: 0.2rem solid #171717; border-bottom: 0.2rem solid #171717; transform: rotate(45deg); }
.advc-hd h1 { flex: 1 1 auto; min-width: 0; margin: 0; padding-left: 2rem; font-size: 2rem; font-weight: 500; color: #171717; text-align: center; letter-spacing: 0.02rem; }
.advc-end { flex: 0 0 auto; width: 10.3rem; padding-right: 1.3rem; text-align: right; font-size: 1.6rem; color: #171717; text-decoration: none; background: none; border: none; font-family: inherit; cursor: pointer; }
/* 系统提示条 */
.advc-notice { flex: 0 0 auto; display: flex; align-items: center; min-height: 2.9rem; padding: 0.65rem 1.1rem 0.75rem; background: #fff; font-size: 1.3rem; color: #171717; letter-spacing: 0.005rem; }
/* 消息区 */
.advc-list { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; background: #fdfdfd; padding: 0.7rem 0 1.2rem; }
.advc-row { display: flex; align-items: flex-start; padding: 0 1.1rem; margin-bottom: 1.6rem; }
.advc-row--admin { justify-content: flex-start; }
.advc-row--user { justify-content: flex-end; }
.advc-ava { flex: 0 0 auto; width: 4rem; display: flex; flex-direction: column; align-items: center; }
.advc-ava img { width: 3.8rem; height: 4.2rem; object-fit: contain; display: block; }
.advc-ava span { font-size: 1.4rem; color: #8e8e8e; text-align: center; letter-spacing: 0.04rem; line-height: 1.8rem; white-space: nowrap; }
.advc-bubble { max-width: 27.2rem; padding: 0.8rem 1.1rem 0.95rem; margin-left: 1.5rem; background: #fff; border: 0.1rem solid #faebeb; border-radius: 1.4rem; box-shadow: 0 0.1rem 0 rgba(0,0,0,0.02); font-size: 1.64rem; line-height: 2.63rem; color: #171717; word-break: break-word; white-space: pre-wrap; }
.advc-bubble--user { max-width: 26rem; min-width: 6.9rem; min-height: 4.7rem; margin: 0; padding: 0.9rem 1.1rem; display: flex; align-items: center; justify-content: center; background: #0878df; border: none; border-radius: 0.9rem; color: #fff; font-size: 1.8rem; line-height: 2.6rem; letter-spacing: 0.02rem; box-shadow: none; }
.advc-row--user .advc-ava { width: 3.3rem; margin-left: 1.5rem; }
.advc-row--user .advc-ava img { width: 3.3rem; height: 3.8rem; }
.advc-img { display: block; max-width: 100%; max-height: 32rem; border-radius: 0.8rem; }
.advc-time { text-align: center; margin: 0.6rem 0 1.4rem; font-size: 1.15rem; color: #a5a5a5; }
/* 输入栏 */
.advc-input { flex: 0 0 auto; display: flex; align-items: center; gap: 0.9rem; height: 4.5rem; padding: 0 1.3rem 0 0.8rem; background: #fff; border-top: 0.1rem solid #e8e8e8; }
.advc-text { flex: 1 1 auto; min-width: 0; box-sizing: border-box; height: 3.6rem; padding: 0 0.9rem; border: 0.1rem solid #cfcfcf; border-radius: 0.5rem; background: #fff; font-size: 1.5rem; font-family: inherit; color: #171717; outline: none; }
.advc-ibtn { flex: 0 0 auto; width: 3.1rem; height: 3.1rem; padding: 0; border: none; background-color: transparent; cursor: pointer; }
.advc-ibtn--emoji { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 31' fill='none' stroke='%23555' stroke-width='1.6'%3E%3Ccircle cx='15.5' cy='15.5' r='14'/%3E%3Ccircle cx='11' cy='12.5' r='1.5' fill='%23555' stroke='none'/%3E%3Ccircle cx='20' cy='12.5' r='1.5' fill='%23555' stroke='none'/%3E%3Cpath d='M9.5 19c1.8 2.2 4 3.3 6 3.3s4.2-1.1 6-3.3' stroke-linecap='round'/%3E%3C/svg%3E"); background-position: center; background-size: contain; background-repeat: no-repeat; }
.advc-ibtn--plus { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 31' fill='none' stroke='%23555' stroke-width='1.6'%3E%3Ccircle cx='15.5' cy='15.5' r='14'/%3E%3Cpath d='M15.5 9v13M9 15.5h13' stroke-linecap='round'/%3E%3C/svg%3E"); background-position: center; background-size: contain; background-repeat: no-repeat; }
.advc-ibtn:active { opacity: 0.6; }
.advc-send { flex: 0 0 auto; height: 3.2rem; padding: 0 1.3rem; border: none; border-radius: 0.5rem; background: #0878df; color: #fff; font-size: 1.5rem; font-family: inherit; letter-spacing: 0.05rem; cursor: pointer; }
.advc-send:active { opacity: 0.85; }
/* 表情面板 */
.advc-emoji { display: none; flex: 0 0 auto; padding: 0.8rem 0.6rem; background: #fff; border-top: 0.1rem solid #eee; }
.advc-emoji.is-open { display: flex; flex-wrap: wrap; max-height: 15rem; overflow-y: auto; }
.advc-emoji button { width: 12.5%; height: 3.8rem; font-size: 2.2rem; line-height: 1; border: none; background: none; cursor: pointer; }
/* 底部安全区占位（原 home indicator 横线已移除） */
.advc-home { flex: 0 0 auto; height: env(safe-area-inset-bottom); background: #fff; }

/* ===== 全站侧边「联系专属顾问」悬浮竖条（Figma 23:2892 专属客服侧边栏样式，1:1） ===== */
.adv-side-float { position: fixed; top: 42%; left: max(0px, calc(50% - 19.65rem)); z-index: 200; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; gap: 0.2rem; width: 2.7rem; padding: 0.3rem 0.5rem; background: #ef5858; border: none; border-radius: 0 0.6rem 0.6rem 0; box-shadow: 0.1rem 0.2rem 0.6rem rgba(214,15,35,0.3); cursor: pointer; text-decoration: none; }
.adv-side-float-ic { flex: 0 0 auto; width: 1.3rem; height: 1.4rem; display: block; }
.adv-side-float-ic img { width: 100%; height: 100%; display: block; }
.adv-side-float-tx { width: 1rem; margin: 0; font-size: 1rem; line-height: 1.03rem; color: #fff; font-weight: 500; text-align: center; word-break: break-all; }
.adv-side-float:active { opacity: 0.9; }
/* 未读红标：专属客服发来未读消息数（竖条右上角） */
.adv-side-float-badge { position: absolute; top: -0.6rem; right: -0.6rem; z-index: 1; box-sizing: border-box; min-width: 1.6rem; height: 1.6rem; padding: 0 0.4rem; display: inline-flex; align-items: center; justify-content: center; background: #ff2d2d; border: 0.1rem solid #fff; border-radius: 0.8rem; color: #fff; font-size: 1rem; font-weight: 700; line-height: 1; box-shadow: 0 0.1rem 0.3rem rgba(214,15,35,0.35); }
.adv-side-float-badge[hidden] { display: none; }
/* 右侧变体（专属顾问已开通页 service_booking.php）：贴右边缘、垂直居中；
   圆角与投影镜像，红标改到左上角，避免贴边后红标超出视口被裁切。 */
.adv-side-float--right { left: auto; right: max(0px, calc(50% - 19.65rem)); top: 50%; transform: translateY(-50%); border-radius: 0.6rem 0 0 0.6rem; box-shadow: -0.1rem 0.2rem 0.6rem rgba(214,15,35,0.3); }
.adv-side-float--right .adv-side-float-badge { right: auto; left: -0.6rem; }

/* =====================================================================
 * 开通确认函（凭证）advisor_cert.php —— Figma 28:615，1440×1602
 * 注意：根字号是 calc(100vw/39.3)（rem 随视口变化），凭证内部一律用 px，
 *   再由 js/advisor_cert.js 用 transform:scale() 整体等比缩放到屏宽，
 *   否则 rem 会和 transform 叠加造成二次缩放。
 * 外层壳（标题栏 / 保存按钮 / 遮罩）仍用 rem，保持与其它页面一致。
 * ===================================================================== */
.advcert-body { margin: 0; background: #f4f4f4; -webkit-tap-highlight-color: transparent; }
.advcert-page { position: relative; width: 100%; max-width: 39.3rem; margin: 0 auto; min-height: 100vh; background: #fff; padding-bottom: 2rem; }
.advcert-bar { position: relative; display: flex; align-items: center; justify-content: center; height: 7.4rem; background: #fff; border-bottom: 0.1rem solid #f1efef; }
.advcert-bar h1 { margin: 0; font-size: 2rem; font-weight: 500; letter-spacing: 0.02rem; color: #241b1b; }
.advcert-bar-back { position: absolute; left: 1.8rem; top: 50%; transform: translateY(-50%); width: 2.8rem; height: 4.4rem; display: flex; align-items: center; justify-content: center; text-decoration: none; }
.advcert-bar-back::before { content: ''; display: block; width: 1.2rem; height: 1.2rem; border-left: 0.2rem solid #111; border-bottom: 0.2rem solid #111; transform: rotate(45deg); }

/* 缩放视口：高度由 JS 按缩放比回写 */
.advcert-stage { position: relative; width: 100%; overflow: hidden; }
.advcert-doc { width: 1440px; background: #fff; transform-origin: 0 0; font-family: "Microsoft YaHei", "PingFang SC", "Helvetica Neue", Arial, sans-serif; }

/* ---- 顶栏 ---- */
.advcert-hd { position: relative; height: 92px; background: #fff; }
.advcert-hd-l { position: absolute; left: 42px; top: 0; height: 92px; display: flex; align-items: center; }
.advcert-logo { width: 224px; height: 60px; object-fit: contain; display: block; }
.advcert-hd-div { width: 1px; height: 34px; background: #e1e4e8; margin: 0 23px 0 46px; }
.advcert-hd-sys { font-size: 23px; font-weight: 700; color: #111827; letter-spacing: 0.5px; white-space: nowrap; }
.advcert-emblem { position: absolute; left: 720px; top: 0; width: 124px; height: 92px; object-fit: contain; }
.advcert-hd-op { position: absolute; left: 1169px; top: 50%; transform: translateY(-50%); display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 700; color: #1d2939; white-space: nowrap; }
.advcert-hd-op-ic { position: relative; width: 17px; height: 17px; flex: none; }
.advcert-hd-op-ic::before { content: ''; position: absolute; left: 5px; top: 0; width: 8px; height: 8px; box-sizing: border-box; border: 1px solid #344054; border-radius: 4px; }
.advcert-hd-op-ic::after { content: ''; position: absolute; left: 2px; top: 9px; width: 14px; height: 8px; box-sizing: border-box; border: 1px solid #344054; border-bottom: none; border-radius: 8px 8px 0 0; }
.advcert-hd-rule { height: 3px; background: #e60012; }

.advcert-body-row { display: flex; align-items: stretch; min-height: 1480px; }

/* ---- 左侧导航（纯展示） ---- */
.advcert-aside { width: 233px; flex: none; background: #fbfcfd; border-right: 1px solid #e5e7eb; }
.advcert-aside-hd { padding: 28px 21px 25px; font-size: 16px; font-weight: 700; color: #111827; }
.advcert-nav-i { height: 58px; display: flex; align-items: center; gap: 16px; padding: 0 26px 0 21px; }
.advcert-nav-t { font-size: 16px; font-weight: 700; color: #162033; white-space: nowrap; }
.advcert-nav-ar { margin-left: auto; font-size: 25px; line-height: 25px; color: #162033; }
.advcert-nav-i.is-on .advcert-nav-t, .advcert-nav-i.is-on .advcert-nav-ar { color: #e60012; }
.advcert-nav-i.is-on .advcert-nav-ar { font-size: 15px; font-weight: 700; }
.advcert-nav-ic { position: relative; width: 20px; height: 20px; flex: none; }
/* 首页：房子 */
.advcert-nav-ic--home::before { content: ''; position: absolute; left: 3px; top: 8px; width: 17px; height: 12px; box-sizing: border-box; border: 2px solid #1d2939; border-top: none; border-radius: 2px; }
.advcert-nav-ic--home::after { content: ''; position: absolute; left: 3px; top: 1px; width: 13px; height: 13px; box-sizing: border-box; border-left: 2px solid #1d2939; border-top: 2px solid #1d2939; transform: rotate(45deg); }
/* 账户管理：卡片 */
.advcert-nav-ic--card::before { content: ''; position: absolute; left: 0; top: 4px; width: 20px; height: 16px; box-sizing: border-box; border: 2px solid #1d2939; border-radius: 3px; }
.advcert-nav-ic--card::after { content: ''; position: absolute; left: 4px; top: 8px; width: 6px; height: 2px; background: #1d2939; box-shadow: 0 4px 0 0 #1d2939; }
/* 交易管理：卡片 + 斜线 */
.advcert-nav-ic--trade::before { content: ''; position: absolute; left: 0; top: 3px; width: 20px; height: 18px; box-sizing: border-box; border: 2px solid #1d2939; border-radius: 3px; }
.advcert-nav-ic--trade::after { content: ''; position: absolute; left: 5px; top: 8px; width: 10px; height: 8px; box-sizing: border-box; border-left: 2px solid #1d2939; border-bottom: 2px solid #1d2939; transform: skewX(-25deg); }
/* 申请管理：文件 + 勾（选中态红色） */
.advcert-nav-ic--apply::before { content: ''; position: absolute; left: 2px; top: 1px; width: 16px; height: 18px; box-sizing: border-box; border: 2px solid #1d2939; border-radius: 2px; }
.advcert-nav-ic--apply::after { content: ''; position: absolute; left: 5px; top: 7px; width: 8px; height: 5px; box-sizing: border-box; border-left: 2px solid #1d2939; border-bottom: 2px solid #1d2939; transform: rotate(-45deg); }
.advcert-nav-i.is-on .advcert-nav-ic--apply::before, .advcert-nav-i.is-on .advcert-nav-ic--apply::after { border-color: #e60012; }
/* 消息中心：信封 */
.advcert-nav-ic--msg::before { content: ''; position: absolute; left: 0; top: 3px; width: 20px; height: 15px; box-sizing: border-box; border: 2px solid #1d2939; border-radius: 3px; }
.advcert-nav-ic--msg::after { content: ''; position: absolute; left: 4px; top: 6px; width: 9px; height: 6px; box-sizing: border-box; border-left: 2px solid #1d2939; border-bottom: 2px solid #1d2939; transform: rotate(-45deg); }
/* 系统设置：圆 + 指针 */
.advcert-nav-ic--set::before { content: ''; position: absolute; left: 1px; top: 1px; width: 18px; height: 18px; box-sizing: border-box; border: 2px solid #1d2939; border-radius: 50%; }
.advcert-nav-ic--set::after { content: ''; position: absolute; left: 9px; top: 5px; width: 2px; height: 6px; background: #1d2939; }
/* 帮助中心：圆 + ? */
.advcert-nav-ic--help::before { content: ''; position: absolute; left: 1px; top: 1px; width: 18px; height: 18px; box-sizing: border-box; border: 2px solid #1d2939; border-radius: 50%; }
.advcert-nav-ic--help::after { content: '?'; position: absolute; left: 0; top: 0; width: 20px; height: 20px; font-size: 12px; font-weight: 700; color: #1d2939; display: flex; align-items: center; justify-content: center; }
.advcert-nav-sub { height: 44px; display: flex; align-items: center; padding-left: 57px; font-size: 15px; color: #4b5563; }
.advcert-nav-sub.is-on { color: #e60012; font-weight: 700; box-shadow: inset -3px 0 0 0 #e60012; }
.advcert-nav-hr { height: 1px; background: #eaecf0; margin: 12px 0; }

/* ---- 正文列 ---- */
.advcert-main { flex: 1 1 auto; min-width: 0; padding: 0 62px 0 60px; }
.advcert-crumb { display: flex; align-items: center; gap: 9px; height: 77px; font-size: 14px; color: #4b5563; }
.advcert-crumb-on { color: #e60012; font-weight: 700; }
.advcert-crumb i { font-style: normal; color: #9aa4b2; }

.advcert-card { position: relative; box-sizing: border-box; background: #fff; border: 1px solid #edf0f3; border-radius: 6px; padding: 31px 38px 24px; box-shadow: 0 1px 2px rgba(16,24,40,0.04); }
.advcert-seal { position: absolute; left: 885px; top: 22px; width: 153px; height: 153px; transform: rotate(-7deg); pointer-events: none; }

.advcert-title-row { display: flex; align-items: flex-start; gap: 20px; }
.advcert-tick { position: relative; flex: none; width: 52px; height: 52px; box-sizing: border-box; border: 2px solid #00a83a; border-radius: 26px; }
.advcert-tick::before { content: ''; position: absolute; left: 14px; top: 17px; width: 22px; height: 11px; box-sizing: border-box; border-left: 3px solid #00a83a; border-bottom: 3px solid #00a83a; transform: rotate(-45deg); }
.advcert-title-bd h2 { margin: 0; font-size: 26px; font-weight: 700; color: #111827; line-height: 35px; }
.advcert-title-bd p { margin: 10px 0 0; font-size: 15px; color: #4b5563; line-height: 24px; }
.advcert-title-bd p + p { margin-top: 2px; }

.advcert-h3 { margin: 30px 0 12px; font-size: 16px; font-weight: 700; color: #111827; }
.advcert-h3 em { font-style: normal; font-size: 13px; font-weight: 400; color: #687386; }

/* ---- 表格 ---- */
.advcert-tb { border: 1px solid #e8eaed; border-radius: 4px; overflow: hidden; }
.advcert-tr { display: flex; align-items: stretch; min-height: 45px; border-bottom: 1px solid #e8eaed; }
.advcert-tr:last-child { border-bottom: none; }
.advcert-tr--tall { min-height: 69px; }
.advcert-th, .advcert-td { display: flex; align-items: center; box-sizing: border-box; padding: 11px 17px; font-size: 15px; line-height: 22px; }
.advcert-th { width: 190px; flex: none; background: #fbfbfc; color: #1f2937; border-right: 1px solid #e8eaed; }
.advcert-td { width: 415px; flex: none; color: #1f2937; }
.advcert-th--2 { width: 183px; border-left: 1px solid #e8eaed; }
.advcert-td--2 { width: 220px; }
.advcert-td--wide { width: auto; flex: 1 1 auto; }
.advcert-td.is-ok { color: #00a83a; font-weight: 700; }

/* ---- 四、申请功能及权限 ---- */
.advcert-feats { display: flex; gap: 16px; }
.advcert-feat { flex: 1 1 0; min-width: 0; box-sizing: border-box; min-height: 154px; background: #fff; border: 1px solid #dfe3e8; border-radius: 4px; padding: 14px 9px 17px; display: flex; flex-direction: column; align-items: center; gap: 4px; text-align: center; }
.advcert-feat b { font-size: 16px; font-weight: 700; color: #111827; line-height: 21.6px; margin-top: 3px; }
.advcert-feat span { font-size: 13px; color: #687386; line-height: 20.8px; }
.advcert-feat-img { display: block; object-fit: contain; }
.advcert-feat-img--wechat { width: 61px; height: 54px; }
.advcert-feat-img--alipay { width: 51px; height: 51px; border-radius: 10px; }
.advcert-feat-ic { position: relative; flex: none; }
/* 网银：显示器 */
.advcert-feat-ic--ebank { width: 48px; height: 54px; }
.advcert-feat-ic--ebank::before { content: '▥'; position: absolute; left: 11px; top: -2px; width: 26px; height: 48px; font-size: 40px; line-height: 48px; color: #2f9e6e; }
.advcert-feat-ic--ebank::after { content: ''; position: absolute; left: 12px; top: 51px; width: 26px; height: 3px; background: #2f9e6e; border-radius: 2px; }
/* 柜台及 ATM：取款机 */
.advcert-feat-ic--atm { width: 48px; height: 54px; box-sizing: border-box; border: 3px solid #506a8e; border-radius: 3px; }
.advcert-feat-ic--atm::before { content: ''; position: absolute; left: 6px; top: 6px; width: 29px; height: 10px; box-sizing: border-box; border: 2px solid #506a8e; }
.advcert-feat-ic--atm::after { content: ''; position: absolute; left: 6px; top: 23px; width: 7px; height: 13px; background: transparent; box-shadow: 8px 0 0 -1px #506a8e, 16px 0 0 -1px #506a8e, 0 0 0 3px #506a8e inset; border-left: 3px solid #506a8e; }

/* ---- 温馨提示 ---- */
.advcert-tip { position: relative; box-sizing: border-box; min-height: 82px; margin-top: 16px; padding: 13px 18px 24px 54px; border-radius: 4px; background: linear-gradient(90deg, #edf7ff 0%, #eef7ff 88%, #e9f4ff 100%); }
.advcert-tip-i { position: absolute; left: 18px; top: 16px; width: 21px; height: 21px; border-radius: 10.5px; background: #268ef2; color: #fff; font: 700 16px/21px Georgia, "Times New Roman", serif; text-align: center; }
.advcert-tip-bd b { display: block; font-size: 15px; font-weight: 700; color: #1c2738; }
.advcert-tip-bd p { margin: 4px 0 0; font-size: 14px; font-weight: 700; color: #1d3557; line-height: 23.1px; }

/* ---- 底部三按钮（仅保留外观） ---- */
.advcert-acts { display: flex; align-items: flex-start; justify-content: center; gap: 46px; padding-top: 22px; }
.advcert-act { box-sizing: border-box; min-width: 232px; height: 41px; display: flex; align-items: center; justify-content: center; gap: 9px; background: #fff; border: 1px solid #d9dee7; border-radius: 4px; font-size: 15px; font-weight: 700; color: #1f2937; }
.advcert-act--primary { background: linear-gradient(180deg, #f31c2d 0%, #e40012 100%); border-color: #e60012; color: #fff; box-shadow: 0 4px 5px rgba(230,0,18,0.2); }
.advcert-act-ic { position: relative; width: 16px; height: 16px; flex: none; }
.advcert-act-ic--dl::before { content: ''; position: absolute; left: 7px; top: 0; width: 2px; height: 16px; background: #344054; }
.advcert-act-ic--dl::after { content: ''; position: absolute; left: 1px; top: 3px; width: 10px; height: 10px; box-sizing: border-box; border-left: 2px solid #344054; border-bottom: 2px solid #344054; transform: rotate(-45deg); }
.advcert-act-ic--pr::before { content: ''; position: absolute; left: 2px; top: 4px; width: 16px; height: 13px; box-sizing: border-box; border: 2px solid #344054; border-radius: 2px; }
.advcert-act-ic--pr::after { content: ''; position: absolute; left: 4px; top: 0; width: 12px; height: 10px; box-sizing: border-box; background: #fff; border: 2px solid #344054; }

.advcert-foot { padding: 34px 0 26px; text-align: center; }
.advcert-foot p { margin: 0; font-size: 14px; color: #64748b; line-height: 22px; }

/* ---- 保存到相册 ---- */
.advcert-save { display: block; width: calc(100% - 4.6rem); margin: 1.8rem auto 0; height: 4.4rem; background: linear-gradient(180deg, #f31c2d 0%, #e40012 100%); border: none; border-radius: 0.8rem; color: #fff; font-size: 1.6rem; font-weight: 500; font-family: inherit; cursor: pointer; box-shadow: 0 0.4rem 0.5rem rgba(230,0,18,0.2); }
.advcert-save:active { opacity: 0.9; }
.advcert-save[disabled] { opacity: 0.7; }

.advcert-mask { position: fixed; inset: 0; z-index: 300; background: rgba(0,0,0,0.86); overflow: auto; -webkit-overflow-scrolling: touch; }
.advcert-mask[hidden] { display: none; }
.advcert-mask-close { position: fixed; right: 1.6rem; top: 1.6rem; z-index: 1; width: 3.6rem; height: 3.6rem; border-radius: 50%; background: rgba(255,255,255,0.15); border: none; color: #fff; font-size: 2.4rem; line-height: 1; cursor: pointer; }
.advcert-mask-bd { padding: 6rem 1.6rem 3rem; text-align: center; }
.advcert-mask-bd img { display: block; width: 100%; height: auto; border-radius: 0.4rem; }
.advcert-mask-tip { margin: 1.6rem 0 0; font-size: 1.4rem; color: #fff; }
.advcert-mask-dl { display: inline-block; margin-top: 1.4rem; padding: 0 2.2rem; height: 3.6rem; line-height: 3.6rem; border-radius: 0.6rem; background: #fff; color: #c81d25; font-size: 1.4rem; font-weight: 500; text-decoration: none; }

.advcert-missing { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2rem; background: #fff; }
.advcert-missing p { margin: 0; font-size: 1.6rem; color: #666; }
.advcert-missing-btn { padding: 0 2.4rem; height: 4rem; line-height: 4rem; border-radius: 0.8rem; background: #c81d25; color: #fff; font-size: 1.5rem; text-decoration: none; }

/* 用户端聊天：开通确认函气泡（点击进入 advisor_cert.php） */
.advc-cert { display: flex; align-items: flex-start; gap: 1rem; max-width: 27rem; padding: 1rem 1.2rem; background: #fff; border: 0.1rem solid #f2dcdc; border-radius: 1rem; text-decoration: none; color: inherit; box-shadow: 0 0.2rem 0.6rem rgba(214,15,35,0.06); }
.advc-cert-badge { flex: none; width: 4rem; height: 4rem; display: flex; align-items: center; justify-content: center; background: linear-gradient(180deg,#f31c2d,#e40012); color: #fff; border-radius: 0.6rem; font-size: 2rem; }
.advc-cert-t { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
.advc-cert-t b { font-size: 1.5rem; color: #171717; font-weight: 600; line-height: 2rem; }
.advc-cert-t em { font-style: normal; font-size: 1.2rem; color: #6b7280; line-height: 1.7rem; }
.advc-cert-open { margin-top: 0.4rem; font-size: 1.2rem; color: #c81d25; font-weight: 600; }

/* ============================================================
   专属资格通道 · 中央清算卡升级申领（upgrade_card.php）
   Figma 升级卡-1 / 升级卡-2 / 限制弹窗 / 凭证弹窗 · 1rem = 10px
   ============================================================ */
.uc-body { margin: 0; background: #e9eef6; }
.uc-page { position: relative; width: 39.3rem; max-width: 100%; margin: 0 auto; min-height: 100vh;
  background: linear-gradient(#dce8f8 0%, #eaf1fa 28%, #f4f7fc 60%); padding-bottom: 2.4rem; overflow: hidden; }

/* 顶部标题栏 */
.uc-header { position: relative; height: 4.4rem; display: flex; align-items: center; justify-content: center; background: #fff; }
.uc-back { position: absolute; left: 0.8rem; top: 50%; transform: translateY(-50%); width: 3.6rem; height: 3.6rem; display: flex; align-items: center; justify-content: center; text-decoration: none; }
.uc-back svg { width: 2.3rem; height: 2.3rem; }
.uc-h1 { margin: 0; font-size: 1.7rem; font-weight: 600; color: #1a1a1a; letter-spacing: 0.05rem; }
.uc-kf { position: absolute; right: 1.2rem; top: 50%; transform: translateY(-50%); display: flex; align-items: center; gap: 0.3rem; text-decoration: none; }
.uc-kf svg { width: 2rem; height: 2rem; }
.uc-kf span { font-size: 1.2rem; color: #1a1a1a; }

/* Hero + 内容区（内容上移覆盖 Hero 底部） */
.uc-hero { display: block; width: 100%; height: auto; position: relative; z-index: 1; }
.uc-main { position: relative; z-index: 2; margin-top: -6.7rem; padding: 0 2.1rem; display: block; }
.uc-benefits, .uc-notes, .uc-success, .uc-follow { display: block; width: 100%; height: auto; }
.uc-notes { margin-top: 0.2rem; }

/* 申领信息填写表单 */
.uc-form { margin-top: 0.2rem; background: rgba(255,255,255,0.96); border: 0.1rem solid rgba(178,197,224,0.7);
  border-radius: 0.9rem; box-shadow: 0 0.5rem 1.5rem rgba(40,91,150,0.09); overflow: hidden; }
.uc-form-hd { height: 2.7rem; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(90deg, #1d62b5 0%, #1269ca 50%, #5a9ce8 100%);
  color: #fff; font-size: 1.2rem; letter-spacing: 0.1rem; }
.uc-row { display: flex; align-items: center; gap: 0.4rem; height: 2.9rem; padding: 0 1.2rem; border-bottom: 0.1rem solid #e2e8f1; }
.uc-ic { flex: none; width: 2rem; display: flex; align-items: center; }
.uc-ic svg { width: 1.5rem; height: 1.5rem; display: block; }
.uc-lb { flex: none; width: 6.7rem; font-size: 0.9rem; color: #3e4756; }
.uc-inp { flex: 1 1 auto; min-width: 0; border: none; background: transparent; padding: 0; font-family: inherit;
  font-size: 0.9rem; color: #1a2432; outline: none; }
.uc-inp::placeholder { color: #b1b8c5; }
.uc-inp[readonly] { color: #1a2432; }
.uc-eye { flex: none; width: 1.9rem; height: 1.7rem; padding: 0; border: none; background: transparent; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.uc-eye svg { width: 1.5rem; height: 1.5rem; display: block; }
.uc-eye.is-on { opacity: 0.55; }

.uc-agree { display: flex; align-items: center; justify-content: center; gap: 0.5rem; height: 3.1rem; padding: 0 1.2rem; position: relative; }
.uc-agree input { position: absolute; opacity: 0; width: 0; height: 0; }
.uc-agree-box { flex: none; width: 1rem; height: 1rem; border: 0.1rem solid #adb7c6; border-radius: 0.2rem; background: #fff; position: relative; }
.uc-agree input:checked ~ .uc-agree-box { background: #1269ca; border-color: #1269ca; }
.uc-agree input:checked ~ .uc-agree-box::after { content: ''; position: absolute; left: 0.28rem; top: 0.06rem; width: 0.28rem; height: 0.55rem; border: solid #fff; border-width: 0 0.16rem 0.16rem 0; transform: rotate(45deg); }
.uc-agree-tx { font-size: 0.85rem; color: #687387; }

.uc-submit { display: block; width: calc(100% - 1.6rem); margin: 0.5rem auto 0.8rem; height: 4rem; border: none; border-radius: 2.5rem;
  background: linear-gradient(180deg, #f7cb54 0%, #eeb63c 55%, #e3a42a 100%);
  color: #5b3300; font-family: inherit; font-size: 1.4rem; font-weight: 700; letter-spacing: 0.1rem; cursor: pointer;
  box-shadow: 0 0.5rem 1rem rgba(200,140,40,0.3); }
.uc-submit:active { filter: brightness(0.98); }

/* 页脚说明 */
.uc-foot1 { margin: 0.2rem 0 0; text-align: center; font-size: 1rem; color: #98a2b3; }
.uc-foot2 { margin: 0.3rem 0 0; text-align: center; font-size: 0.9rem; color: #aab1bf; }

/* 升级卡-2：完成 / 保存凭证 */
.uc-success { margin-top: 0.2rem; }
.uc-follow { margin-top: 0.2rem; }
.uc-done, .uc-save { display: block; width: 100%; height: 3.6rem; border: none; border-radius: 1.9rem; font-family: inherit; font-size: 1.4rem; font-weight: 600; letter-spacing: 0.08rem; cursor: pointer; }
.uc-done { margin-top: 0.2rem; color: #5b3300; background: linear-gradient(180deg, #f7cb54 0%, #eeb63c 55%, #e3a42a 100%); box-shadow: 0 0.5rem 1rem rgba(200,140,40,0.3); }
.uc-save { margin-top: 0.2rem; color: #fff; background: linear-gradient(90deg, #e31514 0%, #f03224 50%, #d90f0d 100%); box-shadow: 0 0.4rem 0.5rem rgba(197,18,10,0.22); }
.uc-done:active, .uc-save:active { filter: brightness(0.98); }

/* ---------- 通用弹窗容器 ---------- */
.uc-modal { position: fixed; inset: 0; z-index: 400; }
.uc-modal[hidden] { display: none; }
.uc-modal-mask { position: absolute; inset: 0; background: rgba(0,0,0,0.5); }
body.uc-modal-open { overflow: hidden; }

/* 限制弹窗 */
.uc-limit { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 30.2rem; box-sizing: border-box;
  background: #fff; border-radius: 1.6rem; box-shadow: 0 2.5rem 5rem -1.2rem rgba(0,0,0,0.25); padding: 1.8rem 2rem 2rem; }
.uc-limit-hd { text-align: center; font-size: 1.4rem; font-weight: 600; color: #111; }
.uc-limit-bd { margin: 1.4rem 0 0; font-size: 1.35rem; line-height: 2.3rem; color: #2b2b2b; }
.uc-limit-btns { display: flex; gap: 2.1rem; margin-top: 1.8rem; }
.uc-limit-know { flex: 1; height: 3.4rem; border: 0.1rem solid #b69e9e; border-radius: 0.8rem; background: #fff; color: #e60112; font-family: inherit; font-size: 1.4rem; font-weight: 500; cursor: pointer; }
.uc-limit-go { flex: 1; height: 3.4rem; line-height: 3.4rem; text-align: center; border-radius: 0.8rem; background: #c81d25; color: #fff; font-size: 1.4rem; font-weight: 500; text-decoration: none; box-shadow: 0 0.4rem 0.4rem rgba(0,0,0,0.25); }

/* 5s 升级动画 */
.uc-loading { position: fixed; inset: 0; z-index: 500; background: rgba(8,20,40,0.62); display: flex; align-items: center; justify-content: center; }
.uc-loading[hidden] { display: none; }
.uc-loading-box { width: 29rem; box-sizing: border-box; background: #fff; border-radius: 1.6rem; padding: 2.8rem 2.4rem 2.4rem; text-align: center; box-shadow: 0 1.2rem 3rem rgba(0,0,0,0.25); }
.uc-loading-ring { display: block; width: 5.4rem; height: 5.4rem; margin: 0 auto 1.6rem; border-radius: 50%; border: 0.5rem solid #f1e6cb; border-top-color: #e1ae4c; animation: uc-spin 0.9s linear infinite; }
@keyframes uc-spin { to { transform: rotate(360deg); } }
.uc-loading-tt { margin: 0; font-size: 1.7rem; font-weight: 600; color: #17233d; }
.uc-loading-sub { margin: 0.6rem 0 0; font-size: 1.2rem; line-height: 1.8rem; color: #7a8496; }
.uc-loading-bar { margin: 1.6rem 0 0.9rem; height: 0.6rem; background: #eef1f6; border-radius: 0.3rem; overflow: hidden; }
.uc-loading-bar i { display: block; height: 100%; width: 0; border-radius: 0.3rem; background: linear-gradient(90deg, #e1ae4c, #ffd873); }
.uc-loading-step { margin: 0; font-size: 1.2rem; color: #0a50b7; }

/* 凭证弹窗 */
.uc-vou { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 34rem; max-height: 94vh; box-sizing: border-box;
  background: #fff; border-radius: 1.2rem; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 2rem 4rem rgba(0,0,0,0.3); }
.uc-vou-hd { flex: none; height: 3.8rem; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.04rem;
  background: linear-gradient(90deg, #e31514 0%, #f03224 50%, #d90f0d 100%); box-shadow: 0 0.5rem 0.5rem rgba(197,18,10,0.19); }
.uc-vou-scroll { flex: 1 1 auto; overflow: auto; -webkit-overflow-scrolling: touch; padding: 1.2rem 1.4rem 0; }
.uc-vou-img { display: block; width: 100%; height: auto; border-radius: 0.8rem; }
.uc-vou-tip { flex: none; display: flex; gap: 0.4rem; align-items: flex-start; padding: 0.8rem 1.4rem; margin: 0; font-size: 1rem; line-height: 1.5rem; color: #5d2c24; }
.uc-vou-bell { flex: none; }
.uc-vou-btns { flex: none; display: flex; gap: 1.2rem; padding: 0 1.4rem 1.4rem; }
.uc-vou-close { flex: 1; height: 3.8rem; border: 0.1rem solid #d8a7a7; border-radius: 0.8rem; background: #fff; color: #e60112; font-family: inherit; font-size: 1.39rem; font-weight: 500; cursor: pointer; }
.uc-vou-save { flex: 1; height: 3.8rem; border: none; border-radius: 0.8rem; color: #fff; font-family: inherit; font-size: 1.39rem; font-weight: 500; cursor: pointer;
  background: linear-gradient(90deg, #e31514 0%, #f03224 50%, #d90f0d 100%); }
.uc-vou-save[disabled] { opacity: 0.7; }

/* =====================================================================
 * 正式开通 · 未支付 / 已支付（Figma 5:460 / 5:633）
 *   formal_open.php 在「已支付 648 押金」时整页输出，真实 HTML + 动态数据
 *   partials/formal_open/open_status.php ; 393 基准，px 单位
 * ===================================================================== */
.fox-body { margin: 0; background: #eceff3; -webkit-tap-highlight-color: transparent;
  font-family: -apple-system, "PingFang SC", "Helvetica Neue", Arial, sans-serif; }
.fox-page { max-width: 393px; margin: 0 auto; min-height: 100vh; position: relative;
  background: #ffffff; overflow: hidden; }

/* 顶部横幅 */
.fox-banner { position: relative; line-height: 0; }
.fox-banner-img { display: block; width: 100%; }
.fox-banner-back { position: absolute; top: 14px; left: 12px; width: 28px; height: 28px;
  display: flex; align-items: center; justify-content: center; z-index: 3; }
.fox-banner-back img { width: 20px; height: 20px; }

/* 白色主体（上圆角，覆盖横幅底部） */
.fox-main { position: relative; z-index: 2; margin-top: -35px; padding: 12px 0 26px;
  background: #fff; border-radius: 18px 18px 0 0; }

/* 徽标 */
.fox-badge { display: block; margin: 0 auto; }
.fox-badge.is-warn { width: 96px; }
.fox-badge.is-shield { width: 132px; }

/* 标题 / 副标题 / 说明 */
.fox-h1 { margin: 6px 16px 0; text-align: center; font-size: 26px; font-weight: 600;
  letter-spacing: -0.5px; line-height: 1.35; color: #171a20; }
.fox-h1 .hl { color: #ed1717; }
.fox-sub { margin: 8px 16px 0; text-align: center; font-size: 15px; font-weight: 500; color: #171a21; }
.fox-sub .hl { color: #ed1717; }
.fox-sub--ok { color: #04966a; }
.fox-desc { margin: 10px auto 0; max-width: 332px; padding: 0 16px; text-align: center;
  font-size: 13px; line-height: 24px; color: #6d7480; }

/* 红色服务 CTA（整块图，自带阴影出血 → 满宽即为 16px 内缩） */
.fox-cta { display: block; width: 100%; margin: 14px 0 0; line-height: 0; }
.fox-cta img { display: block; width: 100%; }
.fox-cta:active { opacity: 0.94; }

/* 小标题（红竖条 + 文字） */
.fox-h3 { display: flex; align-items: center; margin: 18px 16px 0; font-size: 15px; font-weight: 600; color: #171a20; }
.fox-h3-bar { width: 3px; height: 16px; margin-right: 8px; border-radius: 2px; background: #e60012; }

/* 开通流程进度 */
.fox-track { position: relative; display: flex; margin: 14px 16px 0; }
.fox-track-line { position: absolute; top: 23px; left: 45px; right: 45px; height: 2px; background: #e3e9f2; z-index: 0; }
.fox-step { position: relative; z-index: 1; flex: 1 1 0; display: flex; flex-direction: column; align-items: center; }
.fox-step-dot { width: 46px; height: 46px; border-radius: 23px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(145deg, #3d8cff 0%, #0c5edc 100%);
  box-shadow: 0 3px 7px rgba(0,91,216,0.23), 0 0 0 1px #72a8ff; }
.fox-step-dot svg { width: 25px; height: 25px; display: block; }
.fox-step-lab { margin-top: 6px; font-size: 11px; color: #171a20; }
.fox-step-date { margin-top: 4px; font-size: 9.4px; }
.fox-step-date.is-done { color: #2872ec; }
.fox-step-date.is-todo { color: #9299a4; }

/* 卡片信息 */
.fox-cardinfo { display: flex; align-items: center; gap: 12px; margin: 16px 16px 0;
  padding: 16px 13px; border: 1px solid #e7e8eb; border-radius: 13px;
  box-shadow: 0 2px 7px rgba(45,55,80,0.05); background: #fff; }
.fox-cardinfo-card { flex: 0 0 auto; width: 128px; height: auto; display: block; }
.fox-cardinfo-rows { flex: 1 1 auto; min-width: 0; }
.fox-ci-row { display: flex; align-items: center; justify-content: space-between; height: 32px;
  border-bottom: 1px solid #f0f1f3; font-size: 13px; }
.fox-ci-row--last { border-bottom: none; }
.fox-ci-row span { color: #626873; }
.fox-ci-row b { color: #171a20; font-weight: 600; font-size: 14px; }
.fox-ci-row b.fox-ci-time { font-size: 12.5px; }

/* 温馨提示 */
.fox-tips { display: flex; gap: 8px; margin: 16px 16px 0; padding: 15px 12px 12px;
  border: 1px solid #ffca91; border-radius: 12px; background: linear-gradient(133deg, #fff9f5 0%, #ffffff 100%); }
.fox-tips-bell { flex: 0 0 auto; width: 44px; display: flex; align-items: flex-start; justify-content: center; }
.fox-tips-bell svg { width: 42px; height: 46px; }
.fox-tips-bd { flex: 1 1 auto; min-width: 0; }
.fox-tips-hd { font-size: 14px; font-weight: 500; color: #ff6a00; }
.fox-tips-list { margin: 7px 0 0; padding-left: 16px; }
.fox-tips-list li { font-size: 10.5px; line-height: 1.72; color: #626873; }

/* 权益（整块图） */
.fox-benefits { display: block; width: calc(100% - 32px); margin: 16px auto 0; }

/* 底部按钮 */
.fox-btn { display: block; margin: 14px 13px 0; height: 40px; line-height: 40px; text-align: center;
  border-radius: 22px; font-size: 17px; font-weight: 700; text-decoration: none; }
.fox-btn--primary { color: #fff; background: linear-gradient(90deg, #f10c11 0%, #ed0a0a 100%);
  box-shadow: 0 6px 6.5px rgba(238,18,24,0.25); }
.fox-btn--ghost { color: #f90202; background: #fff; border: 1px solid #cac4c4; }
.fox-btn:active { opacity: 0.93; }

/* 页脚 */
.fox-footer { display: flex; align-items: center; justify-content: center; gap: 5px;
  margin: 14px 16px 6px; font-size: 9.5px; color: #8b8f98; }
.fox-footer svg { width: 14px; height: 14px; display: block; }

/* =====================================================================
 * 激活中央清算卡 · 动态状态页（.acd-*）
 *   activate_card.php 由「整图两态」升级为动态 HTML，状态由
 *   is_card_activated / is_card_enabled / is_card_open_paid 推导。
 *   复用既有素材 banner-top.png / card-boc.png / banner-bottom.png。
 * ===================================================================== */
.acd-body { margin: 0; background: #f0e4d6; -webkit-tap-highlight-color: transparent;
  font-family: -apple-system, "PingFang SC", "Helvetica Neue", Arial, sans-serif; }
.acd-page { max-width: 393px; margin: 0 auto; min-height: 100vh; position: relative; overflow: hidden;
  padding-bottom: 22px;
  background: linear-gradient(180deg, #fbe9d6 0%, #fdf1e7 22%, #fff7f1 46%, #fffdfb 100%); }
.acd-banner { display: block; width: 100%; }

/* BOC 卡 + 状态胶囊 */
.acd-cardwrap { position: relative; margin: 14px 16px 0; }
.acd-card { display: block; width: 100%; border-radius: 12px; box-shadow: 0 8px 20px rgba(150, 40, 20, 0.18); }
.acd-pill { position: absolute; top: 8px; right: 8px; display: inline-flex; align-items: center;
  padding: 4px 11px; border-radius: 13px; font-size: 11px; font-weight: 600; color: #fff; white-space: nowrap;
  background: linear-gradient(90deg, #ff5a3c, #e60012); box-shadow: 0 3px 7px rgba(200, 20, 10, 0.3); }

/* 当前状态 / 下一步 卡 */
.acd-status { position: relative; margin: 14px 16px 0; padding: 16px 92px 16px 16px;
  background: #fff; border: 1px solid #fbe0d3; border-radius: 14px; box-shadow: 0 6px 16px rgba(190, 70, 40, 0.07); }
.acd-srow { display: flex; align-items: center; gap: 11px; }
.acd-sic { flex: 0 0 auto; width: 38px; height: 38px; border-radius: 10px; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, #fff0ea, #ffe2d6); }
.acd-sic svg { width: 20px; height: 20px; display: block; }
.acd-stxt { min-width: 0; display: flex; flex-direction: column; }
.acd-slabel { font-size: 12px; color: #b98a76; line-height: 1.4; }
.acd-svalue { font-size: 17px; font-weight: 700; color: #e02c14; line-height: 1.35; }
.acd-sdiv { height: 1px; background: #f4e4db; margin: 12px 0; }
.acd-shield { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); width: 72px; height: 72px; }

/* 温馨提示 */
.acd-tips { margin: 14px 16px 0; padding: 13px 14px; border: 1px solid #f6c69a; border-radius: 12px;
  background: linear-gradient(133deg, #fff8f1, #fffdfb); }
.acd-tips-hd { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; color: #e2361a; }
.acd-tips-hd svg { width: 17px; height: 17px; display: block; }
.acd-tips-list { margin: 9px 0 0; padding: 0; list-style: none; }
.acd-tips-list li { position: relative; padding-left: 15px; font-size: 12px; line-height: 1.75; color: #8a6a5c; }
.acd-tips-list li::before { content: ""; position: absolute; left: 2px; top: 9px; width: 5px; height: 5px; border-radius: 50%; background: #f0713a; }

/* 按钮 */
.acd-btn { display: block; margin: 14px 16px 0; height: 48px; line-height: 48px; text-align: center;
  border-radius: 11px; font-size: 17px; font-weight: 700; text-decoration: none; }
.acd-btn--primary { color: #fff; background: linear-gradient(90deg, #f5391f, #e30c0c); box-shadow: 0 8px 16px rgba(227, 12, 12, 0.26); }
.acd-btn--ghost { color: #e30c0c; background: #fff; border: 1px solid #efb0a8; }
.acd-btn:active { opacity: 0.93; }

/* 底部横幅 */
.acd-bottom { display: block; width: 100%; margin-top: 18px; }

/* =====================================================================
 * 中央清算卡升级申领 · 新版三态（Figma 新页面-1/2/3 + 弹窗1/2/弹窗-3）
 *   复用 .uc-body/.uc-page/.uc-header/.uc-form/.uc-modal/.uc-limit/
 *   .uc-loading/.uc-vou/.uc-done/.uc-save；新增以下组件。 1rem = 10px
 * ===================================================================== */
.uc-hero { position: relative; z-index: 1; }
.uc-wrap { position: relative; z-index: 2; display: block; }
.uc-wrap--p1 { margin-top: -6.7rem; padding: 0 2.1rem; }
.uc-wrap--p2 { margin-top: -2.7rem; padding: 0 1rem; }
.uc-wrap--p3 { margin-top: -1.6rem; padding: 0 2.5rem; }
.uc-wrap .uc-form { margin-top: 1.1rem; }

/* 权益条（5 项） */
.uc-ben { display: flex; background: #fff; border-radius: 1.2rem; padding: 1.2rem 0.3rem;
  box-shadow: 0 0.6rem 1.6rem rgba(30,60,110,0.1); }
.uc-ben-i { flex: 1; display: flex; flex-direction: column; align-items: center; text-align: center; }
.uc-ben-ic { width: 3.8rem; height: 3.8rem; display: block; }
.uc-ben-i b { margin-top: 0.6rem; font-size: 1.1rem; font-weight: 600; color: #2b3550; white-space: nowrap; }
.uc-ben-i s { margin-top: 0.2rem; font-size: 0.85rem; color: #9aa4b3; text-decoration: none; white-space: nowrap; }

/* 温馨提示（暖色） */
.uc-tip { margin-top: 1.1rem; background: linear-gradient(135deg, #fff9ec, #fdf3dd);
  border: 0.1rem solid #f2ddad; border-radius: 1.2rem; padding: 1.2rem 1.4rem; }
.uc-tip-hd { display: flex; align-items: center; gap: 0.5rem; font-size: 1.4rem; font-weight: 700; color: #d98a2b; }
.uc-tip-hd svg { width: 1.7rem; height: 1.7rem; display: block; }
.uc-tip-hd .uc-bell { font-size: 1.35rem; }
.uc-tip-bd { margin: 0.7rem 0 0; font-size: 1rem; line-height: 1.7; color: #6b5a3a;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.uc-tip-bd em { font-style: normal; color: #e0231a; font-weight: 600; }
.uc-tip--sm { margin-top: 1.2rem; padding: 1.1rem 1.3rem; }
.uc-tip-ul { margin: 0.6rem 0 0; padding-left: 1.4rem; }
.uc-tip-ul li { font-size: 0.78rem; line-height: 1.9; color: #7a6a4a; white-space: nowrap; }

/* 升级说明 */
.uc-sec { margin-top: 1.1rem; background: #fff; border-radius: 1.2rem; overflow: hidden;
  box-shadow: 0 0.6rem 1.6rem rgba(30,60,110,0.08); }
.uc-sec-hd { height: 2.9rem; display: flex; align-items: center; justify-content: center; gap: 0.8rem;
  background: linear-gradient(90deg, #3f80d8, #2f6bc6); color: #fff; font-size: 1.5rem; font-weight: 700; letter-spacing: 0.1rem; }
.uc-sec-hd .d { color: #bcd6f5; font-size: 1rem; letter-spacing: 0.2rem; }
.uc-ud { padding: 1.1rem 1.4rem 1.3rem; }
.uc-ud-i { display: flex; align-items: flex-start; gap: 0.7rem; font-size: 1rem; line-height: 1.75; color: #3f4c63; margin-top: 0.65rem; white-space: nowrap; }
.uc-ud-i:first-child { margin-top: 0; }
.uc-ud-i i { flex: none; width: 1.6rem; height: 1.6rem; margin-top: 0.15rem; border-radius: 50%;
  background: #eaf2fd; color: #2f6bc6; font-size: 1rem; font-style: normal; font-weight: 700;
  display: flex; align-items: center; justify-content: center; }

/* 新页面-2 白面板 */
.uc-panel { background: #fff; border: 0.1rem solid #ecd39a; border-radius: 1.6rem; padding: 1.6rem 1.4rem 1.8rem;
  box-shadow: 0 0.8rem 2rem rgba(30,60,110,0.08); }
.uc-p2-tt { margin: 0; text-align: center; font-size: 1.7rem; font-weight: 700; color: #1f2a44; }
.uc-p2-sub { margin: 0.6rem 0 0; text-align: center; font-size: 1.2rem; color: #8a93a5; }
.uc-panel .uc-submit { margin-top: 1.6rem; height: 4.6rem; font-size: 1.6rem; border-radius: 2.3rem; }

/* 开通流程（4 步） */
.uc-steps { display: flex; align-items: flex-start; margin-top: 1.6rem; }
.uc-step { flex: 1; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 0.15rem; }
.uc-step-ic { width: 4.8rem; height: 4.8rem; display: block; }
.uc-step b { margin-top: 0.6rem; font-size: 0.9rem; font-weight: 700; color: #2b3550; white-space: nowrap; }
.uc-step s { margin-top: 0.35rem; font-size: 0.75rem; line-height: 1.4; color: #9098a8; text-decoration: none;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.uc-step-arr { flex: none; align-self: flex-start; margin-top: 1.5rem; color: #c3cbd8; font-size: 1.7rem; font-weight: 700; }

/* 专属功能条（暖色框 / 纯色分隔） */
.uc-fnbox { margin-top: 1.4rem; background: linear-gradient(135deg, #fff9ee, #fef4e1);
  border: 0.1rem solid #f2e2c0; border-radius: 1.2rem; padding: 1.1rem 0.8rem 1.2rem; }
.uc-fnbox-hd { display: flex; align-items: center; justify-content: center; gap: 0.6rem; font-size: 1.2rem; font-weight: 700; color: #c9902f; }
.uc-fnbox-hd .d { color: #e0b558; font-size: 0.9rem; }
.uc-fnbox-hd--plain .ln { flex: 1; max-width: 3.6rem; height: 0.1rem; background: #ecddbe; }
.uc-fns { display: flex; margin-top: 1rem; }
.uc-fn { flex: 1; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 0 0.25rem; }
.uc-fns--div .uc-fn + .uc-fn { border-left: 0.1rem solid #eef0f4; }
.uc-fn-ic { width: 3.9rem; height: 3.9rem; display: block; }
.uc-fn b { margin-top: 0.55rem; font-size: 0.92rem; font-weight: 700; color: #2b3550; white-space: nowrap; }
.uc-fn s { margin-top: 0.3rem; font-size: 0.88rem; line-height: 1.45; color: #9098a8; text-decoration: none; }

/* 新页面-3 邮寄卡 + 功能面板 + 按钮 */
.uc-mail { background: linear-gradient(135deg, #fff4e6, #fffaf3); border: 0.1rem solid #f6d9b0;
  border-radius: 1.4rem; padding: 1.3rem 1.4rem; box-shadow: 0 0.6rem 1.6rem rgba(180,110,40,0.08); }
.uc-mail-hd { display: flex; align-items: center; gap: 0.6rem; font-size: 1.45rem; font-weight: 700; color: #e0912b; }
.uc-mail-ic { width: 2.9rem; height: 2.5rem; display: block; flex: none; }
.uc-mail-bd { margin: 0.7rem 0 0; font-size: 1.2rem; line-height: 1.75; color: #7a6446; }
.uc-mail-inner { display: flex; gap: 0.6rem; align-items: center; margin-top: 1rem; background: #fffdf8;
  border: 0.1rem solid #f2e2c8; border-radius: 1rem; padding: 1rem 1.1rem; }
.uc-mail-inner-l { flex: 1; min-width: 0; }
.uc-mail-inner .uc-tip-hd.sm { font-size: 1.2rem; }
.uc-mail-inner p { margin: 0.4rem 0 0; font-size: 0.8rem; line-height: 1.5; color: #8a7658;
  display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
.uc-mail-phone-img { flex: none; width: 9rem; height: auto; display: block; }
.uc-panel--fns { margin-top: 1.2rem; padding: 1.4rem 1rem 1.6rem; }
.uc-wrap--p3 .uc-done, .uc-wrap--p3 .uc-save { height: 4.6rem; border-radius: 2.3rem; font-size: 1.6rem; }
.uc-wrap--p3 .uc-done { margin-top: 1.5rem; }
.uc-wrap--p3 .uc-save { margin-top: 1rem; }

/* 底部锁形说明 */
.uc-foot--lock { display: flex; align-items: center; justify-content: center; gap: 0.5rem; margin: 1.2rem 0 0; font-size: 1.05rem; color: #9aa4b3; }
.uc-lock-ic { width: 1.4rem; height: 1.4rem; display: block; }

/* 弹窗-3：开通凭证（cert-bg + 动态字段叠加） */
.uc-cert { position: relative; width: 100%; line-height: 0; }
.uc-cert-img { display: block; width: 100%; height: auto; border-radius: 0.6rem; }
.uc-cert-f { position: absolute; left: 24.3%; line-height: 1; color: #3a3a3a; font-weight: 500; white-space: nowrap; transform: translateY(-50%); }
.uc-cert-f--name { top: 44.8%; font-size: 0.7rem; }
.uc-cert-f--time { top: 53.2%; font-size: 0.6rem; }
.uc-cert-f--no { top: 57.4%; font-size: 0.7rem; }

/* ===== 绑定支付方式卡片（Figma 10:2298 开通专属通道 / 10:2482 专属顾问已开通 / 10:2511 绑定成功） ===== */
.pmbind { margin: 0.9rem 2.3rem 0; box-sizing: border-box; background: #fff; border: 0.1rem solid #ffd2c4;
  border-radius: 1rem; box-shadow: 0 0.2rem 0.45rem rgba(255,110,75,0.04); padding: 0.8rem 1.4rem 0.9rem; }
.pmbind-title { font-size: 0.9rem; font-weight: 500; color: #222; line-height: 1; padding-top: 0.1rem; }
.pmbind-row { display: flex; gap: 0.9rem; align-items: stretch; margin-top: 0.7rem; }
.pmbind-card { flex: 1 1 0; min-width: 0; min-height: 6.8rem; box-sizing: border-box; border: 0.1rem solid;
  border-radius: 0.5rem; padding: 0.8rem 0.9rem 0.6rem; display: flex; flex-direction: column; align-items: center; gap: 0.55rem; }
.pmbind-card--we  { border-color: #a7e8bf; background: linear-gradient(133deg,#f4fff7 0%,#fff 100%); }
.pmbind-card--ali { border-color: #b6d5ff; background: linear-gradient(133deg,#f7fbff 0%,#fff 100%); }
.pmbind-hd { display: flex; align-items: center; gap: 0.3rem; width: 100%; }
.pmbind-logo { width: 1.4rem; height: 1.4rem; display: block; border-radius: 0.3rem; flex: none; object-fit: contain; }
.pmbind-name { font-size: 0.75rem; font-weight: 500; color: #222; white-space: nowrap; }
.pmbind-badge { margin-left: auto; font-size: 0.55rem; white-space: nowrap; }
.pmbind-badge--we  { color: #27c96b; }
.pmbind-badge--ali { color: #2c88f4; }
.pmbind-desc { flex: 1 1 auto; font-size: 0.54rem; color: #777; text-align: center; line-height: 1.35; }
.pmbind-btn { width: 9.6rem; max-width: 100%; height: 1.7rem; border-radius: 0.9rem; display: flex; align-items: center;
  justify-content: center; font-size: 0.7rem; font-weight: 500; color: #fff; text-decoration: none; box-sizing: border-box; }
.pmbind-btn--we  { background: linear-gradient(90deg,#16bd5f 0%,#28d77e 100%); }
.pmbind-btn--ali { background: linear-gradient(90deg,#1478f5 0%,#298cfb 100%); }
.pmbind-btn.is-opening { opacity: 0.94; cursor: default; }
.pmbind-foot { margin-top: 0.7rem; font-size: 0.55rem; color: #666; text-align: center; line-height: 1; }
/* 已开通页 .advd-main 自带 2.3rem 内边距 + flex gap，卡片在此不再叠加左右外边距 */
.advd-main .pmbind { margin: 0; }
