/* ═══ 液态玻璃镜头层 · 样式 v2 ═══════════════════════════════════════════
   配合 ui-lens.js v2（每张卡内插 .lens-warp + 同尺寸 svg filter）。
   v2 里 backdrop-filter / filter 移到了 .lens-warp 的内联样式（必须如此，
   feImage 才能以卡片尺寸为 viewport 基准），本文件只管「卡片本体」：
   白底、边框、阴影，以及关掉 ui-glass-x 的流光避免叠加。
   ─────────────────────────────────────────────────────────────────────── */

html.lens .card,
html.lens .panel,
html.lens .stat-card,
html.lens .chart-card,
html.lens .table-section,
html.lens .content-panel,
html.lens .ui-glass,
html.lens .ui-glass-t,
html.lens .dashboard-top-stats,
html.lens .bottom-data-card,
html.lens .side-card,
html.lens .ranking-card,
html.lens .list-card {
  animation: none !important;          /* 流光关掉：折射+色差已足够，避免叠加掉帧 */
  will-change: auto !important;
  overflow: hidden !important;         /* warp 圆角裁切（库的 .glass 同款） */
  /* 🔴 本体折射全部关掉 —— 折射/色差/模糊只在 .lens-warp 一层做（单通道），
     否则 ui-glass-x 的 url(#gxRefract) 与 warp 叠成双层，画面发灰 */
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}

/* 普通卡：白底薄一点，让折射透出来 */
html.lens .card,
html.lens .panel,
html.lens .stat-card,
html.lens .chart-card,
html.lens .ui-glass,
html.lens .dashboard-top-stats,
html.lens .side-card,
html.lens .ranking-card,
html.lens .list-card {
  background-color: rgba(255, 255, 255, .30) !important;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, .08) 44%, rgba(255, 255, 255, 0) 100%) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  border: 1px solid rgba(255, 255, 255, .78) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 0 0 1px rgba(255, 255, 255, .28),
    0 2px 4px rgba(24, 24, 24, .04),
    0 12px 40px rgba(24, 24, 24, .12) !important;
}

/* 表格卡 / 主面板：可读性优先 */
html.lens .table-section,
html.lens .content-panel,
html.lens .ui-glass-t,
html.lens .bottom-data-card {
  background-color: rgba(255, 255, 255, .48) !important;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .60) 0%, rgba(255, 255, 255, .12) 40%, rgba(255, 255, 255, 0) 100%) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  border: 1px solid rgba(255, 255, 255, .80) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    0 2px 4px rgba(24, 24, 24, .03),
    0 12px 40px rgba(24, 24, 24, .10) !important;
}

/* 悬停：只提亮 */
html.lens .card:hover,
html.lens .panel:hover,
html.lens .stat-card:hover,
html.lens .chart-card:hover {
  background-color: rgba(255, 255, 255, .38) !important;
  border-color: rgba(255, 255, 255, .92) !important;
}

/* ── 弹窗：折射靠 warp；本体白底调亮、不再挂滤镜（灰感根因）── */
html.lens .modal-dialog,
html.lens .modal-content {
  background-color: rgba(255, 255, 255, .84) !important;
  border: 1px solid rgba(255, 255, 255, .92) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 1),
    0 24px 70px rgba(24, 24, 24, .28) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  animation: none !important;
}
/* 弹窗 warp 的浓度参数已并入 ui-lens.js 的 inline backdrop-filter
   （blur13+saturate122+brightness1.10）——🔴 这里不能再写 backdrop-filter，
   否则会把 inline 的 url(#lensCardN) 折射整个覆盖掉 */

/* ═══ 自定义背景照片模式（html.lens-hasbg）═════════════════════════
   🔴 v8（田总 11-12 三轮结论）：字色切换方案整体废弃——
   照片明暗不均（上暗下亮）+ styles.css 大量硬编码字色，任何全局字色都有死角。
   v8 原则：文字钉死系统默认深色，可读性交给「背景柔光 + 玻璃雾度三档」。
   雾度用 CSS 变量（--fog-*），三档只换变量值；背景照片的白色柔光层由
   ui-lens.js 的 applyBg 按 fog 档拼进 background-image（渐变叠加照片）。 */
html.lens.lens-hasbg body::before,
html.lens.lens-hasbg body::after {
  content: none !important;            /* 原 gxl 壁纸层让位给照片 */
}
/* 雾度变量：默认适中档（JS 会同时挂 lens-fog-2，这里作兜底） */
html.lens.lens-hasbg {
  --fog-card: .55;      /* 普通卡玻璃白 */
  --fog-table: .72;     /* 表格卡 / 主面板 */
  --fog-top:  .64;      /* 顶栏 / 页签条 */
  --fog-menu: .62;      /* 一级菜单胶囊 */
  --fog-menu-hi: .74;   /* 菜单胶囊 hover / active */
  --fog-sub:  .56;      /* 二级菜单胶囊 */
  --fog-sub2: .50;      /* 三级菜单胶囊 */
}
html.lens.lens-hasbg .card,
html.lens.lens-hasbg .panel,
html.lens.lens-hasbg .stat-card,
html.lens.lens-hasbg .chart-card,
html.lens.lens-hasbg .ui-glass,
html.lens.lens-hasbg .dashboard-top-stats,
html.lens.lens-hasbg .side-card,
html.lens.lens-hasbg .ranking-card,
html.lens.lens-hasbg .list-card {
  background-color: rgba(255, 255, 255, var(--fog-card)) !important;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .35) 0%, rgba(255, 255, 255, .06) 44%, rgba(255, 255, 255, 0) 100%) !important;
}
/* 首页月历+待办面板：纯 CSS 玻璃（不挂 warp——大卡折射灰暗且费 GPU） */
html.lens.lens-hasbg .calendar-card,
html.lens.lens-hasbg .todo-card {
  background-color: rgba(255, 255, 255, var(--fog-card)) !important;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .35) 0%, rgba(255, 255, 255, .06) 44%, rgba(255, 255, 255, 0) 100%) !important;
  -webkit-backdrop-filter: blur(10px) saturate(140%) !important;
  backdrop-filter: blur(10px) saturate(140%) !important;
  border: 1px solid rgba(255, 255, 255, .55) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85), 0 12px 32px rgba(24, 24, 24, .14) !important;
}
html.lens.lens-hasbg .table-section,
html.lens.lens-hasbg .content-panel,
html.lens.lens-hasbg .ui-glass-t,
html.lens.lens-hasbg .bottom-data-card {
  background-color: rgba(255, 255, 255, var(--fog-table)) !important;
}
/* 侧栏：照片模式玻璃砖底板彻底让位（田总：只要胶囊，不要底板），
   胶囊自己带雾度保文字；顶栏照常提雾 */
html.lens.lens-hasbg .sidebar {
  background: transparent !important;
  background-image: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
}
html.lens.lens-hasbg .sidebar::before,
html.lens.lens-hasbg .sidebar::after {
  display: none !important;
}
/* 一级胶囊：雾度落在 link 上（li 透明），只留内嵌高光——
   🔴 田总 11-12 四轮：按钮背后不要外投影（照片上黑影明显） */
