/* ===== 中央清算 - 登录/注册 公共样式 =====
   设计基准宽度 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; }

/* ===== 联系客服 ===== */
.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-enter {
  margin-top: auto;
  align-self: flex-start;
  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;
}
.live-enter img { width: 1rem; height: 1rem; }

/* ===== 数字资产 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;
}
.tab-item img { width: 3.2rem; height: 3.2rem; }
.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; }
.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-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; }

/* 回执单下方「新用户扫码注册」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--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-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，所有带底部导航的页面，含首页）
   - 专项退款短信：固定在页面右上角
   - 在线客服：位于短信按键下方约 10%（视口高度），右边缘与短信对齐
   ============================================================ */
.cs-float-group {
  position: fixed;
  top: 1.2rem;
  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(1.2rem + 10%); /* 短信顶部(1.2rem)下方约 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(1.2rem + 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-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-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-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-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) 米色长底，置于 y=366，与上层重叠 108px 自然过渡 */
  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 36.6rem;
  background-size:
    39.3rem 47.4rem,
    39.3rem 61.8rem;
  background-color: #f3ede3; /* 米色长底主色：页面更长时向下延续，避免背景断层 */
  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 {
  padding: 23.5rem 2.5rem 0;   /* 首行卡片位于设计稿 y=281 */
  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-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; }

/* —— 通用：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-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;
}
