/* ============================================================================
 * 2026.v5178（光年指令）：管理端「全部作业」列表模式 -> Excel 式表格
 *   · 作用域：仅 #aj-list.aj-listmode（图片模式 / 司机端 / 客户端 / 资产端 零影响）
 *   · 结构：表头 #lw-lt-head（sticky）+ 每张卡 .xh-upload-item 折成一行
 *   · 列定义 / 栅格 / 单元格内联样式由 js/admin/aj-listmode-table.js 注入
 *   · 回滚：删本文件 + 删 aj-listmode-table.js 的引入（aj-listmode-20.js 立即恢复原列表重排）
 * ========================================================================== */

/* ── 列表容器：单列堆叠、不裁剪（表头 sticky 与页面横向滚动保持一致） ── */
html body[data-module="admin"] #aj-list.aj-listmode {
  display: block !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 !important;
  gap: 0 !important;
  background: #fff !important;
  border: 1px solid #cbd5e1 !important;
  border-top: 0 !important;
  border-radius: 0 0 4px 4px !important;
}

/* ── 表头 ── */
#lw-lt-head {
  display: grid;
  align-items: stretch;
  position: sticky;
  top: 0;
  z-index: 60;
  width: max-content;
  min-width: 100%;
  box-sizing: border-box;
  background: #eef2f7;
  border: 1px solid #cbd5e1;
  border-bottom: 2px solid #94a3b8;
  border-radius: 4px 4px 0 0;
  font: 700 12px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;
  color: var(--lwt-head-fg, #334155);              /* 2026.v5274：表头字色读变量（深色表头风格要用）✓ */
  user-select: none;
}
#lw-lt-head > span {
  display: flex;
  align-items: center;
  height: 28px;
  padding: 0 6px;
  border-right: 1px solid #dbe3ec;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  box-sizing: border-box;
}
#lw-lt-head > span:last-child { border-right: 0; }

/* ── 行（卡片） ── */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item {
  position: relative !important;
  display: grid !important;
  grid-auto-rows: minmax(26px, auto) !important;
  align-items: center !important;
  align-content: center !important;
  width: max-content !important;
  min-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-bottom: var(--lwt-line-h, 1px solid #e6ebf2) !important;   /* 2026.v5274：行横线读变量（点线/无横线风格要用）✓ */
  border-radius: 0 !important;
  box-shadow: none !important;
  background: var(--lwt-bg, #fff) !important;      /* 2026.v5274：行底色读变量（深色风格要用）✓ */
  opacity: 1 !important;
  transform: none !important;
  translate: none !important;
  transition: none !important;
  animation: none !important;
  overflow: visible !important;
}
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item:nth-child(2n) { background: #fafbfd !important; }
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item:hover { background: #eff6ff !important; }
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item.sel,
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item.is-sel,
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item.is-selected { background: #dbeafe !important; }

/* ── 兜底：单元格不撑破行 ── */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item > * { min-width: 0 !important; }

/* 行内保留的多选/拖拽等控件（JS 绝对定位到行首，不参与栅格） */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item > input[type="checkbox"],
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item > .xh-check,
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item > .xh-sel {
  position: absolute !important;
  left: 2px !important;
  top: 50% !important;
  translate: 0 -50% !important;
  width: 14px !important;
  height: 14px !important;
  z-index: 6 !important;
  display: block !important;
}

/* ============================================================================
 * 2026.v5251（光年指令）：表格模式下「行首多选开关」压成 12×12 小方框
 *
 * 病灶（用户报障 · 放大截图实证）：
 *   aj-listmode-table.js 的 paint() 会把 .xh-sel-toggle 强制成 14×14 贴在行首
 *   （left:2px / top:50% / translate:0 -50%，卡内其余元素一律隐藏）。
 *   但该开关的内容自带文字「选择 / 已选」（.xh-sel-toggle{font-size:12px}，
 *   两个汉字 = 24px 宽）⇒ 塞进 14px 宽的容器后【换行成两行】
 *   ⇒ 渲染出一个约 24×34px 的橙（选中态 --warn-soft 底 + 橙字）/浅灰（未选）
 *      圆角竖块，比 26px 的行还高、压到下一行 ✗ —— 即用户指着要求"缩小"的那条橙条。
 *
 * 修法：表格模式只保留一个 12×12 方框、隐藏文字；选中态橙底白勾 ✓
 * 作用域：仅 #aj-list.aj-listmode ⇒ 图片模式 / 司机端 / 其它端零影响 ✓
 * 回滚：删本段即可（.xh-sel-toggle 恢复原样）
 * ========================================================================== */

/* ① 容器：去掉药丸内边距/边框/底色，只作 12×12 方框的定位壳（宽高由 JS 内联 14×14 决定） */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item > .xh-sel-toggle {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
  font-size: 0 !important;
  line-height: 0 !important;
}

/* ② 文字「选择 / 已选」不再渲染（换行的元凶） */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item > .xh-sel-toggle > .t {
  display: none !important;
}

/* ③ 方框本体：12×12 居中（原为空 span 无任何尺寸，现在是唯一可见物） */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item > .xh-sel-toggle > .box {
  display: block !important;
  width: 12px !important;
  height: 12px !important;
  margin: 1px auto !important;
  box-sizing: border-box !important;
  border: 1.5px solid #c3cbd8 !important;
  border-radius: 3px !important;
  background: #fff !important;
  position: relative !important;
}

/* ④ 选中态：橙底 + 白勾（与卡片选中态同色 #f59e0b ✓） */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item.is-selected > .xh-sel-toggle > .box {
  background: #f59e0b !important;
  border-color: #f59e0b !important;
}
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item.is-selected > .xh-sel-toggle > .box::after {
  content: '✓' !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  color: #fff !important;
  font: 700 9px/10px -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif !important;
  text-align: center !important;
}

/* ============================================================================
 * 2026.v5252（光年指令）· 专业表格化：对齐规则 / 网格线 / 等宽柜号 / 表头图标槽
 *
 * 依据（联网调研 · 企业级数据表格规范）：
 *   · 文本列左对齐、数字列右对齐，表头必须与列内容同一对齐线；禁止居中对齐
 *   · 数字列用等宽数字（tabular-nums），否则 999.99 与 1111.11 会误导对比
 *   · 列分隔线最多 1px、颜色足够浅；斑马纹慎用（已有的极浅斑马纹保留）
 *   · 行高变化 ≤3 行时垂直居中；截断文本要给悬停提示
 * 作用域：仅 #aj-list.aj-listmode ✓  回滚：删本段即可
 * ========================================================================== */

/* ── ① 单元格基础：左右内边距 8px（与表头同款）——对齐的前提 ──
   注：v5252 起表格层不再把 padding / justify-content 写成内联 !important，
   否则任何"按列类型右对齐"的规则都压不过内联值（旧版数字列右对齐一直没生效的根因）✓ */
/* 2026.v5348（光年要求）：散货「半挂车装载货物」在列表模式保持青色 ——
     [data-lwltcol] 的统一字色是 author !important，样式表里再高特定性也压不过 ✗
     ⇒ 加 :not(.xh-chip-cyan)：表格默认字色本就不该管到带专属色的标签 ✓ */
  html body[data-module="admin"] #aj-list.aj-listmode .xh-upload-item [data-lwltcol]:not(.xh-chip-cyan) {
  padding: var(--lwt-pad, 0 8px) !important;
  justify-content: flex-start !important;
  font-variant-numeric: tabular-nums;
  /* 2026.v5274：字号 / 字色改为读变量（供 30 种风格切换；内联值已在表格层撤掉）✓ */
  font-size: var(--lwt-fs, 12px) !important;
  color: var(--lwt-fg, #334155) !important;
}
/* 数字列：右对齐 + 右内边距 18px（＝表头右侧 18px 图标槽，两侧数值与表头文本同一条竖线）✓
   注：这里必须用【后代】选择器 + [data-lwltcol] 命中 —— 单元格不是行的直接子元素
   （表格层给祖先设 display:contents，让它"等效"成为行网格项），
   旧版所有 `> .单元格` 写法在真实卡结构下全部落空（这就是"数字列右对齐一直没生效"的根因）✗ */
html body[data-module="admin"] #aj-list.aj-listmode .xh-upload-item [data-lwltcol].lw-lt-num {
  justify-content: flex-end !important;
  padding-right: 18px !important;
}
/* 表格整体等宽数字（重量/耗时/计数列全部按小数点视觉对齐）✓ */
html body[data-module="admin"] #aj-list.aj-listmode,
#lw-lt-head, #lw-lt-foot { font-variant-numeric: tabular-nums; }

/* ── ② 表头：与单元格同款 8px 左内边距 + 右侧 18px 图标槽；图标绝对定位不挤动文字 ── */
#lw-lt-head > span {
  position: relative;
  padding: 0 18px 0 8px;
  justify-content: flex-start;
}
#lw-lt-head > span.lw-lt-num-h { justify-content: flex-end; }
#lw-lt-head > span .lw-lt-sort {
  position: absolute; right: 20px; top: 50%; transform: translateY(-50%);
  font: 400 9px/1 -apple-system, "Segoe UI", "Microsoft YaHei", sans-serif;
  font-style: normal; color: #2563eb; pointer-events: none;
}
#lw-lt-head > span .lw-lt-sbtn { opacity: 0; pointer-events: none; }
#lw-lt-head > span:hover .lw-lt-sbtn { opacity: 1; pointer-events: auto; }
#lw-lt-head > span .lw-lt-sbtn.on { opacity: 1; pointer-events: auto; }   /* 该列已有筛选 ⇒ 常显，一眼可辨 ✓ */
/* 吸顶表头下方的柔和投影：滚动时与内容分层（专业表格的层级感）✓ */
#lw-lt-head { box-shadow: 0 1px 0 #cbd5e1, 0 6px 10px -8px rgba(15, 23, 42, .45); }

/* ── ③ 柜号列：等宽字体 + 字母段固定 4ch ⇒ 3 位箱主码也占满，"4+7 长短不一"从视觉上消失 ── */
#aj-list.aj-listmode .xh-upload-item .lw-lt-cn {
  font-family: ui-monospace, "Cascadia Mono", Consolas, "Microsoft YaHei", monospace !important;
  font-weight: 600 !important;
  color: #0f172a !important;
  letter-spacing: 0 !important;
}
#aj-list.aj-listmode .xh-upload-item .lw-lt-cn .lw-lt-p {
  display: inline-block !important;
  width: 4ch !important;                 /* 等宽字体下 = 4 字符宽：3 位箱主码也补齐 ✓ */
  font-style: normal !important;
  color: #64748b !important;             /* 箱主码灰、流水号深：一眼分得清 4+7 ✓ */
}
#aj-list.aj-listmode .xh-upload-item .lw-lt-cn .lw-lt-n {
  font-style: normal !important;
  color: #0f172a !important;
}
/* 散货行（车牌型虚拟柜号）：同列同字体，列内观感统一 ✓ */
#aj-list.aj-listmode .xh-upload-item .xh-cn-text.bulk {
  font-family: ui-monospace, "Cascadia Mono", Consolas, "Microsoft YaHei", monospace !important;
}

