/* ============================================================
 * 乐道AI · 复刻系统 —— 用户端样式（按参考截图 1:1 还原）
 * ============================================================ */
:root {
  /* 设计变量对齐原站 css/app.css（v=20260920H） */
  --bg: #f2f3f5;
  --bg-l: #f7f9fc;
  --card: #ffffff;
  --line: #e8eaed;
  --txt: #1a1d23;
  --txt2: #5f6368;
  --txt3: #9aa0a6;
  --blue: #185FA5;          /* 原站 --brand */
  --blue-deep: #0C447C;     /* 原站 --brand-d */
  --brand-l: #E6F1FB;
  --brand-b: #c9d8ea;
  --navy: #16385f;
  --gold: #B8860B;
  --gold-l: #FAEEDA;
  --gold-deep: #C9962E;
  --green: #0F6E56;         /* 原站 --green（会员/价格强调） */
  --green-l: #E1F5EE;
  --green-b: #bfe8d9;
  --purple1: #7d6ee0;
  --purple2: #5f51c7;
  --red: #A32D2D;
  --red-l: #FCEBEB;
  --warn: #c2571b;
  --badge-bg: #FAEEDA;
  --badge-tx: #a3741b;
  --tag-bg: #E6F1FB;
  --tag-tx: #185FA5;
  --vp-gold: #D4AF37;
  --vp-gold-d: #C9962E;
  --vp-on-gold: #1A1405;
  --ink3: #9aa0a6;
  --r-sm: 10px;
  --r-md: 14px;
  --r-lg: 18px;
  --radius: 16px;
}
* { margin: 0; padding: 0; box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html, body { height: 100%; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", "Microsoft YaHei", sans-serif;
  background: #e8e9eb;
  color: var(--txt);
  font-size: 15px;
}
/* 手机画布 */
#phone {
  max-width: 480px; min-height: 100vh; margin: 0 auto;
  background: var(--bg); position: relative; padding-bottom: 78px;
}
a { color: inherit; text-decoration: none; }
button { font-family: inherit; border: none; background: none; cursor: pointer; }
input, textarea, select { font-family: inherit; font-size: 15px; outline: none; border: none; background: none; }

/* ---------- 沙龙页固定布局：顶栏+运营位固定，活动列表独立滚动 ---------- */
#phone.salon-fix {
  height: 100vh; height: 100dvh;
  display: flex; flex-direction: column;
  overflow: hidden;
}
#phone.salon-fix .home-head { flex: 0 0 auto; }
#phone.salon-fix .carousel { flex: 0 0 auto; margin-bottom: 0; }
.salon-scroll {
  flex: 1 1 auto; min-height: 0;
  overflow-y: auto; -webkit-overflow-scrolling: touch;
  padding: 0 0 10px;
}