html.lens.lens-hasbg .menu > .menu-item {
  background: transparent !important;
  box-shadow: none !important;
}
html.lens.lens-hasbg .menu > .menu-item > .menu-link {
  background-color: rgba(255, 255, 255, var(--fog-menu)) !important;
  color: #1F2329 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .5) !important;
  /* 非对称：顶亮底暗左暖右冷（替代均匀整圈） */
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .92),
    inset 0 -1px 0 rgba(255, 255, 255, .16),
    inset 1px 0 0 rgba(255, 249, 238, .18),
    inset -1px 0 0 rgba(238, 246, 255, .18) !important;
}
html.lens.lens-hasbg .menu > .menu-item > .menu-link:hover {
  background-color: rgba(255, 255, 255, var(--fog-menu-hi)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 1),
    inset 0 -1px 0 rgba(255, 255, 255, .26),
    inset 1px 0 0 rgba(255, 249, 238, .28),
    inset -1px 0 0 rgba(238, 246, 255, .28) !important;
}
html.lens.lens-hasbg .menu > .menu-item.active > .menu-link,
html.lens.lens-hasbg .menu > .menu-item > .menu-link.active {
  background-color: rgba(255, 255, 255, var(--fog-menu-hi)) !important;
  box-shadow:
    inset 2.5px 0 0 var(--lg-copper, #B66D44),
    inset 0 1px 0 rgba(255, 255, 255, 1),
    inset 0 -1px 0 rgba(255, 255, 255, .22),
    inset -1px 0 0 rgba(238, 246, 255, .22) !important;
}
/* 🔴 navcapsule 滑块（活跃项背后的滑动玻璃块）自带外投影，照片模式下让位，
   active 强调改由上方胶囊的铜橙竖标承担 */
html.lens.lens-hasbg .ui-navcapsule { display: none !important; }

/* ── 二三级菜单胶囊化（田总 11-12：跟一级一样一颗一颗）──
   二级 --fog-sub、三级 --fog-sub2（更薄一档），缩进阶梯=左 margin 30/46px */
html.lens.lens-hasbg .submenu a,
html.lens.lens-hasbg .sub-submenu a {
  display: flex !important;
  align-items: center !important;
  border-radius: 11px !important;
  background-color: rgba(255, 255, 255, var(--fog-sub)) !important;
  color: #3A4250 !important;
  margin: 2px 8px 2px 30px !important;
  padding: 9px 14px 9px 16px !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .85),
    inset 0 -1px 0 rgba(255, 255, 255, .14),
    inset 1px 0 0 rgba(255, 249, 238, .16),
    inset -1px 0 0 rgba(238, 246, 255, .16) !important;
  transition: background-color .18s ease, box-shadow .18s ease, color .18s ease;
}
html.lens.lens-hasbg .sub-submenu a {
  border-radius: 10px !important;
  background-color: rgba(255, 255, 255, var(--fog-sub2)) !important;
  margin: 2px 8px 2px 48px !important;
  padding: 8px 12px 8px 14px !important;
  font-size: .85rem !important;
}
/* 点状前缀在胶囊里多余 → 撤掉；分组行的铜橙字色保留但压深保可读 */
html.lens.lens-hasbg .submenu a::before,
html.lens.lens-hasbg .sub-submenu a::before { display: none !important; }
html.lens.lens-hasbg .submenu a:hover,
html.lens.lens-hasbg .sub-submenu a:hover {
  background-color: rgba(255, 255, 255, var(--fog-menu-hi)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 -1px 0 rgba(255, 255, 255, .24),
    inset 1px 0 0 rgba(255, 249, 238, .26),
    inset -1px 0 0 rgba(238, 246, 255, .26) !important;
}
html.lens.lens-hasbg .submenu a.active,
html.lens.lens-hasbg .sub-submenu a.active,
html.lens.lens-hasbg .submenu a.active:hover,
html.lens.lens-hasbg .sub-submenu a.active:hover {
  background-color: rgba(255, 255, 255, var(--fog-menu-hi)) !important;
  color: var(--primary-color, #B66D44) !important;
  box-shadow:
    inset 2.5px 0 0 var(--lg-copper, #B66D44),
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 -1px 0 rgba(255, 255, 255, .20),
    inset -1px 0 0 rgba(238, 246, 255, .20) !important;
}
/* 🔴 田总 11-12 六轮反馈：顶栏/页签条两条容器底板全部撤掉——
   面包屑、四个业务页签、用户区都已是独立胶囊，底板纯属多余白带。
   容器只做布局，背景/描边/投影一律透明；可读性由各自胶囊承担。 */
html.lens.lens-hasbg .top-header,
html.lens.lens-hasbg .page-tabs-container,
html.lens.lens-hasbg .view-toggle-container {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
/* 顶栏右侧用户区没有胶囊化：照片上裸字裸钮不可读 → 给小胶囊保底 */
html.lens.lens-hasbg .top-header .user-profile,
html.lens.lens-hasbg .top-header .icon-btn {
  background-color: rgba(255, 255, 255, var(--fog-menu)) !important;
  border-radius: 999px;
  color: #1F2329 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 -1px 0 rgba(255, 255, 255, .18),
    inset 1px 0 0 rgba(255, 250, 238, .30),
    inset -1px 0 0 rgba(238, 246, 255, .30) !important;
}
html.lens.lens-hasbg .top-header .username {
  color: #1F2329 !important;
}
/* 🔴 侧栏底部员工头像区（ui-user-dock，覆盖层注入）：田总 11-12 二十轮
   ——全侧栏都胶囊化了就它还是裸的。内层 .user-profile 收成标准胶囊
   （与 logo 胶囊同语言），撤 dock 分隔线；弹出下拉也统一雾玻璃。 */
html.lens.lens-hasbg .sidebar .ui-user-dock {
  background: transparent !important;
  border-top-color: transparent !important;
}
html.lens.lens-hasbg .sidebar .ui-user-dock .user-profile {
  background-color: rgba(255, 255, 255, var(--fog-menu)) !important;
  background-image: none !important;
  border-radius: 999px !important;
  padding: 6px 14px !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .92),
    inset 0 -1px 0 rgba(255, 255, 255, .18) !important;
}
html.lens.lens-hasbg .sidebar .ui-user-dock .user-profile:hover {
  background-color: rgba(255, 255, 255, var(--fog-menu-hi)) !important;
}
html.lens .sidebar .ui-user-dock .username {
  color: #111827 !important;
  font-weight: 700 !important;
}
html.lens .sidebar .ui-user-dock .dropdown-arrow {
  color: #111827 !important;
}
/* 头像下拉（基本信息/退出）：雾玻璃小面板 */
html.lens .sidebar .ui-user-dock .user-dropdown {
  background: rgba(255, 255, 255, .52) !important;
  -webkit-backdrop-filter: blur(24px) saturate(150%) !important;
  backdrop-filter: blur(24px) saturate(150%) !important;
  border: 1px solid rgba(255, 255, 255, .65) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 48px rgba(24, 24, 24, .24) !important;
}
html.lens .sidebar .ui-user-dock .user-dropdown .dropdown-item {
  color: #1F2329 !important;
}
html.lens .sidebar .ui-user-dock .user-dropdown .dropdown-item:hover {
  background: rgba(255, 255, 255, .60) !important;
}

/* 🔴 logo 行（menu-header）照片模式下裸字压照片 → 小胶囊保底。
   🔴 v8.8c（田总：胶囊形状有问题）：原规则只改 radius 12px，元素仍贴死
   侧栏左上角（x=0,y=0、高 64px）→ 圆角被边缘裁掉、比菜单胶囊（x=10 起）
   凸出一截，看着像块变形的板。现在收成标准胶囊：与菜单同缩进、
   高 44px、999px 全圆角、撤掉底部分隔线。 */
html.lens.lens-hasbg .sidebar .menu-header {
  height: 44px !important;
  margin: 10px 12px 2px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  border-bottom: none !important;
  background-color: rgba(255, 255, 255, var(--fog-menu)) !important;
  background-image: none !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .92),
    inset 0 -1px 0 rgba(255, 255, 255, .18) !important;
}
html.lens.lens-hasbg .sidebar .menu-header .title {
  color: #111827 !important;
  font-weight: 700 !important;
}
/* 版块小标题（工作台/业务/管理，ui-menu.js 注入的 .ui-menu-group）：
   11px 灰 → 12px（加大一号）黑粗 */
html.lens .sidebar .menu > .ui-menu-group {
  color: #111827 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
}

/* ── 弹性过渡：卡片被拉伸后平滑回弹（transform 由 JS 写入） ── */
html.lens .card,
html.lens .panel,
html.lens .stat-card,
html.lens .chart-card,
html.lens .table-section,
html.lens .content-panel,
html.lens .ui-glass,
html.lens .ui-glass-t,
html.lens .dashboard-top-stats,
html.lens .bottom-data-card,
html.lens .side-card,
html.lens .ranking-card,
html.lens .list-card,
html.lens .modal-dialog,
html.lens .modal-content {
  transition: transform .18s cubic-bezier(.22,.61,.36,1);
}

/* ═══ v8 雾量三档（只作用于照片模式；面板「通透/适中/浓雾」）════════
   只换 --fog-* 变量值，卡片结构/折射/文字颜色一概不动。
   🔴 v7 的字色主题（lens-tt-light/lens-tt-dark）已整体删除：
      照片明暗不均 + 硬编码字色过多，字色切换必有死角（11-12 实测）。 */
/* 通透：照片最出彩，玻璃保底可读（顶栏/表格略高于卡，保页签与数字） */
html.lens.lens-hasbg.lens-fog-1 {
  --fog-card: .50;
  --fog-table: .64;
  --fog-top:  .68;
  --fog-menu: .62;
  --fog-menu-hi: .72;
  --fog-sub:  .52;
  --fog-sub2: .46;
}
/* 适中（默认）：日常档 */
html.lens.lens-hasbg.lens-fog-2 {
  --fog-card: .55;
  --fog-table: .72;
  --fog-top:  .64;
  --fog-menu: .62;
  --fog-menu-hi: .74;
  --fog-sub:  .56;
  --fog-sub2: .50;
}
/* 浓雾：可读性拉满，接近磨砂实白 */
html.lens.lens-hasbg.lens-fog-3 {
  --fog-card: .70;
  --fog-table: .85;
  --fog-top:  .78;
  --fog-menu: .72;
  --fog-menu-hi: .84;
  --fog-sub:  .64;
  --fog-sub2: .58;
}

/* ═══ 面包屑胶囊 + 分裂出场（html.lens 全局，顶栏 header-left）═══════
   🔴 田总 11-12 五轮：面包屑变胶囊，点到二级菜单时新面包屑从前面一颗
   「向右分裂」出来。crumb 是 ui-menu.js 生成的 .ui-crumb（par/sep/cur 依次
   排列），纯 CSS 逐段错峰入场即可实现分裂感——transform-origin: left center
   让每段都从「前一段的位置」向右长出来。 */
html.lens {  /* 非照片模式兜底值（照片模式由三档雾量覆盖） */
  --fog-menu-hi: .74;
  --fog-sub: .56;
  --fog-sub2: .50;
}
html.lens .ui-crumb { gap: 6px !important; }
html.lens .ui-crumb-par,
html.lens .ui-crumb-cur {
  padding: 5px 12px !important;
  border-radius: 999px !important;
  background-color: rgba(255, 255, 255, var(--fog-sub)) !important;
  color: #3A4250 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .70),
    inset 0 -1px 0 rgba(255, 255, 255, .12),
    inset 1px 0 0 rgba(255, 249, 238, .14),
    inset -1px 0 0 rgba(238, 246, 255, .14) !important;
}
html.lens .ui-crumb-cur {
  background-color: rgba(255, 255, 255, var(--fog-menu-hi)) !important;
  color: #1F2329 !important;
  font-weight: 600;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .90),
    inset 0 -1px 0 rgba(255, 255, 255, .16),
    inset 1px 0 0 rgba(255, 249, 238, .18),
    inset -1px 0 0 rgba(182, 109, 68, .22) !important;
}
@keyframes lensCrumbOut {
  from { opacity: 0; transform: translateX(-12px) scale(.90); }
  to   { opacity: 1; transform: none; }
}
html.lens .ui-crumb > span {
  transform-origin: left center;
  animation: lensCrumbOut .26s cubic-bezier(.22, .61, .36, 1) backwards;
}
html.lens .ui-crumb > span:nth-child(1) { animation-delay: .04s; }
html.lens .ui-crumb > span:nth-child(2) { animation-delay: .10s; }
html.lens .ui-crumb > span:nth-child(3) { animation-delay: .16s; }
html.lens .ui-crumb > span:nth-child(4) { animation-delay: .22s; }
html.lens .ui-crumb > span:nth-child(5) { animation-delay: .28s; }
html.lens .ui-crumb > span:nth-child(6) { animation-delay: .34s; }
html.lens .ui-crumb > span:nth-child(n+7) { animation-delay: .40s; }

/* ═══ 四个业务页签：独立胶囊 + 鼠标弹性（田总 11-12）═══════════════
   🔴 弹性走 transform，不占布局——间距由 flex gap 钉死，胶囊弹得再欢
   也只是跟缝隙里的空气重叠，绝不会压到隔壁胶囊下面；
   扩幅按元素宽度自适应封顶（4px），两个胶囊同时相向弹也吃不满 gap。 */
html.lens body .view-toggle-container {
  padding: 6px 10px !important;
}
html.lens body .view-toggle-btn-group {
  display: inline-flex !important;
  gap: 12px !important;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
  overflow: visible !important;   /* 弹性扩幅不许被 group 圆角裁掉 */
}
html.lens body .view-toggle-btn {
  border-radius: 999px !important;
  background-color: rgba(255, 255, 255, var(--fog-sub)) !important;
  color: #3A4250 !important;
  border: 1px solid rgba(255, 255, 255, .42) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .85),
    inset 0 -1px 0 rgba(255, 255, 255, .14),
    inset 1px 0 0 rgba(255, 249, 238, .16),
    inset -1px 0 0 rgba(238, 246, 255, .16) !important;
  transition: transform .18s cubic-bezier(.22, .61, .36, 1),
              background-color .18s ease, box-shadow .18s ease, color .18s ease;
}
html.lens body .view-toggle-btn:hover,
html.lens body .view-toggle-btn:hover:not(.active) {
  background-color: rgba(255, 255, 255, var(--fog-menu-hi)) !important;
  color: #1F2329 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 -1px 0 rgba(255, 255, 255, .24),
    inset 1px 0 0 rgba(255, 249, 238, .26),
    inset -1px 0 0 rgba(238, 246, 255, .26) !important;
}
html.lens body .view-toggle-btn.active,
html.lens body .view-toggle-btn.active:hover {
  background-color: rgba(255, 255, 255, var(--fog-menu-hi)) !important;
  color: var(--lg-copper, #B66D44) !important;
  border-color: rgba(182, 109, 68, .55) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 -1px 0 rgba(255, 255, 255, .18),
    inset 1px 0 0 rgba(255, 249, 238, .18),
    inset -1px 0 0 rgba(182, 109, 68, .30) !important;
}

/* ═══ 子菜单「分裂展开」：点击胶囊，子项向下依次弹开 ═══════════════
   挂在既有 .show 机制上（script.js 切换 .show），一行 JS 都不用碰。
   🔴 只作用于子菜单 li——li 内没有 backdrop-filter 宿主（胶囊是纯 rgba 底），
   不碰玻璃三铁律管辖的玻璃面；animation backwards 填充保证延迟项先隐藏，
   动画结束 transform 自动归位、不留残留。 */
@keyframes lensSplit {
  from { opacity: 0; transform: translateY(-10px) scale(.94); }
  to   { opacity: 1; transform: none; }
}
html.lens .sidebar .submenu.show > li,
html.lens .sidebar .sub-submenu.show > li {
  animation: lensSplit .30s cubic-bezier(.22, .61, .36, 1) backwards;
}
html.lens .sidebar .submenu.show > li:nth-child(1),
html.lens .sidebar .sub-submenu.show > li:nth-child(1) { animation-delay: .02s; }
html.lens .sidebar .submenu.show > li:nth-child(2),
html.lens .sidebar .sub-submenu.show > li:nth-child(2) { animation-delay: .06s; }
html.lens .sidebar .submenu.show > li:nth-child(3),
html.lens .sidebar .sub-submenu.show > li:nth-child(3) { animation-delay: .10s; }
html.lens .sidebar .submenu.show > li:nth-child(4),
html.lens .sidebar .sub-submenu.show > li:nth-child(4) { animation-delay: .14s; }
html.lens .sidebar .submenu.show > li:nth-child(5),
html.lens .sidebar .sub-submenu.show > li:nth-child(5) { animation-delay: .18s; }
html.lens .sidebar .submenu.show > li:nth-child(6),
html.lens .sidebar .sub-submenu.show > li:nth-child(6) { animation-delay: .22s; }
html.lens .sidebar .submenu.show > li:nth-child(7),
html.lens .sidebar .sub-submenu.show > li:nth-child(7) { animation-delay: .26s; }
html.lens .sidebar .submenu.show > li:nth-child(8),
html.lens .sidebar .sub-submenu.show > li:nth-child(8) { animation-delay: .30s; }
html.lens .sidebar .submenu.show > li:nth-child(n+9),
html.lens .sidebar .sub-submenu.show > li:nth-child(n+9) { animation-delay: .34s; }

/* ═══ 光效非对称高光（讲义第六步：掠射光阵语义，田总 11-12 拍板偷学）════
   gx-ring 均匀整圈白边（上下左右同亮）＝塑料感来源（第六步 01 明令禁止）。
   改成：顶亮（主顶光）/ 底暗 / 左暖 / 右冷 —— 四点冷暖掠射光的 CSS 等价。
   外投影（gx-drop）保留；底部透镜暗晕保留。特异性 0,2,1 压过 gxl 的 0,1,1。 */
html.lens body .card,
html.lens body .panel,
html.lens body .stat-card,
html.lens body .chart-card,
html.lens body .table-section,
html.lens body .content-panel,
html.lens body .ui-glass,
html.lens body .ui-glass-t,
html.lens body .dashboard-top-stats,
html.lens body .bottom-data-card,
html.lens body .side-card,
html.lens body .ranking-card,
html.lens body .list-card {
  box-shadow:
    inset 0 1.5px 1px rgba(255, 255, 255, .95),
    inset 0 -1.5px 1px rgba(255, 255, 255, .20),
    inset 1.5px 0 1px rgba(255, 250, 238, .36),
    inset -1.5px 0 1px rgba(236, 246, 255, .36),
    inset 0 -34px 44px -40px rgba(44, 82, 128, .30),
    var(--gx-drop) !important;
}

/* ═══ 统计带专项（首页 5 段 / 案件区 7 段同款 .dashboard-top-stats）═══
   田总 11-12 七轮反馈四件事：①撤悬停高亮 ②换菜单同款追光
   ③退出鼠标弹性（JS getRects 已跳过）④字体黑+加粗+放大。 */
/* ① 悬停高亮撤掉：四处来源一并压掉——
   gxl 的 .13 白底 (0,4,1)、ui-design 的 #fbfbfc (0,2,0)、
   ui-design 的 ID 级 --glass-bg-hi (1,4,1)、index.html 内联 (1,3,0)。
   ID 级的必须用同带 ID 的选择器回敬。 */
html.lens body .dashboard-top-stats > .top-stat-card,
html.lens body .dashboard-top-stats > .top-stat-card:hover,
html.lens body.home-page #serviceView .dashboard-top-stats > .top-stat-card:hover,
html.lens body.home-page #serviceView .bottom-section .dashboard-top-stats > .top-stat-card:hover {
  background-color: transparent !important;
  transition: none !important;
}
/* ② 追光：径向高光吃 --gxm/--gxn——ui-glass-flow.js 本来就在给本带写变量，
   与侧栏菜单完全同一机制（光点跟鼠标滑走，离开后留在最后位置）。
   重写 background-image（原线性渐变保留，光层叠在其上）。
   🔴 11-13 补 background-color：ui-glass-x.css 的 html.gxl body.home-page
   .dashboard-top-stats (0,3,2) 把白底压到 .09，深色壁纸下整条黑乎乎；
   这里用同权重选择器 + lens 后加载赢平局。
   🔴 11-13 二轮：邻居板块 backdrop 全是 none，唯独本带被 gxl 塞了
   blur(72px) saturate(2)——饱和度翻倍把壁纸暗灰放大透出，整条偏灰；
   与板块完全对齐 = backdrop 撤掉 + 白底提到 --fog-table（数据卡同档）。 */