/* ── ④ 剥掉重复字段名（"毛重 99999 kg" → "99999 kg"）：列头已写着列名，格内不再重复 ✓ ──
   包装元素由表格层生成（幂等）；退出表格模式后本规则不匹配 ⇒ 显示与原来一致 ✓ */
#aj-list.aj-listmode .lw-lt-lbl { display: none !important; }
html .lw-lt-lbl { font-style: normal !important; }

/* ── ⑤ 行：悬停/选中的整行可读性（斑马纹保持极浅，避免多层灰语义）✓ ── */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item { cursor: default; }
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item.lw-lt-sel {
  box-shadow: inset 0 0 0 1.5px #2563eb !important;
}
/* 行首多选方框：悬停才明显（减少视觉噪音），选中后常显 ✓ */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item > .xh-sel-toggle { opacity: .55; transition: opacity .12s ease; }
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item:hover > .xh-sel-toggle,
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item.is-selected > .xh-sel-toggle { opacity: 1; }

/* ── ⑥ 汇总行：数字等宽，与表格对齐 ✓ ── */
#lw-lt-foot { font-variant-numeric: tabular-nums; }

/* ============================================================================
 * 2026.v5254（光年指令）：表格风格定稿 = 【方案 1 · Excel 经典】+【方案 10 · 现代 SaaS】
 *
 *   取自方案 1：浅灰表头(#f1f5f9) + 2px #94a3b8 强底线 + 完整网格（横竖 1px）+ 极浅斑马纹
 *   取自方案 10：圆角容器 + 悬浮阴影 · 悬停整行浅蓝 + 左侧主色条（选中同源）
 *               · 数字列右对齐加粗 · 表头图标槽（悬停才出现）
 *   行高：由 --lwt-row-h 驱动（汇总条右侧「紧凑 28 / 常规 32 / 舒适 38」可切换并记忆）✓
 *
 *   调参：只改下面这段的变量即可   ·   回滚：删本段（表格层对行高有兜底默认 32px）✓
 * ========================================================================== */
html body[data-module="admin"] #aj-list.aj-listmode {
  --lwt-row-h: 32px;          /* 行高：紧凑 28 / 常规 32 / 舒适 38 */
  --lwt-line-v: #e8edf4;      /* 竖线（列分隔，表格层读它画 border-right） */
  --lwt-head-bg: #f1f5f9;     /* 表头底 */
  --lwt-head-line: #dbe3ec;   /* 表头竖线 */
  --lwt-zebra: #fbfcfe;       /* 斑马纹（极浅；不要就改成 #fff） */
  --lwt-hover: #f0f7ff;       /* 悬停行底 */
  --lwt-sel: #e8f2ff;         /* 选中行底 */
  --lwt-accent: #2563eb;      /* 悬停/选中行左侧色条 */
  border: 1px solid #e2e8f0 !important;
  /* 2026.v5274：容器圆角/阴影/底色也读变量 ⇒ 30 种风格里"圆角卡 / 悬浮阴影"都能生效 ✓ */
  border-radius: var(--lwt-radius, 12px) !important;
  box-shadow: var(--lwt-shadow, 0 8px 24px -12px rgba(15, 23, 42, .30)) !important;
  background: var(--lwt-bg, #fff) !important;
}

/* ── 表头：方案 1 的浅灰底 +【双线表头】（上 1px + 下 2px #94a3b8）✓
   2026.v5259（光年定稿）：表头上下各一条线是经典报表的做法——
   上细线下粗线把"列名带"整个框住，滚动时表头与数据的分界一眼可见 ✓ */
#lw-lt-head {
  background: var(--lwt-head-bg) !important;
  border: 1px solid var(--lwt-head-line) !important;
  border-top: 1px solid #94a3b8 !important;
  border-bottom: 2px solid #94a3b8 !important;
  border-radius: 11px 11px 0 0 !important;
}
#lw-lt-head > span { border-right: 1px solid var(--lwt-head-line) !important; }

/* ── 行底：方案 1 的极浅斑马；悬停/选中取方案 10（整行浅蓝 + 左侧色条，不用描边更干净）✓ ── */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item { background: #fff !important; }
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item:nth-child(2n) { background: var(--lwt-zebra) !important; }
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item:hover {
  background: var(--lwt-hover) !important;
  box-shadow: inset 2px 0 0 0 var(--lwt-accent) !important;
}
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item.lw-lt-sel {
  background: var(--lwt-sel) !important;
  box-shadow: inset 3px 0 0 0 var(--lwt-accent) !important;
}

/* ── 数字列：方案 10 的加粗深色（右对齐 / 等宽数字已在 v5252 生效）✓ ── */
html body[data-module="admin"] #aj-list.aj-listmode .xh-upload-item [data-lwltcol].lw-lt-num {
  font-weight: 600 !important;
  color: #0f172a !important;
}

/* ── 汇总条：与圆角容器收口一致（方案 1 的灰底 + 2px 顶线）✓ ── */
#lw-lt-foot {
  border: 1px solid var(--lwt-head-line) !important;
  border-top: 2px solid #94a3b8 !important;
  border-radius: 0 0 11px 11px !important;
  background: #f8fafc !important;
}

/* ── 行密度切换（汇总条右侧）✓ ── */
#lw-lt-foot .lw-lt-dens {
  display: inline-flex; vertical-align: middle; overflow: hidden;
  border: 1px solid #cbd5e1; border-radius: 6px;
}
#lw-lt-foot .lw-lt-dens button {
  font: inherit; font-size: 11px; line-height: 20px; height: 20px; padding: 0 8px;
  border: 0; border-right: 1px solid var(--lwt-head-line); background: #fff; color: #475569; cursor: pointer;
}
#lw-lt-foot .lw-lt-dens button:last-child { border-right: 0; }
#lw-lt-foot .lw-lt-dens button:hover { background: #f1f5f9; }
#lw-lt-foot .lw-lt-dens button.on { background: var(--lwt-accent); color: #fff; font-weight: 700; }

/* ============================================================================
 * 2026.v5256（光年指令）：横向工作区滚动
 *   列表容器变成自己的横向滚动区 ⇒ 表格在"工作区"内横滚，
 *   不再把整页拖走（页面级横向滚动条消失），表头由 JS 同步水平位移 ✓
 *   配合：去掉「类型」列 + 列宽收缩 + 低价值列默认隐藏 ⇒ 常用屏宽下一屏容下 ✓
 * ========================================================================== */
html body[data-module="admin"] #aj-list.aj-listmode {
  overflow-x: auto !important;
  overscroll-behavior-x: contain;
}
/* 表头是列表的兄弟节点：JS 同步 translateX（提升为合成层，滚动更顺）✓
   注：滚动条本身保持浏览器默认（按你的要求，全站不做滚动条自定义）✓ */