/* 门票调整信息条（沙龙卡片内，跟随页面卡片风格） */
.tk-flag { margin: 7px 0 3px; font-size: 11px; line-height: 1.5; color: var(--warn); background: #fff6ee; border: 1px solid #fbdcc0; border-radius: 7px; padding: 4px 9px; display: inline-block; }

/* ---------- 通用页面头 ---------- */
.pagebar {
  position: sticky; top: 0; z-index: 50;
  background: #fafafa; display: flex; align-items: center; justify-content: center;
  height: 46px; border-bottom: 1px solid #ececec;
}
.pagebar .back {
  position: absolute; left: 12px; width: 32px; height: 32px; border-radius: 50%;
  background: #fff; box-shadow: 0 1px 4px rgba(0,0,0,.08);
  display: flex; align-items: center; justify-content: center; font-size: 16px; color: #333;
}
.pagebar .ptitle { font-size: 16px; font-weight: 600; }

/* ---------- 首页头部（沙龙/老板 tab） ---------- */
.home-head { position: sticky; top: 0; z-index: 40; background: #fff; padding: 14px 16px 12px; display: flex; align-items: center; justify-content: space-between; box-shadow: 0 1px 0 rgba(0,0,0,.04); }
.home-head .lh-left { display: flex; gap: 10px; align-items: center; }
.logo-sq {
  width: 34px; height: 34px; border-radius: 9px; color: #fff; font-weight: 700;
  display: flex; align-items: center; justify-content: center; font-size: 17px;
}
.logo-sq.gold { background: linear-gradient(135deg, #d8b25c, #b8923d); }
.logo-sq.green { background: linear-gradient(135deg, #3fa96f, #2f8a55); }
.lh-title { font-size: 17px; font-weight: 700; }
.lh-sub { font-size: 11px; color: var(--txt2); margin-top: 2px; }
.badge-dist {
  font-size: 11px; color: #a8802f; background: #f6ecd2;
  border: 1px solid #ecd9a8; border-radius: 20px; padding: 3px 10px;
}

/* ---------- 登录入口胶囊 ---------- */
.hh-right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.login-chip {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 12px; font-weight: 600; color: var(--blue);
  background: #eef4ff; border: 1px solid #c9dbff;
  border-radius: 20px; padding: 5px 12px; min-height: 26px;
  text-decoration: none; cursor: pointer; white-space: nowrap;
  transition: background .15s, box-shadow .15s;
}
.login-chip::before { content: '👤'; font-size: 11px; }
.login-chip:hover { background: #dfe9ff; box-shadow: 0 2px 8px rgba(59,110,230,.18); }
.login-chip:active { background: #cfdcff; }
@media (max-width: 380px) {
  .login-chip { font-size: 11px; padding: 4px 9px; }
  .hh-right .badge-dist { display: none; }
}

/* ---------- 首页运营位 · 紧凑轮播（恢复 v=113 尺寸；保留 scroll-snap 精确对齐） ---------- */
.carousel { position: relative; margin: 14px 14px 6px; border-radius: 14px; overflow: hidden; }
.carousel .track {
  display: flex;
  overflow-x: auto; overflow-y: hidden;
  scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
  scrollbar-width: none; -ms-overflow-style: none;
}
.carousel .track::-webkit-scrollbar { display: none; }
.carousel .slide {
  flex: 0 0 88%; width: 88%; height: 150px; margin-right: 8px; border-radius: 14px; position: relative;
  scroll-snap-align: start; scroll-snap-stop: always; overflow: hidden;
  color: #fff; padding: 18px; display: flex; flex-direction: column; justify-content: flex-end;
  background-size: cover; background-position: center; background-color: #333;
}
.carousel .slide::after { content: ''; position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(180deg, rgba(0,0,0,.05), rgba(0,0,0,.55)); }
.carousel .slide .st1 { font-size: 18px; font-weight: 700; position: relative; z-index: 1; }
.carousel .slide .st2 { font-size: 12px; opacity: .85; margin-top: 4px; position: relative; z-index: 1; }
.carousel .dots { display: flex; gap: 7px; justify-content: center; margin: 10px 0 10px; }
.carousel .dots i { position: relative; width: 14px; height: 6px; border-radius: 3px; background: #d3d8de; cursor: pointer; padding: 0; border: 0; }
.carousel .dots i::before { content: ''; position: absolute; inset: -9px; } /* 扩大点按热区 */
.carousel .dots i.on { background: var(--blue); }

/* ---------- 空状态 ---------- */
.empty-salon { text-align: center; padding: 56px 20px 30px; color: var(--txt2); }
.empty-salon .ico { font-size: 40px; margin-bottom: 14px; }
.empty-salon p { font-size: 14px; line-height: 1.7; }

/* ---------- 底部 TabBar ---------- */
.tabbar {
  position: fixed; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 100%; max-width: 480px; z-index: 70;
  background: #fff; border-top: 1px solid #ececec;
  display: flex; padding: 6px 0 max(10px, env(safe-area-inset-bottom));
}
.tabbar .tab { flex: 1; text-align: center; color: var(--ink3); font-size: 11px; display: flex; flex-direction: column; align-items: center; gap: 3px; }
.tabbar .tab svg { width: 20px; height: 20px; display: block; margin: 0; }
.tabbar .tab.on { color: var(--blue); }
.tabbar .tab.is-hid { opacity: .42; }

/* ---------- 会员开通悬浮按钮（原站规格：左缘书签，28×88，金底深棕字） ---------- */
.vip-fab {
  position: fixed; left: max(0px, calc(50% - 240px)); top: 56%; transform: translateY(-50%); z-index: 66; width: 28px; height: 88px;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
  background: var(--vp-gold); color: var(--vp-on-gold);
  border-radius: 0 var(--r-sm) var(--r-sm) 0; box-shadow: 0 2px 8px rgba(0,0,0,.18);
}
.vip-fab .fab-t { font-size: 11px; font-weight: 600; line-height: 1.15; }

/* ---------- 圈子（会员动态） ---------- */
.ccl-gate {
  margin: 12px 14px 0; padding: 12px 14px; background: #fff; border-radius: 14px;
  display: flex; align-items: center; gap: 10px; border: 1px solid var(--green-b);
}
.ccl-cats { display: flex; gap: 8px; overflow-x: auto; padding: 12px 14px 4px; }
.ccl-cats::-webkit-scrollbar { display: none; }
.ccl-cat {
  flex-shrink: 0; padding: 6px 14px; border-radius: 999px; background: #fff; color: var(--txt2);
  font-size: 12.5px; border: 1px solid var(--line);
}
.ccl-cat.on { background: var(--blue); color: #fff; border-color: var(--blue); font-weight: 600; }
.ccl-list { padding: 8px 14px 14px; }
.ccl-card { background: #fff; border-radius: 14px; padding: 14px; margin-bottom: 10px; }
.ccl-head { display: flex; align-items: center; gap: 9px; }
.ccl-chip { font-size: 10px; padding: 2px 8px; border-radius: 999px; flex-shrink: 0; }
.ccl-body { margin-top: 10px; font-size: 13.5px; color: var(--txt); line-height: 1.65; }
.ccl-imgs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 10px; }
.ccl-imgs img { width: 100%; height: 84px; object-fit: cover; border-radius: 8px; background: #eef0f3; }
.ccl-video {
  margin-top: 10px; padding: 9px 12px; background: var(--gold-l); border-radius: 10px;
  display: flex; align-items: center; gap: 8px; font-size: 12px; color: #8a5a12;
}
.ccl-foot {
  margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line);
  display: flex; align-items: center; justify-content: space-between; font-size: 11px; color: var(--ink3);
}
.ccl-end { text-align: center; padding: 14px; color: #b0b5bb; font-size: 11px; }
.ccl-pub { padding: 14px; }
.ccl-pub .fld { background: #fff; border-radius: 14px; padding: 14px; margin-bottom: 10px; }
.ccl-pub .fld .lb { font-size: 11.5px; font-weight: 700; color: var(--txt2); margin-bottom: 8px; }
.ccl-pub .fld input, .ccl-pub .fld textarea {
  width: 100%; border: 0; outline: 0; font-size: 14px; color: var(--txt); background: transparent; font-family: inherit;
}
.ccl-pub .fld textarea { min-height: 110px; line-height: 1.7; }
.ccl-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.ccl-chips .chip {
  padding: 7px 14px; border-radius: 999px; background: #f4f5f7; color: var(--txt2); font-size: 12.5px;
}
.ccl-chips .chip.on { background: var(--brand-l); color: var(--blue); font-weight: 600; }
.ccl-picks { display: flex; flex-wrap: wrap; gap: 8px; }
.ccl-picks .pk { position: relative; width: 76px; height: 76px; border-radius: 10px; overflow: hidden; background: #f0f2f5; }
.ccl-picks .pk img { width: 100%; height: 100%; object-fit: cover; }
.ccl-picks .pk .x {
  position: absolute; top: 2px; right: 2px; width: 18px; height: 18px; border-radius: 50%;
  background: rgba(0,0,0,.55); color: #fff; font-size: 11px; display: flex; align-items: center; justify-content: center;
}
.ccl-pick-add {
  width: 76px; height: 76px; border: 1px dashed #cfd4da; border-radius: 10px; background: #fff;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
}
.ccl-agree { display: flex; align-items: flex-start; gap: 8px; font-size: 11.5px; color: var(--txt2); line-height: 1.6; }
.ccl-agree .box {
  width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid #cfd4da; flex-shrink: 0; margin-top: 1px;
  display: flex; align-items: center; justify-content: center; color: #fff; font-size: 11px;
}
.ccl-agree .box.on { background: var(--blue); border-color: var(--blue); }

/* ---------- 搜索框 ---------- */
.search-wrap { margin: 12px 14px 4px; }
.search-box {
  background: #fff; border-radius: 22px; display: flex; align-items: center;
  padding: 10px 16px; gap: 8px; color: var(--txt3); font-size: 14px;
}
.search-box input { flex: 1; color: var(--txt); }

/* ---------- 老板卡片 ---------- */
.boss-list { padding: 10px 14px 20px; }
.boss-card { background: var(--card); border-radius: var(--radius); margin-bottom: 14px; overflow: hidden; }
.boss-cover { position: relative; height: 190px; background-size: cover; background-position: center; }
.boss-cover .play {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 52px; height: 52px; border-radius: 50%; background: rgba(0,0,0,.45);
  border: 2px solid rgba(255,255,255,.85); display: flex; align-items: center; justify-content: center;
}
.boss-cover .play::after { content: ''; border-style: solid; border-width: 9px 0 9px 15px; border-color: transparent transparent transparent #fff; margin-left: 4px; }
.boss-inner { padding: 14px 16px 12px; }
.boss-top { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.boss-ava { width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(135deg,#7aa5d8,#48699b); color:#fff; font-size:20px; font-weight:700; display:flex; align-items:center; justify-content:center; flex-shrink:0; background-size:cover; }
.boss-name { font-size: 17px; font-weight: 700; }
.boss-title { font-size: 13px; color: var(--txt2); margin-top: 3px; }
.boss-top .arrow { margin-left: auto; color: #c8c8c8; font-size: 18px; }
.tag {
  display: inline-block; font-size: 11px; color: var(--tag-tx); background: var(--tag-bg);
  border-radius: 4px; padding: 3px 8px; margin: 12px 0 8px;
}
.b-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.b-badge {
  font-size: 11.5px; color: var(--badge-tx); background: var(--badge-bg);
  border-radius: 6px; padding: 4px 8px;
}
.b-desc { font-size: 13.5px; color: #555; line-height: 1.65; margin: 10px 0 12px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.b-foot { display: flex; align-items: center; border-top: 1px dashed #f0f0f0; padding-top: 11px; font-size: 12px; color: var(--txt2); }
.b-foot .matched { display: flex; align-items: center; gap: 5px; }
.b-foot .price { margin-left: auto; color: var(--gold-deep); font-weight: 700; font-size: 15px; }
.b-foot .price small { font-size: 12px; font-weight: 600; }
.hint-line { text-align: center; color: var(--txt3); font-size: 11px; padding: 4px 0 16px; }

/* ---------- 老板名片详情 ---------- */
.boss-detail { padding: 12px 14px 90px; }
.bd-card { background: #fff; border-radius: var(--radius); padding: 18px 16px; margin-bottom: 12px; }
.bd-card h4 { font-size: 15px; margin-bottom: 12px; }
.bd-text { font-size: 14px; line-height: 1.9; color: #333; }
.bd-note { font-size: 11px; color: var(--txt3); margin-top: 10px; }
.img-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.img-grid .ph { height: 92px; border-radius: 8px; background: linear-gradient(135deg,#d8dee6,#b9c2cd); position: relative; overflow: hidden; }
.img-grid .ph.fb { background: linear-gradient(135deg,#f5e6d8,#e3cdb4); }
.img-grid .ph span { position: absolute; left: 8px; bottom: 6px; font-size: 10px; color: #fff; background: rgba(0,0,0,.3); padding: 2px 6px; border-radius: 4px; }
.how-steps { font-size: 13.5px; line-height: 2.1; color: #333; }
.how-steps b { color: var(--blue); }
.how-warn { font-size: 12px; color: var(--txt3); line-height: 1.8; margin-top: 8px; }
.btn-primary {
  width: 100%; background: var(--blue); color: #fff; font-size: 16px; font-weight: 600;
  border-radius: 24px; padding: 13px 0; text-align: center;
}
.bd-foot-hint { text-align: center; font-size: 11px; color: var(--txt3); padding: 10px 0 20px; }

/* ---------- 我的 ---------- */
.me-wrap { padding: 14px 14px 30px; }
.me-card {
  border-radius: 18px; padding: 22px 18px; color: #fff;
  background: linear-gradient(120deg, #2a6cc4 0%, #1d4f97 60%, #16385f 100%);
  display: flex; align-items: center; gap: 14px; margin-bottom: 14px;
}
.me-ava { width: 58px; height: 58px; border-radius: 50%; background: #0e2a4d; display:flex; align-items:center; justify-content:center; overflow:hidden; font-size:24px; background-size:cover; }
.me-info .me-name { font-size: 18px; font-weight: 700; display: flex; align-items: center; gap: 8px; }
.me-info .me-sub { font-size: 12px; opacity: .85; margin-top: 5px; }
.btn-edit { margin-left: auto; background: #fff; color: var(--blue-deep); font-size: 13px; font-weight: 600; border-radius: 18px; padding: 7px 16px; }
.menu-card { background: #fff; border-radius: 18px; overflow: hidden; }
.menu-item { display: flex; align-items: center; gap: 12px; padding: 15px 16px; border-bottom: 1px solid var(--line); cursor: pointer; }
.menu-item:last-child { border-bottom: none; }
.menu-ico { width: 34px; height: 34px; border-radius: 9px; background: #f4f5f7; display: flex; align-items: center; justify-content: center; font-size: 17px; }
.menu-item .mi-t { font-size: 14.5px; }
.menu-item .mi-s { font-size: 11px; color: var(--txt3); margin-left: 6px; }
.menu-item .mi-s.gold { color: var(--gold-deep); }
.menu-item .arrow { margin-left: auto; color: #ccc; font-size: 15px; }

/* ---------- 年度会员（暗金页） ---------- */
.member-page { background: #101010; min-height: 100vh; color: #ddd; padding-bottom: 90px; }
.member-page .pagebar { background: #0c0c0c; border-color: #1e1e1e; color: #eee; }
.member-page .pagebar .back { background: #1c1c1c; color: #eee; box-shadow: none; }
.member-body { padding: 18px 18px 20px; }
.mp-kicker { color: var(--gold); font-size: 12px; letter-spacing: 1px; }
.mp-title { color: #fff; font-size: 26px; font-weight: 800; line-height: 1.3; margin-top: 8px; }
.mp-title .g { color: var(--gold); }
.mp-price { color: #fff; font-weight: 800; margin: 10px 0 4px; }
.mp-price .n { font-size: 44px; }
.mp-price .u { font-size: 14px; color: #999; font-weight: 400; }
.mp-limit { font-size: 12px; color: #888; }
.mp-desc { font-size: 14px; line-height: 1.9; color: #bbb; margin-top: 16px; }
.mp-desc b { color: var(--gold); }
.btn-gold {
  width: 100%; margin-top: 20px; padding: 15px 0; border-radius: 26px;
  background: linear-gradient(120deg, #e3bd67, #c69a41); color: #1c1503;
  font-size: 16px; font-weight: 700;
}
.mp-org { font-size: 11.5px; color: #777; line-height: 1.8; margin-top: 14px; }
.mp-sec { padding: 26px 18px; border-top: 1px solid #1d1d1d; }
.mp-num { color: var(--gold); font-size: 12px; letter-spacing: 2px; }
.mp-h2 { color: #fff; font-size: 19px; font-weight: 700; margin: 8px 0 14px; }
.mp-p { font-size: 13.5px; color: #aaa; line-height: 1.9; }
.mp-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.mp-cell { background: #181818; border: 1px solid #242424; border-radius: 12px; padding: 14px; }
.mp-cell .cnum { color: var(--gold); font-size: 11px; }
.mp-cell .ct { color: #fff; font-weight: 700; font-size: 14px; margin: 6px 0; }
.mp-cell .cd { font-size: 11.5px; color: #888; line-height: 1.7; }
.mp-chip { display: inline-block; background: #24303f; color: var(--gold); font-size: 11px; border-radius: 14px; padding: 4px 12px; margin-bottom: 12px; }
.right-item { background: #181818; border-left: 3px solid var(--gold); border-radius: 10px; padding: 13px 14px; margin-bottom: 10px; }
.right-item .rt { color: #eee; font-size: 14px; font-weight: 600; }
.right-item .rt .tagx { background: #2a2415; color: var(--gold); font-size: 11px; border-radius: 4px; padding: 2px 8px; margin-right: 8px; font-weight: 500; }
.right-item .rd { font-size: 12.5px; color: #999; line-height: 1.8; margin-top: 6px; }
.right-item .rd b { color: var(--gold); font-weight: 600; }
.faq-item { border-bottom: 1px solid #1d1d1d; padding: 14px 0; cursor: pointer; }
.faq-item .q { color: #eee; font-size: 14px; display: flex; justify-content: space-between; }
.faq-item .a { color: #999; font-size: 13px; line-height: 1.8; margin-top: 8px; display: none; }
.faq-item.open .a { display: block; }
.faq-item .q::after { content: '+'; color: var(--gold); }
.faq-item.open .q::after { content: '−'; }

/* ---------- 分销中心 ---------- */
.dist-stats { display: flex; background: rgba(0,0,0,.14); border-radius: 14px; margin-top: 16px; padding: 14px 0; }
.dist-stats .ds { flex: 1; text-align: center; }
.dist-stats .ds .v { font-size: 18px; font-weight: 800; }
.dist-stats .ds .v.o { color: #ffce6b; } .dist-stats .ds .v.b { color: #cfe0ff; } .dist-stats .ds .v.g { color: #7ef0b2; }
.dist-stats .ds .k { font-size: 11px; opacity: .85; margin-top: 4px; }
.link-box {
  margin-top: 12px; background: #f4f9ff; border: 1px dashed #bcd7f5; color: var(--blue);
  border-radius: 10px; padding: 12px; font-size: 13.5px; font-weight: 600; text-align: center;
  word-break: break-all; cursor: pointer;
}

/* ---------- 转发卡片页 ---------- */
.share-page { padding: 16px 16px 30px; }
.share-page .sp-t { text-align: center; font-weight: 700; font-size: 16px; }
.share-page .sp-s { text-align: center; font-size: 12px; color: var(--txt2); margin: 6px 0 16px; }
.share-card { display: flex; gap: 12px; align-items: center; background: #fff; border-radius: 14px; padding: 16px; }
.share-logo { width: 48px; height: 48px; border-radius: 10px; object-fit: cover; display: block; }
.share-card .sc-t { font-weight: 700; font-size: 15px; }
.share-card .sc-s { font-size: 12px; color: var(--txt2); margin-top: 4px; }
.share-tip { background: #e8f8ee; border-radius: 10px; padding: 12px; font-size: 12.5px; color: #2c8a4e; line-height: 1.7; margin: 14px 0; }
.btn-wechat { width: 100%; background: var(--green); color: #fff; border-radius: 24px; padding: 13px 0; font-size: 15px; font-weight: 600; }
.btn-plain { width: 100%; margin-top: 10px; background: #fff; border: 1px solid #e3e3e3; color: #555; border-radius: 24px; padding: 12px 0; font-size: 15px; }

/* ---------- 商务合作海报（暗色） ---------- */
.poster-page { padding: 0 14px 20px; }
.poster-page .pp-t { text-align: center; font-weight: 700; padding: 14px 0 4px; }
.poster-page .pp-s { text-align: center; font-size: 11.5px; color: var(--txt2); padding-bottom: 14px; }
.poster {
  background: #101619; border-radius: 20px; padding: 24px 20px; color: #fff;
}
.poster .po-k { font-size: 12px; color: #9fb0ba; }
.poster .po-big { font-size: 24px; font-weight: 800; margin: 10px 0 6px; }
.poster .po-sub { font-size: 12px; color: #7d8f99; }
.po-sec { color: #35e0a1; font-size: 14px; font-weight: 700; border-left: 3px solid #35e0a1; padding-left: 8px; margin: 20px 0 12px; }
.po-step { background: #171f23; border-radius: 12px; display: flex; gap: 14px; align-items: center; padding: 16px 14px; margin-bottom: 10px; }
.po-step .n { width: 34px; height: 34px; border-radius: 50%; border: 1.5px solid #35e0a1; color: #35e0a1; display: flex; align-items: center; justify-content: center; font-weight: 700; flex-shrink: 0; }
.po-step .t { font-weight: 700; font-size: 15px; }
.po-step .d { font-size: 11.5px; color: #7d8f99; margin-top: 3px; }
.poster .qr-wrap { text-align: center; padding: 18px 0 4px; }
.poster .qr-wrap .qbox { width: 130px; height: 130px; margin: 0 auto; background: #fff; border-radius: 10px; padding: 8px; }
.poster .qr-wrap .qt { font-size: 13px; font-weight: 600; margin-top: 10px; }
.poster .qr-wrap .qd { font-size: 10.5px; color: #7d8f99; margin-top: 4px; }

/* ---------- 表单页（我的资料 / 商务合作 / 设置 / 编辑引荐） ---------- */
.form-page { padding: 14px 14px 30px; }
.form-card { background: #fff; border-radius: 16px; padding: 16px; margin-bottom: 12px; }
.form-card h4 { font-size: 15px; }
.form-card h4 .req { color: var(--red); margin-left: 2px; }
.form-card .opt { font-size: 11px; color: var(--txt3); font-weight: 400; margin-left: 6px; }
.form-card .hint { font-size: 11px; color: var(--txt3); margin: 4px 0 10px; line-height: 1.6; }
.f-label { font-size: 13.5px; font-weight: 600; margin: 14px 0 8px; }
.f-label:first-child { margin-top: 0; }
.f-input, .f-textarea {
  width: 100%; border: 1px solid #e8e8e8; border-radius: 10px; padding: 12px 14px;
  font-size: 14px; background: #fff; color: var(--txt);
}
.f-input::placeholder, .f-textarea::placeholder { color: #c0c0c0; }
.f-input:disabled { background: #f6f7f8; color: #999; }
.f-textarea { min-height: 92px; resize: none; line-height: 1.7; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { border: 1px solid #e2e2e2; background: #fafafa; color: #555; border-radius: 18px; padding: 8px 16px; font-size: 13px; cursor: pointer; }
.chip.on { background: #1d4f3c; border-color: #1d4f3c; color: #fff; }
.chip.blue.on { background: var(--blue-deep); border-color: var(--blue-deep); }
.btn-save { width: 100%; background: var(--blue-deep); color: #fff; border-radius: 12px; padding: 13px 0; font-size: 15px; font-weight: 600; }
/* 合作表单 hero */
.coop-hero { background: linear-gradient(130deg, #1d4f97, #16385f); border-radius: 16px; color: #fff; padding: 20px 18px; margin-bottom: 12px; font-size: 13.5px; line-height: 1.9; }
.coop-hero b { font-size: 15px; }

/* 头像圆（我的资料） */
.cava {
  width: 52px; height: 52px; border-radius: 50%; background: #eef0f3; color: #9aa0a6;
  display: flex; align-items: center; justify-content: center; font-size: 24px;
  flex-shrink: 0; overflow: hidden; background-size: cover; background-position: center;
}

/* ---------- Toast / 弹层 ---------- */
#toast {
  position: fixed; top: 46%; left: 50%; transform: translate(-50%,-50%); z-index: 999;
  background: rgba(0,0,0,.75); color: #fff; padding: 12px 22px; border-radius: 10px; font-size: 14px;
  display: none; max-width: 70%; text-align: center;
}
.sheet-mask { position: fixed; inset: 0; background: rgba(0,0,0,.45); z-index: 90; display: none; }
.sheet {
  position: fixed; bottom: 0; left: 50%; transform: translateX(-50%); width: 100%; max-width: 480px;
  background: #fff; border-radius: 18px 18px 0 0; z-index: 95; padding: 20px 18px 26px; display: none;
}
.sheet h3 { text-align: center; font-size: 16px; margin-bottom: 14px; }
.sheet .close-x { position: absolute; right: 16px; top: 14px; color: #999; font-size: 18px; }

/* 会员购买弹层 */
.pay-sheet .price-line { text-align: center; font-size: 26px; font-weight: 800; color: var(--gold-deep); margin-bottom: 6px; }
.pay-sheet .sub { text-align: center; font-size: 12px; color: var(--txt2); margin-bottom: 16px; }
.pay-item { display: flex; align-items: center; gap: 10px; border: 1.5px solid #eee; border-radius: 12px; padding: 13px 14px; margin-bottom: 10px; font-size: 14.5px; cursor: pointer; }
.pay-item.on { border-color: var(--green); background: #f3fcf7; }
.pay-item .pi-ico { width: 30px; height: 30px; border-radius: 8px; background: var(--green); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 15px; }

/* ---------- 登录 / 绑定手机号 ---------- */
.login-page { min-height: 100vh; padding: 0 28px; display: flex; flex-direction: column; justify-content: center; }
.login-page .lp-logo {
  width: 76px; height: 76px; border-radius: 20px; margin: 0 auto 16px;
  object-fit: cover; display: block;
  box-shadow: 0 8px 24px rgba(22,56,95,.35);
}
.login-page .lp-name { text-align: center; font-size: 24px; font-weight: 800; }
.login-page .lp-slogan { text-align: center; font-size: 13px; color: var(--txt2); margin: 8px 0 30px; }
.lp-wx {
  width: 100%; background: var(--green); color: #fff; border-radius: 26px; padding: 14px 0;
  font-size: 16px; font-weight: 600; display: flex; align-items: center; justify-content: center; gap: 8px;
}
.login-page .lp-tip { text-align: center; font-size: 11px; color: var(--txt3); line-height: 1.9; margin-top: 24px; }

/* ============================================================
 * v=109 补充：老板工作台 / 分销中心 / 收银台 / 报名凭证 / 顾问 / 合作
 * ============================================================ */

/* ---------- 通用页面体与区块 ---------- */
.wb-body { padding: 12px 14px 30px; }
.d-block { background: #fff; border-radius: var(--radius); padding: 14px 16px; margin-bottom: 12px; }
.wt { display: flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 700; color: var(--txt); margin-bottom: 10px; }
.wb-gap { height: 6px; }
.f2 { display: flex; gap: 10px; }
.f2 > div { flex: 1; min-width: 0; }

/* ---------- 宫格入口（工作台首页 / 入口开关 / 分销菜单） ---------- */
.vip-list { display: flex; flex-direction: column; }
.vip-item { display: flex; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--line); cursor: pointer; }
.vip-item:last-child { border-bottom: none; }
.vip-item .ic, .wb-pubcard .ic {
  width: 38px; height: 38px; border-radius: 10px; flex-shrink: 0;
  background: var(--brand-l); color: var(--blue-deep);
  display: flex; align-items: center; justify-content: center; font-size: 16px; font-weight: 700;
}
.vip-item .vt2, .wb-pubcard .vt2 { font-size: 14px; font-weight: 600; }
.vip-item .vs2, .wb-pubcard .vs2 { font-size: 11.5px; color: var(--txt3); margin-top: 3px; line-height: 1.5; }
.vip-item .arrow, .wb-pubcard .arrow { margin-left: auto; color: #c8c8c8; font-size: 18px; flex-shrink: 0; }
.vip-item .wb-state { margin-left: auto; font-size: 12px; color: var(--blue); flex-shrink: 0; }
.wb-pubcard { display: flex; align-items: center; gap: 12px; cursor: pointer; border: 1px dashed var(--brand-b); background: var(--brand-l); }

/* ---------- 统计格 ---------- */
.wb-2x2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.wb-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.wb-3c { background: #f7f8fa; border-radius: 12px; padding: 12px 8px; text-align: center; min-width: 0; }
.wb-3c .n { font-size: 14px; font-weight: 800; color: var(--txt); word-break: break-all; line-height: 1.3; }
.wb-3c .l { font-size: 11px; color: var(--txt2); margin-top: 4px; }
.wb-stat { background: #f7f8fa; border-radius: 12px; padding: 14px 10px; text-align: center; min-width: 0; }
.wb-stat .n { font-size: 17px; font-weight: 800; color: var(--txt); word-break: break-all; line-height: 1.3; }
.wb-stat .l { font-size: 11px; color: var(--txt2); margin-top: 5px; }
.wb-stat.red { background: var(--red-l); }
.wb-stat.red .n { color: var(--red); }
.wb-stat.green { background: var(--green-l); }
.wb-stat.green .n { color: var(--green); }

/* ---------- 蓝色 hero（报名记录 / 资源管理） ---------- */
.bd-hero {
  background: linear-gradient(130deg, #2a6cc4, #1d4f97 55%, #16385f);
  border-radius: var(--radius); padding: 18px 16px; color: #fff; margin-bottom: 12px;
}
.bd-hero .h1 { font-size: 17px; font-weight: 700; }
.bd-hero .h2 { font-size: 12px; opacity: .85; margin-top: 5px; }
.bd-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin-top: 16px; }
.bd-cell { text-align: center; min-width: 0; }
.bd-cell .n { font-size: 15px; font-weight: 800; word-break: break-all; }
.bd-cell .l { font-size: 10.5px; opacity: .82; margin-top: 4px; }
.bd-hero-v2 {
  background: linear-gradient(130deg, #2a6cc4, #16385f);
  border-radius: var(--radius); padding: 20px 18px; color: #fff; margin-bottom: 12px;
}
.bd-hero-v2 .h-label { font-size: 12px; opacity: .85; }
.bd-hero-v2 .h-main { font-size: 30px; font-weight: 800; margin: 8px 0 12px; letter-spacing: -.5px; }
.h-sub-grid { display: flex; gap: 8px; }
.h-sub { background: rgba(255,255,255,.16); border-radius: 10px; padding: 7px 12px; font-size: 11.5px; }
.h-sub.bad { background: rgba(255,120,120,.24); }

/* ---------- 分销员管理 hero（紫） ---------- */
.distro-hero {
  border-radius: 18px; padding: 20px 18px; color: #fff; margin-bottom: 12px;
  background: linear-gradient(130deg, #8577e2, #6a5acd 55%, #5b4dc4);
}
.distro-hero .h1 { font-size: 17px; font-weight: 700; }
.distro-hero .h2 { font-size: 12px; opacity: .9; margin-top: 5px; }

/* ---------- 筛选 chips / 搜索 ---------- */
.chip-row { display: flex; gap: 8px; overflow-x: auto; padding: 0 0 12px; }
.chip-row::-webkit-scrollbar { display: none; }
.chip-row .chip { flex-shrink: 0; white-space: nowrap; }
.chip-row .chip.on { background: var(--blue-deep); border-color: var(--blue-deep); color: #fff; }
.wb-search { margin-bottom: 10px; }
.wb-search input {
  width: 100%; background: #fff; border-radius: 22px; padding: 11px 16px;
  font-size: 14px; color: var(--txt);
}
.wb-search input::placeholder { color: #b9bec5; }

/* ---------- 说明 / 页脚提示 ---------- */
.wb-note { font-size: 11.5px; color: var(--txt2); line-height: 1.75; margin-bottom: 10px; }
.member-tip { text-align: center; font-size: 11px; color: var(--txt3); line-height: 1.8; padding: 4px 8px 18px; }

/* ---------- 标签 / 卡片 ---------- */
.wb-tag { display: inline-block; font-size: 10.5px; font-weight: 600; border-radius: 6px; padding: 2px 7px; vertical-align: middle; white-space: nowrap; }
.wb-badge { display: inline-block; font-size: 10.5px; font-weight: 700; border-radius: 6px; padding: 3px 7px; background: var(--red); color: #fff; }
.wb-card { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 13px 14px; margin-bottom: 10px; }
.wb-card:last-child { margin-bottom: 0; }
.wb-evcard { background: #fff; border: 1px solid var(--line); border-radius: 14px; padding: 14px; margin-bottom: 10px; }
.wc-top { display: flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; flex-wrap: wrap; }
.wc-sub { font-size: 12px; color: var(--txt2); line-height: 1.7; margin-top: 5px; word-break: break-all; }
.wc-sub b { color: var(--txt); }
.wc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.wb-mini { font-size: 10.5px; background: #f4f5f7; color: var(--txt2); border-radius: 999px; padding: 3px 9px; }

/* ---------- 按钮组 ---------- */
.wb-btns { display: flex; gap: 8px; margin-top: 11px; flex-wrap: wrap; }
.wb-btn { font-size: 12.5px; font-weight: 600; border-radius: 10px; padding: 9px 14px; background: var(--blue); color: #fff; }
.wb-btn.primary { background: var(--blue); color: #fff; }
.wb-btn.ghost { background: #fafafa; border: 1px solid #e5e5e5; color: #444; }
.wb-btn.ghost.danger, .wb-btn.danger { background: var(--red-l); border-color: #f2cccc; color: var(--red); }
.wb-btn:active { opacity: .8; }
.wb-right { font-size: 13px; font-weight: 600; color: var(--blue); }

/* ---------- 空状态 ---------- */
.wb-empty { text-align: center; padding: 46px 16px; color: var(--txt3); font-size: 13px; line-height: 1.8; }
.wb-empty .e-big { font-size: 38px; margin-bottom: 12px; }

/* ---------- 表单字段（工作台） ---------- */
.wb-lab { font-size: 11.5px; font-weight: 600; color: var(--txt2); margin-bottom: 6px; }
.wb-field { margin-bottom: 12px; }
.wb-inp {
  width: 100%; border: 1px solid #e8e8e8; border-radius: 10px; padding: 11px 13px;
  font-size: 14px; background: #fff; color: var(--txt);
}
.wb-inp::placeholder { color: #c0c0c0; }
textarea.wb-inp { resize: none; line-height: 1.7; }

/* ---------- 流水行（收入 / 佣金） ---------- */
.wb-rev { display: flex; align-items: center; gap: 11px; padding: 12px 0; border-bottom: 1px dashed var(--line); }
.wb-rev:last-child { border-bottom: none; }
.wb-rev.clickable { cursor: pointer; }
.wb-rev .ri {
  width: 36px; height: 36px; border-radius: 10px; background: #f4f5f7; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center; font-size: 16px;
}
.wb-rev .rt { flex: 1; min-width: 0; }
.wb-rev .rs { font-size: 13px; font-weight: 600; color: var(--txt); }
.wb-rev .elapsed { font-size: 11px; color: var(--txt3); margin-top: 4px; line-height: 1.5; }
.wb-rev .ra { margin-left: auto; font-size: 14px; font-weight: 700; color: var(--txt); text-align: right; flex-shrink: 0; }

/* ---------- 键值行 ---------- */
.ds-kv {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 11px 0; border-bottom: 1px dashed var(--line); font-size: 13.5px;
}
.ds-kv:last-child { border-bottom: none; }
.ds-kv .k { color: var(--txt2); flex-shrink: 0; }
.ds-kv .v { color: var(--txt); font-weight: 600; text-align: right; word-break: break-all; }

/* ---------- 分销客户详情头 ---------- */
.ds-detail-head { background: #fff; border-radius: var(--radius); padding: 16px; margin-bottom: 12px; display: flex; align-items: center; gap: 12px; }
.ds-detail-head .dh-ava {
  width: 50px; height: 50px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(135deg, #8577e2, #5b4dc4); color: #fff;
  font-size: 20px; font-weight: 700; display: flex; align-items: center; justify-content: center;
}
.ds-detail-head .dh-name { font-size: 16px; font-weight: 700; }
.ds-detail-head .dh-sub { font-size: 11.5px; color: var(--txt2); margin-top: 5px; }

/* ---------- 佣金四宫格 ---------- */
.dcm-sum { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; padding: 12px 14px 10px; }
.dcm-c { background: #fff; border-radius: 12px; padding: 13px 12px; text-align: center; cursor: pointer; min-width: 0; }
.dcm-c .n { font-size: 15px; font-weight: 800; color: var(--txt); word-break: break-all; }
.dcm-c .l { font-size: 11px; color: var(--txt2); margin-top: 4px; }

/* ---------- 沙龙状态徽章 ---------- */
.s-status {
  background: rgba(0,0,0,.5); color: #fff; font-size: 11px; font-weight: 600;
  border-radius: 999px; padding: 4px 10px; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
.s-status.hot { background: rgba(232,148,58,.92); }

/* ---------- pagebar 右侧动作 ---------- */
.top-act { position: absolute; right: 12px; font-size: 12.5px; font-weight: 600; color: var(--gold); }

/* ---------- 会员页：已开通状态条 / 开通后步骤 ---------- */
.vp-status {
  background: linear-gradient(120deg, #2a2415, #3a2f18); border: 1px solid #4a3d1e;
  color: var(--gold); border-radius: 12px; padding: 12px 14px; font-size: 13.5px; font-weight: 600; margin-bottom: 18px;
}
.vp-status-sub { font-size: 11.5px; color: #a08c55; font-weight: 400; margin-top: 6px; line-height: 1.7; }
.vp-step { background: #181818; border: 1px solid #242424; border-radius: 14px; padding: 16px; margin-top: 12px; }
.vp-step .st { color: #fff; font-size: 14px; font-weight: 700; margin-bottom: 10px; }
.vp-step .rd { font-size: 12.5px; color: #999; line-height: 1.85; }

/* ---------- 会员页：痛点 / 资源卡 ---------- */
.mp-pain { color: #ccc; font-size: 13.5px; line-height: 1.85; padding: 10px 0 10px 26px; position: relative; border-bottom: 1px solid #1d1d1d; }
.mp-pain:last-child { border-bottom: none; }
.mp-pain::before { content: '✕'; position: absolute; left: 0; top: 10px; color: #b5484a; font-size: 13px; }
.mp-res { background: #181818; border: 1px solid #242424; border-radius: 12px; padding: 13px 14px; margin-top: 10px; }
.mp-res .nm { color: #fff; font-size: 14px; font-weight: 700; }
.mp-res .tk { color: var(--gold); font-size: 12px; margin-top: 4px; }
.mp-res .ds { color: #888; font-size: 11.5px; margin-top: 5px; line-height: 1.7; }

/* ---------- 二维码容器（通用） ---------- */
.qbox { width: 150px; max-width: 100%; background: #fff; border: 1px solid var(--line); border-radius: 10px; padding: 6px; display: inline-block; }
.qbox svg, .qbox img { width: 100%; height: 100%; display: block; }

/* ---------- 收银台 ---------- */
.pay-box { background: #fff; border-radius: 16px; padding: 16px; margin-bottom: 12px; }
.pay-box h4 { font-size: 15px; margin-bottom: 10px; }
.pay-box .p-row {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 12px;
  padding: 9px 0; border-bottom: 1px dashed var(--line); font-size: 13.5px;
}
.pay-box .p-row:last-child { border-bottom: none; }
.pay-box .p-row .k { color: var(--txt2); flex-shrink: 0; }
.pay-box .p-row .v { text-align: right; color: var(--txt); font-weight: 600; word-break: break-all; }
.pay-box .p-row .v.big { font-size: 20px; font-weight: 800; color: var(--gold-deep); }
.pay-box .p-sub { font-size: 11.5px; color: var(--txt3); line-height: 1.7; margin-top: 8px; }

/* ---------- 报名凭证 ---------- */
.ticket { background: #fff; border-radius: 18px; overflow: hidden; box-shadow: 0 4px 18px rgba(0,0,0,.06); }
.tk-head { position: relative; background: linear-gradient(130deg, #2a6cc4, #16385f); color: #fff; padding: 18px 18px 20px; }
.tk-head .a { font-size: 16px; font-weight: 700; line-height: 1.4; padding-right: 56px; }
.tk-head .b { font-size: 11px; opacity: .8; margin-top: 6px; }
.tk-head .tk-ico { position: absolute; right: 16px; top: 16px; font-size: 26px; opacity: .9; }
.tk-body { padding: 16px 18px 18px; }
.tk-title { font-size: 14px; font-weight: 700; color: var(--blue-deep); margin-bottom: 10px; }
.tk-row { font-size: 13px; color: #444; line-height: 1.95; }
.tk-code {
  margin-top: 12px; padding: 10px 12px; background: #f6f7f9; border-radius: 10px;
  font-size: 12px; color: var(--txt2); word-break: break-all;
  font-family: ui-monospace, Menlo, Consolas, monospace;
}
.tk-warn { margin-top: 10px; background: var(--red-l); color: var(--red); border-radius: 10px; padding: 9px 12px; font-size: 12px; }
.ticket-group { margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--line); text-align: center; }
.ticket-group .ghead { font-size: 13px; font-weight: 700; margin-bottom: 10px; }
.ticket-group .gsub { font-size: 11.5px; color: var(--txt3); line-height: 1.8; margin-top: 8px; }

/* ---------- 引荐凭证 hero ---------- */
.refer-hero { background: linear-gradient(130deg, #1d4f97, #16385f); border-radius: var(--radius); color: #fff; padding: 20px 18px; margin-bottom: 12px; }
.refer-hero .rh1 { font-size: 17px; font-weight: 700; }
.refer-hero .rh2 { font-size: 12px; opacity: .88; margin-top: 6px; }

/* ---------- 专属顾问 ---------- */
.advisor-head { background: linear-gradient(130deg, #1d4f97, #16385f); border-radius: var(--radius); color: #fff; padding: 20px 18px; margin-bottom: 12px; }
.advisor-head .ah1 { font-size: 18px; font-weight: 800; }
.advisor-head .ah2 { font-size: 12.5px; opacity: .88; line-height: 1.8; margin-top: 8px; }
.adv-ok {
  width: 60px; height: 60px; border-radius: 50%; background: var(--green); color: #fff;
  font-size: 30px; display: flex; align-items: center; justify-content: center; margin: 6px auto 0;
}

/* ---------- 合作提交成功 ---------- */
.coop-okhead { text-align: center; padding: 26px 16px 4px; }
.coop-okhead .ok {
  width: 62px; height: 62px; border-radius: 50%; background: var(--green); color: #fff;
  font-size: 32px; display: flex; align-items: center; justify-content: center; margin: 0 auto 14px;
}
.coop-okhead .t1 { font-size: 17px; font-weight: 700; }
.coop-okhead .t2 { font-size: 12.5px; color: var(--txt2); margin-top: 8px; line-height: 1.7; }

/* ---------- 发帖规范提示 ---------- */
.ccl-warn {
  font-size: 11.5px; color: var(--warn); background: #fff6ee; border: 1px solid #fbdcc0;
  border-radius: 10px; padding: 9px 11px; line-height: 1.7; margin-bottom: 10px;
}

/* ---------- 移动端响应式适配 ---------- */
@media (max-width: 380px) {
  body { font-size: 14px; }
  .lh-title { font-size: 16px; }
  .boss-name { font-size: 16px; }
  .mp-title { font-size: 22px; }
  .mp-price .n { font-size: 38px; }
  .stat-grid, .mp-grid2 { grid-template-columns: 1fr 1fr; }
  .img-grid .ph { height: 80px; }
  .login-page { padding: 0 20px; }
  .bd-hero-v2 .h-main { font-size: 26px; }
  .wb-stat .n { font-size: 15px; }
  .wb-btn { font-size: 12px; padding: 8px 11px; }
  .dcm-c .n, .wb-3c .n { font-size: 13px; }
}
@media (max-width: 340px) {
  .dist-stats .ds .v { font-size: 15px; }
  .b-badge { font-size: 10.5px; }
}
/* 安全区适配（iPhone 刘海屏） */
@supports (padding: max(0px)) {
  .tabbar { padding-bottom: max(10px, env(safe-area-inset-bottom)); }
}

/* ===== 微信/支付宝收款弹窗 & 收款设置（v=131） ===== */
.sheet.tall { max-height: 86vh; overflow-y: auto; border-radius: 18px 18px 0 0; }
.pc-amount { text-align: center; font-size: 30px; font-weight: 800; color: var(--gold-deep); margin: 2px 0 4px; }
.pc-title { text-align: center; font-size: 13px; color: var(--txt2); margin-bottom: 6px; }
.pc-note { text-align: center; font-size: 11px; color: var(--txt3); margin: 3px 0; }
.pc-tabs { display: flex; gap: 8px; justify-content: center; margin: 10px 0 2px; }
.pc-qr { display: flex; flex-direction: column; align-items: center; padding: 12px 0 4px; }
.pc-qr img { width: 200px; height: 200px; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 8px; }
.pc-qrname { font-size: 13px; font-weight: 600; margin-top: 8px; }
.pc-tip { font-size: 11px; color: var(--txt3); margin-top: 4px; }
.ps-grid { display: flex; gap: 12px; margin: 4px 0 10px; }
.ps-cell { flex: 1; }
.ps-qr { width: 100%; height: 110px; border: 1px dashed var(--line); border-radius: 10px; display: flex; align-items: center; justify-content: center; margin: 6px 0; overflow: hidden; background: #fafafa; color: var(--txt3); font-size: 12px; }
.ps-qr img { max-width: 100%; max-height: 100%; object-fit: contain; }
.pc-link { cursor: pointer; }
.pc-link .u { text-decoration: underline; word-break: break-all; }

/* ===== 转发链接卡片（v=146） ===== */
.lk-card { display: flex; align-items: center; gap: 10px; margin: 10px 0; padding: 10px 12px; background: #fff; border: 1px solid var(--line); border-radius: 12px; cursor: pointer; transition: box-shadow .15s; }
.lk-card:active { box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.lk-img { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; background: #f2f4f7; flex-shrink: 0; }
.lk-main { flex: 1; min-width: 0; }
.lk-title { font-size: 13px; font-weight: 700; color: var(--txt1, #222); line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lk-tag { display: inline-block; margin-left: 6px; font-size: 9.5px; font-weight: 600; color: var(--blue); background: var(--brand-l, #e8f0fe); border-radius: 6px; padding: 1px 6px; vertical-align: 1px; }
.lk-desc { font-size: 11px; color: var(--txt3, #9aa0a6); margin-top: 2px; line-height: 1.5; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lk-host { font-size: 10px; color: var(--txt3, #9aa0a6); margin-top: 3px; opacity: .85; }
.lk-go { color: #c3c7cc; font-size: 16px; flex-shrink: 0; }
.sheet .lk-card { background: #fafbfc; }
.ccl-card .lk-card { margin: 10px 0 0; }
.pc-state { text-align: center; font-size: 12px; color: var(--txt3); margin-top: 12px; min-height: 16px; }
.pc-state.ok { color: #0f9d58; font-weight: 600; }
.pc-state.warn { color: #e37318; }
.btn-wechat.disabled { opacity: .45; filter: grayscale(.35); }

/* ---------- 站点页脚（ICP 备案） ---------- */
.site-foot{
  max-width: 480px; margin: 0 auto;
  padding: 16px 16px calc(96px + env(safe-area-inset-bottom));
  text-align: center; font-size: 12px; line-height: 1.8;
  color: #a2a6ad; background: var(--bg);
}
.site-foot .icp a{ color: #9aa0a8; }