html.lens body.home-page .dashboard-top-stats,
html.lens body .dashboard-top-stats {
  background-color: rgba(255, 255, 255, var(--fog-table)) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background-image:
    radial-gradient(42% 180% at var(--gxm, 50%) var(--gxn, -30%),
      rgba(255, 255, 255, .40) 0%, rgba(255, 255, 255, .12) 46%, rgba(255, 255, 255, 0) 74%),
    linear-gradient(180deg, rgba(255, 255, 255, .55) 0%, rgba(255, 255, 255, .08) 44%, rgba(255, 255, 255, 0) 100%) !important;
}
html.lens.lens-hasbg body.home-page .dashboard-top-stats,
html.lens.lens-hasbg body .dashboard-top-stats {
  background-color: rgba(255, 255, 255, var(--fog-table)) !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  background-image:
    radial-gradient(42% 180% at var(--gxm, 50%) var(--gxn, -30%),
      rgba(255, 255, 255, .32) 0%, rgba(255, 255, 255, .10) 46%, rgba(255, 255, 255, 0) 74%),
    linear-gradient(180deg, rgba(255, 255, 255, .35) 0%, rgba(255, 255, 255, .06) 44%, rgba(255, 255, 255, 0) 100%) !important;
}
/* ④ 字体：黑 + 加粗 + 放大（标签 18→20 / 数值 24→30）。
   🔴 带 > .top-stat-card 提到 (0,4,2)——ui-liquid-glass.css 有条
   :first-child 铜橙数值规则 (0,4,0)，不加这级压不掉首卡。 */