#lw-lt-head { will-change: transform; }

/* ── 2026.v5261：吸顶的横向滚动条（工作区滚动，永远看得见、拖得到）✓ ──
   它紧贴吸顶表头下方（top 与表头高度对齐），宽度自动铺满；无溢出时由 JS 隐藏 ✓ */
#lw-lt-hbar {
  position: sticky; top: 31px; z-index: 55;
  overflow-x: auto; overflow-y: hidden; height: 12px;
  border: 1px solid #dbe3ec; border-top: 0;
  border-radius: 0 0 4px 4px; background: #f8fafc;
}
#lw-lt-hbar > div { height: 1px; }

/* ── 2026.v5260：表头末尾的「更多」入口（列管理：卡片上其余元素/标签都收在这里）✓ ── */
#lw-lt-head > span.lw-lt-more {
  justify-content: center !important;
  color: #1d4ed8 !important;
  font-weight: 700 !important;
  background: #e8effa !important;
  cursor: pointer;
  border-left: 1px solid #cbd5e1 !important;
}
#lw-lt-head > span.lw-lt-more:hover { background: #dbe7fb !important; }
#lw-lt-head > span.lw-lt-more::after { content: '▾'; font-size: 9px; margin-left: 3px; opacity: .8; }

/* ============================================================================
 * 2026.v5274（光年指令）：30 种「表头风格」库（用户自选）
 *   用法：在 #aj-list 上加 class = lwt-s1 … lwt-s30（由「更多」面板里的风格芯片写入，记忆）✓
 *   每个风格只改一组 CSS 变量（+ 个别风格加 1~2 条补丁规则），互不冲突、可随意切换 ✓
 *   变量口径：
 *     --lwt-row-h 行高 · --lwt-fs 字号 · --lwt-pad 单元格内边距
 *     --lwt-bg 行底色 · --lwt-zebra 斑马 · --lwt-line-v 竖线 · --lwt-line-h 横线
 *     --lwt-head-bg/--lwt-head-fg 表头底/字 · --lwt-head-bd 表头下边 · --lwt-head-top 表头上边
 *     --lwt-hover/--lwt-sel 悬停/选中底 · --lwt-accent 左色条 · --lwt-radius/--lwt-shadow 容器
 * ========================================================================== */

/* ── 默认（= 你定稿的 01 Excel 经典 + 双线表头）不加 class 时的值已在 v5254 段给过，此处兜底 ✓ ── */

