/* ============== 页面/组件样式 ==============
   由 web/index.html 的内联 <style> 抽出（原本在 lgc.css 之后、theme-style 之后加载，
   所以这里也在同样的位置引入，保持层叠顺序不变）。 ============== */

/* ============== 判断日志（智能客服页）：cmd 风格 ==============
   为什么用终端的样子而不是卡片：这一页要盯的是**趋势** —— 连着看几十条才看得出
   「一提退款就一律判 9 分」这种系统性错判，而卡片式一条占 6 行、100 条把页面撑到几千像素，
   竖着扫根本比不出相邻两条。一条一行、横着扫，才是这个窗口该有的读法。
   固定高度 + 内部滚动：100 条全铺开会把整页顶到看不见下面的按钮。 */
.aics-term{
  background:#0d1117; border:1px solid #30363d; border-radius:8px;
  max-height:60vh; overflow:auto; padding:6px 4px;
  font:12.5px/1.75 ui-monospace,SFMono-Regular,Consolas,"Courier New",monospace;
  color:#c9d1d9;
}
.aics-term::-webkit-scrollbar{ width:10px; height:10px; }
.aics-term::-webkit-scrollbar-thumb{ background:#30363d; border-radius:6px; }
.aics-term::-webkit-scrollbar-track{ background:transparent; }
.aics-ln{ border-radius:5px; }
.aics-ln:hover{ background:#161b22; }
.aics-sum{ display:flex; gap:8px; align-items:baseline; padding:1px 6px; cursor:pointer; }
.aics-tri{ color:#58a6ff; flex:0 0 1em; font-size:11px; }
.aics-t{ color:#6e7681; flex:0 0 auto; }
.aics-int{ color:#e6edf3; font-weight:700; flex:0 0 auto; }
.aics-ask{ flex:0 0 auto; }
/* 摘要里的原话：**单行截断**（一行就是一行，折行就读不成终端了）；全文在展开区。 */
.aics-txt{ color:#8b949e; flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.aics-dim{ color:#6e7681; flex:0 0 auto; }
.aics-red{ color:#f85149; font-weight:700; flex:0 0 auto; }
.aics-grn{ color:#3fb950; flex:0 0 auto; }
.aics-k{ color:#6e7681; }
/* 展开区：一段对话。不再用左边那条竖线了 —— 每行自己带一条 │，
   说话人（买家/客服）站在竖线左边，右边是内容，**对齐成一列**，读起来才像聊天。 */
.aics-det{ margin:2px 0 6px; padding:2px 0 4px; }
.aics-line{ display:flex; gap:7px; align-items:baseline; padding:0 8px 0 18px; }
.aics-who{ flex:0 0 3.2em; text-align:right; color:#6e7681; }
.aics-who.buy{ color:#58a6ff; }     /* 买家：蓝 */
.aics-who.cs{ color:#3fb950; }      /* 客服：绿 —— 客服说的话要一眼认出来 */
.aics-who.red{ color:#f85149; }
.aics-sep{ color:#30363d; flex:0 0 auto; }
.aics-body{ flex:1 1 auto; min-width:0; color:#c9d1d9; overflow-wrap:anywhere; }
    .lgc-tbl tr.lgc-row-refund{ background:#fef0f0 !important; }
    .lgc-tbl tr.lgc-row-refund td{ color:#c45656; }
    /* 退款备注里含「拦截」的单：徽章改成橙底白字，和普通状态徽章区分开。
       和下面那段一样，是功能样式、不随主题走，曾在主题清理中被误删。 */
    .lgc-badge.lgc-b-intercept{ background:#e6a23c !important; color:#fff !important; }

    /* ===================== 🏷 已扫描标记 / ⚠ 疑似重复单（2026-09-15 新增） =====================
     * 这一段是「功能样式」，不属于任何主题 —— 别跟着主题一起删。
     * 它们曾在一次主题清理中被误删（类名留在 logistics.js 里、样式没了，
     * 于是印章退化成普通文字），现按原样恢复。
     * 需求：扫码岗位无语音播报条件，扫码成功仅有短暂弹窗、容易看漏，
     *       所以改用常驻标记，把「扫过 / 查过 / 可能重复」做成一眼可辨的章。
     * ========================================================================== */

    /* —— 已扫描章：双线边框 + 倾斜 + 斑驳底纹，模仿实体印章的质感 —— */
    .lgc-stamp{
      display:inline-block;
      padding:2px 9px 3px;
      border:3px double currentColor;      /* 双线 = 印章感的关键 */
      border-radius:5px;
      font-weight:800;
      font-size:12px;
      letter-spacing:.5px;
      line-height:1.2;
      text-align:center;
      white-space:nowrap;
      transform:rotate(-7deg);
      opacity:.9;
      /* 油墨斑驳：斜向细纹，避免看起来像普通标签 */
      background:
        repeating-linear-gradient(135deg,
          rgba(255,255,255,0) 0 3px,
          rgba(255,255,255,.10) 3px 6px);
      text-shadow:0 0 1px rgba(0,0,0,.12);
    }
    .lgc-stamp-hz{ color:#c0392b; }   /* 惠州：红章 —— 无音箱，必须最扎眼 */
    .lgc-stamp-gz{ color:#1e93dd; }   /* 广州：亮蓝章 —— 原用墨绿，在浅底上与惠州红章太接近、分不出来，
                                         换蓝后色相差拉开；刻意避开深蓝，保证印章小字也看得清 */
    .lgc-stamp-xx{ color:#8a6d3b; }   /* 来源未知：赭石章 */
    /* 已关闭·免扫：系统自动打的（订单已关闭、永远不会发货），不是谁拿扫码枪扫的 ——
       用灰章，和红/蓝/赭石都区分得开：既表示「这单不用扫」，也提醒它不是一次真实扫码 */
    .lgc-stamp-auto{ color:#78808a; }
    /* 赠品补发「已完成」章（2026-10-22）：底子与上面同一套（双线 + 倾斜 + 斑驳），
       只换颜色 —— 绿色是"这件事结了"，与惠州红/广州蓝/赭石未知都拉得开。 */
    .lgc-gift-stamp{ color:#2f7d4f; font-size:11px; }
    /* 已查单：紫色 —— 与上面红/蓝/赭石都拉得开，一眼分清「查过」与「扫过」。
       这枚盖的是本地记录（localStorage），只代表当前这台浏览器查过，与服务器数据无关。 */
    .lgc-stamp-asked{ color:#7b3fa0; }
    /* 「×N」：扫过不止一次时挂在章旁边（2026-10-04）。
       刻意做小做淡 —— 它是"还有更多"的提示，不该抢章本身的注意力；
       章上那枚显示的仍是**首次**扫码（它决定这一单算哪边）。 */
    /* 今日单号弹窗里的来源标签（惠州/广州）：选中态用广州那个蓝，未选中用浅灰 ——
       与章上「广州蓝/惠州红」不冲突，因为这里是"当前在看哪一档"、不是"这单归哪边"。 */
    .lgc-hztab{
      display:inline-block; padding:4px 16px; border:1px solid #e2e6ea; border-radius:14px;
      background:#f2f4f7; color:#40474f; font-size:13px; text-decoration:none;
      cursor:pointer; user-select:none;
    }
    .lgc-hztab:hover{ border-color:#1e93dd; }
    /* 「小程序」小标（2026-10-21）：挂在「惠州已扫描」章右边，说明这一章是手机扫的。
       刻意做成**不倾斜、无双线边框**的小胶囊 —— 它是给章加的注释，不是第二枚章，
       否则两枚"章"并排会让人以为这单被扫了两次。 */
    .lgc-stamp-via{
      display:inline-block; margin-left:3px; padding:0 5px;
      font-size:10px; font-weight:600; line-height:16px;
      color:#46705a; background:#eef4ec; border:1px solid #cfe0d2;
      border-radius:8px; vertical-align:middle; white-space:nowrap;
    }

/* ===== 拦截管理 / 操作记录（2026-10-21） =====
   两个新页面共用一套极简样式：工具条 + 表格。
   刻意不引 lgc.css 里那一大套（.lgc-table 有 40 多条规则、还带固定表头/横向滚动），
   这两页的数据结构简单得多，套上去反而要跟一堆继承样式打架。 */
.op-toolbar{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-top:12px;
}
.op-inp{
  height:34px; padding:0 10px; border:1px solid #d8dce1; border-radius:8px;
  background:#fff; font-size:13px; color:#2b2f36; min-width:170px; outline:none;
}
.op-inp:focus{ border-color:#7aa889; box-shadow:0 0 0 2px rgba(122,168,137,.16); }
.op-btn{
  height:34px; padding:0 14px; border:1px solid #2f5d3a; background:#2f5d3a; color:#fff;
  border-radius:8px; font-size:13px; font-weight:600; cursor:pointer; white-space:nowrap;
}
.op-btn:hover{ filter:brightness(1.06); }
.op-btn.ghost{ background:#fff; color:#2f5d3a; border-color:#cdd8cd; font-weight:500; }
.op-table{ width:100%; border-collapse:collapse; font-size:13px; }
.op-table th{
  text-align:left; font-weight:600; color:#6b7280; padding:9px 8px;
  border-bottom:1px solid #e6e8eb; white-space:nowrap;
}
.op-table td{
  padding:9px 8px; border-bottom:1px solid #f0f2f4; color:#2b2f36; vertical-align:top;
  word-break:break-word;
}
.op-table tr:hover td{ background:#fafbfc; }
.op-table td.mono{ font-family:Menlo,Consolas,monospace; font-size:12px; }
.op-tag{
  display:inline-block; padding:1px 7px; border-radius:6px; font-size:11px;
  background:#eef4ec; color:#46705a; white-space:nowrap;
}
/* 操作记录里按"哪一边"着色：惠州绿、广州蓝、主账号灰 —— 一眼能分出是谁干的 */
.op-tag.op-hz{ background:#eef4ec; color:#46705a; }
.op-tag.op-gz{ background:#e8eff8; color:#3b5f8a; }
.op-tag.op-na{ background:#f0f1f3; color:#6b7280; }
.op-empty{ padding:26px; text-align:center; color:#9aa3ad; font-size:13px; }

/* 退货登记（2026-10-23）
 * 状态用**底色标签**而不是纯文字：一屏几十行时，颜色比字更快分出来；
 * 认单结果条用浅绿底 —— 它表示"这一步对了"，与红色报错明确分开。 */
.rr-picked{
  margin-top:10px; padding:9px 12px; border-radius:8px;
  background:#f4f8f2; border:1px solid #dbe7d5;
  font-size:12.5px; color:#3f5747; line-height:1.7;
}
.rr-warn{ color:#a2622f; }
.rr-st{
  display:inline-block; padding:2px 8px; border-radius:10px;
  font-size:11.5px; font-weight:600; white-space:nowrap;
}
.rr-pending{ background:#fdf3e3; color:#9a6a1f; }
.rr-received{ background:#eaf1fb; color:#3a5f96; }
.rr-refunded{ background:#eaf5ec; color:#3f7a52; }
.rr-closed{ background:#f0f1f2; color:#7c858e; }
/* 2026-10-23 扩成售后台账后的四个终态（换货 / 维修 / 补寄 / 拦截）。
   颜色与「售后处理」页那四枚章同一套语义：换货蓝、维修青、补寄绿、拦截赭 ——
   同一个概念在两张表上颜色一样，人才不用重新学。 */
.rr-shipped{ background:#eef2fa; color:#4a5d8a; }
.rr-exchanged{ background:#e9f0fb; color:#34558c; }
.rr-repaired{ background:#e6f4f4; color:#2f6b6b; }
.rr-resent{ background:#eaf5ec; color:#3f7a52; }
.rr-blocked{ background:#fbeee4; color:#9a5528; }
/* 类型标签：比状态淡一档 —— 一屏里状态才是要扫的那列，类型只是分类 */
.rr-kind{
  display:inline-block; padding:1px 7px; border-radius:9px;
  background:#f4f5f3; color:#5d6b60; font-size:11px; white-space:nowrap;
}
/* 索引号（2026-10-23）：等宽 + 极淡底色，方便照着念、抄到别处对账 */
.rr-idx{
  display:inline-block; padding:1px 5px; border-radius:6px;
  background:#f5f7f4; color:#4d5a50; letter-spacing:.3px;
}
/* 未收回货报警（2026-10-24 用户：「要那种夸张的大黄边框，这样才能看得到，
   夸张的闪光，闪闪的那种」）。
   为什么整行染而不是只标一格：这一页闪着的行才是「今天真要去催的」，
   只有一格小字的话，扫一眼根本挑不出来。
   ⚠️ 底色/边框写在 td 上：tr 上的背景与 box-shadow 在部分浏览器（含 border-collapse
      表格）不渲染，写在 td 上一定生效；动画也只改 background-color —— 不引起重排，
      几十行一起闪也不掉帧。
   ⚠️ `.op-table tr:hover td` 那条灰底盖不住这里的黄色：运行中的 animation 优先级高于
      普通声明，悬停时不会「一碰就变灰」。 */
.rr-alarm-row>td{
  background-color:#fff3bf;
  border-top:3px solid #f5b301;
  border-bottom:3px solid #f5b301;
  animation:rrAlarmFlash 1s ease-in-out infinite;
}
.rr-alarm-row>td:first-child{ border-left:3px solid #f5b301; }
.rr-alarm-row>td:last-child{ border-right:3px solid #f5b301; }
/* 亮黄 ⇄ 纸白，1 秒一次：比「售后特殊标记」那枚章（2.2 秒）更急 ——
   那枚是提醒，这个是催货。 */
@keyframes rrAlarmFlash{
  0%,100%{ background-color:#fff3bf; }
  50%{ background-color:#ffe066; }
}
/* 徽章本身也发光，跟着同一拍子；字用深褐不在黄底上打滑 */
.rr-alarm-tag{
  display:inline-block; margin-top:3px; padding:2px 9px; border-radius:999px;
  background:#f5b301; color:#463000; font-size:11.5px; font-weight:700; white-space:nowrap;
  animation:rrAlarmTag 1s ease-in-out infinite;
}
@keyframes rrAlarmTag{
  0%,100%{ box-shadow:0 0 3px rgba(245,179,1,.55); }
  50%{ box-shadow:0 0 14px rgba(245,179,1,1); }
}
/* 开了「减少动态效果」就只留静态大黄框（还得看得见，但不闪） */
@media (prefers-reduced-motion:reduce){
  .rr-alarm-row>td{ animation:none; background-color:#fff3bf; }
  .rr-alarm-tag{ animation:none; box-shadow:0 0 8px rgba(245,179,1,.9); }
}
/* 新推进来的那一单（2026-10-26 用户：「如果传过去我切网页的时候自动跳下去并框住50秒
   消失」）。
   为什么另做一套蓝框、不直接复用上面那套黄框：黄框是「长期催货」的状态，得一直亮着等
   人处理；这个是「刚进来、看一眼」的临时提示，60 分钟后由 returns.js 的 hiSweep 摘掉。
   两种含义长一个样的话，人就分不清这一行到底要不要一直盯着。
   画法照抄黄框那套（border 在 td 上，border-collapse 表格里 tr 的边框各浏览器不一致），
   动画也只动 background-color —— 不引起重排。
   ⚠️ 这组的声明写在 `.rr-alarm-row>td` 之后：万一一行同时是「刚推进来」+「未收回货」，
   优先级相同时后写的赢，临时框盖住黄色 —— 刚推进来那一下本来就该看得最清楚，
   到点摘掉之后黄框还在。

   ★ 颜色要一单一个（2026-10-26 用户：「售后台账每次显示的颜色要不一样，不然区分不了
     现在的订单啊」）：一屏挂着几十行同款蓝框时，人是分不清"哪一行是哪一单"的，
     而这个框的用处恰恰是"把刚处理的那几单挑出来"。
     做法：调色板 6 色，按**序号**取模（rr-c0..rr-c5，见 returns.js 的 hiColorCls）——
     相邻两单必然不同色，间隔 6 才撞色；而且同一个号永远是同一个颜色，
     他之前记的「那个橙的就是第 7 件」不会下一次就变。
     主色写在 --fl、淡底写在 --flbg，边框/背景/徽章全从这两个变量取 ——
     6 套色只差两行变量，不用复制 6 份规则。 */
.rr-flash{ --fl:#2f6fd0; --flbg:#eaf3ff; }          /* 0 蓝 */
.rr-flash.rr-c1{ --fl:#c2410c; --flbg:#fdeee4; }   /* 1 橙 */
.rr-flash.rr-c2{ --fl:#15803d; --flbg:#e8f6ec; }   /* 2 绿 */
.rr-flash.rr-c3{ --fl:#6d28d9; --flbg:#f1ebfe; }   /* 3 紫 */
.rr-flash.rr-c4{ --fl:#0e7490; --flbg:#e6f6f9; }   /* 4 青 */
.rr-flash.rr-c5{ --fl:#be123c; --flbg:#fdeaee; }   /* 5 玫红 */
.rr-flash>td{
  background-color:var(--flbg);
  border-top:3px solid var(--fl);
  border-bottom:3px solid var(--fl);
  animation:rrNewFlash 1.6s ease-in-out infinite;
}
.rr-flash>td:first-child{ border-left:3px solid var(--fl); }
.rr-flash>td:last-child{ border-right:3px solid var(--fl); }
/* 自己那档淡底 ⇄ 白，1.6 秒一次。
   背景为什么闪到**白**而不是闪到"更深的同色"：深色得给每个色板再配一个值，
   6 套色就是 6 个 keyframes；闪到白只用变量，一套动画服务全部颜色。 */
@keyframes rrNewFlash{
  0%,100%{ background-color:var(--flbg); }
  50%{ background-color:#fff; }
}
@media (prefers-reduced-motion:reduce){
  .rr-flash>td{ animation:none; background-color:var(--flbg); }
}
/* 索引号下面那枚「今天第几个处理的售后件」（2026-10-26 用户：「最好标记下第几个处理的
   售后件，作为临时标记，圆形框个数字」）。
   为什么是圆形实心而不是又一行小字：这一页已经有类型、状态、报警三处徽章，
   再加一段文字就糊了；一个圈起来的数字扫一眼就能数，而他要的就是「大概知道
   今天处理了多少」。
   位置（2026-10-27 用户：「那个可以放在索引号下面，然后大一点的」）：
   原来塞在日期格最前面，现在挪到**索引号正下方** —— 索引号是他抄单对账时
   盯着看的那格，序号跟在正下方，一列扫下来就是今天的计数；并放大一号
   （20px 圆 → 26px，字 11 → 14）：小圈瞟一眼数不清。
   ⚠️ 数字由服务端按当天推送流水发（feed 的 day_no），过 60 分钟跟着那行的框一起摘掉，
      不进库 —— 它是个临时的记号，不是业务字段。
   颜色跟着那一行的框走（background 取 --fl）：序号和框永远同一个颜色，一眼能对上。 */
.rr-flash-no{
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; margin-top:3px; border-radius:50%;
  background:var(--fl,#2f6fd0); color:#fff; font-size:14px; font-weight:700;
  line-height:1; letter-spacing:-.5px; vertical-align:middle;
}
/* 统计行里的「🔴 未收回货 N」：可点，点一下切到只看这一批 */
.rr-alarm-go{ cursor:pointer; text-decoration:underline dotted; }
.rr-alarm-go:hover{ color:#c0563c; }
/* 统计从「一条短句」变成「按类型 + 按状态」两截（2026-10-23），一行放不下就独占一行 */
#rrStats{ flex:1 1 100%; line-height:1.8; }
/* 「加载更多」（2026-10-24）：台账一页 300 条，超过的接着往下翻 ——
   之前只有 300 条的 LIMIT、没有下一页，后面的单一律看不到 */
.rr-more{
  display:flex; align-items:center; justify-content:center; gap:10px;
  padding:12px 0 4px;
}

/* 导入表格带来的截图（2026-10-23）
 * 徽标做小、不做缩略图：一屏几十行，缩略图会把行高撑开，反而看不见台账本身。
 * 看图用浮层：一次最多翻十几张，比每张开一个标签页靠谱（后者还会被浏览器拦）。 */
.rr-imgbtn{
  border:1px solid #dbe2db; background:#fbfcfa; border-radius:8px;
  padding:2px 6px; font-size:11.5px; color:#4a6b52; cursor:pointer; line-height:1.6;
}
.rr-imgbtn:hover{ border-color:#b9cbbd; background:#f4f8f2; }
.rr-viewer{
  display:none; position:fixed; inset:0; z-index:9999;
  background:rgba(28,32,30,.78); align-items:center; justify-content:center;
}
.rr-viewer-in{ max-width:min(92vw,1100px); max-height:92vh; display:flex; flex-direction:column; gap:10px; }
.rr-viewer-in img{
  max-width:min(92vw,1100px); max-height:82vh; object-fit:contain;
  background:#fff; border-radius:10px; box-shadow:0 10px 40px rgba(0,0,0,.35);
}
.rr-viewer-bar{ display:flex; align-items:center; justify-content:center; gap:10px; }
.rr-viewer-bar .tiny{ color:#e6ece7; }

/* ===== 首页三个入口（2026-10-21） =====
   窄条样式，不是大卡片：用户原话「窄一点就可以了，不用那么高」。
   限制最大宽度 + 左对齐，屏幕上不会拉成一条横贯全屏的长条。 */
.home-menu{
  max-width:560px; margin-top:14px; display:flex; flex-direction:column; gap:8px;
}
.home-row{
  display:flex; align-items:center; gap:12px;
  padding:12px 16px; border-radius:10px; background:#fff;
  border:1px solid #e8eae6; text-decoration:none; color:#2b2f36;
  transition:border-color .12s, background .12s, transform .12s;
}
.home-row:hover{ border-color:#c9d8cc; background:#fbfcfa; transform:translateX(2px); }
.home-row .home-t{ font-size:15px; font-weight:600; white-space:nowrap; }
.home-row .home-s{
  flex:1; font-size:12px; color:#8a9490;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.home-row .home-a{ color:#b6c2b7; font-size:15px; }
.home-row.denied{ opacity:.45; }
/* 手机上把说明文字藏掉：一行只留标题，够点就行 */
@media (max-width:600px){
  .home-row .home-s{ display:none; }
  .home-menu{ max-width:none; }
}
    .lgc-scan-n{
      display:inline-block; margin-left:2px; padding:0 4px;
      font-size:10px; font-weight:700; color:#8a9099;
      border:1px solid #d8dce1; border-radius:8px; background:#f6f7f8;
      cursor:pointer; vertical-align:1px;
    }
    .lgc-scan-n:hover{ color:#1e93dd; border-color:#1e93dd; }
    .lgc-stamp small{
      display:block;
      margin-top:1px;
      font-size:9px;
      font-weight:600;
      letter-spacing:0;
      opacity:.85;
    }
    /* 弹窗里那枚大章（2026-10-06）：底子仍是「猪肉章」那一套
       （双线边框 + 倾斜 + 斜向斑驳，见上面 .lgc-stamp），只把尺寸放大成主角。
       为什么不直接用表格里那枚（.lgc-rs-stamp）：它是**为「同一格里的第二个章」刻意收窄过**的
       （角度 -4°、字号 11px、两侧留白），放进弹窗当主角太小、太拘谨。
       颜色仍按类型走（lgc.css 的 .lgc-rs-st-*）—— 那是功能色，跟主题变就分不出类型了。
       ⚠️ 角度必须是 -7°：它配 .lgc-stamp-fresh 那套「拍下来」的动画用，
       而那个 keyframes 把角度**写死成 -7deg**（见下）—— 换角度会在动画结束的瞬间被掰回去。
       顺手把那套动画当"盖章"用：弹窗是扫码后立刻出现的，正好是一次落款。 */
    .lgc-stamp-lg{
      padding:6px 20px 7px;
      border-width:4px;
      border-radius:8px;
      font-size:22px;
      letter-spacing:4px;
      transform:rotate(-7deg);
      opacity:.95;
    }
    .lgc-stamp-lg small{ font-size:11px; letter-spacing:0; margin-top:3px; }
    /* 刚扫上的那一枚：从大缩小「拍」下来，给出盖章的确认感 */
    @keyframes lgc-stamp-slam{
      0%   { transform:rotate(-7deg) scale(2.1); opacity:0; }
      60%  { transform:rotate(-7deg) scale(.92); opacity:1; }
      100% { transform:rotate(-7deg) scale(1);   opacity:.9; }
    }
    .lgc-stamp-fresh{ animation:lgc-stamp-slam .42s cubic-bezier(.2,.9,.3,1.2) both; }

    /* —— 疑似重复单角标：orders.scan_count > 1（每次扫码 +1，重新导入不重置） ——
       惠州侧没有音箱，重复扫 = 大概率重复单，必须让扫的人一眼就看见。
       三重提示：① 大红角标（呼吸动画）② 整行左侧红条 ③ 文字直说「请检查」 */
    .lgc-dup-tag{
      display:block;
      margin:0 0 4px;
      padding:3px 9px 4px;
      border-radius:5px;
      background:#c0392b;
      color:#fff;
      font-size:12px;
      font-weight:800;
      letter-spacing:.3px;
      line-height:1.3;
      white-space:normal;
      box-shadow:0 1px 5px rgba(192,57,43,.45);
      /* 轻微呼吸：吸引注意但不刺眼，连续扫码时不至于烦 */
      animation:lgc-dup-pulse 1.5s ease-in-out infinite;
    }
    @keyframes lgc-dup-pulse{
      0%,100% { opacity:1;   transform:scale(1);    }
      50%     { opacity:.85; transform:scale(1.05); }
    }
    /* 整行左侧红条：余光扫过去就能定位是哪几单 */
    .lgc-tbl tbody tr.lgc-row-dup td:first-child{ box-shadow:inset 4px 0 0 0 #c0392b; }
    /* ===================== 🏺 暖陶专属（默认基准：陶土质感） =====================
     * clay 是 BASE 默认主题，此前完全没有专属样式。给它明确签名后，
     * 从其他主题切回来才能感到"换了"。定位：温润、圆中带方、暖投影。 */
    html[data-theme="clay"] button,
    html[data-theme="clay"] .btn,
    html[data-theme="clay"] .iconbtn,
    html[data-theme="clay"] input[type="text"],
    html[data-theme="clay"] input[type="date"],
    html[data-theme="clay"] input[type="number"],
    html[data-theme="clay"] select,
    html[data-theme="clay"] textarea{
      border-radius: 10px !important;
      border: 1px solid var(--line,#e7e0d2) !important;
      box-shadow: 0 1px 2px rgba(60,50,30,.05) !important;
    }
    html[data-theme="clay"] input[type="text"],
    html[data-theme="clay"] input[type="date"],
    html[data-theme="clay"] input[type="number"],
    html[data-theme="clay"] select,
    html[data-theme="clay"] textarea{
      box-shadow: inset 0 1px 2px rgba(60,50,30,.04) !important;
    }
    html[data-theme="clay"] button:hover,
    html[data-theme="clay"] .btn:hover{
      border-color: var(--terra,#b06a43) !important;
      box-shadow: 0 2px 8px rgba(176,106,67,.18) !important;
    }
    html[data-theme="clay"] input:focus,
    html[data-theme="clay"] select:focus,
    html[data-theme="clay"] textarea:focus{
      border-color: var(--terra,#b06a43) !important;
      box-shadow: 0 0 0 3px rgba(176,106,67,.14) !important;
    }
    html[data-theme="clay"] .mcard,
    html[data-theme="clay"] .card,
    html[data-theme="clay"] .modal,
    html[data-theme="clay"] .lgc-main,
    html[data-theme="clay"] .lgc-top,
    html[data-theme="clay"] .lgc-note{
      border-radius: 16px !important;
      border: 1px solid var(--line,#e7e0d2) !important;
      box-shadow: 0 1px 2px rgba(60,50,30,.04), 0 8px 24px rgba(60,50,30,.06) !important;
    }
    html[data-theme="clay"] .pill,
    html[data-theme="clay"] .lgc-badge{
      border-radius: 6px !important;
      border: 1px solid var(--line-soft,#efe9dd) !important;
    }
    html[data-theme="clay"] .tbl,
    html[data-theme="clay"] .lgc-tbl{
      border-radius: 12px !important;
      overflow: hidden !important;
    }
    /* —— 主内容区的签名：表头 ——
       装饰此前全堆在侧边栏顶部，而侧边栏你一整天未必看几眼。
       订单列表的表头是盯得最久的地方，把主题的「一手」放这儿，切换才立刻有感。
       各套主题在这条上给的东西不同：底色、边线、冷暖，一眼就分得出。 */
    html[data-theme="clay"] .lgc-tbl thead th,
    html[data-theme="clay"] .tbl thead th{
      background: #f4eee3 !important;
      color: var(--terra-deep,#b06842) !important;
      border-bottom: 2px solid var(--terra,#b06a43) !important;
    }

    /* ===================== 📱 魅族 Flyme 专属（纯白 + 清新蓝 + 毛玻璃） =====================
     * 签名：轻、透、圆。主色蓝由令牌驱动，这里补 Flyme 的「手感」：
     * 主按钮蓝渐变 + 悬浮微浮、聚焦蓝环、表头蓝底线、毛玻璃顶栏、侧栏顶部一抹蓝。 */
    html[data-theme="flyme"] button,
    html[data-theme="flyme"] .btn,
    html[data-theme="flyme"] .iconbtn,
    html[data-theme="flyme"] input[type="text"],
    html[data-theme="flyme"] input[type="date"],
    html[data-theme="flyme"] input[type="number"],
    html[data-theme="flyme"] select,
    html[data-theme="flyme"] textarea{
      border-radius: 12px !important;
      border: 1px solid var(--line,#e2e8f0) !important;
      box-shadow: 0 1px 2px rgba(28,80,160,.05) !important;
    }
    /* 主按钮：蓝渐变 + 悬浮微浮（ghost 不套用，保持描边） */
    html[data-theme="flyme"] .btn:not(.ghost),
    html[data-theme="flyme"] .lgc-btn.ok{
      background: linear-gradient(180deg,#3a97ff,#1577e6) !important;
      border-color: transparent !important;
      color: #fff !important;
      box-shadow: 0 2px 8px rgba(43,140,255,.22) !important;
    }
    html[data-theme="flyme"] .btn:not(.ghost):hover,
    html[data-theme="flyme"] .lgc-btn.ok:hover{
      box-shadow: 0 4px 14px rgba(43,140,255,.32) !important;
      transform: translateY(-1px) !important;
    }
    html[data-theme="flyme"] button:hover,
    html[data-theme="flyme"] .iconbtn:hover{
      border-color: var(--terra,#2b8cff) !important;
      color: var(--terra-deep,#1577e6) !important;
    }
    html[data-theme="flyme"] input:focus,
    html[data-theme="flyme"] select:focus,
    html[data-theme="flyme"] textarea:focus{
      border-color: var(--terra,#2b8cff) !important;
      box-shadow: 0 0 0 3px rgba(43,140,255,.16) !important;
      outline: none !important;
    }
    html[data-theme="flyme"] .mcard,
    html[data-theme="flyme"] .card,
    html[data-theme="flyme"] .modal,
    html[data-theme="flyme"] .lgc-main,
    html[data-theme="flyme"] .lgc-top,
    html[data-theme="flyme"] .lgc-note{
      border-radius: 16px !important;
      border: 1px solid var(--line,#e2e8f0) !important;
      box-shadow: 0 2px 10px rgba(28,80,160,.05),0 12px 32px rgba(28,80,160,.08) !important;
    }
    html[data-theme="flyme"] .pill,
    html[data-theme="flyme"] .lgc-badge{
      border-radius: 8px !important;
      border: 1px solid var(--line-soft,#eef2f7) !important;
    }
    html[data-theme="flyme"] .tbl,
    html[data-theme="flyme"] .lgc-tbl{
      border-radius: 14px !important;
      overflow: hidden !important;
    }
    html[data-theme="flyme"] .lgc-tbl thead th,
    html[data-theme="flyme"] .tbl thead th{
      background: #eaf2fe !important;
      color: var(--terra-deep,#1577e6) !important;
      border-bottom: 2px solid var(--terra,#2b8cff) !important;
    }
    /* 侧栏顶部一抹清新蓝，呼应 Flyme 的蓝色呼吸灯 */
    html[data-theme="flyme"] .sidebar{
      position: relative !important;
    }
    html[data-theme="flyme"] .sidebar::before{
      content: "" !important;
      position: absolute !important;
      top: 0 !important; left: 0 !important; right: 0 !important;
      height: 56px !important;
      background: linear-gradient(180deg, rgba(43,140,255,.18), rgba(43,140,255,0)) !important;
      pointer-events: none !important;
      z-index: 0 !important;
    }

    /* ===================== 🏔 四时山水专属（清雅淡墨 · 以留白为主） =====================
     * 这套的手法和前面所有主题是反的：它们靠「白底 + 阴影浮起来」建立层次，
     * 这套靠「淡下去」—— 卡片几乎没有阴影，只用一道极淡的墨线划开。
     * 四时里「春山」「冬江」在这里做视觉点缀，「夏荷」「秋枫」落进了配色
     * （青碧当主色、赭石当提醒色），不另外画出来。 */

    /* 1. 细线 + 小圆角：国画用线细而匀，圆角收小才端庄 */
    html[data-theme="sishan"] button,
    html[data-theme="sishan"] .btn,
    html[data-theme="sishan"] .iconbtn,
    html[data-theme="sishan"] .lgc-btn{
      border-radius: 3px !important;
      border: 1px solid var(--line,#ddd8cb) !important;
      background: var(--surface,#fdfcf8) !important;
      box-shadow: none !important;                 /* 平涂，不做立体 */
    }
    html[data-theme="sishan"] button:hover,
    html[data-theme="sishan"] .btn:hover,
    html[data-theme="sishan"] .lgc-btn:hover{
      border-color: var(--terra,#8f6b52) !important;
      color: var(--terra,#8f6b52) !important;
    }
    /* 主按钮：赭石平涂 —— 国风不搞高光渐变 */
    html[data-theme="sishan"] button.ok,
    html[data-theme="sishan"] .lgc-btn.ok{
      background: var(--terra,#8f6b52) !important;
      border-color: var(--terra,#8f6b52) !important;
      color: #fdfcf8 !important;
    }
    html[data-theme="sishan"] button.ok:hover,
    html[data-theme="sishan"] .lgc-btn.ok:hover{
      background: var(--terra-deep,#75563f) !important;
      border-color: var(--terra-deep,#75563f) !important;
      color: #fdfcf8 !important;
    }
    /* 2. 输入框：淡墨圈一道，聚焦时青碧（夏荷）压在下缘 */
    html[data-theme="sishan"] input[type="text"],
    html[data-theme="sishan"] input[type="date"],
    html[data-theme="sishan"] input[type="number"],
    html[data-theme="sishan"] select,
    html[data-theme="sishan"] textarea{
      border-radius: 3px !important;
      border: 1px solid var(--line,#ddd8cb) !important;
      background: #fffefb !important;
      box-shadow: inset 0 1px 0 rgba(90,85,70,.03) !important;
    }
    html[data-theme="sishan"] input:focus,
    html[data-theme="sishan"] select:focus,
    html[data-theme="sishan"] textarea:focus{
      border-color: var(--sage,#5f8a7e) !important;
      box-shadow: 0 1px 0 var(--sage,#5f8a7e) !important;
      outline: none !important;
    }
    /* 3. 卡片：几乎不浮起来 —— 一层宣纸色 + 一道淡墨边 */
    html[data-theme="sishan"] .mcard,
    html[data-theme="sishan"] .card,
    html[data-theme="sishan"] .modal,
    html[data-theme="sishan"] .lgc-main,
    html[data-theme="sishan"] .lgc-top,
    html[data-theme="sishan"] .lgc-note,
    html[data-theme="sishan"] .lgc-log-modal{
      border-radius: 6px !important;
      border: 1px solid var(--line,#ddd8cb) !important;
      box-shadow: 0 1px 2px rgba(90,85,70,.03) !important;
    }
    /* 4. 徽章 / 标签：清墨底，圆角收小 */
    html[data-theme="sishan"] .pill,
    html[data-theme="sishan"] .lgc-badge{
      border-radius: 4px !important;
      border: 1px solid var(--line-soft,#eae6dc) !important;
    }
    /* 5. 表格：外框一道淡墨线 */
    html[data-theme="sishan"] .tbl,
    html[data-theme="sishan"] .lgc-tbl{
      border-radius: 4px !important;
      overflow: hidden !important;
      border: 1px solid var(--line,#ddd8cb) !important;
    }
    /* 6. 侧边栏：顶部一抹「春山烟雨」，底部一带「冬雪寒江」 */
    html[data-theme="sishan"] .sidebar{
      position: relative !important;
    }
    html[data-theme="sishan"] .sidebar::before{
      content: "" !important;
      position: absolute !important;
      top: 0 !important; left: 0 !important; right: 0 !important;
      height: 64px !important;
      /* 远山：几个错落的峰，烟雨感靠透明度渐变收在底部 */
      background: linear-gradient(180deg, rgba(95,138,126,.15), rgba(95,138,126,0)) !important;
      clip-path: polygon(0 100%, 0 68%, 12% 42%, 22% 58%, 34% 26%, 45% 50%,
                         56% 34%, 68% 56%, 80% 30%, 92% 52%, 100% 38%, 100% 100%) !important;
      pointer-events: none !important;
      z-index: 0 !important;
    }
    html[data-theme="sishan"] .sidebar::after{
      content: "" !important;
      position: absolute !important;
      bottom: 0 !important; left: 0 !important; right: 0 !important;
      height: 46px !important;
      /* 寒江：几道极淡的水纹，越往上越化开 */
      background: repeating-linear-gradient(180deg,
                    rgba(107,127,140,.11) 0px, rgba(107,127,140,.11) 1px,
                    transparent 1px, transparent 9px) !important;
      mask-image: linear-gradient(180deg, transparent, #000) !important;
      -webkit-mask-image: linear-gradient(180deg, transparent, #000) !important;
      pointer-events: none !important;
      z-index: 0 !important;
    }
    /* 侧边栏里的内容要盖在山影、水纹上面 */
    html[data-theme="sishan"] .sidebar > *{
      position: relative !important;
      z-index: 1 !important;
    }
    /* 7. 表头（主内容区的签名）：宣纸底 + 一道极淡的墨线。
          国画不靠色块分栏，靠线 —— 所以这里的底线只有 1px，且用清墨不用主色。 */
    html[data-theme="sishan"] .lgc-tbl thead th,
    html[data-theme="sishan"] .tbl thead th{
      background: #f4f1e8 !important;
      color: var(--ink-2,#6b6b66) !important;
      border-bottom: 1px solid var(--line,#ddd8cb) !important;
      font-weight: 500 !important;
      letter-spacing: .04em !important;
    }

    /* ===================== 🎨 敦煌壁画专属（浓烈华丽 · 浓在框、淡在纸） =====================
     * 和四时山水是两极。工作台要天天盯着看，整套铺满浓色会很累眼，
     * 所以把「浓」集中到框上：侧边栏是深石青（唯一一个深色侧边栏），
     * 装饰走藻井与缠枝，卡片用细金线。
     * 飞天、九色鹿这类具象绘画不用 CSS 硬画（画不出来，引图片又有版权与体积问题），
     * 这里做的是它们的语境 —— 藻井几何带与缠枝卷草。 */

    /* 1. 方正 + 细金线：敦煌是方正的，边缘用鎏金而不是灰 */
    html[data-theme="dunhuang"] button,
    html[data-theme="dunhuang"] .btn,
    html[data-theme="dunhuang"] .iconbtn,
    html[data-theme="dunhuang"] .lgc-btn{
      border-radius: 2px !important;
      border: 1px solid var(--gold,#c9a227) !important;
      background: var(--surface,#faf3e4) !important;
    }
    html[data-theme="dunhuang"] button:hover,
    html[data-theme="dunhuang"] .btn:hover,
    html[data-theme="dunhuang"] .lgc-btn:hover{
      background: var(--gold,#c9a227) !important;
      color: #3a2c14 !important;
    }
    /* 主按钮：土红实心 + 金边 */
    html[data-theme="dunhuang"] button.ok,
    html[data-theme="dunhuang"] .lgc-btn.ok{
      background: var(--terra,#a63c2e) !important;
      border-color: var(--gold,#c9a227) !important;
      color: #f5ebd8 !important;
    }
    html[data-theme="dunhuang"] button.ok:hover,
    html[data-theme="dunhuang"] .lgc-btn.ok:hover{
      background: var(--terra-deep,#83291d) !important;
      border-color: var(--gold,#c9a227) !important;
      color: #f5ebd8 !important;
    }
    /* 2. 输入框：细土线，聚焦转土红 */
    html[data-theme="dunhuang"] input[type="text"],
    html[data-theme="dunhuang"] input[type="date"],
    html[data-theme="dunhuang"] input[type="number"],
    html[data-theme="dunhuang"] select,
    html[data-theme="dunhuang"] textarea{
      border-radius: 2px !important;
      border: 1px solid var(--line,#c9b48c) !important;
      background: #fffaf0 !important;
    }
    html[data-theme="dunhuang"] input:focus,
    html[data-theme="dunhuang"] select:focus,
    html[data-theme="dunhuang"] textarea:focus{
      border-color: var(--terra,#a63c2e) !important;
      box-shadow: 0 0 0 2px rgba(166,60,46,.16) !important;
      outline: none !important;
    }
    /* 3. 卡片：细金线描边 + 顶部一道缠枝卷草带 */
    html[data-theme="dunhuang"] .mcard,
    html[data-theme="dunhuang"] .card,
    html[data-theme="dunhuang"] .modal,
    html[data-theme="dunhuang"] .lgc-main,
    html[data-theme="dunhuang"] .lgc-top,
    html[data-theme="dunhuang"] .lgc-note,
    html[data-theme="dunhuang"] .lgc-log-modal{
      border-radius: 2px !important;
      border: 1px solid var(--gold,#c9a227) !important;
      box-shadow: 0 1px 2px rgba(60,45,25,.08), 0 6px 18px rgba(60,45,25,.08) !important;
    }
    /* 4. 徽章 / 标签：方正，清壁底 */
    html[data-theme="dunhuang"] .pill,
    html[data-theme="dunhuang"] .lgc-badge{
      border-radius: 3px !important;
      border: 1px solid var(--line,#c9b48c) !important;
    }
    /* 5. 表格：外框金线，表头用驼黄底 */
    html[data-theme="dunhuang"] .tbl,
    html[data-theme="dunhuang"] .lgc-tbl{
      border-radius: 2px !important;
      overflow: hidden !important;
      border: 1px solid var(--gold,#c9a227) !important;
    }
    /* 6. 侧边栏：深石青底（门外是沙壁，进门是洞窟） */
    html[data-theme="dunhuang"] .sidebar{
      position: relative !important;
      background: linear-gradient(180deg, var(--side-grad-1,#2e5c8a), var(--side-grad-2,#22456b)) !important;
    }
    html[data-theme="dunhuang"] .sidebar a,
    html[data-theme="dunhuang"] .sidebar span,
    html[data-theme="dunhuang"] .sidebar div{
      color: #f0e2c4 !important;
    }
    html[data-theme="dunhuang"] .sidebar a:hover{
      background: rgba(201,162,39,.20) !important;
      color: #ffffff !important;
    }
    html[data-theme="dunhuang"] .sidebar a.active{
      background: rgba(201,162,39,.30) !important;
      color: #ffffff !important;
      box-shadow: inset 3px 0 0 var(--gold,#c9a227) !important;
    }
    /* 7. 侧边栏顶部一道「藻井」几何带：45° 交叉线拼出菱形网格 */
    html[data-theme="dunhuang"] .sidebar::before{
      content: "" !important;
      position: absolute !important;
      top: 0 !important; left: 0 !important; right: 0 !important;
      height: 34px !important;
      background-image:
        repeating-linear-gradient(45deg,  rgba(201,162,39,.55) 0 1px, transparent 1px 11px),
        repeating-linear-gradient(-45deg, rgba(201,162,39,.55) 0 1px, transparent 1px 11px),
        repeating-linear-gradient(0deg,   rgba(201,162,39,.28) 0 1px, transparent 1px 22px) !important;
      opacity: .85 !important;
      pointer-events: none !important;
      z-index: 0 !important;
    }
    html[data-theme="dunhuang"] .sidebar > *{
      position: relative !important;
      z-index: 1 !important;
    }
    /* 8. 顶部栏底边：一道更密的藻井细带，收得极窄不抢内容 */
    html[data-theme="dunhuang"] .topbar{
      border-bottom: 2px solid var(--gold,#c9a227) !important;
    }
    /* 9. 表头（主内容区的签名）：驼黄底 + 金线。
          敦煌是「满」的美学 —— 这里的底色比其它主题都实，因为留白不是它的语言。 */
    html[data-theme="dunhuang"] .lgc-tbl thead th,
    html[data-theme="dunhuang"] .tbl thead th{
      background: #ecdbb2 !important;
      color: #5c3a1e !important;
      border-bottom: 2px solid var(--gold,#c9a227) !important;
      letter-spacing: .05em !important;
    }

    /* ===================== 🏯 宋式极简专属（月白 / 茶褐 / 竹青 · 克制干净） =====================
     * 宋式审美是「克制」而不是「少」：该有的都有，但每样都不多。
     * 和四时山水最容易混（都淡、都用传统色），分野在温度 —— 四时是暖的（宣纸米黄 + 赭石），
     * 这套是冷的（月白 + 竹青）。所以这里的线条要「干净」不是「细密」：
     * 宋窗棂、青瓷釉、淡墨远山，全是几何与寥寥几笔，一件写实绘画都不做。
     * 元素落位：宋窗=侧边栏顶部的窗棂格，青瓷=按钮釉色与输入框圈足，
     * 远山=侧边栏底部一线淡影，腊梅=只进配色（那点黄在 --gold），不画出来。 */

    /* 1. 利落直线 + 小圆角：宋式家具与窗棂都是直线，圆角只留一点点 */
    html[data-theme="song"] button,
    html[data-theme="song"] .btn,
    html[data-theme="song"] .iconbtn,
    html[data-theme="song"] .lgc-btn{
      border-radius: 6px !important;
      border: 1px solid var(--line,#d5dbdd) !important;
      background: var(--surface,#fbfcfc) !important;
      box-shadow: none !important;                 /* 平贴，不做立体 */
    }
    html[data-theme="song"] button:hover,
    html[data-theme="song"] .btn:hover,
    html[data-theme="song"] .lgc-btn:hover{
      border-color: var(--sage,#5c7d5a) !important;
      color: var(--sage,#5c7d5a) !important;
    }
    /* 主按钮：竹青平涂 —— 取青瓷釉色，不上高光渐变 */
    html[data-theme="song"] button.ok,
    html[data-theme="song"] .lgc-btn.ok{
      background: var(--sage,#5c7d5a) !important;
      border-color: var(--sage,#5c7d5a) !important;
      color: #fbfcfc !important;
    }
    html[data-theme="song"] button.ok:hover,
    html[data-theme="song"] .lgc-btn.ok:hover{
      background: #4a6b48 !important;
      border-color: #4a6b48 !important;
      color: #fbfcfc !important;
    }
    /* 2. 输入框：一道淡线；聚焦时下缘压一道竹青（像瓷器的圈足收口） */
    html[data-theme="song"] input[type="text"],
    html[data-theme="song"] input[type="date"],
    html[data-theme="song"] input[type="number"],
    html[data-theme="song"] select,
    html[data-theme="song"] textarea{
      border-radius: 6px !important;
      border: 1px solid var(--line,#d5dbdd) !important;
      background: #feffff !important;
      box-shadow: none !important;
    }
    html[data-theme="song"] input:focus,
    html[data-theme="song"] select:focus,
    html[data-theme="song"] textarea:focus{
      border-color: var(--sage,#5c7d5a) !important;
      box-shadow: 0 1px 0 var(--sage,#5c7d5a) !important;
      outline: none !important;
    }
    /* 3. 卡片：几乎不浮起来 —— 月白纸面 + 一道淡线，靠留白分层 */
    html[data-theme="song"] .mcard,
    html[data-theme="song"] .card,
    html[data-theme="song"] .modal,
    html[data-theme="song"] .lgc-main,
    html[data-theme="song"] .lgc-top,
    html[data-theme="song"] .lgc-note,
    html[data-theme="song"] .lgc-log-modal{
      border-radius: 10px !important;
      border: 1px solid var(--line,#d5dbdd) !important;
      box-shadow: 0 1px 2px rgba(70,78,80,.03) !important;
    }
    /* 4. 徽章 / 标签：方正收小，清墨底 */
    html[data-theme="song"] .pill,
    html[data-theme="song"] .lgc-badge{
      border-radius: 3px !important;
      border: 1px solid var(--line-soft,#e6eaeb) !important;
    }
    /* 5. 表格：外框一道线 */
    html[data-theme="song"] .tbl,
    html[data-theme="song"] .lgc-tbl{
      border-radius: 8px !important;
      overflow: hidden !important;
      border: 1px solid var(--line,#d5dbdd) !important;
    }
    /* 6. 侧边栏：顶部一扇「宋窗」，底部一线「远山」 */
    html[data-theme="song"] .sidebar{
      position: relative !important;
    }
    html[data-theme="song"] .sidebar::before{
      content: "" !important;
      position: absolute !important;
      top: 0 !important; left: 0 !important; right: 0 !important;
      height: 58px !important;
      /* 窗棂：横竖各走几道。间距要拉开 —— 宋窗讲「疏」，密了就成花格了 */
      background-image:
        repeating-linear-gradient(90deg, rgba(122,92,66,.13) 0 1px, transparent 1px 26px),
        repeating-linear-gradient(0deg,  rgba(122,92,66,.13) 0 1px, transparent 1px 26px) !important;
      mask-image: linear-gradient(180deg, #000, transparent) !important;
      -webkit-mask-image: linear-gradient(180deg, #000, transparent) !important;
      pointer-events: none !important;
      z-index: 0 !important;
    }
    html[data-theme="song"] .sidebar::after{
      content: "" !important;
      position: absolute !important;
      bottom: 0 !important; left: 0 !important; right: 0 !important;
      height: 54px !important;
      /* 远山：宋人画远山就几笔淡墨，所以峰形平缓、颜色极淡，不能做成剪影 */
      background: linear-gradient(180deg, rgba(106,127,140,.13), rgba(106,127,140,0)) !important;
      clip-path: polygon(0 100%, 0 74%, 16% 58%, 30% 68%, 46% 46%, 60% 64%,
                         76% 52%, 88% 66%, 100% 56%, 100% 100%) !important;
      pointer-events: none !important;
      z-index: 0 !important;
    }
    /* 侧边栏里的内容要盖在窗棂、远山上面 */
    html[data-theme="song"] .sidebar > *{
      position: relative !important;
      z-index: 1 !important;
    }
    /* 7. 顶部栏底边：一道细线收住，不抢内容 */
    html[data-theme="song"] .topbar{
      border-bottom: 1px solid var(--line,#d5dbdd) !important;
    }
    /* 8. 表头（主内容区的签名）：月白底 + 一道竹青底线。
          宋式的分栏靠一条干净的线，不靠色块 —— 所以底色几乎没动，重量全在那条线上。 */
    html[data-theme="song"] .lgc-tbl thead th,
    html[data-theme="song"] .tbl thead th{
      background: #edf1f2 !important;
      color: var(--ink-2,#6b6a64) !important;
      border-bottom: 2px solid var(--sage,#5c7d5a) !important;
      font-weight: 500 !important;
      letter-spacing: .04em !important;
    }

    /* ===================== 🧧 民俗年画专属（喜庆国风 · 浓艳在框、留白在纸） =====================
     * 和前三套是两种气质：那三套都在「淡、雅、收」，这套是「艳、闹、放」——
     * 年画本来贴在门上，要的就是喜庆与浓度，所以配色不做灰调、饱和度给足。
     * 但底必须留白：年画的红黄绿是印在纸上的，纸是米黄暖白；底色若也跟着艳，
     * 整页就成了一团噪声，什么都读不出来。所以浓色只出现在主按钮、色块与纹样上。
     * 元素落位：门神=侧边栏顶部一对对称门笺（不画人像，具象人物 CSS 画不出来，
     * 画歪了反而俗）、祥云=顶栏底边云头带、牡丹=只进配色（明黄 --gold 就是它），
     * 锦鲤不进画面 —— 它一进水就成了插图，会盖住内容。 */

    /* 1. 圆润刻线：木版年画的线是刻出来的，转角圆润 */
    html[data-theme="nianhua"] button,
    html[data-theme="nianhua"] .btn,
    html[data-theme="nianhua"] .iconbtn,
    html[data-theme="nianhua"] .lgc-btn{
      border-radius: 16px !important;
      border: 1px solid var(--line,#e8d3ae) !important;
      background: var(--surface,#fffdf7) !important;
    }
    html[data-theme="nianhua"] button:hover,
    html[data-theme="nianhua"] .btn:hover,
    html[data-theme="nianhua"] .lgc-btn:hover{
      border-color: var(--terra,#c8102e) !important;
      color: var(--terra,#c8102e) !important;
    }
    /* 主按钮：正红实心 —— 年画的红要正、要满，不做渐变 */
    html[data-theme="nianhua"] button.ok,
    html[data-theme="nianhua"] .lgc-btn.ok{
      background: var(--terra,#c8102e) !important;
      border-color: var(--terra,#c8102e) !important;
      color: #fffdf7 !important;
    }
    html[data-theme="nianhua"] button.ok:hover,
    html[data-theme="nianhua"] .lgc-btn.ok:hover{
      background: var(--terra-deep,#a00c24) !important;
      border-color: var(--terra-deep,#a00c24) !important;
      color: #fffdf7 !important;
    }
    /* 2. 输入框：纸底 + 暖边；聚焦压一道正红 */
    html[data-theme="nianhua"] input[type="text"],
    html[data-theme="nianhua"] input[type="date"],
    html[data-theme="nianhua"] input[type="number"],
    html[data-theme="nianhua"] select,
    html[data-theme="nianhua"] textarea{
      border-radius: 14px !important;
      border: 1px solid var(--line,#e8d3ae) !important;
      background: #fffefa !important;
    }
    html[data-theme="nianhua"] input:focus,
    html[data-theme="nianhua"] select:focus,
    html[data-theme="nianhua"] textarea:focus{
      border-color: var(--terra,#c8102e) !important;
      box-shadow: 0 0 0 3px rgba(200,16,46,.13) !important;
      outline: none !important;
    }
    /* 3. 卡片：纸面 + 一道暖边，阴影浅（年画的层次靠色块，不靠浮起） */
    html[data-theme="nianhua"] .mcard,
    html[data-theme="nianhua"] .card,
    html[data-theme="nianhua"] .modal,
    html[data-theme="nianhua"] .lgc-main,
    html[data-theme="nianhua"] .lgc-top,
    html[data-theme="nianhua"] .lgc-note,
    html[data-theme="nianhua"] .lgc-log-modal{
      border-radius: 20px !important;
      border: 1px solid var(--line,#e8d3ae) !important;
      box-shadow: 0 1px 2px rgba(120,80,40,.05), 0 6px 18px rgba(120,80,40,.07) !important;
    }
    /* 4. 徽章 / 标签：圆角色块，取明黄（牡丹那味黄） */
    html[data-theme="nianhua"] .pill,
    html[data-theme="nianhua"] .lgc-badge{
      border-radius: 999px !important;
      border: 1px solid var(--line,#e8d3ae) !important;
      background: #fdf3d8 !important;
    }
    /* 5. 表格：外框一道暖线 */
    html[data-theme="nianhua"] .tbl,
    html[data-theme="nianhua"] .lgc-tbl{
      border-radius: 16px !important;
      overflow: hidden !important;
      border: 1px solid var(--line,#e8d3ae) !important;
    }
    /* 6. 侧边栏顶部一对「门笺」：对称的两条红底金边，取门神的位置感，
          不画门神本人 —— 具象人物画不出来，画歪了反倒俗。 */
    html[data-theme="nianhua"] .sidebar{
      position: relative !important;
    }
    html[data-theme="nianhua"] .sidebar::before{
      content: "" !important;
      position: absolute !important;
      top: 0 !important; left: 0 !important; right: 0 !important;
      height: 72px !important;
      background-image:
        linear-gradient(180deg, rgba(200,16,46,.88), rgba(200,16,46,.42)),
        linear-gradient(180deg, rgba(200,16,46,.88), rgba(200,16,46,.42)) !important;
      background-size: 15px 54px, 15px 54px !important;
      background-position: 22px 8px, calc(100% - 37px) 8px !important;
      background-repeat: no-repeat !important;
      mask-image: linear-gradient(180deg, #000 55%, transparent) !important;
      -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent) !important;
      pointer-events: none !important;
      z-index: 0 !important;
    }
    html[data-theme="nianhua"] .sidebar > *{
      position: relative !important;
      z-index: 1 !important;
    }
    /* 7. 顶部栏底边一道「祥云」：一串云头连成起伏的边 */
    html[data-theme="nianhua"] .topbar{
      border-bottom: 1px solid var(--line,#e8d3ae) !important;
      position: relative !important;
    }
    html[data-theme="nianhua"] .topbar::after{
      content: "" !important;
      position: absolute !important;
      left: 0 !important; right: 0 !important; bottom: -1px !important;
      height: 6px !important;
      /* 云头：重复的圆弧叠出一道起伏，像年画边角的祥云纹 */
      background-image: radial-gradient(circle at 8px 6px, var(--terra,#c8102e) 5px, transparent 5px) !important;
      background-size: 16px 10px !important;
      background-repeat: repeat-x !important;
      opacity: .45 !important;
      pointer-events: none !important;
    }
    /* 8. 表头（主内容区的签名）：明黄底 + 一条正红粗线。
          年画是「满」的，分栏靠色块而不是留白 —— 所以这条线给到 3px，
          在八套里是最粗的，和宋式那条 2px 的细线正好两极。 */
    html[data-theme="nianhua"] .lgc-tbl thead th,
    html[data-theme="nianhua"] .tbl thead th{
      background: #fdf0c8 !important;
      color: #8a2410 !important;
      border-bottom: 3px solid var(--terra,#c8102e) !important;
      letter-spacing: .05em !important;
    }

    /* ===================== 🏺 青铜器纹样专属（商周古韵 · 深底上的纹与金） =====================
     * 六套里唯一的深色主题：「厚重古朴」必然要沉下去，浅色底盘不住青铜。
     * 深色主题的坑比浅色多得多 —— 站里有几处是写死「浅底」的（不是令牌），
     * 在深底下会亮得刺眼，所以这套除了纹样还带一组兜底，逐个压回去。
     * 配色三层：玄黑是器身（底）、古铜绿是锈（主色）、暗金是错金银（强调）。
     * 元素落位：云雷纹=侧边栏顶部回形纹带、饕餮纹=顶部栏一道对称纹带
     * （只用对称几何，不画兽脸 —— 兽面太具象，CSS 画出来像贴纸）、
     * 龙虎纹=只进配色不画出来。 */

    /* 1. 方正 + 暗金细线：商周器物是方正的 */
    html[data-theme="qingtong"] button,
    html[data-theme="qingtong"] .btn,
    html[data-theme="qingtong"] .iconbtn,
    html[data-theme="qingtong"] .lgc-btn{
      border-radius: 0 !important;
      border: 1px solid var(--line,#4a4b3e) !important;
      background: var(--surface,#37382f) !important;
      color: var(--ink,#e8e0c8) !important;
    }
    html[data-theme="qingtong"] button:hover,
    html[data-theme="qingtong"] .btn:hover,
    html[data-theme="qingtong"] .lgc-btn:hover{
      border-color: var(--gold,#b8973f) !important;
      color: var(--gold,#b8973f) !important;
    }
    /* 主按钮：古铜绿实心（锈色），文字要用玄黑才压得住 */
    html[data-theme="qingtong"] button.ok,
    html[data-theme="qingtong"] .lgc-btn.ok{
      background: var(--sage,#6f9b8a) !important;
      border-color: var(--gold,#b8973f) !important;
      color: #1f201a !important;
    }
    html[data-theme="qingtong"] button.ok:hover,
    html[data-theme="qingtong"] .lgc-btn.ok:hover{
      background: #7dab99 !important;
      border-color: var(--gold,#b8973f) !important;
      color: #1f201a !important;
    }
    /* 2. 输入框：深底 + 暗金边。
          这里必须把背景和文字显式写全 —— 全局的 input:focus 写死了白底，
          只覆盖边框的话，一聚焦就闪成白的（深色主题最容易漏的一处）。 */
    html[data-theme="qingtong"] input[type="text"],
    html[data-theme="qingtong"] input[type="date"],
    html[data-theme="qingtong"] input[type="number"],
    html[data-theme="qingtong"] select,
    html[data-theme="qingtong"] textarea,
    html[data-theme="qingtong"] input:focus,
    html[data-theme="qingtong"] select:focus,
    html[data-theme="qingtong"] textarea:focus{
      border-radius: 0 !important;
      border: 1px solid var(--line,#4a4b3e) !important;
      background: #2e2f28 !important;
      color: var(--ink,#e8e0c8) !important;
    }
    html[data-theme="qingtong"] input:focus,
    html[data-theme="qingtong"] select:focus,
    html[data-theme="qingtong"] textarea:focus{
      border-color: var(--sage,#6f9b8a) !important;
      box-shadow: 0 0 0 3px rgba(111,155,138,.18) !important;
      outline: none !important;
    }
    /* 3. 卡片：一道暗金边 + 极淡顶光，做出器物的厚度（深底上阴影是无效的） */
    html[data-theme="qingtong"] .mcard,
    html[data-theme="qingtong"] .card,
    html[data-theme="qingtong"] .modal,
    html[data-theme="qingtong"] .lgc-main,
    html[data-theme="qingtong"] .lgc-top,
    html[data-theme="qingtong"] .lgc-note,
    html[data-theme="qingtong"] .lgc-log-modal{
      border-radius: 0 !important;
      border: 1px solid var(--line,#4a4b3e) !important;
      background: var(--surface,#37382f) !important;
      box-shadow: 0 1px 0 rgba(255,255,255,.04), 0 8px 24px rgba(0,0,0,.35) !important;
    }
    /* 4. 徽章 / 标签：方正，暗金边 */
    html[data-theme="qingtong"] .pill,
    html[data-theme="qingtong"] .lgc-badge{
      border-radius: 3px !important;
      border: 1px solid var(--line,#4a4b3e) !important;
      background: #2e2f28 !important;
      color: var(--ink-2,#b3a98c) !important;
    }
    /* 5. 表格：外框暗金 */
    html[data-theme="qingtong"] .tbl,
    html[data-theme="qingtong"] .lgc-tbl{
      border-radius: 0 !important;
      overflow: hidden !important;
      border: 1px solid var(--line,#4a4b3e) !important;
    }
    /* 6. 侧边栏顶部一道「云雷纹」：回字形方纹，商周器物最典型的底纹 */
    html[data-theme="qingtong"] .sidebar{
      position: relative !important;
      background: linear-gradient(180deg, var(--side-grad-1,#2a2b24), var(--side-grad-2,#1f201a)) !important;
    }
    html[data-theme="qingtong"] .sidebar::before{
      content: "" !important;
      position: absolute !important;
      top: 0 !important; left: 0 !important; right: 0 !important;
      height: 40px !important;
      /* 回纹：横竖两组线错开半格叠出「回」字的方折感 */
      background-image:
        repeating-linear-gradient(90deg, rgba(184,151,63,.30) 0 1px, transparent 1px 12px),
        repeating-linear-gradient(0deg,  rgba(184,151,63,.30) 0 1px, transparent 1px 12px),
        repeating-linear-gradient(90deg, rgba(184,151,63,.18) 0 1px, transparent 1px 24px) !important;
      mask-image: linear-gradient(180deg, #000, transparent) !important;
      -webkit-mask-image: linear-gradient(180deg, #000, transparent) !important;
      pointer-events: none !important;
      z-index: 0 !important;
    }
    html[data-theme="qingtong"] .sidebar > *{
      position: relative !important;
      z-index: 1 !important;
    }
    /* 7. 顶部栏底边一道「饕餮纹」带：对称的一对卷角，只取几何轮廓，不画兽脸 */
    html[data-theme="qingtong"] .topbar{
      position: relative !important;
      border-bottom: 1px solid var(--gold,#b8973f) !important;
    }
    html[data-theme="qingtong"] .topbar::after{
      content: "" !important;
      position: absolute !important;
      left: 0 !important; right: 0 !important; bottom: 0 !important;
      height: 3px !important;
      background-image:
        linear-gradient(90deg, transparent 45%, var(--gold,#b8973f) 45% 55%, transparent 55%),
        linear-gradient(90deg, transparent 22%, rgba(184,151,63,.45) 22% 28%, transparent 28%,
                               transparent 72%, rgba(184,151,63,.45) 72% 78%, transparent 78%) !important;
      opacity: .75 !important;
      pointer-events: none !important;
    }
    /* ===== 以下为深色主题兜底：站里几处写死的浅底，在深底下会刺眼 ===== */
    /* 8. 危险按钮：全局是白底 + 浅粉边，深底下改成暗底 + 锈红边 */
    html[data-theme="qingtong"] .btn.danger{
      background: var(--surface,#37382f) !important;
      border-color: #6b4238 !important;
      color: var(--red,#c0705c) !important;
    }
    html[data-theme="qingtong"] .btn.danger:hover{
      background: #3f302a !important;
      border-color: var(--red,#c0705c) !important;
    }
    /* 9. 退款行：全局写死浅粉底 + 深红字，深底上改成暗红底 + 浅红字 */
    html[data-theme="qingtong"] .lgc-tbl tr.lgc-row-refund{
      background: #3a2a26 !important;
    }
    html[data-theme="qingtong"] .lgc-tbl tr.lgc-row-refund td{
      color: #d98a7a !important;
    }
    /* 10. 图片放大 / 浮层面板：全局白底，深底下改成暗底 */
    html[data-theme="qingtong"] .lgc-ov-panel,
    html[data-theme="qingtong"] .lgc-ret-zoomview img{
      background: #2e2f28 !important;
    }
    /* 11. 表头（主内容区的签名）：玄黑底 + 暗金线。
          商周的字是刻在金属上的 —— 所以这里底色比页面还暗（像凹陷），
          字用暗金（像错金），是八套里唯一「表头比内容更暗」的。 */
    html[data-theme="qingtong"] .lgc-tbl thead th,
    html[data-theme="qingtong"] .tbl thead th{
      background: #1f201a !important;
      color: var(--gold,#b8973f) !important;
      border-bottom: 2px solid var(--gold,#b8973f) !important;
      letter-spacing: .06em !important;
    }
    /* 12. 印章（已扫描 / 已查单）适配：印章的颜色是「功能色」—— 红=惠州、蓝=广州、
           赭=未知、紫=已查单，靠色相区分来源，所以不能改色相，只把亮度提一档，
           否则深底上赭石与紫会发闷、看不清。 */
    html[data-theme="qingtong"] .lgc-stamp-hz{ color:#e0645a !important; }
    html[data-theme="qingtong"] .lgc-stamp-gz{ color:#5cb3e8 !important; }
    html[data-theme="qingtong"] .lgc-stamp-xx{ color:#c9a86a !important; }
    html[data-theme="qingtong"] .lgc-stamp-asked{ color:#b592dd !important; }

    /* ===================== 🧸 童年回忆专属（复古褪色 · 柔和对比） =====================
     * 这套和前面几套的发力点不一样：那几套靠「形」立识别度（窗棂、远山、纹样、门笺），
     * 这套没有具体纹样，靠的是「质感」—— 旧印刷品的网点、柔而散的阴影，
     * 以及所有颜色一起退半步之后的柔和对比。
     * 一个刻意的取舍：不做老照片暗角。那效果小图好看，铺满一屏就闷、发脏。
     * 褪色感交给网点与阴影软度就够了，不必再加一层。 */

    /* 1. 圆润 + 柔描边：取铁皮玩具的弧度 */
    html[data-theme="tongnian"] button,
    html[data-theme="tongnian"] .btn,
    html[data-theme="tongnian"] .iconbtn,
    html[data-theme="tongnian"] .lgc-btn{
      border-radius: 22px !important;
      border: 1px solid var(--line,#d8c8ab) !important;
      background: var(--surface,#fdf9f0) !important;
      box-shadow: 0 1px 2px rgba(90,70,45,.05) !important;
    }
    html[data-theme="tongnian"] button:hover,
    html[data-theme="tongnian"] .btn:hover,
    html[data-theme="tongnian"] .lgc-btn:hover{
      border-color: var(--terra,#c96a30) !important;
      color: var(--terra,#c96a30) !important;
    }
    /* 主按钮：暖橙平涂（是暖橙不是正橙，往灰里退过半步） */
    html[data-theme="tongnian"] button.ok,
    html[data-theme="tongnian"] .lgc-btn.ok{
      background: var(--terra,#c96a30) !important;
      border-color: var(--terra,#c96a30) !important;
      color: #fdf9f0 !important;
    }
    html[data-theme="tongnian"] button.ok:hover,
    html[data-theme="tongnian"] .lgc-btn.ok:hover{
      background: var(--terra-deep,#a8541f) !important;
      border-color: var(--terra-deep,#a8541f) !important;
      color: #fdf9f0 !important;
    }
    /* 2. 输入框：奶白底 + 柔边；聚焦走湖蓝 —— 冷极，和暖橙主色形成柔和对比 */
    html[data-theme="tongnian"] input[type="text"],
    html[data-theme="tongnian"] input[type="date"],
    html[data-theme="tongnian"] input[type="number"],
    html[data-theme="tongnian"] select,
    html[data-theme="tongnian"] textarea{
      border-radius: 18px !important;
      border: 1px solid var(--line,#d8c8ab) !important;
      background: #fefbf5 !important;
      box-shadow: inset 0 1px 2px rgba(90,70,45,.04) !important;
    }
    html[data-theme="tongnian"] input:focus,
    html[data-theme="tongnian"] select:focus,
    html[data-theme="tongnian"] textarea:focus{
      border-color: var(--sage,#4a8ba8) !important;
      box-shadow: 0 0 0 3px rgba(74,139,168,.14) !important;
      outline: none !important;
    }
    /* 3. 卡片：奶白面 + 柔而散的投影 —— 复古的「软」几乎全在这一条上 */
    html[data-theme="tongnian"] .mcard,
    html[data-theme="tongnian"] .card,
    html[data-theme="tongnian"] .modal,
    html[data-theme="tongnian"] .lgc-main,
    html[data-theme="tongnian"] .lgc-top,
    html[data-theme="tongnian"] .lgc-note,
    html[data-theme="tongnian"] .lgc-log-modal{
      border-radius: 26px !important;
      border: 1px solid var(--line,#d8c8ab) !important;
      box-shadow: 0 2px 4px rgba(90,70,45,.05), 0 10px 26px rgba(90,70,45,.08) !important;
    }
    /* 4. 徽章 / 标签：圆角胶囊，暖橙极浅一档 */
    html[data-theme="tongnian"] .pill,
    html[data-theme="tongnian"] .lgc-badge{
      border-radius: 999px !important;
      border: 1px solid var(--line-soft,#e8ddc7) !important;
      background: #fbeedd !important;
    }
    /* 5. 表格：外框柔线，圆角略大 */
    html[data-theme="tongnian"] .tbl,
    html[data-theme="tongnian"] .lgc-tbl{
      border-radius: 20px !important;
      overflow: hidden !important;
      border: 1px solid var(--line,#d8c8ab) !important;
    }
    /* 6. 侧边栏顶部一道「旧印刷网点」——
          细密的小点是褪色最有效的表达，旧画报的颗粒感正是这些网点。 */
    html[data-theme="tongnian"] .sidebar{
      position: relative !important;
    }
    html[data-theme="tongnian"] .sidebar::before{
      content: "" !important;
      position: absolute !important;
      top: 0 !important; left: 0 !important; right: 0 !important;
      height: 66px !important;
      /* 两套点错开半格叠着走：排成整齐阵列会变成「科技感」，反而丢了复古味 */
      background-image:
        radial-gradient(circle at 3px 3px, rgba(201,106,48,.22) 1.4px, transparent 1.5px),
        radial-gradient(circle at 8px 8px, rgba(74,139,168,.18) 1.4px, transparent 1.5px) !important;
      background-size: 10px 10px, 10px 10px !important;
      mask-image: linear-gradient(180deg, #000 45%, transparent) !important;
      -webkit-mask-image: linear-gradient(180deg, #000 45%, transparent) !important;
      pointer-events: none !important;
      z-index: 0 !important;
    }
    html[data-theme="tongnian"] .sidebar > *{
      position: relative !important;
      z-index: 1 !important;
    }
    /* 7. 顶部栏底边：暖橙转湖蓝的一道渐变细线 —— 取旧画报的双栏分隔线，
          两色之间用渐变过渡（不切成两截），呼应「柔和对比」 */
    html[data-theme="tongnian"] .topbar{
      border-bottom: 1px solid var(--line,#d8c8ab) !important;
      position: relative !important;
    }
    html[data-theme="tongnian"] .topbar::after{
      content: "" !important;
      position: absolute !important;
      left: 0 !important; right: 0 !important; bottom: -2px !important;
      height: 2px !important;
      background: linear-gradient(90deg, var(--terra,#c96a30), var(--sage,#4a8ba8)) !important;
      opacity: .42 !important;
      pointer-events: none !important;
    }
    /* 8. 表头（主内容区的签名）：浅米底 + 橙蓝渐变线。
          和顶栏那道理念一致（暖极转冷极）—— 做成渐变而不是色块，
          因为这套的关键词是「柔和对比」，硬切一下就生硬了。
          用 background 拼底线而不是 border-image：后者在各浏览器上表现不一致。 */
    html[data-theme="tongnian"] .lgc-tbl thead th,
    html[data-theme="tongnian"] .tbl thead th{
      background-color: #f6ead6 !important;
      background-image: linear-gradient(90deg, var(--terra,#c96a30), var(--sage,#4a8ba8)) !important;
      background-size: 100% 2px !important;
      background-position: bottom left !important;
      background-repeat: no-repeat !important;
      color: #7a5a35 !important;
      border-bottom: none !important;
      letter-spacing: .04em !important;
    }

    /* ===================== 🏮 潮汕风情专属（温润古朴 · 岭南旧厝） =====================
     * 说的是「旧厝」而不是「庙会」—— 潮汕的红砖厝、石门框、嵌瓷屋脊。
     * 所以红要沉（土朱红与砖红是砖烧出来的，比正红暗也比它闷，调亮了立刻变喜庆风），
     * 冷要稳（青灰来自石门框与灰塑，是全套唯一的冷色 —— 没有它，整页只剩一片暖红）。
     * 最有辨识度的是嵌瓷：碎瓷拼花，蓝绿金三色。但它本就是「点缀」，
     * 在配色里也只能占一点点，多了就成花被子。
     * 元素落位：嵌瓷=侧边栏顶部一排错落的瓷片、砖缝=侧边栏底部的清水砖墙、
     * 灰塑=顶栏底边的青灰细带。厝角头（屋脊弧线）不画 —— 那个要精确的曲线，
     * CSS 硬凑会歪，不如把圆角收小让它利落。 */

    /* 1. 方中带圆：砖砌与石框都是方正的，圆角只收一点 */
    html[data-theme="chaoshan"] button,
    html[data-theme="chaoshan"] .btn,
    html[data-theme="chaoshan"] .iconbtn,
    html[data-theme="chaoshan"] .lgc-btn{
      border-radius: 9px !important;
      border: 1px solid var(--line,#d5c8b2) !important;
      background: var(--surface,#faf6ec) !important;
    }
    html[data-theme="chaoshan"] button:hover,
    html[data-theme="chaoshan"] .btn:hover,
    html[data-theme="chaoshan"] .lgc-btn:hover{
      border-color: var(--terra,#a84c3e) !important;
      color: var(--terra,#a84c3e) !important;
    }
    /* 主按钮：砖红实心 —— 是烧出来的砖红，不是正红 */
    html[data-theme="chaoshan"] button.ok,
    html[data-theme="chaoshan"] .lgc-btn.ok{
      background: var(--terra,#a84c3e) !important;
      border-color: var(--terra,#a84c3e) !important;
      color: #faf6ec !important;
    }
    html[data-theme="chaoshan"] button.ok:hover,
    html[data-theme="chaoshan"] .lgc-btn.ok:hover{
      background: var(--terra-deep,#8a3a2e) !important;
      border-color: var(--terra-deep,#8a3a2e) !important;
      color: #faf6ec !important;
    }
    /* 2. 输入框：米旧白底；聚焦压一道砖红 */
    html[data-theme="chaoshan"] input[type="text"],
    html[data-theme="chaoshan"] input[type="date"],
    html[data-theme="chaoshan"] input[type="number"],
    html[data-theme="chaoshan"] select,
    html[data-theme="chaoshan"] textarea{
      border-radius: 8px !important;
      border: 1px solid var(--line,#d5c8b2) !important;
      background: #fdfaf3 !important;
    }
    html[data-theme="chaoshan"] input:focus,
    html[data-theme="chaoshan"] select:focus,
    html[data-theme="chaoshan"] textarea:focus{
      border-color: var(--terra,#a84c3e) !important;
      box-shadow: 0 0 0 3px rgba(168,76,62,.13) !important;
      outline: none !important;
    }
    /* 3. 卡片：米旧白面 + 柔而沉的一道影 */
    html[data-theme="chaoshan"] .mcard,
    html[data-theme="chaoshan"] .card,
    html[data-theme="chaoshan"] .modal,
    html[data-theme="chaoshan"] .lgc-main,
    html[data-theme="chaoshan"] .lgc-top,
    html[data-theme="chaoshan"] .lgc-note,
    html[data-theme="chaoshan"] .lgc-log-modal{
      border-radius: 13px !important;
      border: 1px solid var(--line,#d5c8b2) !important;
      box-shadow: 0 1px 2px rgba(80,65,50,.05), 0 8px 22px rgba(80,65,50,.08) !important;
    }
    /* 4. 徽章 / 标签：方角，陶黄极浅一档（木雕那味） */
    html[data-theme="chaoshan"] .pill,
    html[data-theme="chaoshan"] .lgc-badge{
      border-radius: 4px !important;
      border: 1px solid var(--line,#d5c8b2) !important;
      background: #f6edd8 !important;
    }
    /* 5. 表格：外框柔线，方角 */
    html[data-theme="chaoshan"] .tbl,
    html[data-theme="chaoshan"] .lgc-tbl{
      border-radius: 11px !important;
      overflow: hidden !important;
      border: 1px solid var(--line,#d5c8b2) !important;
    }
    /* 6. 侧边栏顶部一排「嵌瓷」——
          潮汕特有的碎瓷拼花：几片大小不一的彩色瓷片，错落贴着，本就不整齐。 */
    html[data-theme="chaoshan"] .sidebar{
      position: relative !important;
    }
    html[data-theme="chaoshan"] .sidebar::before{
      content: "" !important;
      position: absolute !important;
      top: 0 !important; left: 0 !important; right: 0 !important;
      height: 50px !important;
      /* 六片瓷：蓝 / 翠 / 金 / 朱 / 石绿 / 蓝，尺寸与位置都故意不成行 */
      background-image:
        linear-gradient(135deg, #3f7fa5 0 100%),
        linear-gradient(135deg, #3f8a5f 0 100%),
        linear-gradient(135deg, #b8983f 0 100%),
        linear-gradient(135deg, #a8483a 0 100%),
        linear-gradient(135deg, #6a8a70 0 100%),
        linear-gradient(135deg, #3f7fa5 0 100%) !important;
      background-size: 11px 11px, 9px 9px, 12px 12px, 10px 10px, 9px 9px, 10px 10px !important;
      background-position: 20px 13px, 37px 21px, 54px 11px, 70px 23px, 87px 14px, 103px 20px !important;
      background-repeat: no-repeat !important;
      opacity: .8 !important;
      mask-image: linear-gradient(180deg, #000 55%, transparent) !important;
      -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent) !important;
      pointer-events: none !important;
      z-index: 0 !important;
    }
    /* 7. 侧边栏底部一道「清水砖墙」：两横线错开半格，砖缝就出来了 */
    html[data-theme="chaoshan"] .sidebar::after{
      content: "" !important;
      position: absolute !important;
      bottom: 0 !important; left: 0 !important; right: 0 !important;
      height: 46px !important;
      background-image:
        repeating-linear-gradient(0deg, rgba(160,76,62,.16) 0 1px, transparent 1px 11px),
        repeating-linear-gradient(90deg, rgba(160,76,62,.13) 0 1px, transparent 1px 30px) !important;
      mask-image: linear-gradient(180deg, transparent, #000) !important;
      -webkit-mask-image: linear-gradient(180deg, transparent, #000) !important;
      pointer-events: none !important;
      z-index: 0 !important;
    }
    html[data-theme="chaoshan"] .sidebar > *{
      position: relative !important;
      z-index: 1 !important;
    }
    /* 8. 顶部栏底边一道「灰塑」细带：全页唯一的冷色，用来压住暖红 */
    html[data-theme="chaoshan"] .topbar{
      border-bottom: 1px solid var(--line,#d5c8b2) !important;
      position: relative !important;
    }
    html[data-theme="chaoshan"] .topbar::after{
      content: "" !important;
      position: absolute !important;
      left: 0 !important; right: 0 !important; bottom: -2px !important;
      height: 2px !important;
      /* 青灰：石门框的颜色。只这一道，负责让上面的暖红不至于闷 */
      background: linear-gradient(90deg, transparent, #6b7276 12%, #6b7276 88%, transparent) !important;
      opacity: .35 !important;
      pointer-events: none !important;
    }
    /* 9. 表头（主内容区的签名）：米旧白底 + 砖红底线。
          像红砖厝的门楣 —— 一道砖红压在白墙上，是这套最典型的一眼。 */
    html[data-theme="chaoshan"] .lgc-tbl thead th,
    html[data-theme="chaoshan"] .tbl thead th{
      background: #f2ead9 !important;
      color: #7a3c30 !important;
      border-bottom: 2px solid var(--terra,#a84c3e) !important;
      letter-spacing: .04em !important;
    }

    /* ========================= 交互动效：八套各自的手感 =========================
     * 动效是区分主题最直接的一层 —— 配色要「看」、字体要「读」，而手感是
     * 鼠标划过就立刻知道的。所以这里给八套各配一种「按下去的感觉」。
     * 关键取舍：刻意让一部分主题「完全不动」。国画不浮、宋式不弹、青铜器厚重不晃 ——
     * 「不做位移」本身就是一种签名，和「弹性回弹」一样有辨识度。
     * 若八套都做位移，反而又变成同一种了。 */

    /* 统一补一个过渡：动效要顺，靠的是过渡而不是位移本身。
       注意 transition 是整体替换，所以要把它覆盖掉的那些属性一并写全，
       否则按钮原本的配色过渡会被这里吃掉。 */
    html[data-theme] button,
    html[data-theme] .btn,
    html[data-theme] .iconbtn,
    html[data-theme] .lgc-btn,
    html[data-theme] .lgc-tbl tbody tr{
      transition: transform .13s ease, border-color .15s, box-shadow .15s,
                  background .15s, color .15s !important;
    }

    /* 🏺 暖陶：温润地上浮一点点，像拿起又放下 */
    html[data-theme="clay"] button:hover,
    html[data-theme="clay"] .btn:hover,
    html[data-theme="clay"] .lgc-btn:hover{ transform: translateY(-1px) !important; }
    html[data-theme="clay"] button:active,
    html[data-theme="clay"] .btn:active,
    html[data-theme="clay"] .lgc-btn:active{ transform: translateY(1px) !important; }

    /* 🏔 四时山水：完全不动。国画里的东西不「浮」起来 ——
       悬停只靠描边加深表示，位移一律取消。 */
    html[data-theme="sishan"] button:hover,
    html[data-theme="sishan"] .btn:hover,
    html[data-theme="sishan"] .lgc-btn:hover,
    html[data-theme="sishan"] button:active,
    html[data-theme="sishan"] .btn:active,
    html[data-theme="sishan"] .lgc-btn:active{ transform: none !important; }

    /* 🎨 敦煌：微微放大（3%），像贴金在光里晃了一下 */
    html[data-theme="dunhuang"] button:hover,
    html[data-theme="dunhuang"] .btn:hover,
    html[data-theme="dunhuang"] .lgc-btn:hover{ transform: scale(1.03) !important; }
    html[data-theme="dunhuang"] button:active,
    html[data-theme="dunhuang"] .btn:active,
    html[data-theme="dunhuang"] .lgc-btn:active{ transform: scale(.98) !important; }

    /* 🏯 宋式极简：不动，只有那条竹青线在收放 —— 克制到没有动作 */
    html[data-theme="song"] button:hover,
    html[data-theme="song"] .btn:hover,
    html[data-theme="song"] .lgc-btn:hover,
    html[data-theme="song"] button:active,
    html[data-theme="song"] .btn:active,
    html[data-theme="song"] .lgc-btn:active{ transform: none !important; }

    /* 🧧 民俗年画：放大得最大（5%），喜庆就要跳出来 */
    html[data-theme="nianhua"] button:hover,
    html[data-theme="nianhua"] .btn:hover,
    html[data-theme="nianhua"] .lgc-btn:hover{ transform: scale(1.05) !important; }
    html[data-theme="nianhua"] button:active,
    html[data-theme="nianhua"] .btn:active,
    html[data-theme="nianhua"] .lgc-btn:active{ transform: scale(.96) !important; }

    /* 🏺 青铜器：完全不动 —— 商周的器物沉，不晃 */
    html[data-theme="qingtong"] button:hover,
    html[data-theme="qingtong"] .btn:hover,
    html[data-theme="qingtong"] .lgc-btn:hover,
    html[data-theme="qingtong"] button:active,
    html[data-theme="qingtong"] .btn:active,
    html[data-theme="qingtong"] .lgc-btn:active{ transform: none !important; }

    /* 🧸 童年回忆：弹性回弹 —— 铁皮玩具按下去会弹回来。
       所以这套单独换了一条「末段超出 1」的缓动曲线，手感是 Q 的。 */
    html[data-theme="tongnian"] button,
    html[data-theme="tongnian"] .btn,
    html[data-theme="tongnian"] .lgc-btn{
      transition: transform .22s cubic-bezier(.34,1.56,.64,1), border-color .15s,
                  box-shadow .15s, background .15s, color .15s !important;
    }
    html[data-theme="tongnian"] button:hover,
    html[data-theme="tongnian"] .btn:hover,
    html[data-theme="tongnian"] .lgc-btn:hover{ transform: scale(1.04) !important; }
    html[data-theme="tongnian"] button:active,
    html[data-theme="tongnian"] .btn:active,
    html[data-theme="tongnian"] .lgc-btn:active{ transform: scale(.95) !important; }

    /* 🏮 潮汕风情：轻轻下沉 —— 进门要跨过门槛，脚踏实地的那种稳 */
    html[data-theme="chaoshan"] button:hover,
    html[data-theme="chaoshan"] .btn:hover,
    html[data-theme="chaoshan"] .lgc-btn:hover{ transform: translateY(1px) !important; }
    html[data-theme="chaoshan"] button:active,
    html[data-theme="chaoshan"] .btn:active,
    html[data-theme="chaoshan"] .lgc-btn:active{ transform: translateY(2px) !important; }

    /* 表格行：划过时给一点「拿起来」的暗示，但比按钮轻得多 ——
       订单列表一屏几十行，动得太明显会晃眼，所以只在两套「爱动」的主题上做。 */
    html[data-theme="nianhua"] .lgc-tbl tbody tr:hover,
    html[data-theme="tongnian"] .lgc-tbl tbody tr:hover{ transform: scale(1.004) !important; }

    /* ========================= 形状语言：框长什么样 =========================
     * 圆角和切角都属于形状，但这里做的是更狠的一层：把「框」本身换掉 ——
     * 有的取消边框只留一道底线（像写在纸上）、有的加第二道外框（像装裱）、
     * 有的把四个角切掉（像器物）。这些手法比调圆角显眼得多。
     * 实现上全部是「只加规则、不改现有值」，出问题也只是多一道线，不会破布局。 */

    /* 🏔 四时山水：取消边框，只留一道底边线 —— 字是写在宣纸上的，不「装」在框里。
       这一条比任何配色都更接近国画的观感。 */
    html[data-theme="sishan"] input[type="text"],
    html[data-theme="sishan"] input[type="date"],
    html[data-theme="sishan"] input[type="number"],
    html[data-theme="sishan"] textarea,
    html[data-theme="sishan"] .lgc-input{
      border: none !important;
      border-bottom: 1px solid var(--line,#ddd8cb) !important;
      border-radius: 0 !important;
      background: transparent !important;
    }
    html[data-theme="sishan"] input:focus,
    html[data-theme="sishan"] textarea:focus,
    html[data-theme="sishan"] .lgc-input:focus{
      border-bottom-color: var(--sage,#5f8a7e) !important;
      background: transparent !important;
      box-shadow: none !important;
    }
    /* 卡片：去掉四边，只留顶部一道极细的墨线（像画心上方的天头） */
    html[data-theme="sishan"] .mcard,
    html[data-theme="sishan"] .card{
      border: none !important;
      border-top: 1px solid var(--line,#ddd8cb) !important;
      box-shadow: none !important;
    }

    /* 🎨 敦煌：加第二道外框（outline）—— 装裱的双线，是壁画与经卷共有的格式 */
    html[data-theme="dunhuang"] button,
    html[data-theme="dunhuang"] .btn,
    html[data-theme="dunhuang"] .iconbtn,
    html[data-theme="dunhuang"] .lgc-btn{
      outline: 1px solid rgba(201,162,39,.45) !important;
      outline-offset: 2px !important;
    }

    /* 🏯 宋式极简：卡片左侧一道竹青竖线 —— 取古籍的栏线，
       宋版书就是这样把文字收在一条线里的。 */
    html[data-theme="song"] .mcard,
    html[data-theme="song"] .card,
    html[data-theme="song"] .lgc-note{
      border-left: 3px solid var(--sage,#5c7d5a) !important;
    }

    /* 🏺 青铜器：把四角切掉 —— 商周器物是「方中带折」的，
       切角比圆角更接近它的轮廓，也比直角有辨识度。 */
    html[data-theme="qingtong"] button,
    html[data-theme="qingtong"] .btn,
    html[data-theme="qingtong"] .iconbtn,
    html[data-theme="qingtong"] .lgc-btn{
      clip-path: polygon(7px 0, 100% 0, 100% calc(100% - 7px),
                         calc(100% - 7px) 100%, 0 100%, 0 7px) !important;
    }
    /* 卡片同步切角（只切右上与左下，四角全切会太像标签） */
    html[data-theme="qingtong"] .mcard,
    html[data-theme="qingtong"] .card{
      clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px,
                         100% 100%, 14px 100%, 0 calc(100% - 14px)) !important;
    }

    /* 🏮 潮汕风情：按钮左侧一道砖红竖条 —— 像门框的边柱，
       进门先看到的那道红。 */
    html[data-theme="chaoshan"] button,
    html[data-theme="chaoshan"] .btn,
    html[data-theme="chaoshan"] .lgc-btn{
      border-left: 3px solid var(--terra,#a84c3e) !important;
    }

    /* 🧧 民俗年画：四边加粗一圈（2px）—— 年画是印在纸上的色块，
       边线要实、要满，和宋式那种「一道细线」正好两极。 */
    html[data-theme="nianhua"] .mcard,
    html[data-theme="nianhua"] .card{
      border-width: 2px !important;
      border-color: var(--terra,#c8102e) !important;
    }