html.lens body .dashboard-top-stats > .top-stat-card .top-stat-label {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #111827 !important;
  opacity: 1 !important;
}
html.lens body .dashboard-top-stats > .top-stat-card .top-stat-value {
  font-size: 30px !important;
  font-weight: 800 !important;
  color: #111827 !important;
  opacity: 1 !important;
}

/* ═══ 客户列表：分类页签胶囊化 + 撤底板白带（田总 11-12 八轮）══════
   .tabs 原是白底圆角卡（customer-list.css），页签压在上面；
   照片模式下这条白带很突兀 → 容器只做布局全透明，页签一颗颗独立胶囊，
   与首页四个业务页签（view-toggle-btn）完全同一套语言：
   雾度 --fog-sub、hover/active 提到 --fog-menu-hi、active 铜橙描边。 */
html.lens .tabs {
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  padding: 8px 16px !important;
}
html.lens .tab-item,
html.lens .group-bind-btn {
  border-radius: 999px !important;
  background-color: rgba(255, 255, 255, var(--fog-sub)) !important;
  color: #3A4250 !important;
  border: 1px solid rgba(255, 255, 255, .42) !important;
  padding: 9px 16px !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .85),
    inset 0 -1px 0 rgba(255, 255, 255, .14),
    inset 1px 0 0 rgba(255, 249, 238, .16),
    inset -1px 0 0 rgba(238, 246, 255, .16) !important;
  transition: background-color .18s ease, box-shadow .18s ease, color .18s ease;
}
html.lens .tab-item:hover,
html.lens .group-bind-btn:hover {
  background-color: rgba(255, 255, 255, var(--fog-menu-hi)) !important;
  color: #1F2329 !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 -1px 0 rgba(255, 255, 255, .24),
    inset 1px 0 0 rgba(255, 249, 238, .26),
    inset -1px 0 0 rgba(238, 246, 255, .26) !important;
}
html.lens .tab-item.active {
  background-color: rgba(255, 255, 255, var(--fog-menu-hi)) !important;
  color: var(--lg-copper, #B66D44) !important;
  border-color: rgba(182, 109, 68, .55) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 -1px 0 rgba(255, 255, 255, .18),
    inset 1px 0 0 rgba(255, 249, 238, .18),
    inset -1px 0 0 rgba(182, 109, 68, .30) !important;
}
/* 分隔竖线在胶囊流里弱化成一道浅灰 */
html.lens .tab-divider { background: rgba(120, 130, 145, .35) !important; }

/* ═══ 客户列表：搜索框聚焦（田总 11-12 八轮+九轮）════════════════
   根源：customer-list.css .cust-search-wrap:focus-within 的
   box-shadow: 0 0 0 2px rgba(17,24,39,.10) —— 一圈灰黑光晕。
   🔴 九轮反馈：黑圈换成白色柔光圈后又嫌白框 → 聚焦零视觉变化，
   边框/阴影完全回到非聚焦态，干干净净。 */
html.lens .cust-search-wrap:focus-within {
  border-color: var(--main-border-color, #e5e7eb) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, .05) !important;
}

/* ═══ 客户列表：名称列（田总 11-12 九轮）════════════════════════
   ① 客户名称全部黑色加粗（原 .customer-link 是铜橙 500）；
   ② 名称前的首字圆头像（.name-avatar = c.name 首字「缩写」）没有实际
      用途 → 隐藏；表头 name-col 的 138px 左缩进同步减去头像位 40px。 */
html.lens .customer-table .customer-link,
html.lens .customer-table .customer-name-text {
  color: #111827 !important;
  font-weight: 700 !important;
}
html.lens .customer-table .customer-link:hover {
  color: #111827 !important;
  text-decoration: underline;
}
html.lens .customer-table .name-avatar { display: none !important; }
html.lens .customer-table thead th.name-col { padding-left: 98px !important; }

/* ═══ 玻璃日历（田总 11-12 十轮/十二轮：参考 Apple 日期选择器版式）═══
   原生 input[type=date] 弹层是浏览器内置渲染、CSS 够不着 → ui-lens.js
   自绘接管。版式：周一开头 / 月份居中 / 圆形单选（Apple 风）；
   🔴 十二轮：面板改卡片同款透明液态玻璃（0.52 白 + 顶部渐变 + blur26，
   原先 0.78 太实成白板）；标题可点 → 月选格 → 年选格三级钻取。 */
html.lens input[type="date"]::-webkit-calendar-picker-indicator {
  display: none !important;
}
#lensDatePicker {
  position: fixed; z-index: 99998; display: none;
  width: 300px; padding: 14px 16px 10px;
  border-radius: 20px;
  background-color: rgba(255, 255, 255, .36) !important;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .34) 0%, rgba(255, 255, 255, .08) 44%, rgba(255, 255, 255, 0) 100%) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  -webkit-backdrop-filter: blur(28px) saturate(170%);
  backdrop-filter: blur(28px) saturate(170%);
  border: 1px solid rgba(255, 255, 255, .58);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 -1px 0 rgba(255, 255, 255, .20),
    inset 1px 0 0 rgba(255, 250, 238, .28),
    inset -1px 0 0 rgba(238, 246, 255, .28),
    0 24px 60px rgba(24, 24, 24, .28);
  font: 13px/1 -apple-system, 'Segoe UI', 'Microsoft YaHei', sans-serif;
  color: #1F2329;
  user-select: none;
  animation: ldpIn .18s cubic-bezier(.22, .61, .36, 1);
}
@keyframes ldpIn {
  from { opacity: 0; transform: translateY(-6px) scale(.96); }
  to   { opacity: 1; transform: none; }
}
.ldp-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.ldp-title {
  font: inherit; font-size: 14px; font-weight: 700; letter-spacing: .5px;
  color: #1F2329; background: transparent; border: none; cursor: pointer;
  padding: 5px 10px; border-radius: 999px;
  transition: background .15s;
}
button.ldp-title:hover { background: rgba(255, 255, 255, .65); }
/* 年选格的标题是纯展示（区间文字），不给手型 */
#lensDatePicker .ldp-title:not([data-act]) { cursor: default; }
#lensDatePicker .ldp-title:not([data-act]):hover { background: transparent; }
.ldp-nav {
  width: 28px; height: 28px; border-radius: 50%;
  border: none; background: rgba(255, 255, 255, .5);
  color: #3A4250; font-size: 16px; line-height: 1; cursor: pointer;
  transition: background .15s;
}
.ldp-nav:hover { background: rgba(255, 255, 255, .95); }
.ldp-week { display: grid; grid-template-columns: repeat(7, 1fr); margin-bottom: 4px; }
.ldp-week span { text-align: center; font-size: 11px; font-weight: 600; color: #8A93A3; padding: 6px 0; }
.ldp-grid { display: grid; grid-template-columns: repeat(7, 1fr); row-gap: 2px; }
.ldp-day {
  width: 34px; height: 34px; margin: 0 auto;
  border-radius: 50%; border: none; background: transparent;
  color: #1F2329; font-size: 13px; font-weight: 500; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: background .12s;
}
.ldp-day:hover { background: rgba(17, 24, 39, .08); }
.ldp-day.dim { color: #B3BAC6; }
.ldp-day.today {
  box-shadow: inset 0 0 0 1.5px rgba(182, 109, 68, .55);
  color: #B66D44; font-weight: 700;
}
.ldp-day.sel {
  background: linear-gradient(135deg, #C77E52, #B66D44);
  color: #fff !important; font-weight: 700;
  box-shadow: 0 4px 10px rgba(182, 109, 68, .35);
}
/* 月选格 / 年选格（3 列大格子） */
.ldp-grid.ldp-pick { grid-template-columns: repeat(3, 1fr); gap: 6px; margin-bottom: 4px; }
.ldp-cell {
  height: 40px; border: none; border-radius: 11px;
  background: rgba(255, 255, 255, .38);
  color: #1F2329; font: inherit; font-size: 13px; font-weight: 600;
  cursor: pointer; transition: background .15s;
}
.ldp-cell:hover { background: rgba(255, 255, 255, .85); }
.ldp-cell.today {
  box-shadow: inset 0 0 0 1.5px rgba(182, 109, 68, .55);
  color: #B66D44;
}
.ldp-cell.sel {
  background: linear-gradient(135deg, #C77E52, #B66D44);
  color: #fff !important;
  box-shadow: 0 4px 10px rgba(182, 109, 68, .35);
}
.ldp-foot {
  display: flex; justify-content: space-between;
  margin-top: 8px; padding-top: 8px;
  border-top: 1px solid rgba(17, 24, 39, .08);
}
.ldp-clear, .ldp-today {
  border: none; background: transparent;
  font-size: 13px; font-weight: 600; cursor: pointer;
  padding: 6px 10px; border-radius: 8px;
  transition: background .15s;
}
.ldp-clear { color: #8A93A3; }
.ldp-clear:hover { background: rgba(17, 24, 39, .06); }
.ldp-today { color: #B66D44; }
.ldp-today:hover { background: rgba(182, 109, 68, .10); }

/* ═══ 玻璃下拉（田总 11-12 十四轮：原生 select 弹层 CSS 够不着 → 自绘接管）═══
   ui-lens.js 模块⑦在 mousedown 拦掉原生弹层并弹此面板；
   皮肤与日历同款透明液态玻璃（.40 白 + blur28 + 内嵌高光）。 */
#lensSelectPop {
  position: fixed; z-index: 99998; display: none;
  padding: 6px;
  border-radius: 14px;
  max-height: 340px; overflow-y: auto;
  overscroll-behavior: contain;   /* 🔴 v8.8f：滚到列表底后多余滚量不得链给页面（链了会触发"页面滚动关面板"） */
  background-color: rgba(255, 255, 255, .40) !important;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .36) 0%, rgba(255, 255, 255, .06) 46%, rgba(255, 255, 255, 0) 100%) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  -webkit-backdrop-filter: blur(28px) saturate(170%);
  backdrop-filter: blur(28px) saturate(170%);
  border: 1px solid rgba(255, 255, 255, .60);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 -1px 0 rgba(255, 255, 255, .18),
    inset 1px 0 0 rgba(255, 250, 238, .26),
    inset -1px 0 0 rgba(238, 246, 255, .26),
    0 18px 48px rgba(24, 24, 24, .26);
  font: 13px/1 -apple-system, 'Segoe UI', 'Microsoft YaHei', sans-serif;
  color: #1F2329;
  user-select: none;
  animation: lspIn .16s cubic-bezier(.22, .61, .36, 1);
}
@keyframes lspIn {
  from { opacity: 0; transform: translateY(-5px) scale(.97); }
  to   { opacity: 1; transform: none; }
}
.lsp-group {
  padding: 8px 12px 4px;
  font-size: 11px; font-weight: 600; color: #8A93A3;
  letter-spacing: .5px;
}
.lsp-opt {
  padding: 9px 14px;
  border-radius: 9px;
  cursor: pointer;
  font-size: 13px; font-weight: 500;
  transition: background .12s;
}
.lsp-opt:hover { background: rgba(255, 255, 255, .55); }
.lsp-opt.on {
  color: #B66D44; font-weight: 700;
  background: rgba(182, 109, 68, .12);
}
.lsp-opt.dis { color: #B3BAC6; cursor: default; opacity: .6; }
.lsp-empty { padding: 12px 14px; color: #8A93A3; font-size: 12px; }

/* ═══ 客户列表：表格文字（田总 11-12 十一轮）════════════════════
   基准实测：编号单元格 14px/400。表头 12px/600 灰棕 → 黑加粗 16px
   （比编号大两号）；表体文字全黑加粗 14px（与编号同字号）。
   🔴 语义小徽章（退/尾/评级圆点）保留本色，状态胶囊（服务中等浅底
   胶囊）文字转黑加粗但底色保留；操作列胶囊按钮（重新分配/⋯）是
   控件不是数据文字，不动。 */
html.lens .customer-table thead th {
  color: #111827 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}
html.lens .customer-table tbody td {
  color: #111827 !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}
html.lens .customer-table tbody td .status-tag {
  color: #111827 !important;
  font-weight: 700 !important;
}

/* ═══ 工具栏杂钮统一（田总 11-12 十三轮）══════════════════════
   删除（btn-danger 实心红块）与列设置（6px 圆角灰钮）脱离玻璃胶囊语言
   → 全部对齐 .btn-default 的现行玻璃参数（bg .58 / 白边 .86 /
   radius 12px / 同款内嵌高光+投影）；删除保留红字以示危险语义。 */
html.lens .table-toolbar .btn-danger {
  background-color: rgba(255, 255, 255, .58) !important;
  background-image: none !important;
  color: #B4362A !important;
  border: 1px solid rgba(255, 255, 255, .86) !important;
  box-shadow:
    inset 0 1.5px 1px rgba(255, 255, 255, .95),
    0 8px 20px rgba(122, 78, 52, .18) !important;
}
html.lens .table-toolbar .btn-danger:hover {
  background-color: rgba(255, 255, 255, .78) !important;
}
html.lens .col-settings-btn {
  border-radius: 12px !important;
  background-color: rgba(255, 255, 255, .58) !important;
  color: #5C4B41 !important;
  border: 1px solid rgba(255, 255, 255, .86) !important;
  box-shadow:
    inset 0 1.5px 1px rgba(255, 255, 255, .95),
    0 8px 20px rgba(122, 78, 52, .18) !important;
  transition: background-color .18s ease, box-shadow .18s ease, color .18s ease;
}
html.lens .col-settings-btn:hover {
  background-color: rgba(255, 255, 255, .78) !important;
  color: #1F2329 !important;
}

/* ═══ 公海/商机 筛选区（田总 11-12 十六轮 / 十八轮修正）════════
   🔴 十八轮（田总：还看得到长方形底框 + 胶囊偏粉橙）：
   ①面板底框整个撤掉（连雾玻璃都不要）——胶囊直接浮在背景上；
   ②粉橙根因 = 白 .56 叠在默认背景右上角的晚桃粉光晕上被染色
     → 胶囊改真·透明玻璃：白 .30 + backdrop blur + 白描边，
     自己带模糊就不吃背景色相；选中态白 .52 + 铜橙描边字。 */
html.lens.lens-hasbg .lead-filter-panel,
html.lens.lens-hasbg .opp-filter-panel {
  background: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
/* 面板标题分隔线一并撤掉（残留框线） */
/* 🔴 11-13（田总：筛选条件+折叠还是一根长白条）：styles.css:6290 给
   .opp-filter-panel-header 单独上了 background:#f9fafb，镜头层把面板底
   撤成透明后，头部这层灰白底整条横贯暴露 → 撤成透明
   （线索页头部本来就没底色，所以线索页没这条）。 */
html.lens .lead-filter-panel-header,
html.lens .opp-filter-panel-header {
  border-bottom-color: transparent !important;
  background: transparent !important;
  background-image: none !important;
}
/* 折叠按钮 hover 的灰底 #e5e7eb 同步玻璃化 */
html.lens .lead-filter-panel-toggle:hover,
html.lens .opp-filter-panel-toggle:hover {
  background: rgba(255, 255, 255, .45) !important;
  color: #111827 !important;
}
/* 🔴 11-13（田总：商机页好多横线）：styles.css 给 .opp-filter-row-item
   每行筛选项画了 border-bottom: 1px solid #f3f4f6（行分隔线），
   玻璃面板底已撤、胶囊直接浮在壁纸上，这些灰线全暴露出来 → 全撤。 */
html.lens .opp-filter-row-item {
  border-bottom-color: transparent !important;
}
/* 行首标签：黑 + 粗 + 放大一号（13→14px） */
html.lens .lead-filter-row-label,
html.lens .opp-filter-row-label {
  color: #111827 !important;
  font-weight: 700 !important;
  font-size: 14px !important;
  text-shadow: 0 1px 6px rgba(255, 255, 255, .55) !important;
}
html.lens .lead-filter-panel-title,
html.lens .opp-filter-panel-title {
  color: #111827 !important;
  font-weight: 700 !important;
}
/* 筛选项：真·透明玻璃胶囊（blur 兜底可读性，不吃背景色相） */
/* 🔴 11-13（田总：外圈框没去干净）：ui-liquid-glass.css:551 给 .lead-ftag/.opp-ftag
   label 本体上了铜色底 rgba(182,109,68,.13)+铜色边框——镜头层只玻璃化了内层 span，
   外层 label 的底框全露出来，几百颗连成一片像背景带没撤干净；
   label 只该做布局（inline-flex），底/框/模糊全撤。 */
html.lens .lead-ftag,
html.lens .opp-ftag {
  background: transparent !important;
  border-color: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
html.lens .lead-ftag span,
html.lens .opp-ftag span,
html.lens .lead-ftag-all-btn,
html.lens .opp-ftag-all-btn,
html.lens .lead-ftag-all-btn--owner,
html.lens .opp-ftag-all-btn--owner {
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .30) !important;
  -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
  border: 1px solid rgba(255, 255, 255, .45) !important;
  color: #111827 !important;
  font-weight: 600 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .60) !important;
  transition: background .15s, border-color .15s;
}
html.lens .lead-ftag span:hover,
html.lens .opp-ftag span:hover,
html.lens .lead-ftag-all-btn:hover,
html.lens .opp-ftag-all-btn:hover {
  background: rgba(255, 255, 255, .46) !important;
}
html.lens .lead-ftag input:checked + span,
html.lens .opp-ftag input:checked + span,
html.lens .lead-ftag-all-btn.active,
html.lens .opp-ftag-all-btn.active,
html.lens .lead-ftag-all-btn--owner.active,
html.lens .opp-ftag-all-btn--owner.active {
  background: rgba(255, 255, 255, .52) !important;
  border-color: rgba(182, 109, 68, .55) !important;
  color: #B66D44 !important;
  font-weight: 700 !important;
}
/* 「自定义 ▾」触发钮：内联样式（#fff 白底/4px 圆角/#e5e7eb 边）须 important 压 */
html.lens .lead-ftag-date-trigger {
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .30) !important;
  -webkit-backdrop-filter: blur(14px) saturate(130%) !important;
  backdrop-filter: blur(14px) saturate(130%) !important;
  border: 1px solid rgba(255, 255, 255, .45) !important;
  color: #111827 !important;
  font-weight: 600 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .60) !important;
}
/* 自定义时间段弹层（内联白底）也统一雾玻璃 */
html.lens #lastCallDateRange,
html.lens #createdAtDateRange {
  background: rgba(255, 255, 255, .46) !important;
  -webkit-backdrop-filter: blur(24px) saturate(150%) !important;
  backdrop-filter: blur(24px) saturate(150%) !important;
  border: 1px solid rgba(255, 255, 255, .62) !important;
  border-radius: 14px !important;
  box-shadow: 0 18px 48px rgba(24, 24, 24, .24) !important;
}
/* 「展开 ▼」行业折叠钮 */
html.lens .lead-industry-toggle-btn,
html.lens .opp-industry-toggle-btn {
  color: #111827 !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-shadow: 0 1px 6px rgba(255, 255, 255, .55) !important;
}

/* ═══ 首页月历 + 待办面板（田总 11-12 二十一轮：玻璃化）════════════
   根因：.calendar-card/.todo-card 是 index.html 内联 #fff 实底白卡，
   不在镜头层扫描名单 → 玻璃体系里两块白板。已加入 scan SEL 挂 warp，
   这里补齐内部控件语言：导航钮/今天钮胶囊化、铜橙强调、玻璃事件条。 */
/* 月份标题 / 待办标题：黑粗 */
html.lens .cal-month-title,
html.lens .todo-panel-title {
  color: #111827 !important;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .4) !important;
}
/* 导航钮 ‹ › / 今天：玻璃胶囊 */
html.lens .cal-nav-btn,
html.lens .cal-today-btn {
  background: rgba(255, 255, 255, var(--fog-sub)) !important;
  border: 1px solid rgba(255, 255, 255, .62) !important;
  border-radius: 999px !important;
  color: #1F2329 !important;
  font-weight: 600 !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .85) !important;
  transition: background .15s !important;
}
html.lens .cal-nav-btn:hover,
html.lens .cal-today-btn:hover {
  background: rgba(255, 255, 255, var(--fog-menu-hi)) !important;
}
html.lens .cal-today-btn {
  color: #B66D44 !important;
  border-color: rgba(182, 109, 68, .45) !important;
}
/* 星期表头：黑粗 */
html.lens .cal-table th {
  color: #111827 !important;
  font-weight: 700 !important;
  border-bottom-color: rgba(17, 24, 39, .10) !important;
}
/* 日期格悬停（田总 11-12：不要整排变白，要菜单同款光影）——
   根因：ui-design.css 的全局 `tbody tr:hover { background:#fbfbfc }` 把月历 <tr> 也扫白，
   叠加内联 .cal-day:hover #f2f3f6 与本文件旧 .38 白 → 整排/大块白。
   处方：①行悬停透明 ②格悬停撤白底，换格内追光（--gxm/--gxn 由 ui-glass-flow.js
   写入，.cal-day 已入 SEL），径向高光跟鼠标滑走，离开即散。 */
html.lens .cal-table tbody tr:hover {
  background: transparent !important;
}
html.lens .cal-day:hover {
  background-color: transparent !important;
  background-image:
    radial-gradient(46% 60% at var(--gxm, 50%) var(--gxn, -10%),
      rgba(255, 255, 255, .30) 0%, rgba(255, 255, 255, .10) 46%, rgba(255, 255, 255, 0) 74%) !important;
}
html.lens .cal-day .day-num {
  color: #111827 !important;
  font-weight: 700 !important;
}
html.lens .cal-day.other-month .day-num {
  color: rgba(17, 24, 39, .38) !important;
}
html.lens .cal-day.today .day-num-circle {
  background: linear-gradient(135deg, #C77E52, #B66D44) !important;
  color: #fff !important;
  box-shadow: 0 3px 8px rgba(182, 109, 68, .35) !important;
}
/* 今天的数字在铜橙实心圆里 → 必须白字（压掉上面的黑粗通则） */
html.lens .cal-day.today .day-num {
  color: #fff !important;
}
html.lens .cal-day.selected {
  background: rgba(255, 255, 255, .45) !important;
  border-color: rgba(182, 109, 68, .60) !important;
}
/* 事件条：玻璃小胶囊（普通=白玻璃；案件/开庭保留语义色但改半透）
   —— 文字黑粗，语义靠底色区分 */
html.lens .cal-event {
  background: rgba(255, 255, 255, .46) !important;
  border: 1px solid rgba(255, 255, 255, .50) !important;
  color: #111827 !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .70) !important;
}
html.lens .cal-event.case-event {
  background: rgba(251, 191, 36, .30) !important;
  border-color: rgba(217, 119, 6, .28) !important;
  color: #92400E !important;
}
html.lens .cal-event.hearing-event {
  background: rgba(236, 72, 153, .18) !important;
  border-color: rgba(219, 39, 119, .26) !important;
  color: #9D174D !important;
}
html.lens .cal-event-more {
  color: rgba(17, 24, 39, .55) !important;
  font-weight: 600 !important;
}
/* 待办面板：标题行分隔线淡化、页签黑粗 + 铜橙激活 */
html.lens .todo-panel-header,
html.lens .todo-panel-tabs {
  border-bottom-color: rgba(17, 24, 39, .10) !important;
}
html.lens .todo-p-tab {
  color: #111827 !important;
  font-weight: 600 !important;
}
html.lens .todo-p-tab.active {
  color: #B66D44 !important;
  border-bottom-color: #B66D44 !important;
  font-weight: 700 !important;
}
html.lens .todo-p-tab:hover:not(.active) {
  color: rgba(17, 24, 39, .65) !important;
}
/* 待办项：玻璃胶囊卡
   🔴 border-left-color 不碰——红/琥珀语义色是 JS 内联样式，!important 会盖掉它 */
html.lens .todo-item {
  background: rgba(255, 255, 255, .42) !important;
  border-top: 1px solid rgba(255, 255, 255, .52) !important;
  border-right: 1px solid rgba(255, 255, 255, .52) !important;
  border-bottom: 1px solid rgba(255, 255, 255, .52) !important;
  border-left-width: 4px !important;
  border-radius: 14px !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75) !important;
  transition: background .15s !important;
}
html.lens .todo-item:hover {
  background: rgba(255, 255, 255, .58) !important;
}
html.lens .todo-item .todo-item-title,
html.lens .todo-item .todo-item-title a {
  color: #111827 !important;
  font-weight: 700 !important;
}
html.lens .todo-item .todo-item-meta {
  color: rgba(17, 24, 39, .62) !important;
  font-weight: 600 !important;
}
html.lens .todo-empty {
  color: rgba(17, 24, 39, .55) !important;
}

/* ═══ 🔴 fixed 浮层防线（必须放最末）═══
   ui-glass.js 给「含菜单浮层的玻璃容器」打 .ui-glass-f ——
   该卡的 warp 必须整个撤掉（warp 上有 filter+backdrop-filter，
   会让卡片成为 fixed 后代的包含块，三点菜单漂移事故）。 */
html.lens .ui-glass-f .lens-warp {
  display: none !important;
}
html.lens .ui-glass-f,
html.lens .ui-glass-f:hover,
html.lens .ui-glass-f * {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  animation: none !important;
}

/* ═══ 个性化设置弹窗（v8.9 正式化：头像下拉菜单入口，实验面板退役）═══
   玻璃弹窗 + 暗色遮罩；🔴 不用全局 .modal 类（styles.css 的 .modal
   会干扰自建弹窗），自带 lens- 前缀自成体系。 */
#lensSetWrap {
  position: fixed; inset: 0; z-index: 100000;
  display: none;
  align-items: center; justify-content: center;
  background: rgba(17, 24, 39, .30);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}
#lensSetPanel {
  width: 360px; max-width: calc(100vw - 32px);
  max-height: calc(100vh - 64px); overflow-y: auto;
  padding: 20px 22px 16px;
  border-radius: 20px;
  background-color: rgba(255, 255, 255, .52) !important;
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, .42) 0%, rgba(255, 255, 255, .08) 46%, rgba(255, 255, 255, 0) 100%) !important;
  -webkit-backdrop-filter: blur(28px) saturate(170%);
  backdrop-filter: blur(28px) saturate(170%);
  border: 1px solid rgba(255, 255, 255, .65);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .95),
    inset 0 -1px 0 rgba(255, 255, 255, .20),
    inset 1px 0 0 rgba(255, 250, 238, .30),
    inset -1px 0 0 rgba(238, 246, 255, .30),
    0 32px 80px rgba(24, 24, 24, .30);
  font: 13px/1.6 -apple-system, 'Segoe UI', 'Microsoft YaHei', sans-serif;
  color: #1F2329;
  animation: lsIn .18s cubic-bezier(.22, .61, .36, 1);
}
@keyframes lsIn {
  from { opacity: 0; transform: translateY(-8px) scale(.97); }
  to   { opacity: 1; transform: none; }
}
#lensSetPanel .ls-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 14px;
}
#lensSetPanel .ls-title { font-size: 16px; font-weight: 700; color: #111827; }
#lensSetPanel .ls-close {
  width: 28px; height: 28px; border-radius: 50%;
  border: none; background: rgba(255, 255, 255, .5);
  color: #3A4250; font-size: 16px; line-height: 1; cursor: pointer;
}
#lensSetPanel .ls-close:hover { background: rgba(255, 255, 255, .95); }
#lensSetPanel .ls-sec { margin-bottom: 16px; }
#lensSetPanel .ls-label {
  font-size: 13px; font-weight: 700; color: #111827; margin-bottom: 8px;
}
#lensSetPanel .ls-state { font-weight: 500; color: #B66D44; font-size: 12px; }
#lensSetPanel .ls-btns { display: flex; gap: 8px; }
#lensSetPanel .ls-btn {
  flex: 1; padding: 8px 0; border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, .55);
  background: rgba(255, 255, 255, .35);
  color: #1F2329; font-size: 13px; font-weight: 600; cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7);
  transition: background .15s, border-color .15s;
}
#lensSetPanel .ls-btn:hover { background: rgba(255, 255, 255, .6); }
#lensSetPanel .ls-btn.on {
  background: rgba(255, 255, 255, .62);
  border-color: rgba(182, 109, 68, .55);
  color: #B66D44;
}
#lensSetPanel .ls-hint { margin-top: 6px; font-size: 11px; color: #8A93A3; }
#lensSetPanel .ls-chk {
  display: flex; align-items: center; gap: 8px; cursor: pointer;
  padding: 6px 0; font-size: 13px; color: #1F2329;
}
#lensSetPanel .ls-chk input { accent-color: #B66D44; width: 15px; height: 15px; }
#lensSetPanel .ls-foot {
  margin-top: 14px; padding-top: 10px;
  border-top: 1px solid rgba(17, 24, 39, .08);
  font-size: 11px; color: #8A93A3;
}
/* 操作反馈 toast（全局固定底部居中） */
#lensToast {
  position: fixed; left: 50%; bottom: 36px; transform: translateX(-50%);
  z-index: 100001;
  padding: 8px 16px; border-radius: 999px;
  background: rgba(28, 30, 34, .88);
  border: 1px solid rgba(255, 255, 255, .16);
  color: #fff; font-size: 12.5px; font-weight: 500;
  opacity: 0; pointer-events: none;
  transition: opacity .25s;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  max-width: 80vw;
}