/* 01 Excel 经典 */
#aj-list.aj-listmode.lwt-s1  { --lwt-row-h:32px; --lwt-fs:12px; --lwt-head-bg:#f1f5f9; --lwt-head-fg:#334155; --lwt-head-bd:2px solid #94a3b8; --lwt-head-top:1px solid #94a3b8; --lwt-line-v:#e8edf4; --lwt-zebra:#fbfcfe; --lwt-hover:#f0f7ff; --lwt-sel:#e8f2ff; --lwt-accent:#2563eb; }
/* 02 极简白 */
#aj-list.aj-listmode.lwt-s2  { --lwt-row-h:38px; --lwt-fs:12.5px; --lwt-head-bg:#fff; --lwt-head-fg:#64748b; --lwt-head-bd:1px solid #e2e8f0; --lwt-head-top:0; --lwt-line-v:transparent; --lwt-line-h:#f1f5f9; --lwt-zebra:transparent; --lwt-hover:#f8fafc; --lwt-sel:#f0f7ff; --lwt-accent:#2563eb; }
/* 03 斑马密排 */
#aj-list.aj-listmode.lwt-s3  { --lwt-row-h:28px; --lwt-fs:11.5px; --lwt-pad:0 7px; --lwt-head-bg:#eef2f7; --lwt-head-fg:#475569; --lwt-head-bd:1px solid #cbd5e1; --lwt-head-top:0; --lwt-line-v:transparent; --lwt-zebra:#f8fafc; --lwt-hover:#eef6ff; --lwt-sel:#dbeafe; }
/* 04 深蓝表头 */
#aj-list.aj-listmode.lwt-s4  { --lwt-row-h:32px; --lwt-head-bg:#1e293b; --lwt-head-fg:#e2e8f0; --lwt-head-bd:0; --lwt-head-top:0; --lwt-line-v:#eef2f7; --lwt-zebra:transparent; --lwt-hover:#eff6ff; --lwt-sel:#dbeafe; }
/* 05 蓝调商务 */
#aj-list.aj-listmode.lwt-s5  { --lwt-row-h:32px; --lwt-head-bg:#eff6ff; --lwt-head-fg:#1d4ed8; --lwt-head-bd:1px solid #bfdbfe; --lwt-head-top:0; --lwt-line-v:#e6f0ff; --lwt-line-h:#eef4ff; --lwt-zebra:transparent; --lwt-hover:#f5faff; --lwt-sel:#dbeafe; }
/* 06 行卡片 */
#aj-list.aj-listmode.lwt-s6  { --lwt-row-h:34px; --lwt-head-bg:#f6f8fb; --lwt-head-fg:#64748b; --lwt-head-bd:1px solid #e2e8f0; --lwt-head-top:0; --lwt-bg:#f6f8fb; --lwt-line-v:transparent; --lwt-line-h:transparent; --lwt-zebra:transparent; --lwt-hover:transparent; --lwt-sel:#eff6ff; }
#aj-list.aj-listmode.lwt-s6 > .xh-upload-item { margin: 5px 0 !important; border: 1px solid #e8edf4 !important; border-radius: 8px !important; background: #fff !important; }
#aj-list.aj-listmode.lwt-s6 > .xh-upload-item:hover { border-color: #cfd9ea !important; box-shadow: 0 2px 8px rgba(15,23,42,.06) !important; }
/* 07 紧凑数据流 */
#aj-list.aj-listmode.lwt-s7  { --lwt-row-h:25px; --lwt-fs:11px; --lwt-pad:0 6px; --lwt-head-bg:#f4f7fb; --lwt-head-fg:#475569; --lwt-head-bd:1px solid #cbd5e1; --lwt-head-top:0; --lwt-line-v:#eef2f7; --lwt-zebra:#fbfcfe; --lwt-hover:#eef6ff; --lwt-sel:#dbeafe; }
/* 08 舒适宽行 */
#aj-list.aj-listmode.lwt-s8  { --lwt-row-h:42px; --lwt-fs:13px; --lwt-pad:0 12px; --lwt-head-bg:#fff; --lwt-head-fg:#334155; --lwt-head-bd:2px solid #e2e8f0; --lwt-head-top:0; --lwt-line-v:transparent; --lwt-zebra:transparent; --lwt-hover:#f8fafc; --lwt-sel:#f0f7ff; --lwt-accent:#2563eb; }
/* 09 描边圆角卡 */
#aj-list.aj-listmode.lwt-s9  { --lwt-row-h:31px; --lwt-head-bg:linear-gradient(180deg,#f8fafc,#eef2f7); --lwt-head-fg:#334155; --lwt-head-bd:1px solid #cbd5e1; --lwt-head-top:0; --lwt-line-v:#eef2f7; --lwt-zebra:transparent; --lwt-hover:#f7fbff; --lwt-sel:#eaf3ff; --lwt-radius:10px; --lwt-shadow:0 2px 8px rgba(15,23,42,.08); }
/* 10 现代 SaaS */
#aj-list.aj-listmode.lwt-s10 { --lwt-row-h:36px; --lwt-fs:12.5px; --lwt-head-bg:#fafbfd; --lwt-head-fg:#94a3b8; --lwt-head-bd:1px solid #e2e8f0; --lwt-head-top:0; --lwt-line-v:transparent; --lwt-line-h:#f1f5f9; --lwt-zebra:transparent; --lwt-hover:#f0f7ff; --lwt-sel:#e8f2ff; --lwt-radius:12px; --lwt-shadow:0 6px 20px -8px rgba(15,23,42,.22); }
/* 11 深色工作台 */
#aj-list.aj-listmode.lwt-s11 { --lwt-row-h:30px; --lwt-bg:#0f172a; --lwt-head-bg:#111c2e; --lwt-head-fg:#93a2b8; --lwt-head-bd:1px solid rgba(255,255,255,.10); --lwt-head-top:0; --lwt-line-v:rgba(255,255,255,.06); --lwt-line-h:rgba(255,255,255,.05); --lwt-zebra:#121e33; --lwt-hover:#16233a; --lwt-sel:#1b2c48; --lwt-fg:#cbd5e1; --lwt-accent:#60a5fa; }
/* 12 杂志风 */
#aj-list.aj-listmode.lwt-s12 { --lwt-row-h:34px; --lwt-fs:12.5px; --lwt-head-bg:#fff; --lwt-head-fg:#0f172a; --lwt-head-bd:2px solid #0f172a; --lwt-head-top:0; --lwt-line-v:transparent; --lwt-line-h:#eef2f7; --lwt-zebra:transparent; --lwt-hover:#f8fafc; --lwt-sel:#f0f7ff; }
/* 13 点线分隔 */
#aj-list.aj-listmode.lwt-s13 { --lwt-row-h:30px; --lwt-head-bg:#fff; --lwt-head-fg:#475569; --lwt-head-bd:1px dashed #94a3b8; --lwt-head-top:0; --lwt-line-v:transparent; --lwt-line-h:1px dashed #dbe3ec; --lwt-zebra:transparent; --lwt-hover:#f8fafc; --lwt-sel:#f0f7ff; }
/* 14 双线表头（当前定稿） */
#aj-list.aj-listmode.lwt-s14 { --lwt-row-h:32px; --lwt-head-bg:#f1f5f9; --lwt-head-fg:#334155; --lwt-head-bd:2px solid #94a3b8; --lwt-head-top:1px solid #94a3b8; --lwt-line-v:#e8edf4; --lwt-zebra:#fbfcfe; --lwt-hover:#f0f7ff; --lwt-sel:#e8f2ff; }
/* 15 状态色条行 */
#aj-list.aj-listmode.lwt-s15 { --lwt-row-h:32px; --lwt-head-bg:#f8fafc; --lwt-head-fg:#475569; --lwt-head-bd:1px solid #cbd5e1; --lwt-head-top:0; --lwt-line-v:transparent; --lwt-line-h:#f1f5f9; --lwt-zebra:transparent; --lwt-hover:#f7fbff; --lwt-sel:#eaf3ff; }
#aj-list.aj-listmode.lwt-s15 > .xh-upload-item > [data-lwltcol="1"] { box-shadow: inset 3px 0 0 #f59e0b; }
#aj-list.aj-listmode.lwt-s15 > .xh-upload-item.is-confirmed > [data-lwltcol="1"],
#aj-list.aj-listmode.lwt-s15 > .xh-upload-item.is-selected > [data-lwltcol="1"] { box-shadow: inset 3px 0 0 #10b981; }
/* 16 表头胶囊 */
#aj-list.aj-listmode.lwt-s16 { --lwt-row-h:32px; --lwt-head-bg:#fff; --lwt-head-fg:#334155; --lwt-head-bd:1px solid #e2e8f0; --lwt-head-top:0; --lwt-line-v:#eef2f7; --lwt-zebra:transparent; --lwt-hover:#f7fbff; --lwt-sel:#eff6ff; }
#aj-list.aj-listmode.lwt-s16 + #lw-lt-hbar, #aj-list.aj-listmode.lwt-s16 ~ #lw-lt-hbar { }
#lw-lt-head.lwt-h16 > span > .hl, #lw-lt-head.lwt-h16 > span { }
/* 17 数字突出 */
#aj-list.aj-listmode.lwt-s17 { --lwt-row-h:34px; --lwt-head-bg:#fff; --lwt-head-fg:#64748b; --lwt-head-bd:1px solid #e2e8f0; --lwt-head-top:0; --lwt-line-v:transparent; --lwt-line-h:#eef2f7; --lwt-zebra:transparent; --lwt-hover:#f8fafc; --lwt-sel:#f0f7ff; }
/* 18 超薄线 */
#aj-list.aj-listmode.lwt-s18 { --lwt-row-h:36px; --lwt-fs:12.5px; --lwt-head-bg:#fff; --lwt-head-fg:#64748b; --lwt-head-bd:.5px solid #cbd5e1; --lwt-head-top:0; --lwt-line-v:.5px solid #e2e8f0; --lwt-line-h:.5px solid #eef2f7; --lwt-zebra:transparent; --lwt-hover:#f8fafc; --lwt-sel:#f0f7ff; }
/* 19 分组底色表头 */
#aj-list.aj-listmode.lwt-s19 { --lwt-row-h:32px; --lwt-head-fg:#334155; --lwt-head-bg:#eef2f7; --lwt-head-bd:1px solid #cbd5e1; --lwt-head-top:0; --lwt-line-v:#eef2f7; --lwt-zebra:#fbfcfe; --lwt-hover:#f0f7ff; --lwt-sel:#e8f2ff; }
/* 20 工程风 */
#aj-list.aj-listmode.lwt-s20 { --lwt-row-h:24px; --lwt-fs:11.5px; --lwt-pad:0 6px; --lwt-head-bg:#1f2937; --lwt-head-fg:#f9fafb; --lwt-head-bd:2px solid #111827; --lwt-head-top:0; --lwt-line-v:#e5e7eb; --lwt-zebra:transparent; --lwt-hover:#f3f4f6; --lwt-sel:#e5e7eb; }
/* 21 圆角柔和 */
#aj-list.aj-listmode.lwt-s21 { --lwt-row-h:33px; --lwt-head-bg:#f8fafc; --lwt-head-fg:#475569; --lwt-head-bd:1px solid #e2e8f0; --lwt-head-top:0; --lwt-line-v:#eef2f7; --lwt-zebra:#fcfdff; --lwt-hover:#f5faff; --lwt-sel:#eaf3ff; --lwt-radius:14px; --lwt-shadow:0 10px 28px -14px rgba(15,23,42,.28); }
/* 22 蓝灰冷静 */
#aj-list.aj-listmode.lwt-s22 { --lwt-row-h:30px; --lwt-fs:12px; --lwt-head-bg:#e9eef6; --lwt-head-fg:#3b4a60; --lwt-head-bd:1px solid #c3cddd; --lwt-head-top:0; --lwt-line-v:#e6ebf3; --lwt-line-h:#edf1f7; --lwt-zebra:#fafbfe; --lwt-hover:#eef3fb; --lwt-sel:#e2ebf8; --lwt-accent:#3b82f6; }
/* 23 暖木色 */
#aj-list.aj-listmode.lwt-s23 { --lwt-row-h:32px; --lwt-head-bg:#f7f3ec; --lwt-head-fg:#5b4a35; --lwt-head-bd:2px solid #cbb99f; --lwt-head-top:0; --lwt-line-v:#efe7db; --lwt-line-h:#f4efe7; --lwt-zebra:#fdfbf8; --lwt-hover:#fbf6ee; --lwt-sel:#f6ecdd; --lwt-accent:#c08a3e; }
/* 24 森绿 */
#aj-list.aj-listmode.lwt-s24 { --lwt-row-h:32px; --lwt-head-bg:#eef6f1; --lwt-head-fg:#2f6b4f; --lwt-head-bd:1px solid #bfdccb; --lwt-head-top:0; --lwt-line-v:#e6f0ea; --lwt-line-h:#f0f6f3; --lwt-zebra:#fbfefc; --lwt-hover:#f2faf5; --lwt-sel:#e6f5ec; --lwt-accent:#10b981; }
/* 25 酷黑描边 */
#aj-list.aj-listmode.lwt-s25 { --lwt-row-h:30px; --lwt-head-bg:#0f172a; --lwt-head-fg:#e2e8f0; --lwt-head-bd:1px solid #1e293b; --lwt-head-top:0; --lwt-line-v:#eef2f7; --lwt-line-h:#eef2f7; --lwt-zebra:transparent; --lwt-hover:#f1f5f9; --lwt-sel:#e2e8f0; --lwt-radius:6px; --lwt-shadow:none; }
/* 26 极窄密排（最省屏） */
#aj-list.aj-listmode.lwt-s26 { --lwt-row-h:22px; --lwt-fs:11px; --lwt-pad:0 5px; --lwt-head-bg:#f2f5fa; --lwt-head-fg:#475569; --lwt-head-bd:1px solid #c3cddd; --lwt-head-top:0; --lwt-line-v:#edf1f7; --lwt-zebra:#fafcfe; --lwt-hover:#eef4fd; --lwt-sel:#dfeafb; }
/* 27 大字舒适 */
#aj-list.aj-listmode.lwt-s27 { --lwt-row-h:44px; --lwt-fs:13.5px; --lwt-pad:0 14px; --lwt-head-bg:#fff; --lwt-head-fg:#0f172a; --lwt-head-bd:1px solid #cbd5e1; --lwt-head-top:0; --lwt-line-v:transparent; --lwt-line-h:#f1f5f9; --lwt-zebra:transparent; --lwt-hover:#f8fafc; --lwt-sel:#eff6ff; }
/* 28 全网格加强 */
#aj-list.aj-listmode.lwt-s28 { --lwt-row-h:30px; --lwt-head-bg:#dfe6ef; --lwt-head-fg:#26313f; --lwt-head-bd:2px solid #94a3b8; --lwt-head-top:1px solid #94a3b8; --lwt-line-v:#d7dfe9; --lwt-line-h:#e3e9f0; --lwt-zebra:#f6f8fb; --lwt-hover:#eaf2ff; --lwt-sel:#dbeafe; }
/* 29 表头右字距（商务深灰） */
#aj-list.aj-listmode.lwt-s29 { --lwt-row-h:32px; --lwt-fs:12px; --lwt-head-bg:#f4f6f9; --lwt-head-fg:#42506a; --lwt-head-bd:3px solid #42506a; --lwt-head-top:0; --lwt-line-v:transparent; --lwt-line-h:#eef2f7; --lwt-zebra:#fbfcfe; --lwt-hover:#f2f6fc; --lwt-sel:#e6eefb; --lwt-accent:#42506a; }
/* 30 悬浮阴影卡 */
#aj-list.aj-listmode.lwt-s30 { --lwt-row-h:34px; --lwt-head-bg:#fff; --lwt-head-fg:#334155; --lwt-head-bd:1px solid #e2e8f0; --lwt-head-top:0; --lwt-line-v:transparent; --lwt-line-h:#f4f6f9; --lwt-zebra:transparent; --lwt-hover:#f7faff; --lwt-sel:#eaf3ff; --lwt-radius:16px; --lwt-shadow:0 18px 40px -20px rgba(15,23,42,.34); }

