/* ========== 支付大脑 PayBrain · 共享样式（浅色版） ========== */
* { margin:0; padding:0; box-sizing:border-box; }
:root {
  /* 浅色底色 */
  --bg:#f5f7fa;
  --panel:#ffffff;
  --panel2:#f8f9fb;
  --line:#e6e9ef;
  --line2:#d7dbe4;
  --blue:#165dff;
  --cyan:#0eb3ff;
  --green:#00b42a;
  --gold:#ff7d00;
  --red:#f53f3f;
  --purple:#722ed1;
  --orange:#ff7d00;
  --text:#1d2129;
  --muted:#4e5969;
  --dim:#86909c;
  --mono:"SF Mono", Menlo, Consolas, monospace;
  /* ---------- 全局字号标准（全站统一，禁止使用标准外的字号） ---------- */
  --fs-display:34px; --fs-price:24px; --fs-h1:20px; --fs-h2:16px;
  --fs-h3:14px; --fs-num:20px; --fs-body:13px; --fs-sm:12px;
  --fs-xs:11px; --fs-2xs:10px;
}
body {
  font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  font-size:var(--fs-body);
  background:var(--bg); color:var(--text); min-height:100vh;
}
a { color:var(--blue); text-decoration:none; }
.mono { font-family:var(--mono); }

