/* ============================================================
   leads-hub.css —— v55 手机端「线索页」样式（js/pages/leads-hub.js）
   结构：概览卡（标题金线 + 马卡龙三瓦片）→ 子页签（下划线式）→ 子页内容。
   复用 base.css 的设计 token（--c-primary/--c-text/--c-line/--c-danger 等）。
   仅手机端首页（登录卡主）使用；未登录 / 访客不渲染本页。

   v57（四页展示布局重设计·紧凑专业风）：
   - 概览卡由「白卡 + 三色小柱 + 马卡龙瓦片」改为**深蓝渐变 + 顶部金线**的强调卡
     （与首页名片卡同一视觉家族，满足「不引入第三配色」）；三色小柱下线。
   - 列表统一「细边线卡」规范：1px var(--c-line-soft) / 圆角 12 / var(--c-card) 底 /
     轻投影 / padding 12px 14px / 项间距 10→8px；子板块标题走金线 3×12 + 中文标题。
   - 卡片底色由字面量 #fff 改 **var(--c-card)**：与本页其它 token 一致，
     深色主题（graphite）下不再出现「深色页面里整页白卡」的突兀组合。
   - 间距 12px 节奏；页边距 14→16px（与首页/公众栏/微小店对齐）。
   **功能一行未动**（消息展开/标已读、访客聚合、找人搜索与提交均按原逻辑）。
   ============================================================ */

/* 页面壳：占满剩余高度、独立滚动（与 .pages 互斥显隐） */
.leads-page {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-y: contain;
  background: var(--c-bg);
  /* v143（需求①）：隐藏纵向滚动条 —— 电脑端 Windows 经典滚动条**占布局宽**（~15px），
     「找人」子页内容最长（搜索框 + 结果列表）⇒ 只有它出现轨道 ⇒ 该页比消息 / 好友窄一截，
     切到这个页时整页内容突然收缩。隐藏后三个子页恒同宽（滚动仍走滚轮 / 触摸，
     线索页在手机框内，不依赖滚动条提供位置线索）。移动端 overlay 滚动条本不占宽，零影响。 */
  scrollbar-width: none;          /* Firefox / 新 Chromium */
  -ms-overflow-style: none;       /* 旧 Edge / IE */
  /* v60（需求 1 第③条必要条件）：本页只允许纵向滚动。缺这条时，横滑起手落在
     .lh-body 之外（概览卡 / 子页签条 / 列表卡间的空白）会被内核纳入滚动仲裁，
     手势随时可能被拿走，跟手就时有时无。 */
  touch-action: pan-y;
}
.leads-page::-webkit-scrollbar { width: 0; height: 0; display: none; }   /* v143（需求①） */
.leads-page[hidden] { display: none; }
/* 切到线索页时隐藏首页页签（名片横卡随 .page-inner 在 .pages 内，已被 .pages 隐藏一并盖住）
   v131：.fixed-head 覆盖层已下线，仅保留页签层级兜底（页签在 .pages 内随轨道隐藏） */
.phone-frame.is-leads .top-tab { display: none; }
/* 防御：隐藏首页三页轨道（与 leadsPage 互斥） */
.phone-frame.is-leads .pages { display: none; }

.lh-inner { padding: 12px 16px 4px; }

/* ---------- ① 数据概览（v57 深蓝渐变 → v141 需求 4 方案 A「白卡浅风」） ----------
   用户报告：概览是全屏最重的深渐变大卡，与下方白卡列表风格割裂。
   v141：概览改白卡细边浅阴影（与首页卡片同语言），品牌感由顶部金线渐变细带
   （.lh-ov::before，保留）与瓦片数字三色（主色深/琥珀/红）承担；
   瓦片底改 --c-gold-soft（各主题的主色 10% 浅芯片），六套主题继续联动。 */