/* ============================================================================
 * 2026.v5412（光年指令）：列表模式「行级 content-visibility」
 *   实测 100 行/页时全页 DOM 3.5 万节点，而屏幕里只看得见 ~10 行；
 *   屏幕外的行照旧参与布局/绘制 ⇒ 白白吃掉渲染线程。
 *   content-visibility:auto + contain-intrinsic-size ⇒ 屏幕外的行跳过布局与绘制，
 *   滚动到跟前再按需渲染（行高由 --lwt-row-h 给定，尺寸稳定 ⇒ 不跳）。
 *   范围：仅列表模式的行；图片模式与其它端零影响 ✓ 回滚：删本节 ✓
 * ========================================================================== */
#aj-list.aj-listmode > .xh-upload-item {
  content-visibility: auto;
  contain-intrinsic-size: auto 32px;
}


/* 2026.v5721 光年指令：v5720 的「列表模式内容整体隐藏」已撤销 ——
   本轮按下单的样张 06「全网格线 · 浅灰表头」重建（见 admin-listmode-pro.css 末尾 v5721 段）✓ */

/* ============================================================================
 * 2026.v5753（光年指令）：列表模式最左新增「选择」列（每行一个多选框 · 可多选）
 *
 *   ① 多选框自绘（-webkit-appearance:none + 自画勾）—— 不依赖内核原生样式，
 *      360 等老内核（Chromium 78/86）同样能画出来；选中态橙底白勾 = 与卡片选中态同色 ✓
 *   ② 列表模式隐藏图片模式那套「橙色握把 + 橙色序号圆」（.lw-sel-grip / .lw-sel-num）——
 *      本列出现后它们就没必要了，而且会压在行首。它们由 app-admin 的 lwSelMark4303
 *      用【内联 display:block】驱动 ⇒ 必须 !important 才压得住（值不变不写，无副作用）✓
 *   作用域：仅 #aj-list.aj-listmode ⇒ 图片模式 / 司机端 / 其它端零影响 ✓
 *   回滚：删本段即可（多选框退回浏览器原生样式、橙标记在列表模式重新出现）
 * ========================================================================== */

/* 图片模式的多选标记：列表模式下不出现（图片模式不动）✓ */
html body[data-module="admin"] #aj-list.aj-listmode > .lw-sel-grip,
html body[data-module="admin"] #aj-list.aj-listmode > .lw-sel-num { display: none !important; }

/* ① 「选择」列单元格：左内边距 8px（与其它列同一条竖线；行内已写 !important，这里双保险）✓ */
html body[data-module="admin"] #aj-list.aj-listmode .xh-upload-item [data-lwltcol].lw-lt-selcell {
  padding: 0 0 0 8px !important;
  justify-content: flex-start !important;
}
/* 旧「多选方框」占位格（我的确认·审核页：行内自带 .xh-sel-toggle）⇒ 保留 22px 行首槽 ✓ */
html body[data-module="admin"] #aj-list.aj-listmode .xh-upload-item [data-lwltcol].lw-lt-selcell.lw-lt-selcell-old {
  padding: 0 0 0 22px !important;
}

/* ② 多选框本体：自绘 15×15 圆角小方框（未选=白底浅灰边；选中=橙底白勾）✓ */
html body[data-module="admin"] #aj-list.aj-listmode .xh-upload-item .lw-lt-selbox {
  -webkit-appearance: none; appearance: none;
  width: 15px !important; height: 15px !important; min-width: 15px !important;
  margin: 0 !important; padding: 0 !important;
  box-sizing: border-box !important;
  border: 1.5px solid #c3cbd8 !important; border-radius: 4px !important;
  background-color: #fff !important;
  background-repeat: no-repeat !important; background-position: center center !important; background-size: 11px 11px !important;
  cursor: pointer !important; flex: 0 0 auto !important; outline: 0 !important;
}
html body[data-module="admin"] #aj-list.aj-listmode .xh-upload-item .lw-lt-selbox:hover { border-color: #f59e0b !important; }
html body[data-module="admin"] #aj-list.aj-listmode .xh-upload-item .lw-lt-selbox:checked {
  background-color: #f59e0b !important; border-color: #f59e0b !important;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 8.6l3 3L12.8 5' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

/* ============================================================================
 * 2026.v5759（光年指令）：给「弹窗」定一层显示优先级 —— 弹窗永不被页面固定物压住
 *
 *   实测（1080×620 · 列表模式 + 打开「修改数据」）：
 *     页面固定物：.topbar 50 · #lw-lt-foot 55 · #lw-lt-head 60
 *     弹窗族：    .xh-cp-mask 50 · .modal 50 · .xh-cn-modal 50   ← 比吸顶表头低 10 ⇒ 穿模 ✗
 *     更高层：    .as-menu-mask 65 · #scan-modal 70 · .a-mask/.toast 80 · .a-drawer 81 · 安全密码 90 ↑
 *   ⇒ 不是某一个弹窗的问题：整个弹窗族都在 50，只要列表表头在屏上就会被压住。
 *
 *   做法：弹窗族统一提到【弹窗层 75】—— 高于所有页面固定物（45~60），
 *        低于侧栏遮罩/扫码/toast/抽屉/安全密码等系统浮层（65 以上）⇒ 定层，不再逐个拍数值 ✓
 *        新增页面固定物只要 < 75、系统浮层只要 > 75，弹窗都不用再改 ✓
 *   作用域：本文件仅 admin.html 引用 ⇒ 其它四端零影响 ✓     回滚：删本段（弹窗回 50）
 * ========================================================================== */
html body[data-module="admin"] .xh-cp-mask,
html body[data-module="admin"] .modal,
html body[data-module="admin"] .xh-cn-modal,
html body[data-module="admin"] .xh-bs-modal,
html body[data-module="admin"] .xh-bill-modal {
  z-index: 75 !important;
}

/* ============================================================================
 * 2026.v5765（光年指令）：列表模式表头【全部居中显示】
 *
 *   改前：表头格 flex 左对齐；数值列（.lw-lt-num-h）右对齐
 *   改后：所有表头格 justify-content:center + text-align:center（数值列一并居中）✓
 *        格内「筛选 ▾」(.lw-lt-sbtn) 改绝对定位（吸在本格右侧 13px、列宽拖拽柄左侧）
 *        ⇒ 不再占用文字宽度，标题永远在正中（▾ 本就悬停才显形，行为不变）✓
 *   不动：数据行/图片模式/其它端/列宽/列序/筛选/排序/列宽拖拽 全部零影响 ✓
 *   作用域：本文件仅 admin.html 引用（管理端专属）✓        回滚：删本段 ✓
 * ========================================================================== */
html body[data-module="admin"] #lw-lt-head > span,
html body[data-module="admin"] #lw-lt-head > span.lw-lt-num-h {
  justify-content: center !important;
  text-align: center !important;
  /* 2026.v5766（光年修）：内边距取对称 —— 原来是 左8px / 右18px（右侧那 10px 原给 ▾/拖拽柄留位），
     居中后整体偏左 5px ✗；▾ 现在已绝对定位，不再需要这 10px 白留空间 ✓ */
  padding-left: 8px !important;
  padding-right: 8px !important;
}
html body[data-module="admin"] #lw-lt-head > span > .hl {
  text-align: center !important;
}
html body[data-module="admin"] #lw-lt-head > span > .lw-lt-sbtn {
  position: absolute !important;
  right: 13px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

/* ============================================================================
 * 2026.v5768（光年指令）：修「货物品名 / 提单号 / 当前状态」点开后 —— 弹出的值列表一片空白 ✗
 *
 *   真因：这三处「点开即选」的覆盖层下拉被设成 font-size:0（为隐藏它自己的文字），
 *        而 <option> 继承 0 号字 ⇒ 弹出的列表【每个选项都是 0 号字】= 整片空白 ✗
 *        （实测：改颜色/透明度/外观都无效，只有把字号恢复才立刻可读 ✓）
 *   修法：① 覆盖层恢复 font-size:12.5px（只影响弹出列表的字号）
 *        ② 覆盖层自身文字仍透明（text-fill-color + color 透明）⇒ 闭合态不出现重影 ✓
 *        ③ <option> 显式给可读色（与 App 自带「当前状态」下拉同款做法）✓
 *   作用域：本文件仅 admin.html 引用（管理端专属）✓   回滚：删本段 ✓
 * ========================================================================== */
