/* v2 overrides - layered on top of original styles.css.
   Original CSS hides every .game-section unless .active (tab model);
   v2 renders all sections vertically stacked, so force them visible. */

.game-section {
  display: block !important;
}

/* empty sections stay hidden via [hidden] attribute set by app.js */
.game-section[hidden] {
  display: none !important;
}

/* ---------- 优惠页：活动卡片 / 任务弹窗补充样式 ---------- */
/* 活动卡片横排布局（图标 + 文案 + 角标） */
.promo-card-list .promo-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px;
  cursor: pointer;
}
.promo-card-icon {
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  border-radius: 12px;
  background: rgba(212, 175, 55, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.25);
}
.promo-card-body {
  flex: 1 1 auto;
  min-width: 0;
}
.promo-card-body h3 {
  margin: 0 0 4px;
  font-size: 16px;
}
.promo-card-body p {
  margin: 0;
  font-size: 13px;
}
.promo-card-tag {
  flex: 0 0 auto;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  background: linear-gradient(135deg, #f7d76a, #d4af37);
  color: #111;
}

/* VIP / 返水 / 待领取 汇总卡 */
.promo-vip-summary,
.promo-rebate-summary,
.promo-pending-summary {
  display: block;
  text-align: center;
  padding: 20px 16px;
}
.promo-vip-summary h3,
.promo-rebate-summary h3,
.promo-pending-summary h3 {
  margin: 0 0 8px;
  font-size: 15px;
  color: var(--muted);
}
.promo-vip-summary strong,
.promo-rebate-summary strong,
.promo-pending-summary strong {
  display: block;
  margin: 0 0 8px;
  font-size: 30px;
  color: var(--brand-light, #f7d76a);
}
.promo-vip-summary p {
  margin: 4px 0;
  font-size: 13px;
}
.promo-rebate-summary small {
  display: block;
  margin-bottom: 12px;
  color: var(--muted);
}
.promo-vip-tiers,
.promo-record-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}
.promo-vip-tier {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 16px;
}
.promo-vip-tier h3 {
  margin: 0;
  font-size: 15px;
}

/* 记录行 */
.promo-record-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
}
.promo-record-row small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-bottom: 2px;
}
.promo-record-row strong {
  font-size: 16px;
  color: var(--brand-light, #f7d76a);
}
.promo-status {
  flex: 0 0 auto;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}
.promo-status.is-pending {
  background: rgba(255, 152, 0, 0.15);
  color: #ffb74d;
}
.promo-status.is-claimed {
  background: rgba(76, 175, 80, 0.15);
  color: #81c784;
}
.promo-pending-row .promo-pending-info {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

/* 底部导航角标（覆盖卡片内定位的 .promo-badge） */
/* 底部导航层级需高于吸顶分类栏，避免滚动时点击被拦截 */
.bottom-nav {
  z-index: 30;
}

.bottom-nav .promo-badge {
  top: 2px;
  right: 8px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  background: #ff5252;
  color: #fff;
  border: none;
  letter-spacing: 0;
}

/* ---------- 任务弹窗 ---------- */
.task-dialog-card {
  display: grid;
  gap: 14px;
  padding: 6px 0;
}
.task-stat-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.task-stat {
  padding: 12px 8px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  text-align: center;
}
.task-stat small {
  display: block;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 12px;
}
.task-stat strong {
  font-size: 18px;
  color: var(--brand-light, #f7d76a);
}
.task-tier-list {
  display: grid;
  gap: 8px;
  max-height: 46vh;
  overflow-y: auto;
}
.task-tier-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
}
.task-tier-info strong {
  display: block;
  font-size: 14px;
}
.task-tier-info small {
  color: var(--muted);
  font-size: 12px;
}
.task-tier-reward {
  font-weight: 800;
  color: var(--brand-light, #f7d76a);
}

/* ---------- Telegram 客服页（对齐 N9 客服页设计） ---------- */
.tg-support-page {
  padding: 26px 20px 30px;
  text-align: center;
  background: linear-gradient(180deg, #eaf4ff 0%, #f7fbff 46%, #ffffff 100%);
}
.tg-support-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  border-radius: 999px;
  background: #ffffff;
  border: 1px solid #dbe8fb;
  color: #7b8aa5;
  font-size: 12px;
  font-weight: 700;
}
.tg-support-brand .auth-mark {
  width: 18px;
  height: 18px;
  border-radius: 6px;
  font-size: 9px;
}
.tg-support-title {
  margin: 18px 0 6px;
  font-size: 24px;
  font-weight: 900;
  color: #12325e;
}
.tg-support-sub {
  margin: 0 0 22px;
  color: #7b8aa5;
  font-size: 13px;
}
.tg-support-cards {
  display: flex;
  justify-content: center;
  gap: 14px;
  margin-bottom: 26px;
}
.tg-support-card {
  display: grid;
  justify-items: center;
  gap: 8px;
  min-width: 84px;
  padding: 14px 10px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid #dbe8fb;
  box-shadow: 0 8px 20px rgba(23, 78, 166, 0.08);
}
.tg-support-card .tg-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: linear-gradient(180deg, #3f8dff, #1f66e0);
  font-size: 20px;
}
.tg-support-card strong {
  font-size: 12px;
  color: #12325e;
}
.tg-support-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 34px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(180deg, #3f8dff, #1f66e0);
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  box-shadow: 0 12px 26px rgba(31, 102, 224, 0.35);
  cursor: pointer;
}
.tg-support-note {
  margin: 14px 0 0;
  color: #98a4b8;
  font-size: 11px;
}

/* 我的资产标题眼睛占位（与 N9 原版一致，暂无交互） */
.profile-eye-icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 6px;
  vertical-align: -2px;
  border-radius: 50%;
  border: 1.5px solid rgba(255, 255, 255, 0.38);
  position: relative;
}
.profile-eye-icon::after {
  content: "";
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.38);
}

/* ========== 弹窗统一 N9 浅色主题（黑金 .dialog 底全部转浅色） ========== */
.modal .dialog {
  background: #f4f7fc;
  border: 1px solid #e7edf8;
  box-shadow: 0 24px 60px rgba(15, 35, 80, 0.22);
}
.modal .dialog::before {
  display: none;
}
.modal .dialog > h2 {
  color: #1f2a44;
}
.modal .dialog > .close {
  color: #6b7890;
  background: transparent;
  border: 0;
}
.modal .dialog > .close:hover {
  background: rgba(15, 35, 80, 0.06);
}

/* 任务类弹窗（签到/首存/救援金/VIP礼包/邀请/代理/爆奖/安全中心/密码） */
.modal .task-dialog-card {
  color: #2d3138;
}
.modal .task-stat {
  background: #ffffff;
  border-color: #e7edf8;
  box-shadow: 0 6px 16px rgba(20, 45, 90, 0.04);
}
.modal .task-stat small {
  color: #6b7890;
}
.modal .task-stat strong {
  color: #2f74ff;
}
.modal .task-tier-list {
  scrollbar-color: #cbd5e1 transparent;
}
.modal .task-tier-row {
  background: #ffffff;
  border-color: #e7edf8;
  box-shadow: 0 6px 16px rgba(20, 45, 90, 0.04);
}
.modal .task-tier-info strong {
  color: #1f2a44;
}
.modal .task-tier-info small {
  color: #6b7890;
}
.modal .task-tier-reward {
  color: #d99a00;
}
.modal .task-dialog-card .auth-note {
  color: #6b7890 !important;
}

/* 弹窗内表单（更换密码/提现密码等，含 .recharge-field 包裹的 input） */
.modal .form-stack label,
.modal .task-dialog-card label {
  color: #1f2a44;
}
.modal .form-stack input,
.modal .form-stack textarea,
.modal .task-dialog-card input {
  background: #ffffff;
  border: 1px solid #dce5f5;
  border-radius: 10px;
  color: #1f2a44;
}
.modal .form-stack input::placeholder,
.modal .task-dialog-card input::placeholder {
  color: #9aa5b8;
}
.modal .auth-submit,
.modal .task-dialog-card .auth-submit {
  background: linear-gradient(180deg, rgb(59, 134, 255), rgb(23, 107, 255));
  color: #ffffff;
  border: 0;
  border-radius: 15px;
  box-shadow: 0 10px 22px rgba(47, 124, 255, 0.28);
}
.modal .auth-note {
  color: #6b7890 !important;
}
.modal .promo-record-row {
  background: #ffffff;
  border: 1px solid #e7edf8;
  border-radius: 12px;
}
.modal .promo-record-row small {
  color: #6b7890;
}
.modal .promo-record-row strong {
  color: #1f2a44;
}

/* ========== N9 浅色主题弹窗（充值/提现/记录）对齐审计 20260829 ========== */
/* 弹窗容器：白底浅色，与 N9 独立页同色系 */
.modal.light-recharge .dialog,
.modal.light-withdraw .dialog,
.modal.light-records .dialog {
  background: #f4f7fc;
  border: 1px solid #e7edf8;
  box-shadow: 0 24px 60px rgba(15, 35, 80, 0.22);
}
.modal.light-recharge .dialog h2,
.modal.light-withdraw .dialog h2,
.modal.light-records .dialog h2 {
  color: #1f2a44;
}
.modal.light-recharge .dialog > button,
.modal.light-withdraw .dialog > button,
.modal.light-records .dialog > button {
  color: #6b7890;
}
.modal.light-recharge .task-dialog-card .auth-note,
.modal.light-withdraw .auth-note,
.modal.light-records .auth-note {
  color: #6b7890 !important;
}

/* --- 充值：白卡片 + 蓝主题 --- */
.modal.light-recharge .recharge-dialog-card {
  background: transparent;
  border: 0;
  box-shadow: none;
}
.modal.light-recharge .recharge-top-actions button {
  background: #ffffff;
  border: 1px solid #e7edf8;
  border-radius: 10px;
  color: #1f2a44;
}
.modal.light-recharge .recharge-section {
  background: #ffffff;
  border: 1px solid #e7edf8;
  border-radius: 14px;
  padding: 12px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}
.modal.light-recharge .recharge-section-head h2 {
  color: #1f2a44;
}
.modal.light-recharge .recharge-section-head span {
  color: #6b7890;
}
/* 分区标题（充值方式/充值金额）居中显示（说明文案已按用户要求移除） */
.modal.light-recharge .recharge-section-head {
  display: block !important;
  text-align: center !important;
}
.modal.light-recharge .recharge-method-card {
  position: relative;
  background: #ffffff;
  border: 1px solid #dce5f5;
  border-radius: 12px;
  color: #1f2a44;
}
.modal.light-recharge .recharge-method-card span {
  color: #6b7890;
}
.modal.light-recharge .recharge-method-card.active {
  border-color: #ff4d4f;
  background: linear-gradient(180deg, #ffffff, #f6f9ff);
}
.modal.light-recharge .recharge-recommend {
  background: #fff4d8;
  color: #d99a00;
  border-radius: 999px;
}
.modal.light-recharge .recharge-quick-amount {
  background: #ffffff;
  border: 1px solid #dce5f5;
  border-radius: 10px;
  color: #1f2a44;
}
.modal.light-recharge .recharge-quick-amount.active {
  border-color: rgb(47, 124, 255);
  background: rgb(240, 246, 255);
  box-shadow: 0 8px 18px rgba(47, 124, 255, 0.14);
}
.modal.light-recharge .amount-input {
  background: #ffffff;
  border: 1px solid #dce5f5;
  border-radius: 12px;
}
.modal.light-recharge .amount-input b {
  color: #1f2a44;
}
.modal.light-recharge .amount-input input {
  color: #1f2a44;
  background: transparent;
  border: 0;
}
.modal.light-recharge .amount-input input::placeholder {
  color: #9aa5b8;
}
.modal.light-recharge .recharge-arrival-tip {
  color: #2f7cff;
}
.modal.light-recharge .recharge-next {
  background: linear-gradient(180deg, rgb(59, 134, 255), rgb(23, 107, 255));
  border: 0;
  border-radius: 15px;
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(47, 124, 255, 0.28);
}
.modal.light-recharge .recharge-next:disabled {
  background: rgb(216, 222, 232);
  color: #ffffff;
  box-shadow: none;
}

/* --- 提现：白卡片 + 蓝主题 --- */
.modal.light-withdraw .withdraw-dialog-card {
  background: transparent;
  border: 0;
  box-shadow: none;
}
.modal.light-withdraw .withdraw-balance-card {
  background: #ffffff;
  border: 1px solid #e7edf8;
  border-radius: 14px;
  color: #1f2a44;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}
.modal.light-withdraw .withdraw-balance-card span {
  color: #6b7890;
}
.modal.light-withdraw .withdraw-balance-card strong {
  color: #1f2a44;
}
.modal.light-withdraw .withdraw-form-card,
.modal.light-withdraw .withdraw-password-card {
  background: #ffffff;
  border: 1px solid #e7edf8;
  border-radius: 14px;
  color: #2d3138;
  box-shadow: 0 6px 16px rgba(20, 45, 90, 0.04);
}
.modal.light-withdraw .withdraw-form-card label > span,
.modal.light-withdraw .withdraw-password-head strong {
  color: #1f2a44;
}
.modal.light-withdraw .withdraw-amount-input {
  background: #ffffff;
  border: 1px solid #d4d9e1;
  border-radius: 10px;
}
.modal.light-withdraw .withdraw-amount-input b {
  color: #1f2a44;
}
.modal.light-withdraw .withdraw-amount-input input {
  color: #1f2a44;
  background: transparent;
  border: 0;
}
.modal.light-withdraw .withdraw-amount-input input::placeholder {
  color: #9aa5b8;
}
.modal.light-withdraw .withdraw-amount-input button {
  color: #22a77b;
  background: transparent;
  border: 0;
}
.modal.light-withdraw .withdraw-password-eye {
  color: #6b7890;
  background: transparent;
  border: 0;
}
.modal.light-withdraw .withdraw-password-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  border: 1px solid #d4d9e1;
  border-radius: 12px;
  overflow: hidden;
}
.modal.light-withdraw .withdraw-password-grid input {
  width: 100%;
  height: 54px;
  border: 0;
  border-right: 1px solid #d4d9e1;
  border-radius: 0;
  background: #ffffff;
  color: #2d3138;
  text-align: center;
  font-size: 20px;
  outline: none;
  box-shadow: none;
}
.modal.light-withdraw .withdraw-password-grid input:last-child {
  border-right: 0;
}
.modal.light-withdraw .withdraw-rules {
  padding: 4px 6px;
}
.modal.light-withdraw .withdraw-rules p {
  color: #6b7890;
}
.modal.light-withdraw .withdraw-submit {
  position: static;
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 15px;
  background: linear-gradient(180deg, rgb(59, 134, 255), rgb(23, 107, 255));
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(47, 124, 255, 0.28);
}
.modal.light-withdraw .withdraw-submit:disabled {
  background: rgb(216, 222, 232);
  color: #ffffff;
  box-shadow: none;
  opacity: 1;
  filter: none;
}

/* --- 记录弹窗：浅色（通用规则已在上方，这里保留充值记录专用补充） --- */
.modal.light-records .task-dialog-card {
  background: transparent;
  border: 0;
}

/* --- 优惠页活动卡片：图片未加载时深色占位底（与 N9 一致，需压过 #promoView ID 选择器） --- */
#promoView .promo-offer-card.image-only {
  background: #111111;
}
#promoView .promo-offer-card.image-only.media-loaded {
  background: transparent;
}