/* ---------- 顶部系统栏 ---------- */
.pb-header {
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,0.96); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  padding:0 22px; height:58px;
  display:flex; align-items:center; gap:16px;
}
.pb-logo {
  display:flex; align-items:center; gap:9px; cursor:pointer; flex-shrink:0;
}
.pb-logo-ball {
  width:30px; height:30px; border-radius:8px;
  background:var(--blue); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-size:13px; font-weight:900;
}
.pb-logo-name { font-size:15px; font-weight:800; letter-spacing:1px; color:var(--text); }
.pb-logo-name small { display:block; font-size:10px; color:var(--dim); letter-spacing:1px; font-weight:500; }
.pb-sys { padding-left:16px; border-left:1px solid var(--line); flex-shrink:0; }
.pb-sys h1 { font-size:15px; font-weight:700; color:var(--text); letter-spacing:0.5px; }
.pb-sys p { font-size:11px; color:var(--dim); margin-top:1px; letter-spacing:0.5px; }
.pb-nav { display:flex; gap:1px; margin-left:auto; align-items:center; flex-wrap:nowrap; }
.pb-nav > a {
  font-size:13px; color:var(--muted); padding:6px 9px; border-radius:8px;
  letter-spacing:0.3px; white-space:nowrap; transition:all .15s;
}
.pb-nav > a:hover { color:var(--text); background:#f2f3f5; }
.pb-nav > a.on { color:var(--blue); background:#e8f3ff; border:1px solid rgba(22,93,255,0.18); }
/* 一级下拉分组 */
.pb-nav-group { position:relative; display:flex; align-items:center; }
.pb-nav-item {
  display:inline-flex; align-items:center; gap:3px; cursor:default;
  font-size:13px; color:var(--muted); padding:6px 9px; border-radius:8px;
  letter-spacing:0.3px; white-space:nowrap; transition:all .15s;
}
.pb-nav-item svg { width:10px; height:10px; flex-shrink:0; opacity:0.6; }
.pb-nav-group:hover .pb-nav-item,
.pb-nav-group:focus-within .pb-nav-item { color:var(--text); background:#f2f3f5; }
.pb-nav-group:hover .pb-nav-item.on,
.pb-nav-group:focus-within .pb-nav-item.on { color:var(--blue); background:#e8f3ff; border:1px solid rgba(22,93,255,0.18); }
.pb-nav-item.on { color:var(--blue); background:#e8f3ff; border:1px solid rgba(22,93,255,0.18); }
/* 二级下拉面板 */
.pb-nav-sub {
  position:absolute; top:100%; left:50%; transform:translateX(-50%);
  padding-top:8px; display:none; z-index:120;
}
.pb-nav-group:hover .pb-nav-sub,
.pb-nav-group:focus-within .pb-nav-sub { display:block; }
.pb-nav-sub-in {
  background:#fff; border:1px solid var(--line2); border-radius:10px;
  padding:6px; min-width:132px; display:flex; flex-direction:column; gap:1px;
}
.pb-nav-sub-in a {
  display:flex; align-items:center; justify-content:space-between; gap:8px;
  font-size:12px; color:var(--muted); padding:7px 12px;
  border-radius:6px; white-space:nowrap; letter-spacing:0.3px; transition:all .12s;
}
.pb-nav-sub-in a:hover { color:var(--text); background:#f2f3f5; }
.pb-nav-sub-in a.on { color:var(--blue); background:#e8f3ff; font-weight:700; }
.pb-nav-sub-in a.lock { cursor:default; opacity:0.85; }
.pb-nav-sub-in a.soon { cursor:default; }
.pb-nav-sub-in a .nav-lock {
  display:inline-flex; align-items:center; gap:3px; flex-shrink:0;
  font-size:10px; padding:1px 5px; border-radius:4px; border:1px solid; white-space:nowrap;
}
.pb-nav-sub-in a .nav-lock svg { width:9px; height:9px; }
.pb-nav-sub-in a .role-lock { color:#86909c; border-color:rgba(134,144,156,0.35); background:rgba(134,144,156,0.08); }
.pb-nav-sub-in a .role-lock.role-basic { color:#0eb3ff; border-color:rgba(14,179,255,0.35); background:rgba(14,179,255,0.08); }
.pb-nav-sub-in a .role-lock.role-pro { color:#722ed1; border-color:rgba(114,46,209,0.35); background:rgba(114,46,209,0.08); }
.pb-nav-sub-in a .role-lock.role-offline { color:#0e8c8c; border-color:rgba(14,140,140,0.35); background:rgba(14,140,140,0.08); }
.pb-nav-sub-in a .role-lock.role-mentor { color:#c41d7f; border-color:rgba(196,29,127,0.35); background:rgba(196,29,127,0.08); }
.pb-nav-sub-in a .soon-wait { color:#ff7d00; border-color:rgba(255,125,0,0.35); background:rgba(255,125,0,0.08); }
.pb-nav-empty {
  font-size:11px; color:var(--dim); line-height:1.8;
  padding:8px 14px; text-align:center; min-width:150px;
}
.pb-nav-empty b { color:var(--muted); }
.pb-nav-sub-in.wide {
  display: grid;
  grid-template-columns: repeat(2, minmax(170px, 1fr));
  gap: 1px 8px;
  min-width: 360px;
  padding: 8px;
}
@media (max-width: 900px) {
  .pb-nav-sub-in.wide { grid-template-columns: 1fr; min-width: 200px; }
}
@media (max-width:1320px){ .pb-sys { display:none; } }
.pb-reset {
  font-size:11px; color:var(--dim); border:1px solid var(--line); border-radius:999px;
  padding:5px 13px; cursor:pointer; background:#fff; letter-spacing:1px; flex-shrink:0;
}
.pb-reset:hover { color:var(--red); border-color:rgba(245,63,63,0.35); background:#fff2f0; }
.pb-role-bar { display:flex; align-items:center; gap:10px; flex-shrink:0; }
.pb-role-tag { display:inline-flex; align-items:center; gap:4px; }
.pb-role-tag::before { content:""; width:6px; height:6px; border-radius:50%; background:currentColor; }
.pb-role-expire { font-size:10px; color:var(--dim); letter-spacing:0.5px; white-space:nowrap; }
.pb-user-name { display:inline-flex; align-items:center; gap:4px; font-size:12px; font-weight:800; color:var(--blue); margin-right:6px; }
.pb-user-name::before { content:""; width:14px; height:14px; border-radius:50%; background:rgba(22,93,255,0.12); border:1px solid rgba(22,93,255,0.4); }

/* ---------- 弹窗 ---------- */
.pb-modal-mask {
  position:fixed; inset:0; z-index:999;
  background:rgba(29,33,41,0.45); backdrop-filter:blur(3px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transition:opacity .2s;
}
.pb-modal-mask.show { opacity:1; }
.pb-modal-card {
  position:relative; width:min(520px, calc(100% - 40px));
  background:#fff;
  border:1px solid var(--line2); border-radius:14px;
  padding:30px 30px 24px;
  transform:translateY(14px); transition:transform .2s;
  box-shadow:0 12px 40px rgba(29,33,41,0.12);
}
.pb-modal-mask.show .pb-modal-card { transform:translateY(0); }
.pb-modal-close {
  position:absolute; top:10px; right:12px;
  width:28px; height:28px; border-radius:50%; border:none;
  background:#f2f3f5; color:var(--dim);
  font-size:16px; line-height:28px; cursor:pointer;
}
.pb-modal-close:hover { background:#ffece8; color:var(--red); }
.pb-modal-icon {
  width:48px; height:48px; margin:0 auto 12px; border-radius:12px;
  border:1px solid #e8f3ff; background:#f7f8fa;
  display:flex; align-items:center; justify-content:center;
}
.pb-modal-icon svg { width:22px; height:22px; color:var(--blue); display:block; }
.pb-modal-icon.gold { border-color:#fff7e8; background:#fff7e8; }
.pb-modal-icon.gold svg { color:var(--gold); }
.pb-modal-icon.red { border-color:#ffece8; background:#fff2f0; }
.pb-modal-icon.red svg { color:var(--red); }
.pb-modal-card h3 { font-size:18px; font-weight:800; color:var(--text); text-align:center; letter-spacing:0.5px; margin-bottom:12px; }
.pb-modal-desc { font-size:13px; color:var(--muted); line-height:1.8; text-align:center; }
.pb-modal-perks { margin:16px 0 20px; display:flex; flex-direction:column; gap:8px; }
.pb-modal-perks span { font-size:12px; color:var(--muted); padding:9px 12px; border-radius:8px; background:#f7f8fa; border:1px solid var(--line); }
.pb-modal-perks span b { color:var(--gold); }
.pb-modal-actions { display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:10px; }
.pb-modal-code { margin:16px 0 12px; text-align:center; }
.pb-modal-code label { display:block; font-size:11px; color:var(--dim); margin-bottom:6px; letter-spacing:1px; }
.pb-modal-code input {
  width:200px; text-align:center; font-family:var(--mono); font-size:14px; font-weight:700;
  color:var(--gold); background:#fff7e8; border:1px dashed rgba(255,125,0,0.35);
  border-radius:8px; padding:9px 12px; outline:none;
}
.pb-modal-code small { display:block; margin-top:6px; font-size:11px; color:var(--dim); }
.pb-modal-qr { display:flex; gap:18px; justify-content:center; margin:12px 0 6px; }
.pb-modal-qr div { text-align:center; }
.pb-modal-qr img { width:120px; height:120px; border-radius:8px; border:1px solid var(--line); background:#fff; }
.pb-modal-qr small { display:block; margin-top:6px; font-size:11px; color:var(--dim); }
.pb-toast {
  position:fixed; top:70px; left:50%; transform:translateX(-50%);
  background:#fff; border:1px solid var(--line2);
  color:var(--green); font-size:12px; padding:9px 20px; border-radius:999px;
  z-index:1001; box-shadow:0 4px 16px rgba(29,33,41,0.1);
}

/* ---------- 页面级硬锁定（会员专属页遮蔽） ---------- */
html.pb-page-locked { overflow:hidden; }
html.pb-page-locked body > *:not(#pb-lock-root):not(#pb-modal-root) { display:none !important; }
#pb-lock-root {
  position:fixed; inset:0; z-index:990;
  display:flex; align-items:flex-start; justify-content:center;
  overflow:auto; padding:44px 16px;
  background:var(--bg);
}
.pb-lock-card { margin:auto; }
@media (max-height:760px){ #pb-lock-root { padding:20px 16px; } .pb-lock-card .pb-modal-qr { display:none; } }

/* ---------- 扁平图标容器 ---------- */
.pb-ic {
  width:48px; height:48px; margin:0 auto 14px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  border:1px solid #e8f3ff; background:#f7f8fa;
}
.pb-ic svg { width:22px; height:22px; display:block; }
.pb-ic.gold { border-color:#fff7e8; background:#fff7e8; }
.pb-ic.gold svg { color:var(--gold); }
.pb-ic.blue svg { color:var(--blue); }
.pb-ic.cyan svg { color:var(--cyan); }

/* ---------- 会员落地页 ---------- */
.pay-hero { text-align:center; padding:40px 0 24px; }
.pay-hero h1 { font-size:32px; font-weight:900; letter-spacing:3px; color:var(--text); }
.pay-hero p { margin-top:10px; font-size:14px; color:var(--muted); line-height:1.9; }
.pay-cards { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
@media (max-width:960px){ .pay-cards { grid-template-columns:1fr; } }
.pay-card {
  background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:20px 16px 16px;
  display:flex; flex-direction:column; transition:all .15s;
}
.pay-card:hover { border-color:var(--line2); box-shadow:0 6px 20px rgba(29,33,41,0.06); }
.pay-card.rec { border-color:rgba(22,93,255,0.35); }
.pay-card .pc-icon { font-size:26px; margin-bottom:10px; }
.pay-card h3 { font-size:16px; font-weight:800; color:var(--text); letter-spacing:0.5px; }
.pay-card .pc-sub { font-size:11px; color:var(--dim); margin-top:4px; min-height:32px; }
.pay-card .pc-price { margin-top:12px; font-size:24px; font-weight:800; color:var(--gold); }
.pay-card .pc-price small { font-size:11px; color:var(--dim); font-weight:500; }
.pay-card .pc-list { margin:14px 0 16px; flex:1; display:flex; flex-direction:column; gap:7px; }
.pay-card .pc-list span { font-size:12px; color:var(--muted); padding-left:15px; position:relative; }
.pay-card .pc-list span::before { content:""; position:absolute; left:0; top:6px; width:5px; height:5px; border-radius:1px; background:var(--blue); }
.pay-card .pc-list span.off { color:var(--dim); }
.pay-card .pc-list span.off::before { background:var(--dim); }
.pay-card .pc-btns { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:auto; }
.pay-card .pc-btns .btn { width:100%; padding-left:4px; padding-right:4px; }
.pay-compare { margin-top:26px; }
.pay-compare th, .pay-compare td { text-align:center !important; }
.pay-compare td:first-child { text-align:left !important; }
.pay-compare .yes { color:var(--green); font-weight:700; }
.pay-compare .no { color:var(--dim); }
.pay-beta { margin-top:26px; padding:22px; border-radius:14px; border:1px dashed rgba(255,125,0,0.3); background:#fff7e8; }
.pay-beta h3 { font-size:18px; color:var(--gold); letter-spacing:0.5px; }
.pay-beta p { font-size:13px; color:var(--muted); line-height:1.9; margin-top:8px; }
.pay-beta .pb-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
.pay-beta .qr { text-align:center; }
.pay-beta .qr img { width:130px; height:130px; border-radius:10px; border:1px solid var(--line); background:#fff; }
.pay-beta .qr small { display:block; margin-top:8px; font-size:11px; color:var(--dim); }
.pay-beta .pb-code { margin:16px 0 10px; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; }
.pay-beta .pb-code label { width:100%; text-align:center; font-size:11px; color:var(--dim); letter-spacing:1px; }
.pay-beta .pb-code input { width:220px; text-align:center; font-family:var(--mono); font-size:14px; font-weight:700; color:var(--gold); background:#fff; border:1px dashed rgba(255,125,0,0.35); border-radius:8px; padding:9px 12px; outline:none; }
.pay-beta .pb-code small { width:100%; text-align:center; font-size:11px; color:var(--dim); margin-top:-4px; margin-bottom:4px; }

/* ---------- 布局 ---------- */
.pb-wrap { max-width:1280px; margin:0 auto; padding:22px 24px 50px; }
.pb-grid { display:grid; gap:16px; }
.g2 { grid-template-columns:1fr 1fr; }
.g3 { grid-template-columns:repeat(3,1fr); }
.g4 { grid-template-columns:repeat(4,1fr); }
.g32 { grid-template-columns:3fr 2fr; }
.g23 { grid-template-columns:2fr 3fr; }
@media (max-width:960px){ .g2,.g3,.g4,.g32,.g23 { grid-template-columns:1fr; } }

/* ---------- 卡片 ---------- */
.card {
  background:var(--panel); border:1px solid var(--line); border-radius:12px;
  padding:16px 18px; position:relative; overflow:hidden;
}
.card.glow { border-color:rgba(22,93,255,0.25); }
.card-h { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.card-h .bar { width:4px; height:16px; border-radius:2px; background:var(--blue); }
.card-h h2 { font-size:16px; font-weight:800; color:var(--text); letter-spacing:0.5px; }
.card-h .extra { margin-left:auto; font-size:11px; color:var(--dim); }
.card-h.gold .bar { background:var(--gold); }

/* ---------- 表格（后台密集表格） ---------- */
.tbl { width:100%; border-collapse:collapse; font-size:12px; }
.tbl th {
  text-align:left; color:var(--muted); font-weight:600; font-size:11px; letter-spacing:0.5px;
  padding:7px 8px; border-bottom:1px solid var(--line); white-space:nowrap;
  background:#f8f9fb;
}
.tbl td { padding:7px 8px; border-bottom:1px solid #f0f1f5; color:var(--text); vertical-align:middle; }
.tbl tr:last-child td { border-bottom:none; }
.tbl tr:hover td { background:#fafbfc; }
.tbl tr.hl td { background:#f2f7ff; }
.tbl td.num { font-family:var(--mono); color:var(--blue); }
.tbl .empty { text-align:center; color:var(--dim); padding:24px 0; font-size:12px; letter-spacing:1px; }

/* ---------- 徽章 ---------- */
.tag { font-size:10px; padding:1px 7px; border-radius:4px; border:1px solid; white-space:nowrap; letter-spacing:0.3px; }
.tag.green { color:#00b42a; border-color:rgba(0,180,42,0.35); background:rgba(0,180,42,0.08); }
.tag.blue { color:#165dff; border-color:rgba(22,93,255,0.35); background:rgba(22,93,255,0.08); }
.tag.cyan { color:#0eb3ff; border-color:rgba(14,179,255,0.35); background:rgba(14,179,255,0.08); }
.tag.gold { color:#ff7d00; border-color:rgba(255,125,0,0.35); background:rgba(255,125,0,0.08); }
.tag.red { color:#f53f3f; border-color:rgba(245,63,63,0.35); background:rgba(245,63,63,0.08); }
.tag.gray { color:#86909c; border-color:rgba(134,144,156,0.35); background:rgba(134,144,156,0.08); }
.tag.purple { color:#722ed1; border-color:rgba(114,46,209,0.35); background:rgba(114,46,209,0.08); }
.tag.orange { color:#ff7d00; border-color:rgba(255,125,0,0.35); background:rgba(255,125,0,0.08); }
/* 会员等级专属色：普通会员青、高级会员紫、线下班蓝绿、师徒班品红 */
.tag.t-basic { color:#0eb3ff; border-color:rgba(14,179,255,0.35); background:rgba(14,179,255,0.08); }
.tag.t-pro { color:#722ed1; border-color:rgba(114,46,209,0.35); background:rgba(114,46,209,0.08); }
.tag.t-offline { color:#0e8c8c; border-color:rgba(14,140,140,0.35); background:rgba(14,140,140,0.08); }
.tag.t-mentor { color:#c41d7f; border-color:rgba(196,29,127,0.35); background:rgba(196,29,127,0.08); }

/* ---------- 按钮 ---------- */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:6px;
  font-size:13px; font-weight:700; letter-spacing:0.5px; cursor:pointer;
  border-radius:8px; padding:9px 20px; border:1px solid transparent;
  transition:all .15s; font-family:inherit;
}
.btn-pri { background:var(--blue); color:#fff; }
.btn-pri:hover { background:#2e6fff; }
.btn-pri:disabled { opacity:0.4; cursor:not-allowed; }
.btn-ghost { background:#f2f7ff; color:var(--blue); border-color:rgba(22,93,255,0.25); }
.btn-ghost:hover { background:#e8f3ff; }
.btn-gold { background:#ff7d00; color:#fff; }
.btn-gold:hover { background:#ff9a2e; }
.btn-disabled { background:#f2f3f5; color:#a9aeb8; border-color:var(--line); cursor:not-allowed; }
.btn-sm { padding:6px 14px; font-size:12px; border-radius:6px; }

/* ---------- 统计块 ---------- */
.stats { display:flex; gap:12px; flex-wrap:wrap; }
.stat {
  flex:1; min-width:100px; background:#f8f9fb; border:1px solid var(--line);
  border-radius:8px; text-align:center; padding:11px 7px;
}
.stat .v { font-size:18px; font-weight:800; color:var(--blue); font-family:var(--mono); }
.stat .v.gold { color:var(--gold); } .stat .v.green { color:var(--green); }
.stat .k { font-size:11px; color:var(--dim); margin-top:4px; letter-spacing:0.5px; }

/* ---------- KV ---------- */
.kv { display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px dashed var(--line); font-size:13px; }
.kv:last-child { border-bottom:none; }
.kv .k { color:var(--muted); }
.kv .v { color:var(--text); font-weight:600; }
.kv .v.mono { font-family:var(--mono); }

/* ---------- 事件流 ---------- */
.feed { display:flex; flex-direction:column; }
.frow { display:flex; align-items:flex-start; gap:9px; padding:6px 0; border-bottom:1px solid #f0f1f5; font-size:12px; }
.frow:last-child { border-bottom:none; }
.fdot { width:6px; height:6px; border-radius:50%; flex-shrink:0; margin-top:5px; }
.c-blue{background:var(--blue);}
.c-cyan{background:var(--cyan);}
.c-green{background:var(--green);}
.c-gold{background:var(--gold);}
.c-red{background:var(--red);}
.ftime { font-family:var(--mono); color:var(--dim); font-size:11px; width:60px; flex-shrink:0; margin-top:2px; }
.fnode { color:var(--muted); font-weight:700; flex-shrink:0; }
.fev { color:var(--text); flex:1; line-height:1.6; }
.fnew { animation:fin .5s ease; }
@keyframes fin { from { background:#e8f3ff; } to { background:transparent; } }

/* ---------- 闪动更新 ---------- */
@keyframes pulseNew { 0%{background:#e8ffef;} 100%{background:transparent;} }
.row-new td { animation:pulseNew 1.6s ease; }

/* ---------- 流程箭头 ---------- */
.flowline { display:flex; align-items:center; gap:0; flex-wrap:wrap; }
.fstep { display:flex; align-items:center; gap:8px; }
.fstep .box {
  font-size:12px; font-weight:700; color:var(--text); letter-spacing:0.5px;
  background:#f7f8fa; border:1px solid var(--line);
  border-radius:7px; padding:7px 12px; white-space:nowrap;
}
.fstep .box.done { border-color:rgba(0,180,42,0.4); color:var(--green); background:#f0fff5; }
.fstep .box.cur { border-color:var(--cyan); color:var(--cyan); background:#f0faff; }
.farr { color:var(--dim); font-size:14px; padding:0 7px; }

/* ---------- 提示条 ---------- */
.notice {
  border:1px dashed rgba(255,125,0,0.3); background:#fff7e8;
  color:#8c4b00; font-size:12px; border-radius:8px; padding:9px 14px; line-height:1.7;
}
.notice.blue { border-color:rgba(22,93,255,0.25); background:#f2f7ff; color:var(--blue); }

/* ---------- 商品卡 ---------- */
.goods { display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:14px; }
.good {
  background:var(--panel); border:1px solid var(--line); border-radius:12px; overflow:hidden;
  transition:all .15s;
}
.good:hover { border-color:var(--line2); box-shadow:0 6px 20px rgba(29,33,41,0.06); }
.good-img {
  height:110px; display:flex; align-items:center; justify-content:center;
  background:#f7f8fa;
  border-bottom:1px solid var(--line);
}
.good-body { padding:13px 15px 15px; }
.good-name { font-size:14px; font-weight:700; color:var(--text); }
.good-desc { font-size:11px; color:var(--dim); margin-top:4px; }
.good-foot { display:flex; align-items:center; justify-content:space-between; margin-top:12px; }
.good-price { font-family:var(--mono); font-size:16px; font-weight:800; color:var(--gold); }
.good-price small { font-size:11px; color:var(--dim); font-weight:500; }

/* ---------- 支付方式 ---------- */
.pm {
  display:flex; align-items:center; gap:14px; padding:13px 15px; margin-bottom:10px;
  background:#f8f9fb; border:1.5px solid var(--line); border-radius:10px; cursor:pointer;
  transition:all .15s;
}
.pm:hover { border-color:var(--line2); }
.pm.sel { border-color:var(--cyan); background:#f0faff; }
.pm.dis { opacity:0.45; cursor:not-allowed; }
.pm-icon {
  width:40px; height:40px; border-radius:9px; flex-shrink:0;
  background:#e8f3ff; border:1px solid rgba(22,93,255,0.15);
  display:flex; align-items:center; justify-content:center; font-size:16px;
}
.pm-info { flex:1; }
.pm-info h4 { font-size:14px; font-weight:700; color:var(--text); }
.pm-info p { font-size:11px; color:var(--dim); margin-top:3px; font-family:var(--mono); }
.pm-radio { width:18px; height:18px; border-radius:50%; border:2px solid #c9cdd4; flex-shrink:0; position:relative; }
.pm.sel .pm-radio { border-color:var(--cyan); }
.pm.sel .pm-radio::after { content:""; position:absolute; inset:3px; border-radius:50%; background:var(--cyan); }

/* ---------- 滚动条 ---------- */
::-webkit-scrollbar { width:8px; height:8px; }
::-webkit-scrollbar-thumb { background:#c9cdd4; border-radius:4px; }
::-webkit-scrollbar-track { background:transparent; }

.scrollbox { max-height:340px; overflow-y:auto; }
.page-desc { font-size:13px; color:var(--muted); line-height:1.8; margin-bottom:16px; }
.page-desc b { color:var(--text); }