html body[data-module="admin"] select.xh-pick-sel,
html body[data-module="admin"] select.lw-st-sel {
  font-size: 12.5px !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent !important;
}
html body[data-module="admin"] select.xh-pick-sel > option,
html body[data-module="admin"] select.lw-st-sel > option {
  font-size: 12.5px !important;
  color: #1a2230 !important;
  -webkit-text-fill-color: #1a2230 !important;
  background-color: #ffffff !important;
}

/* ============================================================================
 * 2026.v5769（光年指令）：列表模式【首屏闸门】—— 刷新/进页落定前，表头与汇总条不露
 *   实测 F5：表头 +191ms 就可见（列宽还是过渡模板）、汇总条 +251ms 显示「0 / 0 行」，
 *            到 +1936ms 才跳到终态 ⇒ 用户先看到「表头 + 0/0 行」再跳 ✗
 *   本段只在 body 带 lw-lt-firstpaint（表格层起手打、落定即摘、另有 4s 兜底）时生效；
 *   用 visibility:hidden（保留尺寸）⇒ 放行瞬间零跳动 ✓
 *   作用域：本文件仅 admin.html 引用 ✓    回滚：删本段 ✓
 * ========================================================================== */
/* 2026.v5771（光年修）：闸门扩到【整个列表区】—— 只藏表头/汇总条的话，实测数据行会先露 117ms
   （表头像是"后弹出来"的 ✗）⇒ 行/吸顶横滚条也一起等，落定后一次成型 ✓ */
body.lw-lt-firstpaint #aj-list,
body.lw-lt-firstpaint #lw-lt-hbar,
body.lw-lt-firstpaint #lw-lt-head,
body.lw-lt-firstpaint #lw-lt-foot {
  visibility: hidden !important;
  opacity: 0 !important;
}

/* ===== 2026.v5785（光年拍板「画面不够稳定，感觉会跳」）· 首屏高度钉住 =====
   闸门期内未表格化的行会按卡片高度占位（实测 82px），表格层随后压到终态 33px ⇒
   一屏 10~20 行 ⇒ 页面高度瞬变 ~980px ⇒ 下方分页器/滚动条整段跳 ✗
   做法：闸门期把 #aj-list 高度钉在「行数 × 终态行高」（--lw-fp-h 由表格层每帧写入）；
        放行后 body 上的闸门类消失 ⇒ 本规则自动失效 ⇒ 终态零影响 ✓ */
body.lw-lt-firstpaint #aj-list.aj-listmode {
  height: var(--lw-fp-h, auto) !important;
  overflow: hidden !important;
}

/* ===== 2026.v5786（光年拍板「切模式尽量顺一点」）· 列表淡入 =====
   切换遮蔽（.lw-lt-switching 的 opacity:0 + transition:none）撤掉时，列表自然淡入 0.14s，
   配合 JS 的【位置锚定】（把切换前视口内第一行拉回原视口位置）⇒ 观感是内容原地换形态，
   而不是整页重排 ✓（只影响切换过程的那 0.14s，最终长相/布局一律不变 ✓）*/
#aj-list.aj-listmode { transition: opacity .14s ease; }

/* ===== 2026.v5795（与时间无关的硬手段）· 未表格化行的【高度上限】=====
   背景：环境出现 ~1.6s/帧的长帧 ⇒ 靠 rAF/定时器的"钉高度"会输 ✗
   做法：列表模式下，尚未完成表格化的行直接按密度变量夹死高度（这类行本就被守卫 visibility:hidden 藏住）
        ⇒ 卡片高度永不占位；表格化后 paint 打上 data-lwlt ⇒ 本规则自动失效 ⇒ 终态零影响 ✓ */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item:not([data-lwlt]) {
  height: calc(var(--lwt-row-h, 32px) + 1px) !important;
  max-height: calc(var(--lwt-row-h, 32px) + 1px) !important;
  overflow: hidden !important;
}


/* ===== 2026.v5805：闸门期强制不可见 · 高特异性兜底 =====
   对手（都带 opacity:1 !important）：
     admin-card-tweaks.css  html body[data-module="admin"] #aj-list#aj-list{opacity:1!important}
     admin-card-image.css  html body[data-module="admin"][data-module="admin"] #aj-list#aj-list#aj-list:not(.aj-listmode){opacity:1!important}
     responsive-admin.css  body[data-module="admin"] #aj-list.lw-aj-shown{opacity:1!important}
   本条用「body 上的闸门类 + 4 个 #aj-list」把特异性抬到 (0,4,3,1)，压过上面全部；
   且 opacity 无法被子元素恢复（卡内显式 visibility:visible!important 也穿不出来）=>
   闸门期（含 #aj-list 被应用重建的那一帧）整块真不可见；类一撤本规则立即失效（零副作用）✓ */
html body.lw-lt-firstpaint[data-module="admin"][data-module="admin"] #aj-list#aj-list#aj-list#aj-list,
html body.lw-lt-firstpaint[data-module="admin"][data-module="admin"] #lw-lt-head#lw-lt-head,
html body.lw-lt-firstpaint[data-module="admin"][data-module="admin"] #lw-lt-foot#lw-lt-foot,
html body.lw-lt-firstpaint[data-module="admin"][data-module="admin"] #lw-lt-hbar#lw-lt-hbar {
  visibility: hidden !important;
  opacity: 0 !important;
  animation: none !important;
  transition: none !important;
}


/* ===== 2026.v5820-cellreset（光年指令·列表模式表格化提速）：列格「基础复位」下沉 CSS =====
   原先这 35 条复位由 styleCell 逐格写行内 !important（首帧 ≈380 次 setAttribute × 55 条声明
   ⇒ 浏览器解析约 1.8s，是列表模式表格化耗时的大头）✗
   现在改由本条一次提供：4 个 #aj-list 把特异性抬到 (0,4,2,1)，压过图片模式定局规则 (0,3,3,3) ✓
   行内只保留 grid-column 与各列分支样式 ⇒ 首帧声明量降约 6 成 ✓
   作用域带 .aj-listmode ⇒ 退出列表模式自动失效；原内联由 revert() 还原，零残留 ✓ */
html body[data-module="admin"] #aj-list#aj-list#aj-list#aj-list.aj-listmode .lwlt-cell {
  position: static !important;
  left: auto !important; right: auto !important; top: auto !important; bottom: auto !important;
  translate: none !important; transform: none !important;
  margin: 0 !important;
  width: auto !important; min-width: 0 !important; max-width: 100% !important;
  height: auto !important; min-height: 0 !important; max-height: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important; text-overflow: ellipsis !important; white-space: nowrap !important;
  line-height: 1.45 !important; font-weight: 400 !important;
  background: transparent !important; background-image: none !important;
  border: 0 !important; border-radius: 0 !important; box-shadow: none !important; outline: 0 !important;
  display: flex !important; align-items: center !important;
  gap: 4px !important; vertical-align: middle !important;
  opacity: 1 !important; visibility: visible !important; z-index: 2 !important;
  float: none !important; order: 0 !important; flex: none !important;
  grid-row: 1 !important;
}
html body[data-module="admin"] #aj-list#aj-list#aj-list#aj-list.aj-listmode .lwlt-cell:not(.xh-chip-cyan) { color: #334155 !important; }

/* ===== 2026.v5851（光年报障：图片⇄列表切换有非尾帧·跳乱）· 切换遮蔽【真生效】=====
   病灶：v5436 的 body.lw-lt-switching #aj-list{opacity:0!important} 只有 (0,1,1) 特异性，
        长期被下面两条压掉 ⇒ 加类后 computed opacity 仍是 1，遮蔽形同虚设，中间帧全露 ✗
          admin-card-tweaks.css  html body[data-module="admin"] #aj-list#aj-list{opacity:1!important}  (2,1,2)
          admin-card-image.css  html body[data-module="admin"][data-module="admin"] #aj-list#aj-list#aj-list:not(.aj-listmode){opacity:1!important}  (3,3,3)
   做法：沿用 v5805 闸门兜底的同一手法 —— 4 个 #aj-list 把特异性抬到 (4,2,2)，压过上面全部；
        并把表头 / 汇总条 / 横向滚条 / 分页器一起遮住（切换时它们会被 #aj-list 的高度变化带着移动）✓
   零副作用：body 上没有 .lw-lt-switching 时本段完全不生效（终态长相/布局一字不变）✓ */