/* ========== N9 安全中心弹窗（复刻 security.html 三区块） ========== */
/* 浅色弹窗底：所有文字颜色显式指定为深色系，不继承黑金主题的白字（否则白底白字看不见） */
.security-content-dlg { padding: 2px 0; color: #1f2a44; }
.security-section { margin-bottom: 14px; }
.security-section h2 {
  margin: 0 0 8px 4px;
  color: #7a8594;
  font-size: 13px;
  font-weight: 600;
}
.security-group {
  overflow: hidden;
  border: 1px solid #e8ebef;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 4px 14px rgba(31, 42, 68, 0.05);
}
.security-row {
  position: relative;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto 18px;
  align-items: center;
  min-height: 62px;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid #eceef1;
  background: #fff;
  color: #1f2a44 !important; /* 显式深色：不再 inherit 到白字 */
  text-align: left;
}
.security-row:last-child { border-bottom: 0; }
.security-row.static { grid-template-columns: 36px minmax(0, 1fr) auto; }
.security-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  color: #22a879;
}
.security-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.security-row-label { min-width: 0; font-size: 16px; font-weight: 600; color: #1f2a44 !important; }
.security-status {
  max-width: 190px;
  overflow: hidden;
  color: #9aa2ad;
  font-size: 14px;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.security-status.good { color: #18a874; }
.security-status.warn { color: #e89a2f; }
.security-arrow { color: #cbd1d8; font-size: 25px; }
.security-risk-dot {
  position: absolute;
  top: 14px;
  left: 42px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff4d4f;
}
.security-copy {
  width: 30px;
  height: 30px;
  border: 0;
  background: transparent;
  color: #18a874;
  display: inline-grid;
  place-items: center;
}
.security-copy svg { width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 2; }
.security-form { display: grid; gap: 13px; }
.security-form label { display: grid; gap: 6px; color: #536070; font-size: 13px; font-weight: 700; }
.security-form input,
.security-form select {
  width: 100%;
  height: 46px;
  padding: 0 12px;
  border: 1px solid #dce2e9;
  border-radius: 7px;
  outline: none;
  background: #fff;
  color: #202938;
  font-size: 15px;
}
.security-form input:focus,
.security-form select:focus {
  border-color: #2f7bff;
  box-shadow: 0 0 0 3px rgba(47, 123, 255, 0.1);
}
.security-submit {
  min-height: 48px;
  border: 0;
  border-radius: 7px;
  background: #176bff;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
}
.security-note { margin: 0; color: #7b8695; font-size: 13px; line-height: 1.6; }
.third-party-list { display: grid; gap: 9px; }
.third-party-item { display: grid; grid-template-columns: 92px 1fr; gap: 8px; align-items: center; }
.third-party-item strong { font-size: 14px; color: #202938; }

/* ========== 提现弹窗两 Tab（申请提现/收款账户，提现记录已按用户要求移除） ========== */
.withdraw-tabs-dlg {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: -4px 0 12px;
  border-bottom: 1px solid #e7edf8;
}
.withdraw-tabs-dlg button {
  position: relative;
  padding: 10px 0 12px;
  border: 0;
  background: transparent;
  color: #6b7890;
  font-size: 15px;
  font-weight: 700;
}
.withdraw-tabs-dlg button.active {
  color: #2f74ff;
}
.withdraw-tabs-dlg button.active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 24px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgb(47, 123, 255), rgb(91, 140, 255));
  transform: translateX(-50%);
}
/* 收款账户列表 */
.wd-account-tip {
  display: flex;
  gap: 6px;
  align-items: flex-start;
  margin: 0 0 10px;
  color: #2f74ff;
  font-size: 12px;
  line-height: 1.5;
}
.wd-account-card {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  width: 100%;
  padding: 12px;
  margin-bottom: 10px;
  border: 1px solid #e7edf8;
  border-radius: 12px;
  background: #ffffff;
  text-align: left;
}
.wd-account-card .wd-acct-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #f0f6ff;
  color: #2f74ff;
  font-size: 12px;
  font-weight: 900;
}
.wd-account-card .wd-acct-body strong { display: block; color: #1f2a44; font-size: 15px; }
.wd-account-card .wd-acct-body span { color: #6b7890; font-size: 12px; }
.wd-account-card .wd-acct-action {
  padding: 6px 14px;
  border: 1px solid #2f74ff;
  border-radius: 999px;
  background: transparent;
  color: #2f74ff;
  font-size: 13px;
  font-weight: 700;
}
.wd-account-card .wd-acct-action.current {
  border: 0;
  background: #2f74ff;
  color: #ffffff;
}
.wd-warm-tips {
  padding: 12px;
  border-radius: 10px;
  background: #f6f9ff;
  color: #6b7890;
  font-size: 12px;
  line-height: 1.8;
}
.wd-warm-tips strong { color: #1f2a44; }
/* 提现记录筛选与卡片 */
.wd-record-head {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.wd-record-head select {
  padding: 6px 10px;
  border: 1px solid #dce5f5;
  border-radius: 8px;
  background: #ffffff;
  color: #1f2a44;
  font-size: 13px;
}
.wd-record-head .wd-total {
  margin-left: auto;
  color: #e89a2f;
  font-weight: 900;
  font-size: 14px;
}
.wd-record-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px;
  padding: 12px;
  margin-bottom: 8px;
  border: 1px solid #e7edf8;
  border-radius: 12px;
  background: #ffffff;
}
.wd-record-row .wd-rr-main { font-weight: 900; color: #18a874; }
.wd-record-row .wd-rr-main.pending { color: #e89a2f; }
.wd-record-row .wd-rr-main.rejected { color: #ff4d4f; }
.wd-record-row small { color: #6b7890; font-size: 12px; }
.wd-record-row .wd-rr-status { align-self: center; font-size: 12px; font-weight: 700; }
.wd-record-row .wd-rr-status.ok { color: #18a874; }
.wd-record-row .wd-rr-status.pending { color: #e89a2f; }
.wd-record-row .wd-rr-status.bad { color: #ff4d4f; }
.wd-record-foot { color: #9aa5b8; font-size: 12px; text-align: center; padding: 8px 0 2px; }
/* 提现方式切换（正常提现 / 转为数字货币） */
.wd-methods {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
.wd-methods button {
  padding: 10px;
  border: 1px solid #dce5f5;
  border-radius: 10px;
  background: #ffffff;
  color: #43506b;
  font-size: 14px;
  font-weight: 700;
}
.wd-methods button.active {
  border-color: #2f74ff;
  background: #f0f6ff;
  color: #2f74ff;
}
/* 申请页当前收款账户卡 */
.wd-account-pick {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  width: 100%;
  padding: 12px;
  margin-bottom: 12px;
  border: 1px solid #e7edf8;
  border-radius: 12px;
  background: #ffffff;
  text-align: left;
}
.wd-account-pick b { color: #9aa5b8; font-size: 18px; }
.wd-pick-icon .security-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: #f0f6ff;
  color: #2f74ff;
}
.wd-pick-body strong { display: block; color: #1f2a44; font-size: 15px; }
.wd-pick-body small { color: #6b7890; font-size: 12px; }
/* 收款账户卡操作区（选择/编辑） */
.wd-account-card .wd-acct-body-btns { display: flex; align-items: center; gap: 6px; }
.wd-account-card .wd-acct-edit {
  border: 0;
  background: transparent;
  color: #9aa5b8;
  font-size: 18px;
  padding: 2px;
}
.wd-account-card .wd-acct-action:not(.current) {
  background: transparent;
}
/* 绑定表单卡片 */
.wd-bind-card {
  padding: 14px;
  border: 1px solid #e7edf8;
  border-radius: 14px;
  background: #ffffff;
}
.wd-bind-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}
.wd-bind-head strong { display: block; color: #1f2a44; font-size: 15px; }
.wd-bind-head small { color: #6b7890; font-size: 12px; }
.wd-bind-head [data-wd-bind-back] {
  border: 0;
  background: transparent;
  color: #6b7890;
  font-size: 22px;
  line-height: 1;
  padding: 4px 8px;
}
.wd-bind-card .security-form select {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #dce5f5;
  border-radius: 10px;
  background: #ffffff;
  color: #1f2a44;
  font-size: 14px;
}

/* ========== 邀请好友页（对齐 N9 invite-reward） ========== */
.invite-page { display: grid; gap: 12px; }
.invite-hero {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border-radius: 14px;
  background: linear-gradient(135deg, #2f74ff, #6a9bff);
  color: #ffffff;
}
.invite-hero-title { font-size: 18px; font-weight: 900; }
.invite-hero-sub { font-size: 13px; opacity: .92; margin-top: 2px; }
.invite-hero-reward { font-size: 16px; font-weight: 900; color: #ffe08a; margin-top: 2px; }
.invite-hero-copy small { display: block; font-size: 11px; opacity: .8; margin-top: 4px; }
.invite-hero-gift {
  margin-left: auto;
  display: grid;
  place-items: center;
  min-width: 64px;
  font-size: 30px;
  text-align: center;
}
.invite-hero-gift strong { display: block; font-size: 13px; color: #ffe08a; }
.invite-panel {
  padding: 14px;
  border: 1px solid #e7edf8;
  border-radius: 14px;
  background: #ffffff;
}
.invite-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 10px;
}
.invite-section-head h3 { margin: 0; font-size: 15px; color: #1f2a44; }
.invite-section-head small { color: #9aa5b8; font-size: 11px; }
.invite-rules-btn {
  border: 0;
  background: transparent;
  color: #2f74ff;
  font-size: 13px;
  font-weight: 700;
}
.invite-link-box {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid #dce5f5;
  border-radius: 10px;
  background: #f6f9ff;
}
.invite-link-text {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #43506b;
  font-size: 13px;
}
.invite-copy-btn {
  flex: none;
  padding: 6px 14px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, rgb(47, 123, 255), rgb(91, 140, 255));
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
}
.invite-qr-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 12px 0;
}
.invite-qr {
  width: 92px;
  height: 92px;
  border-radius: 8px;
  border: 1px solid #e7edf8;
  background: #ffffff;
}
.invite-qr-row p { margin: 0; color: #6b7890; font-size: 12px; line-height: 1.7; }
.invite-share-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
.invite-share {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 8px 4px;
  border: 0;
  border-radius: 10px;
  background: transparent;
}
.invite-share i { display: block; width: 44px; height: 44px; }
.invite-share i svg { width: 100%; height: 100%; display: block; }
.invite-share span { color: #43506b; font-size: 12px; }
.invite-rule-list {
  margin: 10px 0 0;
  padding: 10px 12px 10px 16px;
  border-radius: 10px;
  background: #f6f9ff;
  color: #6b7890;
  font-size: 12px;
  line-height: 1.9;
  list-style: none;
}
.invite-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}
.invite-stats article {
  padding: 10px 4px;
  border-radius: 10px;
  background: #f6f9ff;
  text-align: center;
}
.invite-stats span { display: block; color: #9aa5b8; font-size: 11px; }
.invite-stats strong { color: #1f2a44; font-size: 15px; }
.invite-friend-list { display: grid; gap: 8px; }
.invite-friend-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #e7edf8;
  border-radius: 12px;
  background: #ffffff;
}
.invite-avatar {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f0f6ff;
  color: #2f74ff;
  font-weight: 900;
}
.invite-friend-main strong { color: #1f2a44; font-size: 14px; }
.invite-friend-main p { margin: 2px 0 0; color: #9aa5b8; font-size: 12px; }
.invite-empty { margin: 0; color: #9aa5b8; font-size: 13px; text-align: center; padding: 10px 0; }

/* ========== 代理中心五 Tab（对齐 N9 agent.html） ========== */
.agent-center-tabs {
  display: flex;
  gap: 4px;
  margin: -4px 0 12px;
  border-bottom: 1px solid #e7edf8;
  overflow-x: auto;
}
.agent-center-tabs button {
  position: relative;
  flex: none;
  padding: 10px 10px 12px;
  border: 0;
  background: transparent;
  color: #6b7890;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}
.agent-center-tabs button.active { color: #2f74ff; }
.agent-center-tabs button.active::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 22px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgb(47, 123, 255), rgb(91, 140, 255));
  transform: translateX(-50%);
}
.ac-card {
  padding: 14px;
  margin-bottom: 12px;
  border: 1px solid #e7edf8;
  border-radius: 14px;
  background: #ffffff;
}
.ac-card h3 { margin: 0 0 10px; font-size: 15px; color: #1f2a44; }
.ac-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
.ac-grid.three { grid-template-columns: repeat(3, 1fr); }
.ac-metric {
  padding: 10px 4px;
  border-radius: 10px;
  background: #f6f9ff;
  text-align: center;
}
.ac-metric span { display: block; color: #9aa5b8; font-size: 11px; }
.ac-metric strong { color: #1f2a44; font-size: 15px; }
/* 未开通代理锁定卡 */
.ac-locked {
  padding: 34px 16px;
  border-radius: 14px;
  background: #ffffff;
  border: 1px solid #e7edf8;
  text-align: center;
}
.ac-locked-icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin: 0 auto 10px;
  border-radius: 50%;
  background: #f0f6ff;
  color: #2f74ff;
  font-size: 28px;
}
.ac-locked h2 { margin: 0 0 6px; font-size: 17px; color: #1f2a44; }
.ac-locked p { margin: 0 0 14px; color: #6b7890; font-size: 13px; }
/* 代理首页头部卡 */
.ac-hero {
  padding: 14px;
  margin-bottom: 12px;
  border-radius: 14px;
  background: linear-gradient(135deg, #2f74ff, #6a9bff);
  color: #ffffff;
}
.ac-hero-top { display: flex; align-items: center; gap: 8px; }
.ac-hero-top span {
  padding: 2px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .22);
  font-size: 12px;
}
.ac-hero-top h2 { margin: 0; font-size: 16px; }
.ac-hero-link { display: block; margin-top: 10px; }
.ac-hero-link small { display: block; opacity: .8; font-size: 11px; }
.ac-hero-link strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}
.ac-hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.ac-hero-actions button {
  padding: 9px;
  border: 0;
  border-radius: 10px;
  background: #ffffff;
  color: #2f74ff;
  font-size: 13px;
  font-weight: 700;
}
/* 直属客户 */
.ac-search { margin-bottom: 10px; }
.ac-search input {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #dce5f5;
  border-radius: 10px;
  background: #ffffff;
  color: #1f2a44;
  font-size: 13px;
}
.ac-list { display: grid; gap: 8px; }
.ac-customer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #e7edf8;
  border-radius: 12px;
  background: #ffffff;
}
.ac-avatar {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #f0f6ff;
  color: #2f74ff;
  font-weight: 900;
}
.ac-customer-main { flex: 1; min-width: 0; }
.ac-customer-main strong { display: block; color: #1f2a44; font-size: 14px; }
.ac-customer-main small { color: #9aa5b8; font-size: 12px; }
.ac-customer em { color: #18a874; font-weight: 700; font-size: 13px; }
/* 佣金结算条 */
.ac-payout-bar {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  margin-bottom: 12px;
  border-radius: 12px;
  background: #fff7e8;
  color: #8a5a00;
  font-size: 13px;
}
.ac-payout-bar strong { color: #1f2a44; }
.ac-payout-bar small { margin-left: auto; }
.ac-payout-bar b { color: #e89a2f; }
/* 推广素材 */
.ac-material-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 10px; }
.ac-material-head h3 { margin: 0; font-size: 15px; color: #1f2a44; }
.ac-material-head span { color: #9aa5b8; font-size: 12px; }
.ac-poster-preview {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 180px;
  margin-bottom: 10px;
  border-radius: 12px;
  background: #f0f4ff;
  overflow: hidden;
}
.ac-poster-preview img { width: 100%; max-height: 320px; object-fit: cover; display: block; }
.ac-poster-fallback { text-align: center; color: #6b7890; }
.ac-poster-preview:not(.fallback) .ac-poster-fallback { display: none; }
.ac-poster-fallback span { display: block; font-size: 18px; font-weight: 900; color: #2f74ff; }
.ac-poster-fallback strong { display: block; margin-top: 4px; font-size: 14px; }
.ac-switcher { display: grid; grid-template-columns: auto 1fr auto; gap: 8px; align-items: center; }
.ac-switcher button {
  padding: 7px 14px;
  border: 1px solid #dce5f5;
  border-radius: 999px;
  background: #ffffff;
  color: #2f74ff;
  font-size: 13px;
  font-weight: 700;
}
.ac-switcher strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: center;
  color: #1f2a44;
  font-size: 13px;
}
.ac-tip { margin: 10px 0 0; color: #9aa5b8; font-size: 12px; }
/* 复制推广文案：小号胶囊按钮（与切换按钮同一视觉系，居中） */
.ac-copy-text {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 12px auto 0;
  padding: 8px 26px;
  border: none;
  border-radius: 999px;
  background: linear-gradient(135deg, #2f74ff, #5b93ff);
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(47, 116, 255, 0.22);
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.ac-copy-text:active { transform: translateY(1px); box-shadow: 0 2px 8px rgba(47, 116, 255, 0.25); }
.ac-card .ac-copy-text { display: flex; max-width: 220px; }
.ac-text-preview {
  padding: 12px;
  border-radius: 10px;
  background: #f6f9ff;
  color: #43506b;
  font-size: 13px;
  line-height: 1.8;
}
/* 代理成长计划等级表 */
.growth-table {
  margin: 12px 0;
  border: 1px solid #e7edf8;
  border-radius: 10px;
  overflow: hidden;
}
.growth-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  text-align: center;
}
.growth-row span {
  padding: 8px 2px;
  border-top: 1px solid #e7edf8;
  color: #43506b;
  font-size: 12px;
}
.growth-row:first-child span { border-top: 0; }
.growth-row.growth-head span { background: #f6f9ff; color: #9aa5b8; font-weight: 700; }

/* 代理中心·待领取佣金卡（浅色主题，含一键领取/逐笔领取） */
.ac-comm-pending .ac-comm-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px;
  margin-bottom: 10px;
  border-radius: 12px;
  background: linear-gradient(135deg, #eef5ff 0%, #ffffff 100%);
  border: 1px solid #d9e6ff;
}
.ac-comm-total { color: #7a8799; font-size: 13px; }
.ac-comm-total strong { display: block; margin-top: 2px; color: #176bff; font-size: 22px; font-weight: 850; }
.ac-comm-claim-all {
  flex: 0 0 auto;
  padding: 10px 20px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #176bff 0%, #0d5ecc 100%);
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  box-shadow: 0 4px 12px rgba(23, 107, 255, 0.22);
}
.ac-comm-claim-all:disabled { background: #e7edf8; color: #a0aec0; box-shadow: none; }
.ac-comm-list { display: grid; gap: 8px; }
.ac-comm-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #e7edf8;
  border-radius: 12px;
  background: #ffffff;
}
.ac-comm-row small { display: block; color: #9aa5b8; font-size: 12px; }
.ac-comm-row strong { color: #1f2a44; font-size: 15px; font-weight: 800; }
.ac-comm-claim-one {
  flex: 0 0 auto;
  padding: 7px 16px;
  border: 1px solid #dce5f5;
  border-radius: 999px;
  background: #ffffff;
  color: #2f74ff;
  font-size: 13px;
  font-weight: 700;
}
.ac-comm-claim-one:disabled { color: #a0aec0; border-color: #eef2f9; }

/* ========== 首页分类导航（对齐 N9：固定门+滚动轨道+专属 SVG，滚动时固定顶部） ========== */
.category-row {
  position: sticky;
  top: 62px;
  z-index: 9;
  display: flex;
  align-items: stretch;
  margin: 8px 0 12px;
  padding: 6px 0 8px;
  border: 0;
  background: #f5f9ff;
}
.category-fixed-door {
  position: relative;
  z-index: 8;
  display: grid;
  place-items: stretch;
  background: #f5f9ff;
  box-shadow: 8px 0 12px rgba(245, 249, 255, 0.98);
}
.category-scroll-track {
  min-width: 0;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  padding-right: 12px;
}
.category-scroll-track::-webkit-scrollbar { display: none; }
.category-row button {
  display: grid;
  justify-items: center;
  gap: 2px;
  flex: 0 0 76px;
  min-width: 76px;
  padding: 4px 2px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  box-shadow: none;
}
.category-row button:hover { transform: none; box-shadow: none; }
.category-row button.active { background: #e8f0ff; }
.category-row button .category-icon-wrap {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  background: transparent;
  box-shadow: none;
}
.category-row button .category-icon-wrap svg { width: 100%; height: 100%; display: block; }
.category-row button .category-icon-wrap img { width: 100%; height: 100%; object-fit: contain; }
.category-label { color: #6b7890; font-size: 12px; font-weight: 700; white-space: nowrap; }
.category-row button.active .category-label { color: #2f74ff; }

/* ========== VIP奖励列表（对齐 N9 vip-gift：进度头+双Tab+总奖金展开式） ========== */
.vip-gift-page { display: grid; gap: 12px; }
.vip-progress-card {
  padding: 14px;
  border-radius: 14px;
  background: linear-gradient(135deg, #2f74ff, #6a9bff);
  color: #ffffff;
}
.vip-progress-level-row { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.vip-progress-level-row strong { font-size: 15px; }
.vip-progress-level-row span { flex: 1; text-align: center; font-size: 12px; opacity: .9; }
.vip-progress-bar {
  height: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .28);
  overflow: hidden;
}
.vip-progress-bar i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: #ffe08a;
  transition: width .5s ease;
}
.vip-progress-stats { display: flex; justify-content: space-between; margin-top: 8px; font-size: 12px; opacity: .92; }
.vip-replica-panel {
  padding: 14px;
  border: 1px solid #e7edf8;
  border-radius: 14px;
  background: #ffffff;
}
.vip-replica-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-bottom: 10px; }
.vip-replica-tabs button {
  padding: 9px;
  border: 1px solid #dce5f5;
  border-radius: 10px;
  background: #ffffff;
  color: #43506b;
  font-size: 14px;
  font-weight: 700;
}
.vip-replica-tabs button.active { border-color: #2f74ff; background: #f0f6ff; color: #2f74ff; }
.vip-replica-head {
  display: flex;
  justify-content: space-between;
  padding: 0 4px 8px;
  border-bottom: 1px solid #e7edf8;
  color: #9aa5b8;
  font-size: 12px;
}
.vip-level-list { display: grid; gap: 8px; padding-top: 10px; }
.vip-level-row {
  border: 1px solid #e7edf8;
  border-radius: 12px;
  background: #ffffff;
}
.vip-level-row.reached {
  border-color: rgba(212, 175, 55, 0.55);
  background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
  box-shadow: 0 4px 12px rgba(212, 175, 55, 0.12);
}
.vip-level-summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
}
.vip-level-badge {
  position: relative;
  overflow: hidden;
  padding: 5px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, #eef4ff, #d8e6ff);
  box-shadow: inset 0 0 0 1px rgba(47, 116, 255, 0.2), 0 2px 5px rgba(31, 42, 68, 0.08);
  color: #2f74ff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.5px;
}
/* 已达标等级：奢华金框徽章 + 定期扫光 */
.vip-level-row.reached .vip-level-badge {
  background: linear-gradient(135deg, #f9d976 0%, #f4bb45 50%, #e89a2f 100%);
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.65), inset 0 -2px 4px rgba(160, 100, 0, 0.35), 0 4px 10px rgba(232, 154, 47, 0.4);
  color: #5c3300;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.4);
}
.vip-level-row.reached .vip-level-badge::after {
  content: "";
  position: absolute; top: 0; bottom: 0; left: -70%;
  width: 45%;
  background: linear-gradient(105deg, transparent, rgba(255, 255, 255, 0.65), transparent);
  transform: skewX(-20deg);
  animation: badgeShine 3.2s ease-in-out infinite;
}
@keyframes badgeShine {
  0% { left: -70%; }
  55%, 100% { left: 130%; }
}
@media (prefers-reduced-motion: reduce) {
  .vip-level-row.reached .vip-level-badge::after { animation: none; }
}
.vip-level-total { color: #1f2a44; font-size: 13px; }
.vip-level-total b { color: #e89a2f; font-size: 15px; }
.vip-toggle { border: 0; background: transparent; color: #2f74ff; font-size: 12px; font-weight: 700; }
.vip-level-detail { display: grid; gap: 10px; padding: 0 12px 12px; }
.vip-stage { padding: 10px 12px; border-radius: 10px; background: #f6f9ff; }
.vip-stage-text { display: flex; justify-content: space-between; color: #1f2a44; font-size: 13px; font-weight: 700; }
.vip-stage-text em { color: #2f74ff; font-style: normal; }
.vip-stage-bar {
  height: 6px;
  margin: 8px 0 6px;
  border-radius: 999px;
  background: #e2e9f7;
  overflow: hidden;
}
.vip-stage-bar i {
  display: block;
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, rgb(47, 123, 255), rgb(91, 140, 255));
  transition: width .5s ease;
}
.vip-stage small { color: #9aa5b8; font-size: 11px; }
.vip-detail-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid #e7edf8;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f9fbff);
}
/* 晋级奖金图标：改用 N9 蓝金礼盒 SVG（隐藏原🏆emoji，与首存/救援金礼盒统一） */
.vip-detail-icon {
  display: block;
  width: 40px; height: 40px; margin: 0 auto;
  border-radius: 0;
  background: var(--n9-gift) center / contain no-repeat;
  box-shadow: none;
  font-size: 0; line-height: 0; color: transparent; overflow: hidden;
}
.vip-detail-item > div span { display: block; color: #1f2a44; font-size: 14px; font-weight: 700; }
.vip-detail-item > div strong { display: block; margin-top: 2px; color: #e89a2f; font-size: 13px; }
.vip-detail-item > div small { color: #9aa5b8; font-size: 11px; }
.vip-act-btn {
  padding: 7px 16px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(90deg, rgb(47, 123, 255), rgb(91, 140, 255));
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
}
.vip-act { font-size: 12px; font-weight: 700; }
.vip-act.claimed { color: #18a874; }
.vip-act.locked { color: #9aa5b8; }
.vip-rules-pane ol { margin: 0; padding-left: 18px; color: #6b7890; font-size: 12px; line-height: 1.9; }
.vip-rules-pane strong { color: #1f2a44; }

/* ============ 首页板块空占位（斗鸡等暂未上架分类） ============ */
.section-empty-tip {
  grid-column: 1 / -1;
  padding: 26px 16px;
  text-align: center;
  color: #8a94a8;
  font-size: 13px;
  font-weight: 600;
  background: linear-gradient(180deg, #ffffff, #f3f7ff);
  border: 1px dashed #c9d6ee;
  border-radius: 12px;
}

/* 板块“全部”链接按钮（对齐 N9 标题右侧入口） */
.game-section-title .section-link {
  border: none;
  background: transparent;
  color: #2f7bff;
  font-size: 12px;
  font-weight: 700;
  padding: 4px 8px;
  cursor: pointer;
}

/* ============ 首存任务/救援金任务页（弹窗内对齐 N9 first-recharge/loss-rescue 页） ============ */
.task-dialog-card.fd-page { padding: 14px; }
.fd-page .first-section-head,
.fd-page .loss-section-head { margin-bottom: 10px; }
.fd-status {
  flex: 0 0 auto;
  padding: 4px 10px;
  border-radius: 999px;
  background: #e8f0ff;
  color: #2f7bff;
  font-size: 12px;
  font-weight: 700;
}
/* 礼包图标（用 emoji 替代 N9 的 svg 图，保持同尺寸浮动效果） */
.first-deposit-chest-icon .fd-gift-emoji {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  font-size: 56px;
  line-height: 1;
}
.fd-footer {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 10px;
  margin-top: 14px;
}
.fd-footer .ghost-button {
  min-height: 40px;
  border-radius: 10px;
  font-weight: 700;
}
.fd-footer .auth-submit {
  min-height: 40px;
  border-radius: 10px;
}
.fd-page .activity-rules-card { margin-top: 12px; }

/* ============ 交易记录页（复刻 N9 records.html 全屏页，浅色账单风） ============ */
.records-overlay {
  position: fixed;
  inset: 0;
  z-index: 120;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background: #F4F7FC;
  color: #1F2A44;
}
.records-overlay .records-back svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.records-overlay .records-back {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: #1F2A44;
  cursor: pointer;
}

/* ============ 代理成长计划（弹窗内适配 N9 agent-growth 页组件） ============ */
.task-dialog-card.ag-page {
  display: grid;
  gap: 12px;
  padding: 12px;
}
.ag-page .agent-growth-hero,
.ag-page .agent-growth-card,
.ag-page .agent-growth-stats,
.ag-page .agent-growth-accordions {
  width: 100%;
}
.ag-page .level-table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.ag-page .level-table {
  min-width: 0;
  width: 100%;
}
/* 3 列宽度重分配（基础样式按旧 5 列设计）：等级窄 / 返点中 / 升级条件宽（文本最长），移动端整表 100% 显示、无需左右滑动 */
.ag-page .level-table th:nth-child(1),
.ag-page .level-table td:nth-child(1) { width: 20%; }
.ag-page .level-table th:nth-child(2),
.ag-page .level-table td:nth-child(2) { width: 25%; }
.ag-page .level-table th:nth-child(3),
.ag-page .level-table td:nth-child(3) { width: 55%; }
.ag-share-btn {
  margin-top: 2px;
  background: linear-gradient(180deg, #e42b2b, #b30d0d) !important;
}
/* 代理成长计划内容较长：弹窗内可滚动（对齐 N9 全页体验） */
.modal .dialog:has(.ag-page) {
  max-height: min(92vh, 780px);
  overflow-y: auto;
}

/* ---------- 999 盾形 logo 图徽标（顶栏 / 登录弹窗 / 安装弹窗） ---------- */
.app-shell > .topbar .brand-mark {
  background: none !important;
  overflow: hidden;
}
.app-shell > .topbar .brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}
.app-shell > .topbar .brand-mark strong { display: none; }
/* 顶栏品牌大字：金色实色（清除蓝白主题渐变填充） */
.app-shell > .topbar .brand > span > strong {
  color: #F6C453 !important;
  background: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
  -webkit-text-fill-color: #F6C453 !important;
}
/* 顶栏大字水印与账户头像字母：N9 -> 999 */
.app-shell > .topbar::before {
  content: "999";
}
.app-shell > .topbar .account-pill span::before {
  content: "9" !important;
}
/* 登录/注册弹窗品牌徽标：999 logo 图 */
.auth-mark::before {
  content: none;
}
.auth-mark,
body .modal.auth-mode .auth-mark {
  background: none !important;
  padding: 0;
  overflow: hidden;
}
.auth-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit;
}

/* ---------- 代理成长计划代理态细节（对齐 N9 截图） ---------- */
.ag-page .ag-topbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: -6px;
}
.ag-page .ag-help-link {
  padding: 0;
  border: 0;
  background: none;
  color: #c91818;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}
/* 返点卡片：白底红边（N9 截图样式，覆盖金色半透明底） */
.ag-page .agent-growth-rate-grid div {
  border-color: rgba(201, 24, 24, 0.45);
  background: #ffffff;
}
.ag-page .agent-growth-rate-grid span {
  color: #8a4a3a;
}
.ag-page .agent-growth-rate-grid b {
  color: #c91818;
}

/* ---------- 电子爆奖录屏挑战赛全屏页（对齐 N9 slot-jackpot.html） ---------- */
.slot-jackpot-overlay {
  position: fixed;
  inset: 0;
  z-index: 120;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background:
    radial-gradient(circle at 50% -80px, rgba(47, 123, 255, 0.2), transparent 260px),
    linear-gradient(180deg, #f6f9ff 0%, #eef5ff 46%, #f8fbff 100%);
  color: #14213d;
}
.slot-jackpot-overlay .slot-jackpot-shell {
  min-height: 100%;
}
/* 旧版 styles.css 未含今日爆奖列表样式（N9 新版新增） */
.slot-today-list {
  display: flex;
  gap: 8px;
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: none;
}
.slot-today-list::-webkit-scrollbar {
  display: none;
}
.slot-today-list article {
  flex: 0 0 228px;
  display: grid;
  grid-template-columns: minmax(88px, 1fr) auto;
  gap: 4px 8px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid rgba(47, 123, 255, 0.12);
  border-radius: 13px;
  background: linear-gradient(90deg, #f7fbff, #ffffff);
}
.slot-today-list b {
  color: #102a66;
  font-size: 12px;
  font-weight: 950;
}
.slot-today-list span {
  color: #40516f;
  font-size: 11px;
  font-weight: 750;
}
.slot-today-list strong {
  grid-row: span 2;
  color: #d28a00;
  font-size: 13px;
  font-weight: 1000;
  text-align: right;
}

/* ---------- 代理中心全屏页（不再是弹窗；顶栏返回 + 五 Tab + 独立滚动） ---------- */
.agent-center-overlay {
  position: fixed;
  inset: 0;
  z-index: 120;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% -80px, rgba(47, 123, 255, 0.2), transparent 260px),
    linear-gradient(180deg, #f6f9ff 0%, #eef5ff 46%, #f8fbff 100%);
}
body.agent-center-open .app-shell {
  visibility: hidden;
}
.agent-center-overlay .ac-page-shell {
  display: flex;
  flex-direction: column;
  width: min(100vw, 480px);
  height: 100%;
  margin: 0 auto;
}
.ac-page-topbar {
  flex: none;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  align-items: center;
  height: 54px;
  padding: 0 6px;
  border-bottom: 1px solid rgba(196, 216, 248, 0.72);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(8px);
}
.ac-page-topbar h2 {
  margin: 0;
  font-size: 16px;
  color: #14213d;
  text-align: center;
}
.ac-page-back {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #1f2a44;
  cursor: pointer;
}
.ac-page-back svg {
  width: 24px;
  height: 24px;
}
.agent-center-overlay .agent-center-tabs {
  flex: none;
  margin: 0;
  padding: 0 12px;
  background: #ffffff;
}
.ac-page-body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 12px 14px calc(18px + env(safe-area-inset-bottom));
}
.ac-page-body .auth-note {
  margin: 24px 0;
  text-align: center;
  color: #6b7890;
}

/* ---------- 应用内嵌入客服（SPA 模式：聊天页） ---------- */
.cs-chat-page {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  background: #f4f7ff;
}
.cs-chat-head {
  flex: none;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  background: linear-gradient(135deg, #0a4a8c, #1065bd);
  color: #ffffff;
}
.cs-head-logo {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid rgba(255, 255, 255, 0.55);
}
.cs-head-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.cs-head-copy strong {
  font-size: 15px;
}
.cs-chat-head > small {
  font-size: 11px;
  opacity: 0.85;
  white-space: nowrap;
}
.cs-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-style: normal;
  font-size: 11px;
  opacity: 0.95;
}
.cs-status i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f6c453;
}
.cs-status.on i { background: #39d98a; }
.cs-status.off i { background: #ff6b6b; }
.cs-msg-list {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cs-msg {
  display: flex;
  flex-direction: column;
  max-width: 82%;
}
.cs-msg.me {
  align-self: flex-end;
  align-items: flex-end;
}
.cs-msg.agent {
  align-self: flex-start;
  align-items: flex-start;
}
.cs-msg-bubble {
  padding: 9px 12px;
  border-radius: 14px;
  font-size: 13.5px;
  line-height: 1.5;
  word-break: break-word;
}
.cs-msg.me .cs-msg-bubble {
  background: linear-gradient(135deg, #2f74ff, #5b8cff);
  color: #ffffff;
  border-bottom-right-radius: 4px;
}
.cs-msg.agent .cs-msg-bubble {
  background: #ffffff;
  color: #1f2a44;
  border: 1px solid #e7edf8;
  border-bottom-left-radius: 4px;
}
.cs-msg-bubble img {
  display: block;
  max-width: 180px;
  border-radius: 8px;
  margin-bottom: 4px;
}
.cs-msg small {
  margin-top: 3px;
  font-size: 10.5px;
  color: #9aa5b8;
}
.cs-quick {
  flex: none;
  display: flex;
  gap: 6px;
  padding: 0 12px 8px;
  overflow-x: auto;
  scrollbar-width: none;
}
.cs-quick::-webkit-scrollbar { display: none; }
.cs-quick button {
  flex: none;
  padding: 6px 12px;
  border: 1px solid rgba(47, 116, 255, 0.35);
  border-radius: 999px;
  background: #ffffff;
  color: #2f74ff;
  font-size: 12px;
  white-space: nowrap;
  cursor: pointer;
}
.cs-chat-input {
  flex: none;
  display: flex;
  gap: 8px;
  padding: 10px 12px;
  background: #ffffff;
  border-top: 1px solid #e7edf8;
}
.cs-chat-input input {
  flex: 1;
  min-width: 0;
  padding: 10px 14px;
  border: 1px solid #dbe5f5;
  border-radius: 999px;
  font-size: 13.5px;
  outline: none;
  background: #f8fbff;
}
.cs-chat-input input:focus {
  border-color: #2f74ff;
}
.cs-chat-input button {
  flex: none;
  padding: 0 20px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #2f74ff, #5b8cff);
  color: #ffffff;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
}
.cs-fallback {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 14px calc(10px + env(safe-area-inset-bottom));
  background: #ffffff;
  border-top: 1px solid #eef2fa;
  font-size: 11.5px;
  color: #9aa5b8;
}
.cs-fallback button {
  flex: none;
  padding: 5px 12px;
  border: 1px solid rgba(34, 158, 217, 0.4);
  border-radius: 999px;
  background: rgba(34, 158, 217, 0.08);
  color: #1e9ad6;
  font-size: 12px;
  cursor: pointer;
}

/* ============ 移动端适配修复（首存/救援金弹窗滚动、按钮瘦身、隐藏页面滚动条） ============ */
/* 任务类弹窗（首存/救援金/VIP/代理成长）：内容超出视口时弹窗内滚动，底部按钮可达 */
.modal .dialog:has(.task-dialog-card) {
  max-height: min(92vh, 780px);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
/* 首存/救援金底部按钮：移动端不再过大 */
.fd-footer {
  grid-template-columns: 1fr 1.6fr;
  gap: 8px;
}
.fd-footer .ghost-button,
.fd-footer .auth-submit {
  min-height: 40px;
  height: 40px;
  padding: 0 10px;
  font-size: 14px;
}
/* 首存任务行：紧凑化适配小屏 */
.fd-page .first-task-item {
  padding: 10px 12px;
  gap: 10px;
}
.fd-page .first-task-copy h3 {
  font-size: 13px;
}
.fd-page .first-task-copy strong {
  font-size: 13px;
}
.fd-page .first-task-copy p {
  font-size: 11px;
}
/* 移动端隐藏页面级竖向滚动条（APP 化体验） */
@media (max-width: 768px) {
  html,
  body {
    scrollbar-width: none;
  }
  html::-webkit-scrollbar,
  body::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
}
/* 下载横幅已移出 sticky 顶栏（独立条，随页面滚走）：保持深色品牌背景与层级 */
.app-shell > .app-download-strip {
  position: relative;
  z-index: 1;
  background: linear-gradient(180deg, #12293f, #0b1c2e);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

/* ---------- 返回键统一放大（优惠页 + 客服页）：图标 38px，触控区 56px ---------- */
.promo-back {
  width: 56px !important;
  height: 60px !important;
}
.promo-back img {
  width: 38px !important;
  height: 38px !important;
}
.n9-support-close {
  position: absolute;
  top: 8px;
  left: 8px;
  right: auto;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  padding: 0;
  background: transparent;
  color: transparent;
  font-size: 0;
}
.n9-support-close img {
  display: block;
  width: 38px;
  height: 38px;
}
/* 客服头部：平台 logo + “在线客服”整体水平居中 */
.cs-chat-head {
  position: relative;
  justify-content: center;
}
.cs-chat-head .cs-head-copy {
  flex: none;
}
.cs-chat-head > small {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 10px;
  max-width: 86px;
  text-align: right;
}
/* 聊天消息列表滚动条隐藏（移动端 APP 化） */
.n9-support-root .cs-msg-list {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.n9-support-root .cs-msg-list::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
/* 客服页其他可能出现的滚动条一并隐藏 */
.n9-support-root .n9-support-body,
.n9-support-root .cs-chat-page {
  scrollbar-width: none;
}
.n9-support-root .n9-support-body::-webkit-scrollbar,
.n9-support-root .cs-chat-page::-webkit-scrollbar {
  display: none;
}

/* ============ 活动页对齐 N9：礼盒图标改用 N9 蓝金礼盒 SVG（首存/救援金/邀请页通用） ============ */
:root {
  --n9-gift: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='96' viewBox='0 0 96 96' fill='none'%3E%3Cdefs%3E%3ClinearGradient id='box' x1='22' y1='28' x2='78' y2='86' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%234FA0FF'/%3E%3Cstop offset='.48' stop-color='%232F7BFF'/%3E%3Cstop offset='1' stop-color='%230E3B8F'/%3E%3C/linearGradient%3E%3ClinearGradient id='gold' x1='24' y1='18' x2='76' y2='78' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FFF1B8'/%3E%3Cstop offset='.42' stop-color='%23F6C453'/%3E%3Cstop offset='1' stop-color='%23D89718'/%3E%3C/linearGradient%3E%3ClinearGradient id='goldDeep' x1='42' y1='24' x2='58' y2='82' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FFF7CF'/%3E%3Cstop offset='.5' stop-color='%23F6C453'/%3E%3Cstop offset='1' stop-color='%23B56E09'/%3E%3C/linearGradient%3E%3Cfilter id='shadow' x='6' y='8' width='84' height='86' filterUnits='userSpaceOnUse' color-interpolation-filters='sRGB'%3E%3CfeDropShadow dx='0' dy='8' stdDeviation='6' flood-color='%230E3B8F' flood-opacity='.20'/%3E%3CfeDropShadow dx='0' dy='2' stdDeviation='2' flood-color='%23FFFFFF' flood-opacity='.45'/%3E%3C/filter%3E%3C/defs%3E%3Cellipse cx='48' cy='83' rx='27' ry='6' fill='%230E3B8F' opacity='.10'/%3E%3Cg filter='url(%23shadow)'%3E%3Cpath d='M22 41h52v10H22z' fill='url(%23gold)'/%3E%3Crect x='24' y='48' width='48' height='32' rx='9' fill='url(%23box)'/%3E%3Crect x='43' y='40' width='10' height='40' rx='4' fill='url(%23goldDeep)'/%3E%3Crect x='24' y='54' width='48' height='8' rx='4' fill='%230E3B8F' opacity='.14'/%3E%3Cpath d='M21 34c0-5 4-9 9-9h36c5 0 9 4 9 9v11H21V34Z' fill='url(%23box)'/%3E%3Crect x='19' y='39' width='58' height='12' rx='6' fill='url(%23gold)'/%3E%3Crect x='43' y='25' width='10' height='27' rx='5' fill='url(%23goldDeep)'/%3E%3Cpath d='M47 29c-6-10-17-13-23-8-5 5-2 14 8 15 6 .6 11-2 15-7Z' fill='url(%23gold)' stroke='%23FFE8A0' stroke-width='2'/%3E%3Cpath d='M49 29c6-10 17-13 23-8 5 5 2 14-8 15-6 .6-11-2-15-7Z' fill='url(%23gold)' stroke='%23FFE8A0' stroke-width='2'/%3E%3Ccircle cx='31' cy='66' r='3' fill='%23FFFFFF' opacity='.20'/%3E%3Ccircle cx='64' cy='61' r='2.5' fill='%23FFFFFF' opacity='.18'/%3E%3C/g%3E%3C/svg%3E");
}
/* 礼盒本体：N9 SVG 插画（自带盒盖/丝带/蝴蝶结/投影），去掉原 CSS 硬画的盒盖与丝带 */
.first-task-icon {
  position: relative;
  flex: none;
  width: 46px;
  height: 46px;
  border-radius: 0;
  overflow: visible;
  background: var(--n9-gift) center / contain no-repeat !important;
  box-shadow: none !important;
}
.first-task-icon::before,
.first-task-icon::after { content: none !important; }
/* 右上角编号徽章（首存/救援金通用）：金色渐变小圆点 */
.first-task-icon .task-rank {
  position: absolute; top: -6px; right: -6px; z-index: 2;
  min-width: 19px; height: 19px; padding: 0 5px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 999px; border: 2px solid #fff;
  background: linear-gradient(160deg, #ffe9a8 0%, #ffc93c 45%, #f08c00 100%);
  color: #6b3a00; font-size: 11px; font-style: normal; font-weight: 900;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.45);
  box-shadow: 0 3px 8px rgba(240, 140, 0, 0.45), inset 0 1px 2px rgba(255, 255, 255, 0.7);
}
/* 达标档位：礼盒轻轻浮动，一眼看出可领取 */
.first-task-item.active .first-task-icon,
.loss-task-item.active .first-task-icon {
  animation: giftFloat 2.6s ease-in-out infinite;
}
@keyframes giftFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-4px); }
}
/* 邀请页顶部礼盒：同享浮动动效 */
.invite-hero-gift .invite-gift-box { animation: giftFloat 3s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce) {
  .first-task-item.active .first-task-icon,
  .loss-task-item.active .first-task-icon,
  .invite-hero-gift .invite-gift-box { animation: none; }
}

/* ============ 每日签到弹窗：30 天奖励网格 + 今日充值进度（与管理端配置一致） ============ */
.checkin-card { gap: 12px; }
.ck-progress {
  padding: 10px 12px; border-radius: 12px;
  background: rgba(245, 158, 11, 0.08); border: 1px solid rgba(245, 158, 11, 0.25);
}
.ck-progress-head {
  display: flex; justify-content: space-between; align-items: center; gap: 8px;
  font-size: 12px; color: #92600a; margin-bottom: 7px;
}
.ck-progress-head b { color: #e89a2f; }
.ck-progress-head .met { color: #16a34a; font-weight: 800; }
.ck-bar {
  height: 9px; border-radius: 999px; overflow: hidden;
  background: rgba(255, 255, 255, 0.75); box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.08);
}
.ck-bar i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #ffc93c, #f08c00); transition: width .5s ease; }
.ck-grid-title { margin-top: 2px; font-size: 12px; font-weight: 800; color: #1f2a44; }
.ck-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.ck-cell { position: relative; padding: 6px 2px; border-radius: 9px; text-align: center; background: #f3f6fb; border: 1px solid transparent; }
.ck-cell b { display: block; font-size: 11px; font-weight: 800; color: #6b7789; }
.ck-cell span { display: block; font-size: 10px; color: #9aa5b8; margin-top: 1px; }
.ck-cell .ck-star { position: absolute; top: -6px; right: -3px; font-size: 10px; font-style: normal; color: #f0a92f; }
.ck-cell.past { background: rgba(34, 197, 94, 0.12); }
.ck-cell.past b, .ck-cell.past span { color: #16a34a; }
.ck-cell.mile { background: rgba(245, 158, 11, 0.1); border-color: rgba(245, 158, 11, 0.3); }
.ck-cell.mile b { color: #e89a2f; }
.ck-cell.cur { background: rgba(245, 158, 11, 0.18); border-color: #f59e0b; box-shadow: 0 2px 8px rgba(245, 158, 11, 0.25); }
.ck-cell.cur b, .ck-cell.cur span { color: #d97706; font-weight: 900; }
/* 救援金任务行：加入 46px 礼盒列（对齐 N9） */
.loss-task-item { grid-template-columns: 46px 1fr auto; gap: 12px; padding: 12px; }
/* 救援金数据卡刷新按钮 */
.loss-data-card { position: relative; }
.loss-refresh-btn {
  position: absolute; top: 8px; right: 8px;
  width: 30px; height: 30px; border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.22); color: inherit;
  font-size: 16px; line-height: 1; cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
}
.loss-refresh-btn:active { transform: rotate(180deg); }
/* 救援金任务区右上「领取记录」按钮（对齐 N9 圆角胶囊） */
.loss-records-btn {
  flex: none; padding: 7px 14px; border-radius: 999px;
  border: 1px solid #d7e0ec; background: #fff; color: #31548f;
  font-size: 12px; font-weight: 700; cursor: pointer;
}
/* 首存页脚三按钮（返回/领取记录/一键领取） */
.fd-footer { grid-template-columns: 1fr 1fr 1.4fr; }
/* 邀请页顶部礼盒（复用 N9 3D 礼盒） */
.invite-hero-gift .invite-gift-box { display: inline-block; width: 54px; height: 54px; }
.invite-hero-gift { display: flex; flex-direction: column; align-items: center; gap: 6px; }
/* 邀请页底部主按钮 */
.invite-cta { width: 100%; margin-top: 14px; min-height: 46px; border-radius: 12px; font-size: 15px; }

/* 浮动小礼盒：优惠页右下角悬浮，上下浮动动效，点击进待领取 */
.floating-gift {
  position: fixed; right: 14px; bottom: 92px; z-index: 25;
  display: flex; flex-direction: column; align-items: center; gap: 3px;
  padding: 9px 10px 7px; border: none; border-radius: 16px;
  background: linear-gradient(180deg, #fff8e6, #ffe9b8);
  box-shadow: 0 10px 24px rgba(180, 120, 20, 0.32), inset 0 0 0 1px rgba(255, 255, 255, 0.7);
  cursor: pointer;
  animation: fg-bob 2.6s ease-in-out infinite;
}
.floating-gift.hidden { display: none; }
.floating-gift em { font-style: normal; font-size: 11px; font-weight: 800; color: #8a4b00; letter-spacing: 1px; }
.floating-gift .fg-box {
  position: relative; width: 36px; height: 30px; border-radius: 7px;
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  box-shadow: 0 4px 10px rgba(29, 78, 216, 0.35);
}
.floating-gift .fg-box .fg-ribbon {
  position: absolute; left: 50%; top: 0; bottom: 0; width: 6px;
  transform: translateX(-50%);
  background: linear-gradient(180deg, #ffe58a, #f0b429);
}
.floating-gift .fg-box .fg-lid {
  position: absolute; left: -3px; right: -3px; top: 3px; height: 9px; border-radius: 4px;
  background: linear-gradient(135deg, #ffe58a, #e0a81f);
  box-shadow: 0 2px 4px rgba(140, 90, 0, 0.25);
}
@keyframes fg-bob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* ============ 代理成长横幅：对齐 N9 红色横幅 + 金色 LV 徽章 ============ */
.ag-hero {
  display: block !important;
  min-height: 0;
  padding: 14px 14px 12px;
  background: linear-gradient(135deg, #e33d3d, #c11f2f 55%, #9c1524) !important;
  color: #fff;
}
.ag-hero-top { display: flex; align-items: flex-start; justify-content: space-between; margin-bottom: 10px; }
.ag-hero-pl span { display: block; font-size: 12px; opacity: 0.85; }
.ag-hero-pl strong { font-size: 24px; letter-spacing: 0.5px; }
.ag-hero-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 6px 12px; border-radius: 999px;
  background: linear-gradient(180deg, #ffe9a8, #f5b942);
  color: #7a4a00; font-weight: 800; font-size: 13px;
  box-shadow: 0 3px 8px rgba(90, 40, 0, 0.3);
}
.ag-hero-badge i { font-style: normal; }
.ag-hero .agent-growth-progress { background: rgba(255, 255, 255, 0.28); }
.ag-hero .agent-growth-progress i { background: linear-gradient(90deg, #ffe9a8, #f5b942); }
.ag-hero .agent-growth-progress-head span,
.ag-hero .agent-growth-progress-label span { color: rgba(255, 255, 255, 0.85); }
.ag-hero .agent-growth-progress-head b { color: #ffe9a8; }
.ag-hero .agent-growth-upgrade p { color: rgba(255, 255, 255, 0.9); }
.ag-hero .agent-growth-rate-grid {
  display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 10px;
}
.ag-hero .agent-growth-rate-grid > div {
  padding: 8px 10px; border-radius: 12px;
  background: rgba(255, 255, 255, 0.96); color: #c11f2f;
  text-align: center;
}
.ag-hero .agent-growth-rate-grid span { display: block; font-size: 11px; color: #8a5a5f; }
.ag-hero .agent-growth-rate-grid b { font-size: 17px; }
/* 🔥 代理体系重构：类型徽章（普通/高级）+ 双列比例格 + 待领取佣金等级/差额明细 */
.ag-hero-badges { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
.ag-type-badge {
  display: inline-flex; align-items: center;
  padding: 4px 10px; border-radius: 999px;
  font-weight: 800; font-size: 12px; letter-spacing: 0.3px;
  border: 1px solid rgba(255, 255, 255, 0.55);
}
.ag-type-badge.normal { background: rgba(255, 255, 255, 0.92); color: #c11f2f; }
.ag-type-badge.senior { background: linear-gradient(180deg, #ffe9a8, #f5b942); color: #7a4a00; box-shadow: 0 3px 8px rgba(90, 40, 0, 0.3); }
.ag-hero .agent-growth-rate-grid.two { grid-template-columns: 1fr 1fr; }
.ac-comm-split { display: block; margin-top: 2px; font-size: 11px; color: #8a5a5f; }

/* ============ 充值方式卡图标（对齐 N9） ============ */
.recharge-method-card .rm-icon { font-style: normal; font-size: 20px; line-height: 1; }

/* ============ 充值付款页（对齐 N9：订单摘要/收款信息/二维码/温馨提示） ============ */
.pay-page { padding: 4px 0 8px; }
.pay-summary {
  padding: 16px; border-radius: 14px; color: #fff;
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
}
.pay-summary h2 { font-size: 13px; font-weight: 600; opacity: 0.92; }
.pay-amount-row { display: flex; align-items: center; justify-content: space-between; }
.pay-amount { font-size: 28px; font-weight: 800; color: #ffe08a; margin: 6px 0 2px; }
.pay-timer {
  padding: 3px 10px; border-radius: 999px;
  background: rgba(255, 255, 255, 0.14); color: #ff8a8a;
  font-size: 14px; font-weight: 800; letter-spacing: 1px;
}
.pay-note { font-size: 12px; opacity: 0.85; }
.pay-meta { display: grid; gap: 6px; margin: 12px 0 10px; }
.pay-meta div { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; }
.pay-meta dt { opacity: 0.8; flex: none; }
.pay-meta dd { margin: 0; font-weight: 700; word-break: break-all; text-align: right; }
.pay-copy {
  width: 100%; padding: 9px 0; border-radius: 10px; border: none;
  background: rgba(255, 255, 255, 0.18); color: #fff;
  font-size: 13px; font-weight: 700; cursor: pointer;
}
.pay-qr-card { margin-top: 12px; padding: 16px; border-radius: 14px; background: #fff; border: 1px solid #e8edf5; text-align: center; }
.pay-qr { width: 200px; height: 200px; object-fit: contain; border-radius: 10px; background: #fff; }
.pay-save-qr {
  display: block; width: 100%; margin-top: 10px; padding: 9px 0;
  border-radius: 10px; border: none; background: #eaf2ff; color: #2563eb;
  font-size: 13px; font-weight: 700; cursor: pointer;
}
.pay-tips { margin-top: 12px; display: grid; gap: 6px; font-size: 12px; color: #7a5b3a; }
.pay-done { width: 100%; margin-top: 14px; min-height: 46px; border-radius: 12px; }
.pay-confirm { padding: 10px 0 4px; text-align: center; }
.pay-confirm h3 { font-size: 17px; color: #2563eb; margin-bottom: 8px; }
.pay-confirm p { font-size: 13px; color: #5c6b82; margin-bottom: 16px; }
.pay-confirm-actions { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; }

/* ============ 存款详情页（对齐 N9 存款成功页） ============ */
.dep-detail { padding: 6px 0 8px; text-align: center; }
.dep-status { display: grid; justify-items: center; gap: 4px; margin-bottom: 10px; }
.dep-check {
  display: inline-flex; align-items: center; justify-content: center;
  width: 52px; height: 52px; border-radius: 50%;
  font-style: normal; font-size: 26px; font-weight: 800; color: #fff;
}
.dep-status.ok .dep-check { background: #22c55e; }
.dep-status.wait .dep-check { background: #f59e0b; font-size: 22px; }
.dep-status.bad .dep-check { background: #ef4444; }
.dep-status b { font-size: 17px; }
.dep-status span { font-size: 12px; color: #7b8aa0; }
.dep-amount { font-size: 26px; font-weight: 800; margin-bottom: 14px; }
.dep-list { margin: 0; display: grid; gap: 0; border-top: 1px solid #eef1f6; text-align: left; }
.dep-list > div {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 11px 2px; border-bottom: 1px solid #eef1f6; font-size: 13px;
}
.dep-list dt { color: #8a97ab; flex: none; }
.dep-list dd { margin: 0; font-weight: 600; display: inline-flex; align-items: center; gap: 8px; word-break: break-all; text-align: right; }
.dep-copy {
  padding: 3px 12px; border: none; border-radius: 999px;
  background: #eaf2ff; color: #2563eb; font-size: 12px; font-weight: 700; cursor: pointer;
}

/* ============ 充值弹窗 N9 风格加强 ============ */
.modal.light-recharge .recharge-method-card {
  display: grid; justify-items: center; gap: 5px;
  min-height: 138px; padding: 18px 10px 12px;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(15, 35, 80, 0.06);
  transition: border-color .15s, box-shadow .15s, transform .1s;
}
.modal.light-recharge .recharge-method-card:active { transform: scale(0.97); }
.modal.light-recharge .recharge-method-card strong { font-size: 15px; }
.modal.light-recharge .recharge-method-card span { font-size: 11px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.modal.light-recharge .recharge-method-card .rm-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 54px; height: 54px; border-radius: 14px; font-size: 27px;
}
.modal.light-recharge .recharge-method-card.tone-blue .rm-icon { background: linear-gradient(135deg, #dbeafe, #bfdbfe); color: #2563eb; }
.modal.light-recharge .recharge-method-card.tone-yellow .rm-icon { background: linear-gradient(135deg, #fef3c7, #fde68a); color: #d97706; }
.modal.light-recharge .recharge-method-card.tone-green .rm-icon { background: linear-gradient(135deg, #dcfce7, #bbf7d0); color: #16a34a; }
.modal.light-recharge .recharge-method-card.tone-purple .rm-icon { background: linear-gradient(135deg, #ede9fe, #ddd6fe); color: #7c3aed; }
/* 选中态：蓝边 + 右上角蓝色勾选圈（N9 同款） */
.modal.light-recharge .recharge-method-card .rm-check { display: none; }
.modal.light-recharge .recharge-method-card.active {
  border: 2px solid #2f7cff;
  background: linear-gradient(180deg, #ffffff, #f0f6ff);
  box-shadow: 0 8px 20px rgba(47, 124, 255, 0.18);
}
.modal.light-recharge .recharge-method-card.active .rm-check {
  display: inline-flex; align-items: center; justify-content: center;
  position: absolute; top: -2px; right: -2px;
  width: 24px; height: 24px; border-radius: 0 14px 0 14px;
  background: #2f7cff;
}
.modal.light-recharge .recharge-method-card.active .rm-check::after {
  content: "✓"; color: #fff; font-size: 13px; font-weight: 800;
}
.modal.light-recharge .recharge-recommend {
  top: 8px; left: 8px; right: auto;
  background: linear-gradient(135deg, #ff8a3d, #ff5f3c);
  color: #fff; font-weight: 700; font-size: 11px; padding: 3px 9px;
}
/* 金额按钮：加大 + 选中蓝底白字 */
.modal.light-recharge .recharge-quick-amounts { gap: 10px; }
.modal.light-recharge .recharge-quick-amount {
  min-height: 50px; border-radius: 12px; font-size: 15px; font-weight: 700;
}
.modal.light-recharge .recharge-quick-amount.active {
  background: linear-gradient(135deg, #2f7cff, #1d5fe0);
  border-color: #2f7cff; color: #fff;
}
/* 下一步：全宽大号蓝色（N9 同款） */
.modal.light-recharge .recharge-fixed-footer {
  position: sticky; bottom: 0; padding: 10px 0 2px;
  background: linear-gradient(180deg, rgba(244, 247, 252, 0), #f4f7fc 32%);
}
.modal.light-recharge .recharge-next {
  width: 100%; min-height: 50px; border-radius: 13px;
  background: linear-gradient(135deg, #2f7cff, #1d5fe0);
  color: #fff; font-size: 16px; font-weight: 700; border: none;
  box-shadow: 0 8px 20px rgba(47, 124, 255, 0.3);
}
.modal.light-recharge .recharge-next:disabled {
  background: #d7deea; color: #93a0b8; box-shadow: none;
}
.modal.light-recharge .recharge-top-actions button {
  font-weight: 600; box-shadow: 0 2px 8px rgba(15, 35, 80, 0.05);
}

/* ============ VIP 升级计划（对齐 N9） ============ */
.vip-hero {
  padding: 16px; border-radius: 16px; color: #fff; margin-bottom: 12px;
  background: linear-gradient(135deg, #3b2f78, #6d28d9 60%, #8b5cf6);
  box-shadow: 0 10px 26px rgba(109, 40, 217, 0.28);
}
.vip-hero-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.vip-hero-level { display: flex; align-items: center; gap: 10px; }
.vip-hero-level i {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 12px; font-style: normal; font-size: 23px;
  background: rgba(255, 255, 255, 0.16);
}
.vip-hero-level b { display: block; font-size: 20px; line-height: 1.15; }
.vip-hero-level span { font-size: 11px; opacity: 0.8; }
.vip-claim-all {
  padding: 9px 16px; border: none; border-radius: 999px;
  background: linear-gradient(135deg, #ffe9a8, #f5b942);
  color: #7a4a00; font-size: 13px; font-weight: 800; cursor: pointer;
  box-shadow: 0 4px 12px rgba(245, 185, 66, 0.4);
}
.vip-hero-progress { margin-top: 14px; }
.vip-progress-head { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 6px; }
.vip-progress-head span { opacity: 0.85; }
.vip-progress-head b { color: #ffe9a8; }
.vip-progress-bar { height: 8px; border-radius: 999px; background: rgba(255, 255, 255, 0.22); overflow: hidden; }
.vip-progress-bar i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(90deg, #ffe9a8, #f5b942); }
.vip-hero-note { margin-top: 10px; font-size: 12px; opacity: 0.85; }
/* 等级卡 */
.promo-vip-tiers { display: grid; gap: 10px; }
.vip-tier-card {
  display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 12px;
  padding: 12px 14px; border-radius: 14px;
  background: #fff; border: 1px solid #e7edf8;
  box-shadow: 0 4px 14px rgba(15, 35, 80, 0.05);
}
.vip-tier-card.unlocked { border-color: #f0d79a; background: linear-gradient(180deg, #fffdf5, #fff8e6); }
.vip-tier-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px; border-radius: 12px; font-style: normal; font-size: 23px;
  background: linear-gradient(135deg, #fef3c7, #fde68a);
}
.vip-tier-info h3 { font-size: 15px; margin: 0; }
.vip-tier-info small { color: #8a97ab; font-size: 11px; }
.vip-tier-right { display: grid; justify-items: end; gap: 5px; }
.vip-tier-reward { color: #f59e0b; font-size: 15px; }
.vip-tier-btn {
  min-width: 76px; padding: 7px 14px; border: none; border-radius: 999px;
  font-size: 13px; font-weight: 700; cursor: pointer;
}
.vip-tier-btn.can {
  background: linear-gradient(135deg, #f5b942, #f59e0b);
  color: #7a3d00; box-shadow: 0 4px 12px rgba(245, 158, 11, 0.35);
}
.vip-tier-btn.done { background: #e8f7ee; color: #16a34a; cursor: default; }
.vip-tier-btn.lock { background: #eef1f6; color: #9aa7bc; cursor: default; }

/* ============ 优惠一键领取按钮（金色大按钮，全站统一） ============ */
.promo-rebate-summary .primary-button,
.promo-pending-summary .primary-button {
  width: 100%; min-height: 46px; margin-top: 10px;
  border: none; border-radius: 12px;
  background: linear-gradient(135deg, #ffe9a8, #f5b942);
  color: #7a4a00; font-size: 15px; font-weight: 800; cursor: pointer;
  box-shadow: 0 6px 16px rgba(245, 185, 66, 0.4);
}
.promo-rebate-summary .primary-button:disabled,
.promo-pending-summary .primary-button:disabled {
  background: #e5e9f1; color: #9aa7bc; box-shadow: none;
}
.promo-rebate-summary strong, .promo-pending-summary strong { font-size: 26px; color: #f59e0b; }
.promo-pending-row .primary-button {
  padding: 7px 16px; border: none; border-radius: 999px;
  background: linear-gradient(135deg, #2f7cff, #1d5fe0);
  color: #fff; font-size: 13px; font-weight: 700; cursor: pointer;
}

/* ============ 首页轮播广告框瘦身：图片完整显示，框随图片高度，上限封顶 ============ */
/* 注意：styles.css 后段对 #homeView .ad-image 有 height:100%!important + object-fit:cover!important，
   且 .ad-carousel-viewport 有 min-height:320px 撑着骨架，必须全部反压 */
#homeView .ad-carousel .ad-carousel-viewport {
  min-height: 0 !important;
  height: auto !important;
}
#homeView .ad-carousel .ad-carousel-viewport .ad-slide {
  min-height: 0 !important;
  height: 168px !important; /* 默认兕底高度；图片加载后 JS 按真实比例精确调整（inline 样式覆盖此值） */
  aspect-ratio: auto !important;
  max-height: none !important;
}
@media (min-width: 768px) {
  #homeView .ad-carousel .ad-carousel-viewport .ad-slide {
    height: 220px !important;
  }
}

/* ============ 充值全链路 N9 像素级对齐（侦察色值） ============ */
/* 方式卡：选中红边（N9 #FF4D4F）+ 红字赠送标签 */
.modal.light-recharge .recharge-method-card.active {
  border: 2px solid #ff4d4f;
  background: linear-gradient(180deg, #ffffff, #f6f9ff);
  box-shadow: 0 8px 20px rgba(255, 77, 79, 0.12);
}
.modal.light-recharge .recharge-method-card .rm-bonus {
  font-style: normal; font-size: 12px; font-weight: 800; color: #ff4d4f;
}
/* 快捷金额：高50 数字17px；选中浅蓝底蓝边（N9 同款，不是蓝底白字） */
.modal.light-recharge .recharge-quick-amount {
  display: grid; justify-items: center; gap: 2px;
  min-height: 50px;
}
.modal.light-recharge .recharge-quick-amount strong {
  font-size: 17px; font-weight: 950; color: #1f2a44;
}
.modal.light-recharge .recharge-quick-amount .rq-bonus {
  font-style: normal; font-size: 13px; font-weight: 700; color: #ff9800; line-height: 1;
}
.modal.light-recharge .recharge-quick-amount.active {
  background: #f0f6ff; border: 1px solid #2f7cff;
  box-shadow: 0 8px 18px rgba(47, 124, 255, 0.12);
}
.modal.light-recharge .recharge-quick-amount.active strong { color: #1f2a44; }
/* 到账提示 + 放弃奖励勾选 */
.modal.light-recharge .recharge-arrival-tip { font-size: 14px; color: #1f2a44; }
.modal.light-recharge .recharge-arrival-tip .tip-gift { color: #ff9800; }
.modal.light-recharge .recharge-waive {
  display: flex; align-items: center; gap: 6px;
  font-size: 13px; color: #6b7890; margin-top: 6px; cursor: pointer;
}
/* 下一步：高52 圆角15 蓝渐变+光晕（N9 同款） */
.modal.light-recharge .recharge-next {
  width: 100%; min-height: 52px; border-radius: 15px;
  background: linear-gradient(180deg, #3b86ff, #176bff);
  color: #fff; font-size: 17px; font-weight: 700; border: none;
  box-shadow: rgba(47, 123, 255, 0.22) 0 10px 22px;
}
.modal.light-recharge .recharge-next:disabled {
  background: #d8dee8; color: #93a0b8; box-shadow: none;
}

/* ---------- 付款页：白卡 + 金字 + 红倒计时 ---------- */
.pay-summary {
  background: #ffffff !important; color: #1f2a44 !important;
  border: 1px solid #e7edf8; border-radius: 14px; padding: 14px 16px;
}
.pay-summary h2 { color: #6b7890; font-size: 12px; font-weight: 600; opacity: 1; }
.pay-amount { color: #efc441; font-weight: 800; }
.pay-timer {
  background: none; color: #ef4444;
  font-size: 13px; font-weight: 800; letter-spacing: 0.5px;
}
.pay-meta div { font-size: 14px; }
.pay-meta dt { color: #7a8799; font-weight: 400; }
.pay-meta dd { color: #1f2a44; font-weight: 850; }
.pay-meta .pay-bonus { color: #f59e0b; }
.pay-meta .pay-total { color: #18a874; }
/* 收款信息卡 */
.pay-acct-card {
  margin-top: 12px; padding: 14px 16px; border-radius: 14px;
  background: #fff; border: 1px solid #e7edf8;
}
.pay-acct-card h3 { margin: 0 0 2px; font-size: 15px; font-weight: 800; color: #1f2a44; }
.pay-acct-card > p { margin: 0 0 10px; font-size: 12px; color: #7a8799; }
.pay-acct-row {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 0; border-top: 1px solid #f0f3f9; font-size: 13px;
}
.pay-acct-row span { color: #7a8799; flex: none; }
.pay-acct-row b { flex: 1; color: #1f2a44; word-break: break-all; }
.pay-copy-s {
  padding: 6px 14px; border: none; border-radius: 18px;
  background: #eaf1ff; color: #176bff; font-size: 12px; font-weight: 700; cursor: pointer;
}
.pay-qr-wrap { text-align: center; padding-top: 12px; }
.pay-save-qr { margin: 10px auto 0; display: block; width: 100%; }
/* 后5位输入（Q2B2 用 5 位；5 格等分自适应单行，格子调小 + max-width 居中，确保窄屏也不换行） */
.pay-last4 { margin-top: 12px; padding: 14px 16px; border-radius: 14px; background: #fff; border: 1px solid #e7edf8; }
.pay-last4-title { margin: 0 0 10px; font-size: 14px; font-weight: 700; color: #1f2a44; }
.pay-last4-boxes { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; justify-content: center; max-width: 230px; margin: 0 auto; }
.pay-last4-boxes input {
  width: 100%; height: 40px; padding: 0; box-sizing: border-box; border: 1px solid #c8d7ee; border-radius: 10px;
  text-align: center; font-size: 17px; font-weight: 800; color: #1f2a44; outline: none;
}
.pay-last4-boxes input:focus { border-color: #2f7cff; box-shadow: 0 0 0 3px rgba(47, 124, 255, 0.15); }
.pay-last4-note { margin: 10px 0 0; font-size: 12px; color: #7a8799; text-align: center; }
/* 温馨提示（N9：琥珀标题） */
.pay-tips { margin-top: 12px; }
.pay-tips h4 { margin: 0 0 6px; color: #a85b00; font-size: 16px; font-weight: 900; }
.pay-tips p { margin: 0 0 6px; font-size: 12px; line-height: 1.6; color: #a0722b; }
/* 我已完成支付：渐变蓝 高52 圆角15 */
.pay-done {
  width: 100%; margin-top: 14px; min-height: 52px; border: none; border-radius: 15px;
  background: linear-gradient(180deg, #3b86ff, #176bff);
  color: #fff; font-size: 16px; font-weight: 700; cursor: pointer;
  box-shadow: rgba(47, 123, 255, 0.22) 0 10px 22px;
}
/* 确认弹窗（N9：蓝标题24 + 双按钮） */
.pay-confirm h3 { color: #2563eb; font-size: 24px; font-weight: 700; }
.pay-confirm p { color: #64748b; font-size: 16px; }
.pay-confirm-back {
  min-height: 42px; border: 1px solid #dbe3ef; border-radius: 10px;
  background: #fff; color: #334155; font-size: 15px; font-weight: 600; cursor: pointer;
}
.pay-confirm-ok {
  min-height: 42px; border: none; border-radius: 10px;
  background: linear-gradient(180deg, #2563eb, #1d4ed8);
  color: #fff; font-size: 15px; font-weight: 700; cursor: pointer;
}
/* 存款详情页补充 */
.dep-list .dep-bonus { color: #f59e0b; }
.dep-list .dep-total { color: #f59e0b; font-weight: 800; }
.dep-bonus-note { margin-top: 12px; font-size: 13px; color: #f59e0b; font-weight: 700; }

/* ---------- 优惠页：返水/待领取对齐 N9 ---------- */
.rebate-today-bar {
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px; border-radius: 12px; margin-bottom: 8px;
  background: linear-gradient(135deg, #0e3b8f, #1d5fe0);
  box-shadow: 0 8px 20px rgba(14, 59, 143, 0.25);
}
.rebate-today-bar span { color: #fff; font-size: 14px; }
.rebate-today-bar strong { flex: 1; color: #f59e0b; font-size: 15px; font-weight: 950; }
.rebate-claim-btn {
  padding: 0 16px; min-height: 34px; border: none; border-radius: 10px;
  background: linear-gradient(135deg, #2563eb, #1d4ed8);
  color: #fff; font-size: 12px; font-weight: 700; cursor: pointer;
}
.rebate-claim-btn:disabled { background: rgba(255, 255, 255, 0.25); color: rgba(255, 255, 255, 0.6); }
.rebate-note { margin: 0 2px 10px; font-size: 12px; color: #7a8799; }
/* ============ 待领取标签浅色重设计（去掉黑金深色底，与用户端蓝白灰统一） ============ */
/* 汇总卡：浅蓝渐变白卡（盖掉 .promo-card 的深色底） */
.promo-pending-summary {
  display: block !important;
  padding: 22px 16px !important;
  border: 1px solid #e7edf8 !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #eef5ff 0%, #ffffff 72%) !important;
  box-shadow: 0 8px 22px rgba(15, 35, 80, 0.06) !important;
  text-align: center !important;
}
.promo-pending-summary .pending-today { font-size: 15px; color: #6b7890; font-weight: 700; }
.promo-pending-summary .pending-today strong { display: inline; margin: 0 0 0 6px; color: #176bff; font-size: 26px; font-weight: 900; }
/* 压掉 .promo-card:hover 的黑金描边/金光 */
.promo-pending-summary:hover { border-color: #d9e6ff !important; box-shadow: 0 8px 22px rgba(15, 35, 80, 0.06) !important; }
/* 全部一键领取：蓝色渐变大按钮 */
.pending-claim-pill {
  width: 100%; min-height: 46px; margin-top: 14px;
  border: none; border-radius: 12px;
  background: linear-gradient(135deg, #3b86ff, #176bff);
  color: #fff; font-size: 15px; font-weight: 800; cursor: pointer;
  box-shadow: 0 6px 16px rgba(23, 107, 255, 0.28);
}
.pending-claim-pill:disabled { background: #e5e9f1; color: #9aa7bc; box-shadow: none; }
/* 待领奖励行（待领返水 / VIP 等级奖励）：白底圆角卡片 */
.promo-record-row.promo-pending-row {
  background: #ffffff !important;
  border: 1px solid #e7edf8 !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 12px rgba(15, 35, 80, 0.04) !important;
}
.promo-pending-row small { color: #7a8799 !important; }
.promo-pending-row strong { color: #1f2a44 !important; font-size: 16px; font-weight: 850; }
.promo-pending-row .promo-card-icon {
  background: #eef5ff !important;
  border: 1px solid #d9e6ff !important;
}
.promo-empty-n9 { padding: 40px 16px; text-align: center; }
.promo-empty-n9 b { display: block; font-size: 15px; color: #1f2a44; margin-bottom: 6px; }
.promo-empty-n9 span { font-size: 13px; color: #7a8799; }
#homeView .ad-carousel .ad-carousel-viewport .ad-slide img.ad-image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important; /* 框比例由 JS 按图片真实比例计算，cover 即完整铺满不裁剪 */
}

/* ============ 收款账户 Logo 图片（管理端配置，用户端显示） ============ */
/* 方式卡/渠道卡图标位：配了图就用图（白底 contain 不裁剪），没配图保留 emoji 渐变底 */
.modal.light-recharge .rm-icon-img {
  background: #ffffff !important;
  border: 1px solid #eef2f9;
  padding: 4px;
  overflow: hidden;
}
.modal.light-recharge .rm-icon-img img {
  width: 100%; height: 100%;
  object-fit: contain; display: block;
}
/* 支付渠道（N9 二级）：账户渠道卡 2 列网格 */
.modal.light-recharge .recharge-acct-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 10px;
}
.modal.light-recharge .recharge-acct-card {
  position: relative;
  display: flex; align-items: center; gap: 8px;
  min-height: 64px; padding: 10px;
  background: #fff; border: 1px solid #dce5f5; border-radius: 14px;
  color: #1f2a44; text-align: left; cursor: pointer;
  box-shadow: 0 4px 14px rgba(15, 35, 80, 0.05);
  transition: border-color .15s, box-shadow .15s;
}
.modal.light-recharge .recharge-acct-card .rm-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; border-radius: 12px; font-size: 22px; flex: none;
}
.modal.light-recharge .recharge-acct-card .ra-info {
  flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px;
}
.modal.light-recharge .recharge-acct-card .ra-info strong {
  font-size: 13px; font-weight: 800; color: #1f2a44;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.modal.light-recharge .recharge-acct-card .ra-info small {
  font-size: 11px; color: #8a97ab;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.modal.light-recharge .recharge-acct-card .rm-bonus {
  flex: none; font-style: normal; font-size: 11px; font-weight: 800; color: #ff4d4f;
}
/* 渠道卡选中态（N9 红边） */
.modal.light-recharge .recharge-acct-card.active {
  border: 2px solid #ff4d4f;
  background: linear-gradient(180deg, #ffffff, #fff7f7);
  box-shadow: 0 8px 20px rgba(255, 77, 79, 0.12);
}
/* 付款页收款信息卡顶部 Logo */
.pay-acct-logo {
  display: block; height: 44px; width: auto;
  margin: 0 0 8px; border-radius: 10px;
}

/* 充值/取款弹窗顶栏：左上返回键（大号，同客服页箭头）+ 充值/取款切换（同弹窗内切换，参考子平台） */
.modal.light-recharge .dialog > .close,
.modal.light-withdraw .dialog > .close { display: none !important; } /* 右上角关闭键已取消，改用左上返回 */
.modal.light-recharge .dialog > h2:empty,
.modal.light-withdraw .dialog > h2:empty { display: none; }
/* 顶栏样式已移至文件末尾唯一顶栏块（旧块已删除，避免多套规则打架） */

/* ============ 充值页排列对齐 N9：方式卡 2×2 紧凑竖向卡 + 顶部单选点（强化修复版） ============ */
/* 方式卡：2×2 网格，紧凑小卡（小 Logo → 标题 → 赠送红字） */
.modal.light-recharge .recharge-method-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.modal.light-recharge .recharge-method-card {
  display: grid; justify-items: center; gap: 2px;
  min-height: 82px; padding: 13px 8px 8px;
  text-align: center; overflow: visible;
  background: #ffffff; border: 1px solid #e7edf8; border-radius: 10px;
}
.modal.light-recharge .recharge-method-card.active {
  border: 2px solid #ff4d4f;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(255, 77, 79, 0.12);
}
.modal.light-recharge .recharge-method-card .rm-icon {
  width: 34px; height: 34px; border-radius: 9px; font-size: 17px;
}
.modal.light-recharge .recharge-method-card .rm-icon-img { padding: 3px; }
.modal.light-recharge .recharge-method-card strong {
  max-width: 100%; font-size: 13px; font-weight: 800; color: #1f2a44;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; line-height: 1.2;
}
/* 修复：styles.css 旧规则把卡内 em 锁成 16×16 绝对定位小方块，
   导致“赠送 +2%”竖排溢出卡片，这里强制还原为正常流内文字 */
.modal.light-recharge .recharge-method-card em.rm-bonus,
.modal.light-recharge .recharge-method-card.active em.rm-bonus {
  position: static !important; right: auto; bottom: auto;
  width: auto !important; height: auto !important;
  border: none !important; background: none !important; border-radius: 0;
  font-size: 11px; font-weight: 800; color: #ff4d4f;
  white-space: nowrap; line-height: 1.2;
}
.modal.light-recharge .recharge-method-card em.rm-check { display: none !important; }
/* 单选圆点：卡顶左边框上（N9 同款）；选中＝红色实心 */
.modal.light-recharge .recharge-method-card em.rm-radio {
  position: absolute !important; top: -8px !important; left: 10px !important;
  width: 16px !important; height: 16px !important;
  border: 2px solid #c9d4e6 !important; border-radius: 50%;
  background: #fff !important;
}
.modal.light-recharge .recharge-method-card.active em.rm-radio {
  display: none !important; /* 选中卡已有红边框，不再显示红色圆点 */
}
/* 推荐标签：紧贴单选点右侧（N9 同款） */
.modal.light-recharge .recharge-recommend {
  top: -9px; left: 32px; right: auto; z-index: 1;
}
.modal.light-recharge .recharge-acct-card {
  min-height: 62px; padding: 12px 14px;
  background: #f7f9fc; border-color: #e7edf8;
}
.modal.light-recharge .recharge-acct-card .ra-info strong { font-size: 15px; }
.modal.light-recharge .recharge-acct-card .rm-bonus { font-size: 13px; }
/* 快捷金额：一行 4 个（N9 同款 4×2），数字加大、赠送改灰色（N9 同款） */
.modal.light-recharge .recharge-quick-amounts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.modal.light-recharge .recharge-quick-amount {
  min-height: 58px; padding: 8px 2px;
}
.modal.light-recharge .recharge-quick-amount strong {
  font-size: 15px; color: #1f2a44; white-space: nowrap;
}
.modal.light-recharge .recharge-quick-amount.active strong { color: #2f7cff; }
.modal.light-recharge .recharge-quick-amount .rq-bonus {
  font-size: 12px; color: #8a97ab; white-space: nowrap; line-height: 1.1;
}
.modal.light-recharge .recharge-quick-amount.active .rq-bonus { color: #5f7bab; }
/* 尾数输入后的确认提交按钮（N9 同款） */
.pay-last4-submit {
  width: 100%; margin-top: 12px; min-height: 46px;
  border: none; border-radius: 12px;
  background: linear-gradient(180deg, #3b86ff, #176bff);
  color: #fff; font-size: 15px; font-weight: 700; cursor: pointer;
  box-shadow: rgba(47, 123, 255, 0.22) 0 8px 18px;
}
.pay-last4-submit:disabled {
  background: #d8dee8; color: #93a0b8; box-shadow: none; cursor: not-allowed;
}

/* ============ 提交后 60 秒自动审核弹窗 ============ */
.dep-review {
  padding: 26px 18px 22px; text-align: center;
  display: grid; justify-items: center; gap: 8px;
}
.dep-review > b { font-size: 19px; color: #1f2a44; }
.dep-review > span { font-size: 13px; color: #7a8799; line-height: 1.6; max-width: 320px; }
/* 转圈动画 */
.dep-review-spin {
  width: 54px; height: 54px; border-radius: 50%;
  border: 4px solid #e3ecfb; border-top-color: #2f7cff;
  animation: depReviewSpin 1s linear infinite;
}
@keyframes depReviewSpin { to { transform: rotate(360deg); } }
/* 倒计时 */
.dep-review-time { display: flex; align-items: baseline; gap: 3px; margin: 2px 0 4px; }
.dep-review-time strong { font-size: 34px; font-weight: 950; color: #2f7cff; line-height: 1; }
.dep-review-time em { font-style: normal; font-size: 13px; color: #7a8799; }
/* 状态图标 */
.dep-review-icon {
  width: 60px; height: 60px; border-radius: 50%;
  display: grid; place-items: center; font-style: normal;
  font-size: 30px; font-weight: 900; color: #fff;
}
.dep-review-icon.ok { background: linear-gradient(135deg, #34d399, #10b981); box-shadow: 0 10px 24px rgba(16, 185, 129, 0.3); }
.dep-review-icon.warn { background: linear-gradient(135deg, #fbbf24, #f59e0b); box-shadow: 0 10px 24px rgba(245, 158, 11, 0.3); }
/* 信息列表 */
.dep-review-list {
  width: 100%; margin: 8px 0 4px; padding: 12px 14px;
  border: 1px solid #e7edf8; border-radius: 14px; background: #f8faff;
  display: grid; gap: 8px;
}
.dep-review-list div { display: flex; justify-content: space-between; gap: 10px; font-size: 13px; }
.dep-review-list dt { color: #7a8799; }
.dep-review-list dd { color: #1f2a44; font-weight: 750; }
.dep-review-list .dep-bonus { color: #f59e0b; }
.dep-review-list .dep-total { color: #18a874; font-weight: 900; }
/* 按钮组 */
.dep-review-actions {
  width: 100%; display: grid; grid-template-columns: 1.2fr 1fr; gap: 10px; margin-top: 8px;
}
.dep-review-recheck {
  min-height: 46px; border: none; border-radius: 12px;
  background: linear-gradient(180deg, #3b86ff, #176bff);
  color: #fff; font-size: 15px; font-weight: 700; cursor: pointer;
  box-shadow: rgba(47, 123, 255, 0.22) 0 8px 18px;
}
.dep-review-support {
  min-height: 46px; border: 1px solid #2f7cff; border-radius: 12px;
  background: #fff; color: #2f7cff; font-size: 15px; font-weight: 700; cursor: pointer;
}
.dep-review-later {
  margin-top: 4px; border: none; background: none;
  color: #7a8799; font-size: 13px; cursor: pointer; text-decoration: underline;
}
.dep-review .dep-review-recheck[data-review-ok] { width: 100%; margin-top: 8px; }

/* 充值弹窗内容适配整个弹窗（铺满宽度、底部给固定按钮留空间） */
.modal.light-recharge { padding: 10px; }
.modal.light-recharge .dialog {
  width: min(560px, 100%);
  max-height: 94vh;
  overflow-y: auto;
  padding: 18px 14px 14px;
}
.modal.light-recharge .dialog h2:empty,
.modal.light-withdraw .dialog h2:empty { display: none; }
.modal.light-recharge .recharge-dialog-card { width: 100%; padding-bottom: 66px; }
.modal.light-recharge .recharge-section { margin-bottom: 16px; width: 100%; }
/* 取款弹窗：内容铺满弹窗宽度（与充值弹窗一致） */
.modal.light-withdraw .dialog { padding: 18px 14px 14px; }
.modal.light-withdraw .withdraw-tabs-dlg,
.modal.light-withdraw [data-wd-panel] { width: 100%; }
.modal.light-recharge .recharge-method-grid,
.modal.light-recharge .recharge-acct-grid,
.modal.light-recharge .recharge-quick-amounts { width: 100%; }

/* ============ 充值/取款弹窗整体适配（修复黑条 + 去红 + 切换加大） ============ */
/* ① 弹窗式：悬浮在应用之上的弹窗卡片，固定尺寸 + 贴顶（全部 !important 反压，确保生效） */
.modal.light-recharge,
.modal.light-withdraw {
  padding: 12px !important;
  display: grid !important;
  align-items: start !important;   /* 贴顶：消除顶部黑条 */
  justify-items: center !important;
  background: rgba(15, 23, 42, 0.6) !important;
}
.modal.light-recharge .dialog,
.modal.light-withdraw .dialog {
  width: min(560px, 100%) !important;
  height: calc(100vh - 24px) !important;
  height: calc(100dvh - 24px) !important; /* 固定高度：充值/取款/密码弹窗大小完全一致 */
  max-height: none !important;
  overflow-y: auto !important;
  border: 1px solid #e7edf8 !important;
  border-radius: 18px !important;
  background: #f4f7fc !important;
  box-shadow: 0 24px 60px rgba(15, 35, 80, 0.25) !important;
  padding: 16px 14px 14px !important;
}

/* ② 去红：选中卡片改为蓝色系（与金额按钮/下一步按钮统一） */
.modal.light-recharge .recharge-method-card.active {
  border: 2px solid #2f7cff !important;
  background: #f0f6ff !important;
  box-shadow: 0 6px 16px rgba(47, 124, 255, 0.14) !important;
}
/* 推荐标签：改柔和金底深金字（不再用橙红渐变） */
.modal.light-recharge .recharge-recommend {
  background: #fff4d8 !important;
  color: #d99a00 !important;
  font-size: 10px;
  padding: 2px 8px;
  box-shadow: 0 2px 6px rgba(217, 154, 0, 0.15);
}

/* ============ 取款页内容居中适配 + 提现密码弹窗 ============ */
/* 取款内容居中铺满（移动端全屏，桌面限宽居中） */
.modal.light-withdraw .withdraw-tabs-dlg,
.modal.light-withdraw [data-wd-panel] {
  width: 100%;
  max-width: 560px;
  margin-left: auto; margin-right: auto;
}
/* 申请提现面板：内部卡片水平居中 */
.modal.light-withdraw [data-wd-panel="apply"] .withdraw-dialog-card {
  width: 100% !important;
  max-width: 480px !important;
  margin-left: auto !important; margin-right: auto !important;
}
/* 提现密码弹窗（设置/输入共用） */
.wd-pwd-dlg {
  max-width: 560px; margin: 6vh auto 0;
  padding: 22px 18px;
  background: #ffffff; border: 1px solid #e7edf8; border-radius: 16px;
  text-align: center;
  box-shadow: 0 8px 24px rgba(15, 35, 80, 0.06);
}
.wd-pwd-dlg h3 { margin: 0 0 6px; font-size: 18px; font-weight: 850; color: #1f2a44; }
.wd-pwd-dlg .wd-pwd-tip { margin: 0 0 16px; font-size: 13px; color: #7a8799; line-height: 1.5; }
.wd-pwd-dlg .wd-pwd-tip b { color: #176bff; font-size: 15px; }
.wd-pwd-field { display: block; text-align: left; margin-bottom: 12px; }
.wd-pwd-field span { display: block; font-size: 13px; color: #6b7890; margin-bottom: 6px; }
.wd-pwd-field input {
  width: 100%; min-height: 46px; padding: 0 14px;
  border: 1px solid #d4d9e1; border-radius: 12px;
  font-size: 15px; color: #1f2a44; background: #fff; outline: none;
}
.wd-pwd-field input:focus { border-color: #2f7cff; box-shadow: 0 0 0 3px rgba(47, 124, 255, 0.12); }
.wd-pwd-dlg .withdraw-password-grid { margin: 4px auto 12px; }
.wd-pwd-actions { display: flex; gap: 10px; margin-top: 14px; }
.wd-pwd-cancel {
  flex: 1; min-height: 44px;
  border: 1px solid #dce5f5; border-radius: 12px;
  background: #fff; color: #6b7890; font-size: 15px; font-weight: 700; cursor: pointer;
}
.wd-pwd-ok {
  flex: 1.4; min-height: 44px;
  border: none; border-radius: 12px;
  background: linear-gradient(180deg, #3b86ff, #176bff);
  color: #fff; font-size: 15px; font-weight: 750; cursor: pointer;
  box-shadow: 0 6px 16px rgba(47, 124, 255, 0.25);
}
.wd-pwd-ok:disabled { background: #d8dee8; color: #93a0b8; box-shadow: none; }

/* ============ 充值/取款弹窗顶栏（删除全部旧块后重写的唯一定义，!important 反压） ============ */
/* 结构：顶栏吸顶钉死（内容滚动/切换存款取款/密码窗位置都不变），
   返回键绝对定位左上角，切换按键水平垂直居中，横条无任何底色 */
.recharge-topbar {
  position: sticky !important;   /* 吸顶：弹窗内滚动时顶栏永远钉在顶部 */
  top: 0 !important;
  z-index: 6 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  min-height: 44px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  background: #f4f7fc !important; /* 与弹窗底色同色：视觉上无横条，滚动时遮住下方内容 */
  border: none !important;
}
.recharge-back {
  position: absolute !important;
  left: 0 !important; top: 50% !important;
  transform: translateY(-50%) !important;
  width: 42px !important; height: 42px !important;
  display: grid !important; place-items: center !important;
  border: 1px solid #e2e9f4 !important; border-radius: 12px !important;
  background: #ffffff !important;
  color: #6b7890 !important;
  cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(15, 35, 80, 0.06) !important;
  padding: 0 !important;
}
.recharge-back:active { transform: translateY(-50%) scale(0.94) !important; }
.recharge-back svg { width: 24px !important; height: 24px !important; stroke: #6b7890 !important; }
.recharge-tabs {
  display: flex !important;
  gap: 6px !important;
  margin: 0 !important; padding: 0 !important;
  background: transparent !important; /* 无底色 */
  border: none !important;
}
.recharge-tabs button {
  flex: none !important;
  min-width: 96px !important;   /* 固定宽度：充值/取款两个键尺寸完全一致，切换时位置钉死 */
  min-height: 36px !important;
  padding: 0 !important;
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  border: none !important; border-radius: 10px !important;
  background: transparent !important;
  color: #7a8799 !important;
  font-size: 15px !important; font-weight: 750 !important;
  cursor: pointer !important;
}
.recharge-tabs button.active {
  background: #ffffff !important;
  color: #176bff !important;
  box-shadow: 0 2px 8px rgba(15, 35, 80, 0.12) !important;
}
.recharge-tabs .rt-ic { font-style: normal; font-weight: 900; margin-right: 3px; color: inherit; }

/* ============ APP 模式：钱包弹窗嵌入内容区（顶部应用栏/底部导航栏保持可见，更像原生 APP） ============ */
/* 位置由 app.js applyWalletEmbed() 实测两栏高度写入 --n9-embed-top/--n9-embed-bottom */
html[data-n9-android-app="true"] .modal.light-recharge,
html[data-n9-android-app="true"] .modal.light-withdraw {
  top: var(--n9-embed-top, 0px) !important;
  bottom: var(--n9-embed-bottom, 0px) !important;
  left: 0 !important;
  right: 0 !important;
  padding: 0 !important;
  background: rgba(15, 23, 42, 0.12) !important; /* 薄遮罩：不再盖住应用栏 */
  backdrop-filter: none !important;
}
html[data-n9-android-app="true"] .modal.light-recharge .dialog,
html[data-n9-android-app="true"] .modal.light-withdraw .dialog {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* ============ 付款页 USDT 换算显示（汇率来自管理端 usdtRate，与子平台同款） ============ */
.pay-usdt-eq {
  margin: 6px 0 2px;
  font-size: 16px; font-weight: 850;
  color: #0a8f5b;
}
.pay-usdt-rate { color: #0a8f5b; }

/* ====================================
   邮箱验证码行（注册/登录/找回密码/安全中心共用）
   ==================================== */
body .modal .auth-code-wrap {
  display: flex;
  align-items: stretch;
  gap: 8px;
  width: 100%;
}
body .modal .auth-code-wrap .auth-input-wrap {
  flex: 1 1 auto;
  min-width: 0;
  display: block;
}
body .modal .auth-code-btn {
  flex: 0 0 auto;
  min-height: 48px;
  padding: 0 14px;
  border: none;
  border-radius: 12px;
  background: linear-gradient(135deg, #176bff 0%, #4f9bff 100%);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(23, 107, 255, 0.25);
}
body .modal .auth-code-btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  box-shadow: none;
}
body .modal .auth-code-btn:not(:disabled):active { transform: scale(0.97); }
/* 登录弹窗顶部双 Tab：密码登录 / 验证码登录（分段控件样式） */
body .modal.auth-mode .auth-shell .auth-subtabs {
  display: flex;
  gap: 4px;
  background: #eef2f9;
  border-radius: 12px;
  padding: 4px;
}
body .modal.auth-mode .auth-shell .auth-subtabs button {
  flex: 1;
  border: none;
  background: transparent;
  padding: 9px 0;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 600;
  color: #5b657a;
  cursor: pointer;
  transition: all 0.2s ease;
}
body .modal.auth-mode .auth-shell .auth-subtabs button.active {
  background: #fff;
  color: #176bff;
  box-shadow: 0 2px 8px rgba(23, 107, 255, 0.15);
}
body .modal.auth-mode .auth-shell .auth-login-mode { display: block; }
/* 安全中心表单内的错误提示（复用 .auth-error） */
body .modal .security-form .auth-error {
  color: #d93025;
  font-size: 13px;
  margin: 4px 0 0;
}

/* ====================================
   注册手机号 +95 前缀（账号框内左侧徽标，切邮箱注册时隐藏）
   ==================================== */
body .modal.auth-mode .auth-shell .auth-phone-prefix {
  position: absolute;
  left: 40px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
  font-weight: 600;
  color: #44506b;
  pointer-events: none;
  z-index: 2;
}
body .modal.auth-mode .auth-shell .auth-phone-prefix::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 14px;
  background: #c9d4e6;
  margin-left: 6px;
  vertical-align: -2px;
}
/* 带前缀时输入框文字避让：图标22 + 前缀~34 → 84px（权重需压过基础避让规则 50px） */
body .modal.auth-mode .auth-shell .auth-input-wrap.has-prefix input:not([type="checkbox"]) {
  padding-left: 84px !important;
}

/* 弹窗提示行内的可点击客服入口（忘记密码面板兑底）：蓝色链接样式 */
body .modal .auth-note .auth-note-link {
  color: #176bff;
  font-weight: 700;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
body .modal .auth-note .auth-note-link:active {
  opacity: 0.7;
}

/* ============ 全站隐藏所有滚动条（垂直 + 横向），保留滚动功能，APP 化美观体验 ============ */
/* 用 * 通配 + !important 覆盖各容器局部规则（含 styles.css 里 .games-grid / .ad-carousel-viewport / .level-table-wrapper 等显式显示的滚动条） */
* {
  scrollbar-width: none !important;    /* Firefox */
  -ms-overflow-style: none !important; /* IE / 旧 Edge */
}
*::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;            /* Chrome / Safari / 新 Edge */
}
*::-webkit-scrollbar-track,
*::-webkit-scrollbar-thumb,
*::-webkit-scrollbar-corner {
  display: none !important;
  background: transparent !important;
}

/* ==========================================================
   操作反馈修复：提示条被全屏遮罩盖住 + 复制链接按钮无按压态
   ========================================================== */

/* 缺陷1：提示条层级过低，被全屏遮罩整片盖住
   .profile-toast 原为 z-index:40（styles.css L1573），低于所有业务全屏层：
   充值/提现 50、邀请规则/代理成长 80、代理中心/投注记录/电子爆奖 120、客服 1200。
   toast() 把它 append 到 document.body，于是这些界面里的操作反馈
   （复制链接成功、领取佣金、提交结果）全被不透明遮罩压住，
   用户看到的是“点了没反应”，而功能其实已成功执行。
   pointer-events:none 保证抬到最上层后也不会挡住底部导航等元素的点击。
   特异度 body .profile-toast (0,1,1) > .profile-toast (0,1,0)，且本文件后加载。 */
body .profile-toast {
  z-index: 2000;
  pointer-events: none;
}

/* 缺陷2：复制链接按钮没有任何按压反馈
   .invite-copy-btn（本文件 L1066）只有静态外观，无 transition / :active，
   而同页的 .ac-copy-text（L1352 + L1368）有完整按压态 —— 同一页面两种手感。
   代理中心首页 Tab 的复制按钮（live-app.js L5676）不带 class，
   故用 [data-ac-copy-link] 属性选择器一并覆盖，两个 Tab 手感统一。 */
.invite-copy-btn,
.agent-center-overlay [data-ac-copy-link] {
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}
.invite-copy-btn:active,
.agent-center-overlay [data-ac-copy-link]:active {
  transform: translateY(1px) scale(0.97);
  filter: brightness(0.94);
}