.lh-ov {
  position: relative;
  overflow: hidden;
  border-radius: 16px;
  padding: 12px 14px 13px;
  color: var(--c-text);
  background: var(--c-card);
  border: 1px solid var(--c-line);
  box-shadow: 0 4px 14px rgba(108, 95, 168, .07);
}
.lh-ov::before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--c-gold-bar-1), var(--c-gold-bar-2));
}
.lh-ov-head {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--c-text);      /* v141（需求 4）：白字 → 深字（白卡浅风） */
  letter-spacing: .3px;
}
/* v57：标题金线竖条（3×12 渐变，与首页板块标题同源 token） */
.lh-ov-head::before {
  content: '';
  flex: none;
  width: 3px;
  height: 12px;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--c-gold-bar-1), var(--c-gold-bar-2));
}
/* v57：三色小柱下线（顶部改深蓝 + 金线，不引入第三配色）；DOM 保留不删 */
.lh-ov-head .lh-bars { display: none; }
.lh-ov-head .lh-bars i { width: 4px; border-radius: 1.5px; display: inline-block; }
.lh-ov-head .lh-bars i:nth-child(1) { height: 7px; background: #1E3A8A; }
.lh-ov-head .lh-bars i:nth-child(2) { height: 13px; background: #C77414; }
.lh-ov-head .lh-bars i:nth-child(3) { height: 10px; background: #DC2626; }

.lh-tiles { display: flex; gap: 9px; margin-top: 12px; }
.lh-tile {
  position: relative;   /* v106：承载可点瓦片右上角的 .lh-tile-go 箭头 */
  flex: 1 1 0;
  border-radius: 11px;
  padding: 10px 4px 9px;
  text-align: center;
  background: var(--c-gold-soft);        /* v141：白 10% → 主色 10% 浅芯片（六套主题联动） */
  border: 1px solid var(--c-line);       /* v141：白 14% → 主题细线 */
}
.lh-tile.b { background: var(--c-gold-soft); }
.lh-tile.a { background: var(--c-gold-soft); }
.lh-tile.r { background: var(--c-gold-soft); }
.lh-tile-n {
  font-size: 21px;
  font-weight: 800;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.lh-tile.b .lh-tile-n { color: var(--c-primary-deep); }  /* v141：浅蓝 → 主题深主色 */
.lh-tile.a .lh-tile-n { color: #C77414; }                  /* v141：浅金 → 琥珀（白卡上可读） */
.lh-tile.r .lh-tile-n { color: #DC2626; }                  /* v141：浅红 → 红（白卡上可读） */
.lh-tile-l { font-size: 10px; color: var(--c-text-2); margin-top: 3px; }  /* v141：白 70% → 次级文字色 */
/* v106（需求 2）：「名片被查看」瓦片成为可点入口（下钻访客明细）。
   只加"可点"的命中反馈与右上角箭头，**不动底色/尺寸/排版** —— 三块瓦片外观仍一致。 */
.lh-tile.is-tappable { cursor: pointer; -webkit-tap-highlight-color: transparent; }
.lh-tile.is-tappable:active { background: var(--c-gold-soft); box-shadow: inset 0 0 0 1px var(--c-gold); }  /* v141：白 20% → 浅芯片+主色内环 */
.lh-tile.is-tappable:focus-visible { outline: 2px solid var(--c-primary); outline-offset: 2px; }            /* v141：白 → 主色 */
.lh-tile-go {
  position: absolute;
  top: 6px;
  right: 5px;
  width: 11px;
  height: 11px;
  display: flex;
  color: var(--c-text-2);    /* v141：白 62% → 次级文字色 */
  opacity: .55;
  pointer-events: none;
}
.lh-tile-go svg { width: 100%; height: 100%; display: block; }

/* v110（母子账号体系 P2）：概览中间那枚瓦片由「询价线索」改成「企业名片」通道卡。
   它有三种值形态：数字（企业主的名额 2/5）、文字（个人版「开通」/ 成员「企业版」）。
   数字仍走 .lh-tile-n（21px 等宽数字）；文字改用 .lh-tile-txt（15px）——
   因为「开通」两个字按 21px 排会撑破瓦片宽度（三瓦片等分，实测 390 宽下约 105px/枚）。
   高亮底 .is-new 只给"还没开通"的个人版，用来把入口点亮；企业主/成员不高亮。 */
.lh-tile-txt {
  font-size: 15px;
  font-weight: 800;
  line-height: 1.45;
  color: #C77414;            /* v141（需求 4）：浅金 → 琥珀（白卡上可读） */
}
.lh-tile.is-new {
  background: var(--c-gold-soft);   /* v141：白 20% → 主色 10% + 主色描边点亮 */
  border-color: var(--c-gold);
}

/* ---------- ② 子页签（下划线式，与首页三页签同语言） ----------
 * v57：由「裸下划线栏」改 **细边线圆角卡**（卡内下划线仍由 .lh-sub-ind 承担，
 *   故 overflow:hidden 后指示条底位由 -1px 收到 0，避免被裁掉 1px）。
 *   sticky 吸顶行为保持不变（子页切换/滚动时仍固定在本页顶部）。 */
.lh-subtabs {
  display: flex;
  margin: 12px 0 0;
  border: 1px solid var(--c-line-soft);
  border-radius: 12px;
  overflow: hidden;
  background: var(--c-card);
  box-shadow: var(--shadow-soft);
  position: sticky;
  top: 0;
  z-index: 2;
}
/* v106（需求 2）：下钻到「访客明细」时页签行整行隐藏（访客明细不占页签）。
   ⚠️ 必须显式写这条：.lh-subtabs 是 flex 容器，类选择器的 display 会盖掉 UA 的
   [hidden]{display:none}，只挂 hidden 属性是**关不掉**的。 */
.lh-subtabs[hidden] { display: none; }
.lh-sub {
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 10px 0 9px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--c-text-3);
  letter-spacing: .5px;
  position: relative;
}
.lh-sub.on { color: var(--c-primary); }
/* v61（需求 3）：子页签小横条改为**单条浮动横条**（旧"每页签各一条 .lh-sub-ind、
   opacity 切换"已删除 —— 那种形态是"跳变"的，没有跟手过程）。
   挂在 .lh-subtabs（sticky 即为包含块）底部：静止时 JS 画到当前页签下方；
   手势中 transition 被 JS 置 none、按轨道位移比例实时跟手；
   松手恢复缓动，与轨道（SWIPE_ANIM_MS=300ms）同一节奏吸附到位。 */
.lh-sub-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 36px;
  height: 3px;
  border-radius: 2px;
  background: var(--c-primary-deep);
  transform: translateX(0);
  transition: transform .3s cubic-bezier(.22, .61, .36, 1);
  will-change: transform;
  pointer-events: none;
}
.lh-sub .lh-sub-bd {
  min-width: 15px;
  height: 15px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--c-danger);
  color: #fff;
  font-size: 9.5px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.lh-sub .lh-sub-bd[hidden] { display: none; }

/* ---------- ③ 子页通用 ---------- */
/* v59（需求 10）：子页容器升级为「两页同屏跟手」轨道。
   .lh-body 保留原名（历史样式与探针都认它），只加 overflow:hidden 把轨道裁在容器内；
   轨道宽度 200%、每块 pane 占一半（= 容器整宽），跟手位移由 leads-hub.js 写 transform。
   transition 时长必须与 JS 里的 SWIPE_ANIM_MS 保持一致（改动请两处同改）。
   v60（需求 1）：轨道允许被 JS 切成 `flex-direction: row-reverse`（看上一个子页时，
   把 paneB 摆到左半、paneA 保持不动）—— 方向由 JS 行内样式控制，本处不写死。 */
.lh-body { padding-top: 2px; overflow: hidden; touch-action: pan-y; }
.lh-track {
  display: flex;
  width: 200%;
  transition: transform .3s cubic-bezier(.22, .61, .36, 1);
  will-change: transform;
}
.lh-pane { width: 50%; flex: 0 0 50%; min-width: 0; }
.lh-sec { padding-bottom: 4px; }
/* v57：子板块标题走四页统一「金线 3×12 + 中文 14.5/700」；去掉 v55 的 13.5px 左缩进
   （列表卡已与页边距对齐，标题与卡左缘对齐才整齐）。 */
.lh-sec-h {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 12px 0 0;
  font-size: 14.5px;
  font-weight: 700;
  color: var(--c-title);
  letter-spacing: .3px;
}
.lh-sec-h::before {
  content: '';
  flex: none;
  width: 3px;
  height: 12px;
  border-radius: 2px;
  background: linear-gradient(180deg, var(--c-gold-bar-1), var(--c-gold-bar-2));
}
.lh-ico { display: flex; }
.lh-sec-h .lh-ico { width: 15px; height: 15px; color: var(--c-text-2); }
.lh-ico svg { width: 100%; height: 100%; display: block; }

.lh-list { padding: 8px 0 0; }
.lh-state {
  margin: 12px 0;
  padding: 22px 12px;
  border-radius: 12px;
  background: var(--c-card);
  border: 1px solid var(--c-line-soft);
  box-shadow: var(--shadow-soft);
  text-align: center;
}
.lh-state .lh-empty-t { font-size: 13.5px; font-weight: 700; color: var(--c-text); }
.lh-state .lh-empty-s { margin-top: 6px; font-size: 11.5px; color: var(--c-text-3); line-height: 1.7; }

/* 通用标签 */
.lh-tag {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.5;
}
.lh-tag-blue { background: #EAF1FB; color: #1E3A8A; }
.lh-tag-gold { background: #FFF5E0; color: #C77414; }

/* ---------- 消息列表 ---------- */
/* v57：统一细边线卡（1px var(--c-line-soft) / 圆角 12 / padding 12px 14px / 间距 8px） */
.lh-mitem {
  background: var(--c-card);
  border: 1px solid var(--c-line-soft);
  border-radius: 12px;
  box-shadow: var(--shadow-soft);
  padding: 12px 14px;
  margin-bottom: 8px;
  cursor: pointer;
}
.lh-mitem-r1 { display: flex; align-items: center; gap: 8px; }
.lh-mitem-t {
  font-size: 13.5px;
  font-weight: 800;
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lh-pill-unread {
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 800;
  color: #fff;
  background: var(--c-danger);
  border-radius: 999px;
  padding: 2.5px 8px;
}
.lh-mitem-s {
  font-size: 11.5px;
  color: var(--c-text-3);
  margin-top: 6px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lh-mitem-d {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--c-line);
}
.lh-mitem-d[hidden] { display: none; }
.lh-mitem-d-row { display: flex; gap: 8px; font-size: 12px; line-height: 1.7; margin-bottom: 4px; }
.lh-mitem-d-row:last-child { margin-bottom: 0; }
.lh-mitem-d-k { flex: 0 0 40px; color: var(--c-text-3); }
.lh-mitem-d-v { flex: 1 1 auto; color: var(--c-text); word-break: break-all; }
.lh-mitem-d-row.is-msg .lh-mitem-d-v { white-space: pre-wrap; }

/* ---------- 访客列表 ---------- */
.lh-vitem {
  background: var(--c-card);
  border: 1px solid var(--c-line-soft);
  border-radius: 12px;
  box-shadow: var(--shadow-soft);
  padding: 12px 14px;
  margin-bottom: 8px;
}
.lh-vitem-r1 { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.lh-vitem-nm { font-size: 13.5px; font-weight: 800; color: var(--c-text); }
.lh-vitem-time { font-size: 10.5px; color: var(--c-text-3); margin-left: auto; }
.lh-vitem-r2 { display: flex; align-items: center; gap: 8px; margin-top: 7px; flex-wrap: wrap; }
.lh-vitem-rd { font-size: 11px; color: var(--c-text-3); }
/* v76（需求 ②）：登录访客的 职位/行业 标签行（复用 .lh-tag 配色，行距略紧于 r2） */
.lh-vitem-tags { display: flex; align-items: center; gap: 6px; margin-top: 7px; flex-wrap: wrap; }

/* ---------- 访客明细子页（v106 需求 2：由概览「名片被查看」瓦片下钻进入） ---------- */
/* 顶部一条「返回 + 标题 + 位数」——此时页签行整行隐藏，返回键是唯一出口 */
.lh-vsec { padding-bottom: 4px; }
.lh-vhead { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; }
.lh-vback {
  flex: none;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--c-line-soft);
  border-radius: 9px;
  background: var(--c-card);
  color: var(--c-text-2);
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.lh-vback:active { background: var(--c-bg); }
.lh-vback svg { width: 16px; height: 16px; display: block; }
.lh-vhead-t { font-size: 14.5px; font-weight: 700; color: var(--c-title); letter-spacing: .3px; }
.lh-vhead-n { margin-left: auto; font-size: 11px; color: var(--c-text-3); font-variant-numeric: tabular-nums; }
/* 匿名访客的名字退一档（不是真人姓名，不该与好友姓名一样醒目） */
.lh-vitem-nm.is-anon { font-weight: 700; color: var(--c-text-2); }
/* 「看了 N 次」是本列表的第一指标，给它略强的权重 */
.lh-vitem-cnt { font-size: 11.5px; font-weight: 800; color: var(--c-primary); font-variant-numeric: tabular-nums; }
/* 好友才出现的联系方式行（非好友**不渲染**该节点，不是样式隐藏） */
.lh-vitem-contact {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed var(--c-line);
}
.lh-vitem-c { font-size: 12px; font-weight: 700; color: var(--c-text); word-break: break-all; }
.lh-vitem-c.is-muted { font-weight: 400; color: var(--c-text-3); }

/* ---------- 找人 ---------- */
.lh-search {
  margin: 12px 0 0;
  display: flex;
  align-items: center;
  gap: 9px;
  background: var(--c-bg);
  border: 1px solid var(--c-line-soft);
  border-radius: 12px;
  padding: 11px 13px;
}
.lh-search .lh-ico { width: 16px; height: 16px; color: var(--c-text-3); flex: 0 0 auto; }
.lh-search-input {
  flex: 1 1 auto;
  border: 0;
  outline: none;
  background: transparent;
  font-size: 12.5px;
  color: var(--c-text);
}
.lh-search-input::placeholder { color: var(--c-text-3); }
.lh-search-input::-webkit-search-cancel-button { -webkit-appearance: none; }

.lh-found { margin: 10px 2px 0; font-size: 11.5px; color: var(--c-text-3); }
.lh-found b { color: #E4573D; font-weight: 800; }

.lh-pcard {
  display: flex;
  align-items: center;
  gap: 11px;
  background: var(--c-card);
  border: 1px solid var(--c-line-soft);
  border-radius: 12px;
  box-shadow: var(--shadow-soft);
  padding: 12px;
  margin-bottom: 8px;
}
.lh-pav {
  width: 46px;
  height: 46px;
  border-radius: 50%;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 17px;
  font-weight: 800;
}
.lh-pav.a { background: linear-gradient(135deg, #C9A961, #8A6A21); }
.lh-pav.b { background: linear-gradient(135deg, #3E7C6B, #1E4A3C); }
.lh-pav.c { background: linear-gradient(135deg, #46639E, #0F2B5B); }

.lh-pmain { flex: 1 1 auto; min-width: 0; }
.lh-pname { font-size: 14.5px; font-weight: 800; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.lh-pname-name { color: var(--c-text); }
.lh-pname-ttl { color: var(--c-text-2); font-weight: 700; font-size: 12.5px; }
.lh-pcom {
  font-size: 11.5px;
  color: var(--c-text-2);
  margin-top: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.lh-ptags { display: flex; gap: 6px; margin-top: 6px; flex-wrap: wrap; }

.lh-pbtn {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 800;
  color: var(--c-primary-2);
  background: var(--c-card);
  border: 1.5px solid var(--c-primary-2);
  padding: 6px 14px;
  border-radius: 10px;
}
.lh-pbtn:active { background: var(--c-bg); }

.lh-mask-hint {
  margin: 4px 0 8px;
  text-align: center;
  font-size: 11px;
  color: var(--c-text-3);
}

/* ---------- 好友（已交换名片，v58 需求 7） ----------
 * 复用「找人」结果卡的全部结构（.lh-pcard / .lh-pav / .lh-pmain / .lh-pname…），
 * 只在右侧补「已交换 + 换卡日期 + ›」，故与找人卡天然同视觉、零新增布局规范。
 * 头像优先用对方真实头像（.lh-pav.has-img），无头像时退回 .lh-pav 的三套彩色字母底。 */
.lh-fcard { cursor: pointer; }
.lh-fcard:active { background: var(--c-bg); }
.lh-pav.has-img {
  overflow: hidden;
  background: var(--c-bg);
  border: 1px solid var(--c-line-soft);
}
.lh-pav.has-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lh-fside {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 4px;
}
.lh-tag-ex { letter-spacing: .5px; }
.lh-fdate { font-size: 10.5px; color: var(--c-text-3); }
.lh-fgo { font-size: 15px; line-height: 1; color: var(--c-text-3); }

/* ============================================================
   v140（需求①）：「← 返回我的名片」返回条样式块（v58 需求9 引入，v131 改每页一份）
   **已整块删除** —— 用户口径：名片卡下方的双按键与之功能重复，且其 sticky
   吸附位（top: var(--topbar-h, 41px)）恰好人压在「对方尚未与你交换名片」提示文上。
   随之删除的还有 main.js 的构造/补挂/消费链与 leads-hub.js 的写入端（bizcard_lh_back）。
   ⚠ 若回滚本需求，请一并恢复：main.js 的 buildLeadsBackBar / applyLeadsBackBar /
     mountLeadsBackBar、refreshChrome 里的补挂调用、renderGuestCard 后的挂载调用、
     .phone-frame 的 .has-leads-back + --sticky-tab-top:44px 写入，
     以及 leads-hub.js 的 rememberBack / LS_BACK 与 main.js 的 takeLeadsBack 链。
   ============================================================ */

/* ============================================================================
   v59 新增样式（需求 3 找人隐私 / 需求 4 好友删除 / 需求 11 线索回复）
   ============================================================================ */

/* ---------- 需求 3：待处理的交换申请卡片（消息子板块置顶） ---------- */
.lh-reqlist { padding: 8px 0 0; }
.lh-reqcard {
  background: linear-gradient(180deg, #FFFDF7, var(--c-card) 42%);
  border: 1px solid #F1E4C8;
  border-radius: 12px;
  box-shadow: var(--shadow-soft);
  padding: 11px 14px 12px;
  margin-bottom: 8px;
}
.lh-reqcard-head {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 800;
  color: #8A6B1F;
  letter-spacing: .3px;
}
.lh-reqcard-head .lh-ico { width: 14px; height: 14px; }
.lh-reqcard-title { flex: 1 1 auto; }
.lh-reqcard-time { flex: none; font-size: 10.5px; font-weight: 600; color: var(--c-text-3); }
.lh-reqcard-body {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 9px;
}
.lh-reqcard-body .lh-pav { width: 40px; height: 40px; font-size: 15px; }
.lh-reqcard-msg {
  margin-top: 8px;
  padding: 7px 10px;
  border-radius: 8px;
  background: rgba(199, 116, 20, .07);
  font-size: 12px;
  line-height: 1.6;
  color: var(--c-text-2);
  word-break: break-all;
}
.lh-reqcard-note {
  margin-top: 8px;
  font-size: 11px;
  line-height: 1.6;
  color: var(--c-text-3);
}
.lh-reqcard-acts {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.lh-reqcard-btn {
  flex: 1 1 0;
  height: 34px;
  border-radius: 9px;
  border: 1px solid var(--c-line);
  background: var(--c-card);
  color: var(--c-text-2);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.lh-reqcard-btn.is-ok {
  border-color: transparent;
  background: linear-gradient(135deg, var(--c-gold-bar-1), var(--c-gold-bar-2));
  color: #fff;
}
.lh-reqcard-btn:active { transform: scale(.98); }
.lh-reqcard-btn[disabled] { opacity: .6; }

/* ---------- 需求 11：线索回复 ---------- */
.lh-pill-replied {
  flex: none;
  padding: 1px 7px;
  border-radius: 999px;
  background: rgba(14, 110, 84, .12);
  color: #0E6E54;
  font-size: 9.5px;
  font-weight: 800;
  line-height: 1.6;
}
.lh-reply {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--c-line);
}
.lh-reply-head {
  font-size: 11.5px;
  font-weight: 800;
  color: var(--c-text-2);
}
.lh-reply-body {
  margin-top: 5px;
  font-size: 12.5px;
  line-height: 1.7;
  color: var(--c-text);
  white-space: pre-wrap;
  word-break: break-all;
}
.lh-reply-meta { margin-top: 5px; font-size: 11px; color: var(--c-text-3); }
.lh-reply-input {
  margin-top: 6px;
  width: 100%;
  box-sizing: border-box;
  padding: 8px 10px;
  border-radius: 9px;
  border: 1px solid var(--c-line);
  background: var(--c-bg);
  color: var(--c-text);
  font-size: 12.5px;
  line-height: 1.6;
  font-family: inherit;
  resize: none;
  outline: none;
}
.lh-reply-input:focus { border-color: var(--c-gold); }
.lh-reply-send {
  margin-top: 8px;
  height: 32px;
  padding: 0 16px;
  border-radius: 9px;
  border: 0;
  background: var(--c-primary);
  color: #fff;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
}
.lh-reply-send:active { opacity: .88; }
.lh-reply-send[disabled] { opacity: .6; }

/* ---------- 需求 4：好友删除（好友列表行内） ---------- */
.lh-fdel {
  flex: none;
  padding: 1px 8px;
  border-radius: 999px;
  border: 1px solid #F0D3D3;
  background: #FDF3F3;
  color: #C05050;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.6;
  cursor: pointer;
}
.lh-fdel:active { background: #F8E4E4; }

/* ---------- 需求 3：中性标签（「申请已失效」等非强状态） ---------- */
.lh-tag-muted { background: #F1F2F5; color: #6B7280; }