html body.lw-lt-switching[data-module="admin"] #aj-list#aj-list#aj-list#aj-list,
html body.lw-lt-switching[data-module="admin"] #aj-list#aj-list#aj-list#aj-list *,
html body.lw-lt-switching[data-module="admin"] #lw-lt-head#lw-lt-head,
html body.lw-lt-switching[data-module="admin"] #lw-lt-head#lw-lt-head *,
html body.lw-lt-switching[data-module="admin"] #lw-lt-hbar#lw-lt-hbar,
html body.lw-lt-switching[data-module="admin"] #lw-lt-foot#lw-lt-foot,
html body.lw-lt-switching[data-module="admin"] #aj-pager#aj-pager {
  opacity: 0 !important;
  visibility: hidden !important;
  animation: none !important;
  transition: none !important;
}

/* 2026.v5851：撤遮【零动画】—— v5786 给列表加的 0.14s 淡入在「尾帧即首帧」口径下属于多余动画，
   这里提特异性压掉它（只在管理端、只在列表模式的 #aj-list 上，其它端/其它元素零影响）✓ */
html body[data-module="admin"] #aj-list#aj-list.aj-listmode {
  transition: none !important;
}

/* ===== 2026.v5856（配合 JS：窗口外不再整块遮）· 行级兜底扩展到「未摆完的行」=====
   窗口外（周期刷新/换卡）不再整块遮蔽 ⇒ 半表格化的行（有 data-lwlt 但还没 done）
   必须自己藏住，否则会露一帧「卡片原样」。终态行都有 data-lwlt-done ⇒ 本规则零影响 ✓ */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item:not([data-lwlt-done]) {
  visibility: hidden !important;
}

/* ============================================================================
 * 2026.v5892（光年指令）：「①全部作业」顶部工具栏药丸行【固定】—— 不跟随滚轮滚动
 *   （列表模式 / 图片模式都要；筛选/搜索/时间/导出·导入 + 本页统计 + 模式切换那一行）
 *   结构：#view 是滚动容器，#aj-pill-bar 是它的第一个子元素；下方 #lw-lt-head 本来
 *         sticky top:0 ⇒ 必须把它下移到工具栏之后，否则两者重叠 ✗
 *   实测：sticky 约束矩形顶边 = #view 内容盒顶 y=181 ⇒ 工具栏 top:0 命中；
 *         工具栏高 36 + margin-bottom 4 ⇒ 表头 top:40px 与未滚动时位置完全一致 ✓
 *   作用域：本文件仅 admin.html 引用；只认 #aj-pill-bar（我的确认页是 #mr-pill-bar）✓
 *   回滚：删本段 ✓
 * ========================================================================== */
#view > #aj-pill-bar.aj-pill-bar {
  position: sticky !important;
  top: 0 !important;
  z-index: 61 !important;
  box-shadow: 0 -4px 0 0 #f4f6f9;   /* 盖住 #view 的 4px 内边距，杜绝内容从缝里露出 ✓ */
}
#aj-pill-bar ~ #lw-lt-head {
  top: 40px !important;             /* 表头贴到工具栏下方（36 + 4）✓ */
}

/* ============================================================================
 * 2026.v5901（光年指令）：「①全部作业」底部分页条【常显】—— 图片模式 / 列表模式都生效
 *   病灶：#aj-pager 在文档流末尾 ⇒ 列表一长就必须滚到底才看得到分页条 ✗
 *   做法：sticky bottom:0 贴在视口底部；给不透明底 + 淡上阴影（滚动时不透出下面的卡片）✓
 *   z-index 58：压过列表内容与 #lw-lt-foot(55)，低于吸顶表头(60) / 工具栏(61)（屏幕两端，互不影响）✓
 *   作用域 `#ajFilterCard ~ #aj-pager` ⇒ 只有「全部作业」页命中（我的确认·审核页无 #ajFilterCard）✓
 *   回滚：删本段 ✓
 * ========================================================================== */
html body[data-module="admin"] #ajFilterCard ~ #aj-pager#aj-pager {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 58 !important;
  background: #f4f6f9 !important;
  box-shadow: 0 -6px 12px -8px rgba(20, 40, 80, .18);
  padding-top: 4px !important;
  padding-bottom: 2px !important;
  margin-bottom: 0 !important;
}
/* 空态 / 无数据时不留空条 ✓ */
html body[data-module="admin"] #ajFilterCard ~ #aj-pager#aj-pager:empty { display: none !important; }

/* ============================================================================
 * 2026.v5902（光年指令）：「列表模式…要加载出来时，全体元素一起出现，现在还是时间不一」
 *   实测 F5 进「①全部作业」列表模式（逐帧）：
 *     +323ms 顶部药丸行可见 / +486ms 分页器可见 / +2743ms 列表区才放行
 *     ⇒ 工具栏先出、隔 2 秒表头与数据行才出 = 时间不一 ✗
 *   做法：闸门期（body.lw-lt-fp-full，由 aj-listmode-table.js 的 fpFullSync 维护，
 *         只在「闸门在 + 本页是全部作业/我的确认」时才加）把整个 #view 一起藏住，
 *         闸门一撤同一帧全部出现 ✓
 *   手法：opacity:0（后代无法恢复，卡内 visibility:visible!important 也穿不出来）
 *         + visibility:hidden（省绘制）+ pointer-events:none（防误点看不见的控件）
 *   零副作用：类一撤本段立即失效，终态长相/布局/交互一字不变 ✓
 *   作用域：仅 admin.html 引用的本文件 ✓   回滚：删本段 + 还原 JS 那三处 ✓
 * ========================================================================== */
html body.lw-lt-fp-full[data-module="admin"] #view#view#view#view {
  visibility: hidden !important;
  opacity: 0 !important;
  animation: none !important;
  transition: none !important;
  pointer-events: none !important;
}

/* ===== 2026.v5967（光年指令）：「①全部作业」列表模式 · 柜号更直观显眼 =====
   字体一律用**系统自带等宽字体**（ui-monospace / SF Mono / Cascadia Mono / Consolas / Liberation Mono），
   不引入任何商用字体、不加 @font-face、不加载 webfont ✓
   做法：字号 13.5 / 字重 800 / 字距 +0.3 / 数字 tabular-nums（列内数字逐位对齐）；
        箱主码 #475569、流水号 #0b1220 两级深色，扫一眼就能读清 4+7 ✓ */
#aj-list.aj-listmode .xh-upload-item .lw-lt-cn {
  font-family: ui-monospace, "SF Mono", "Cascadia Mono", "Segoe UI Mono", Consolas, "Liberation Mono", Menlo, monospace !important;
  font-size: 13.5px !important;
  font-weight: 800 !important;
  letter-spacing: .3px !important;
  font-variant-numeric: tabular-nums !important;
  line-height: 1.15 !important;
}
#aj-list.aj-listmode .xh-upload-item .lw-lt-cn .lw-lt-p {
  color: #475569 !important;
  font-weight: 800 !important;
}
#aj-list.aj-listmode .xh-upload-item .lw-lt-cn .lw-lt-n {
  color: #0b1220 !important;
  font-weight: 800 !important;
}
/* 散货行（车牌型虚拟柜号）同步字号，整列观感统一 */
#aj-list.aj-listmode .xh-upload-item .xh-cn-text.bulk {
  font-size: 13px !important;
  font-weight: 700 !important;
}

/* ===== 2026.v6669：列表模式竖线贯通（表头 + 数据行都画，且列宽对齐） ===== */
html body[data-module="admin"] #aj-list.aj-listmode {
  --lwt-vline: #dbe3ec;
}
/* 表头（含列管理页的 pro 主题）统一竖线 */
#lw-lt-head,
html body[data-module="admin"] #aj-list.aj-listmode #lw-lt-head {
  column-gap: 0 !important;
  row-gap: 0 !important;
}
#lw-lt-head > span {
  border-right: 1px solid #dbe3ec !important;
  box-sizing: border-box !important;
}
#lw-lt-head > span:last-child {
  border-right: 0 !important;
}
/* 数据行：格子也画竖线（原来只有表头有 ⇒ 断线=漏缝） */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item {
  column-gap: 0 !important;
  row-gap: 0 !important;
}
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item > * {
  border-right: 1px solid #dbe3ec !important;
  box-sizing: border-box !important;
}
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item > *:last-child {
  border-right: 0 !important;
}
/* 行底部横线也补上，避免行与行之间断开 */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item {
  border-bottom: 1px solid #e8edf4 !important;
}

/* ===== 2026.v6674：表头再靠上，贴住上方（消除顶部白缝） ===== */
#lw-lt-head,
html body[data-module="admin"] #aj-list.aj-listmode #lw-lt-head {
  margin-top: -1px !important;
  top: -1px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-clip: padding-box !important;
}
/* 表头单元格：上下内边距归零，文字紧贴整格 */
#lw-lt-head > span {
  margin: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  align-self: stretch !important;
  height: 100% !important;
  min-height: 28px !important;
}
/* 表格容器顶部补一条细边，避免表头与工具栏之间透出背景 */
html body[data-module="admin"] #aj-list.aj-listmode {
  border-top: 1px solid #cbd5e1 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ===== 2026.v6678：表头与数据行之间不再有白缝 ===== */
