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

* { 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: 1rem;
}

/* 宣传片 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;
}

/* ===== 结算大额资产入口卡片（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;
}

/* ===== 红头文件 ===== */
.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; }

/* ============================================================
   我的 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-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-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--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; }

/* 开卡保证金卡片（开卡担保金 / 立即申请退回 / 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.4rem; color: #fff; line-height: 3.12rem; }

/* 重要安全提示 */
.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; }

/* 提示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.3rem; font-weight: 500; color: #5e5048; }
.cse-eta-v { display: block; font-size: 1.9rem; 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.95); 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: 3.2rem; 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: 1.6rem; height: 1.6rem; margin-top: 0.1rem; }
.cse-warn span { font-size: 0.9rem; color: #333; line-height: 1.4rem; }

.cse-btn-back { display: flex; align-items: center; justify-content: center; width: 100%; height: 4.4rem; margin-top: 1.6rem; background: #fff; border: 0.1rem solid #d02722; border-radius: 0.8rem; color: #d02722; font-size: 1.5rem; font-weight: 500; text-decoration: none; }
.cse-btn-lottery { display: flex; align-items: center; justify-content: center; width: 100%; height: 4.4rem; margin-top: 1rem; background: #ff2029; border: 0; border-radius: 0.8rem; color: #fff; font-size: 1.5rem; 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; }
/* 图内金色「点击前往办理启用」热区 → 启用中心（基于底图按钮位置比例标定） */
.cn2-go {
  position: absolute; left: 8%; top: 85.2%; width: 84%; height: 5.6%;
  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); }
.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;
}

/* 立即兑换提示弹窗（居中） */
.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; }
.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-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; }

/* ============================================================
   中银基金·中央清算卡绑定（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; }

.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 绑定卡片 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: #d81c20; 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 {
  flex: 1; min-width: 0;
  color: #d81c20; font-size: 1.05rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.hc1-arrow {
  color: #b16a24; 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; }

/* ==== 组件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 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; }
.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; }

/* ---- 小屏适配（< 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; }