#lw-lt-head,
html body[data-module="admin"] #aj-list.aj-listmode #lw-lt-head {
  margin-bottom: 0 !important;
  border-bottom: 1px solid #cbd5e1 !important;
  height: auto !important;
  min-height: 30px !important;
}
#lw-lt-head > span {
  border-bottom: 0 !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  line-height: 30px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
}
html body[data-module="admin"] #aj-list.aj-listmode {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}
/* 第一行也不留上边距/上边框，直接贴住表头 */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item:first-child {
  margin-top: 0 !important;
  border-top: 0 !important;
  padding-top: 0 !important;
}

/* ===== 2026.v6680：吃掉工具栏与表头之间的灰色空隙 ===== */
#lw-lt-head,
html body[data-module="admin"] #aj-list.aj-listmode #lw-lt-head {
  margin-top: -9px !important;
  top: -9px !important;
}
html body[data-module="admin"] #aj-list.aj-listmode {
  margin-top: -9px !important;
  padding-top: 0 !important;
}

/* ===== 2026.v6682：表头视觉上移，吃掉工具栏下方的灰色空隙 ===== */
#lw-lt-head,
html body[data-module="admin"] #aj-list.aj-listmode #lw-lt-head {
  transform: translateY(-8px) !important;
  margin-bottom: -8px !important;
}
html body[data-module="admin"] #view {
  padding-top: 0 !important;
}

/* ===== 2026.v6684：表头完整边框（外框 + 列分隔线，横竖都成框） ===== */
#lw-lt-head,
html body[data-module="admin"] #aj-list.aj-listmode #lw-lt-head {
  border: 1px solid #cbd5e1 !important;
  border-radius: 3px 3px 0 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
#lw-lt-head > span {
  border-right: 1px solid #cbd5e1 !important;
  border-bottom: 1px solid #cbd5e1 !important;
  border-top: 0 !important;
  border-left: 0 !important;
  box-sizing: border-box !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 6px !important;
  background: #f1f5f9 !important;
  color: #334155 !important;
  font-weight: 600 !important;
}
#lw-lt-head > span:last-child {
  border-right: 0 !important;
}
/* 表头里的排序按钮/更多按钮，保持原样不被挤压 */
#lw-lt-head > span > .lw-lt-sbtn,
#lw-lt-head > span > .lw-lt-sort {
  flex: 0 0 auto !important;
}

/* ===== 2026.v6687：表头完整框（outline 外框 + 每格边线） ===== */
#lw-lt-head,
html body[data-module="admin"] #aj-list.aj-listmode #lw-lt-head {
  outline: 1px solid #94a3b8 !important;
  outline-offset: -1px !important;
  border-radius: 3px 3px 0 0 !important;
  overflow: hidden !important;
}
#lw-lt-head > span {
  border-right: 1px solid #cbd5e1 !important;
  border-bottom: 1px solid #cbd5e1 !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 6px !important;
  box-sizing: border-box !important;
  background: #f1f5f9 !important;
  color: #334155 !important;
  font-weight: 600 !important;
}
#lw-lt-head > span:last-child {
  border-right: 0 !important;
}
/* 数据行也补下边线，与表头连成表格 */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item {
  border-bottom: 1px solid #e8edf4 !important;
}

/* ===== 2026.v6690：表头外框（属性选择器，最高优先级，必中） ===== */
[id="lw-lt-head"] {
  border: 2px solid #64748b !important;
  border-radius: 3px 3px 0 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  outline: 2px solid #94a3b8 !important;
  outline-offset: -2px !important;
}
[id="lw-lt-head"] > span {
  border-right: 2px solid #64748b !important;
  border-bottom: 2px solid #64748b !important;
  box-sizing: border-box !important;
  height: 30px !important;
  min-height: 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 6px !important;
  background: #f1f5f9 !important;
  color: #334155 !important;
  font-weight: 600 !important;
}
[id="lw-lt-head"] > span:last-child {
  border-right: 0 !important;
}

/* ===== 2026.v6696：悬停/选中 改淡绿（原黄色难看） ===== */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item:hover {
  background-color: #f0fdf4 !important;
}
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item.is-selected {
  background-color: #dcfce7 !important;
}
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item.is-selected:hover {
  background-color: #bbf7d0 !important;
}
/* 左侧色条也换绿 */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item.is-selected {
  box-shadow: inset 3px 0 0 0 #22c55e !important;
}
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item:hover {
  box-shadow: inset 2px 0 0 0 #4ade80 !important;
}
/* 图片模式：同样换绿（含边框） */
html body[data-module="admin"] #aj-list:not(.aj-listmode) > .xh-upload-item:hover {
  background-color: #f0fdf4 !important;
  border-color: #86efac !important;
}
html body[data-module="admin"] #aj-list:not(.aj-listmode) > .xh-upload-item.is-selected {
  background-color: #dcfce7 !important;
  border-color: #4ade80 !important;
}
html body[data-module="admin"] #aj-list:not(.aj-listmode) > .xh-upload-item.is-selected:hover {
  background-color: #bbf7d0 !important;
  border-color: #22c55e !important;
}
/* 多选勾选框：橙 → 绿 */
html body[data-module="admin"] #aj-list .xh-upload-item.is-selected .xh-sel-toggle {
  color: #16a34a !important;
  border-color: #86efac !important;
  background: #f0fdf4 !important;
}
html body[data-module="admin"] #aj-list .xh-upload-item.is-selected .xh-sel-box {
  background: #22c55e !important;
  border-color: #22c55e !important;
}
/* 行内格子透明，保证整行绿得完整 */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item:hover > *,
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item.is-selected > * {
  background-color: transparent !important;
}

/* ===== 2026.v6697：表头上横线（2px 深灰） ===== */
#lw-lt-head,
html body[data-module="admin"] #aj-list.aj-listmode #lw-lt-head {
  border-top: 2px solid #64748b !important;
  transform: translateY(-4px) !important;
  margin-top: -5px !important;
}
[id="lw-lt-head"] {
  border-top: 2px solid #64748b !important;
}

/* ===== 2026.v6700：表头不位移，第一行完整显示 ===== */
#lw-lt-head,
html body[data-module="admin"] #aj-list.aj-listmode #lw-lt-head {
  transform: none !important;
  translate: none !important;
  margin-top: -3px !important;
  border-bottom: 1px solid #cbd5e1 !important;
}
[id="lw-lt-head"] {
  transform: none !important;
  margin-top: -3px !important;
}
/* 第一行数据：不被表头遮住 */
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  overflow: visible !important;
}
/* 表头格：上边框仍在，但不向下侵占行 */
#lw-lt-head > span {
  margin: 0 !important;
  padding: 0 6px !important;
  box-sizing: border-box !important;
}

/* ===== 2026.v6701：表头无缝、且不侵占第一行 ===== */
#lw-lt-head,
html body[data-module="admin"] #aj-list.aj-listmode #lw-lt-head {
  margin-top: -8px !important;
  margin-bottom: 0 !important;
  transform: none !important;
}
[id="lw-lt-head"] {
  margin-top: -8px !important;
  margin-bottom: 0 !important;
}
html body[data-module="admin"] #aj-list.aj-listmode {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* ===== 2026.v6702：父容器上移吃掉缝隙（sticky 表头自身 margin 无效） ===== */
html body[data-module="admin"] #aj-list.aj-listmode {
  margin-top: -4px !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}
#lw-lt-head,
html body[data-module="admin"] #aj-list.aj-listmode #lw-lt-head {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  transform: none !important;
}
[id="lw-lt-head"] {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ===== 2026.v6703：缝隙真凶 = #aj-pill-bar 的 margin-bottom:4px ⇒ 归零 ===== */
html body[data-module="admin"] #aj-pill-bar {
  margin-bottom: 0 !important;
}
/* 撤掉此前的负边距尝试，恢复干净布局（不切第一行、不移位） */
html body[data-module="admin"] #aj-list.aj-listmode {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
#lw-lt-head,
html body[data-module="admin"] #aj-list.aj-listmode #lw-lt-head,
[id="lw-lt-head"] {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  transform: none !important;
  translate: none !important;
}
html body[data-module="admin"] #aj-list.aj-listmode > .xh-upload-item:first-child {
  margin-top: 0 !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

/* ===== 2026.v6706：表头上移 4px 吃掉外部缝（margin-bottom 已为 0，不会切第一行） ===== */
#lw-lt-head,
html body[data-module="admin"] #aj-list.aj-listmode #lw-lt-head,
[id="lw-lt-head"] {
  transform: translateY(-4px) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
html body[data-module="admin"] #aj-pill-bar,
html body[data-module="admin"] #aj-pill-bar#aj-pill-bar {
  margin-bottom: 0 !important;
}

