/* ═══════════════════════════════════════════════════════════════════
   增量账单 · 共享样式 v1（P0-3 账单前端 · 2026-09-13 · 纯前端新增）
   —— 只新增本文件，不改 demo-ui.css / 任何既有页面。
   令牌全部取自 /static/shared/demo-ui.css（--paper、--ink、--gold 系列、--bud、--red、
   --card、--line、--r-card、--shadow-1、--tap、--sp 系列、--fs 系列）；私有类前缀 inc-。
   铁律：大数字主角（衬线·tabular-nums）／细金线圆角16px／禁虚线／
        标注≥13px／可点元素≥44px／375px 无横向滚动。
   ═══════════════════════════════════════════════════════════════════ */
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  background:linear-gradient(160deg,var(--paper),var(--paper-2));color:var(--ink);
  line-height:1.6;min-height:100dvh;overflow-x:hidden}
button{font-family:inherit}
input,textarea{font-size:16px}                    /* iOS 不自动缩放 */
.num{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"lnum" 1,"tnum" 1}

/* ── 容器 ── */
.inc-shell{max-width:1120px;margin-inline:auto;padding:0 clamp(16px,4.4vw,32px);
  padding-bottom:calc(210px + env(safe-area-inset-bottom,0px))}
@media(min-width:431px){.inc-shell{padding-inline:32px}}

/* ── 顶栏 ── */
.inc-top{display:flex;align-items:center;gap:10px;padding:14px 0 8px}
/* 🔴 min-height 必须 !important：demo-ui.css 有 `button:not(:disabled){min-height:32px}`
   （选择器权重 0,1,1 会压掉单类规则的 0,1,0，实测按钮只有 32px，低于 44px 触达标准）。
   与 profit-board.html 的既有做法一致：不回头改共享件，页内压回来。 */
.inc-top .back{flex:none;min-width:44px;min-height:44px !important;border-radius:var(--r-pill);
  border:1px solid var(--gold-line);background:var(--card);color:var(--gold-deep);
  font-size:15px;font-weight:700;cursor:pointer}
.inc-top .back:active{transform:translateY(1px) scale(.98)}
.inc-top .tt{flex:1;min-width:0;font-size:20px;font-weight:800;letter-spacing:.5px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inc-top .st{flex:none;font-size:13px;color:var(--ink-3);white-space:nowrap}

/* ── 结论条（一句话给呼吸） ── */
.inc-lead{padding:8px 2px 0;font-size:18px;font-weight:700;line-height:1.5;text-wrap:balance}
.inc-lead small{display:block;margin-top:6px;font-size:15px;font-weight:400;
  color:var(--ink-2);line-height:1.6}

/* ── 卡 ── */
.inc-card{background:var(--card);border:1px solid var(--gold-line);border-radius:var(--r-card);
  padding:16px 18px;box-shadow:var(--shadow-1)}
.inc-gap{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.inc-sec{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:24px 0 10px}
.inc-sec h2{font-size:20px;font-weight:800;letter-spacing:.5px}
.inc-sec .more{font-size:14px;font-weight:600;color:var(--gold-deep);flex:none;cursor:pointer}

/* ── 大数字主角 ── */
.inc-hero{text-align:center;padding:22px 18px}
.inc-hero .lb{font-size:13px;color:var(--ink-3);letter-spacing:2px}
.inc-hero .big{font-family:Georgia,"Songti SC","STSong",serif;font-weight:600;
  font-size:clamp(52px,13vw,72px);line-height:1.14;letter-spacing:.5px;color:var(--gold-deep);
  margin:8px 0 4px;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}
.inc-hero .big.zero{color:var(--ink-3)}
.inc-hero .sub{font-size:15px;color:var(--ink-2)}
.inc-hero .sub b{color:var(--ink);font-weight:700}
.inc-nums{display:flex;gap:10px;margin-top:14px}
.inc-nums>div{flex:1;min-width:0;background:var(--paper);border:1px solid var(--gold-line);
  border-radius:var(--r-sm);padding:10px 11px;text-align:left}
.inc-nums .k{font-size:13px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.inc-nums .v{font-family:Georgia,"Songti SC",serif;font-size:clamp(15px,4.2vw,20px);
  font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums;line-height:1.3;
  white-space:nowrap;overflow:hidden}

/* ── 状态胶囊 ── */
.inc-chip{display:inline-flex;align-items:center;gap:5px;padding:5px 13px;border-radius:var(--r-pill);
  font-size:13px;font-weight:700;white-space:nowrap}
.inc-chip.wait{background:var(--yellow-soft);color:var(--yellow)}
.inc-chip.done{background:var(--bud-soft);color:var(--bud)}
.inc-chip.auto{background:var(--gray-soft);color:var(--ink-2)}
.inc-chip.paid{background:var(--bud-soft);color:var(--bud)}
.inc-chip.dispute{background:var(--red-soft);color:var(--red)}

/* ── 7天自动确认倒计时（显著） ── */
.inc-cd{display:flex;align-items:flex-start;gap:10px;background:var(--yellow-soft);
  border:1px solid rgba(176,141,62,.45);border-radius:var(--r-card);padding:14px 16px}
.inc-cd .ic{flex:none;font-size:20px;line-height:1.2}
.inc-cd .tx{flex:1;min-width:0}
.inc-cd .t1{font-size:16px;font-weight:800;color:var(--ink);line-height:1.4}
.inc-cd .t2{margin-top:4px;font-size:14px;color:var(--ink-2);line-height:1.5}
.inc-cd.soon{background:var(--red-soft);border-color:rgba(192,57,43,.45)}
.inc-cd.soon .t1,.inc-cd.soon .t2{color:var(--red)}
.inc-cd.overdue{background:var(--gray-soft);border-color:var(--line)}
.inc-cd.overdue .t1{color:var(--ink-2)}

/* ── 键值行 ── */
.inc-kv{display:flex;flex-direction:column}
.inc-kv .row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:11px 0;border-bottom:1px solid var(--line)}
.inc-kv .row:last-child{border-bottom:none;padding-bottom:0}
.inc-kv .row:first-child{padding-top:0}
.inc-kv .k{font-size:15px;color:var(--ink-2);min-width:0}
.inc-kv .k small{display:block;font-size:13px;color:var(--ink-3)}
.inc-kv .v{flex:none;font-family:Georgia,"Songti SC",serif;font-weight:700;font-size:20px;
  font-variant-numeric:tabular-nums}
.inc-kv .v.pay{color:var(--bud)}
.inc-kv .v.zero{color:var(--ink-3)}
.inc-kv .v.warn{color:var(--red)}
.inc-kv .row.sum .k{font-weight:800;color:var(--ink)}
/* 【2026-09-16 抗挤压收口】值那栏 flex:none（不可缩），标签栏被压到 84px，
   「只分增量，不割存量」（9 字 ≈117px）折成两行。治法=放不下就整行换行、
   值块自己落第二行贴右（宽屏一行放得下时与本条无关）。 */
.inc-kv .row{flex-wrap:wrap}
.inc-kv .k{flex:1 1 auto}
.inc-kv .v{margin-left:auto}
.inc-kv .row.sum{border-top:2px solid var(--gold-line);border-bottom:none}

/* ── 构成表（基数×比例=分润） ── */
.inc-tbl{width:100%;border-collapse:collapse;font-size:14px;
  font-variant-numeric:tabular-nums}
.inc-tbl th{font-size:13px;font-weight:600;color:var(--ink-3);text-align:right;padding:0 0 8px}
.inc-tbl th:first-child{text-align:left}
.inc-tbl td{padding:11px 0;border-top:1px solid var(--line);text-align:right;white-space:nowrap}
.inc-tbl td:first-child{text-align:left;font-weight:700;white-space:normal}
.inc-tbl tr.sum td{border-top:2px solid var(--gold-line);font-weight:800;font-size:15px;color:var(--ink)}
.inc-tbl .rate{color:var(--ink-3);font-weight:600}
.inc-tbl small{font-size:13px;font-weight:400;color:var(--ink-3)}
.inc-tbl .amt{font-family:Georgia,"Songti SC",serif;font-weight:700}
.inc-tbl .amt.pay{color:var(--bud)}

/* ── 六口贡献排名 ── */
.inc-doms{display:flex;flex-direction:column;gap:10px}
.inc-dom{display:block}
.inc-dom .l1{display:flex;align-items:baseline;gap:8px}
.inc-dom .rk{flex:none;width:22px;height:22px;border-radius:7px;background:var(--ink);color:#f6efe0;
  font-size:13px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;
  font-family:Georgia,"Songti SC",serif;line-height:1}
.inc-dom .nm{flex:1;min-width:0;font-size:16px;font-weight:700;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.inc-dom .nm small{font-size:13px;color:var(--ink-3);font-weight:400;margin-left:6px}
.inc-dom .v{flex:none;font-family:Georgia,"Songti SC",serif;font-size:17px;font-weight:700;
  font-variant-numeric:tabular-nums}
.inc-dom .track{position:relative;height:8px;border-radius:var(--r-pill);background:var(--paper-2);
  margin-top:6px;overflow:hidden}
.inc-dom .fill{position:absolute;left:0;top:0;bottom:0;border-radius:var(--r-pill);
  background:linear-gradient(90deg,var(--gold),var(--gold-deep))}
.inc-dom.top .fill{background:linear-gradient(90deg,var(--bud),#155c3c)}
.inc-dom .pc{font-size:13px;color:var(--ink-3)}
.inc-domfoot{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);
  font-size:14px;color:var(--ink-3)}

/* ── 明细（每笔可下钻原始凭证） ── */
.inc-dlist{display:flex;flex-direction:column}
.inc-item{display:block;padding:12px 2px;border-top:1px solid var(--line);cursor:pointer}
.inc-item:first-child{border-top:none}
.inc-item:active{background:var(--paper)}
.inc-item .l1{display:flex;align-items:baseline;gap:10px}
.inc-item .who{flex:1;min-width:0;font-size:15px;font-weight:700;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.inc-item .amt{flex:none;font-family:Georgia,"Songti SC",serif;font-size:17px;font-weight:700;
  font-variant-numeric:tabular-nums}
.inc-item .l2{display:flex;align-items:baseline;gap:8px;margin-top:4px;font-size:13px;
  color:var(--ink-3);min-width:0}
.inc-item .l2 .calc{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inc-item .l2 .vc{flex:none;color:var(--gold-deep);font-weight:700}
.inc-calc{margin-top:12px;padding:10px 12px;background:var(--paper);border:1px solid var(--gold-line);
  border-radius:var(--r-sm);font-size:14px;color:var(--ink-2);line-height:1.6}
.inc-calc b{color:var(--bud);font-weight:700}
.inc-calc.bad b{color:var(--red)}
.inc-empty{padding:26px 4px;text-align:center;font-size:15px;color:var(--ink-3)}

/* ── 账单列表行 ── */
.inc-bills{display:flex;flex-direction:column;gap:12px}
.inc-bill{display:block;background:var(--card);border:1px solid var(--gold-line);
  border-radius:var(--r-card);padding:15px 18px;box-shadow:var(--shadow-1);cursor:pointer}
.inc-bill:active{transform:translateY(1px) scale(.995)}
.inc-bill .h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.inc-bill .mo{font-size:18px;font-weight:800}
.inc-bill .mo small{font-size:13px;color:var(--ink-3);font-weight:400;margin-left:6px}
.inc-bill .bd{display:flex;gap:10px;margin-top:10px}
.inc-bill .bd>div{flex:1;min-width:0}
.inc-bill .bd .k{font-size:13px;color:var(--ink-3)}
.inc-bill .bd .v{font-family:Georgia,"Songti SC",serif;font-size:clamp(20px,5.8vw,26px);
  font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.inc-bill .bd .v.pay{color:var(--bud)}
.inc-bill .cd{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);
  font-size:14px;color:var(--ink-2)}
.inc-bill .cd b{font-weight:800}
.inc-bill .cd.soon b,.inc-bill .cd.soon{color:var(--red)}
.inc-bill .go{margin-top:8px;font-size:14px;font-weight:700;color:var(--gold-deep)}

/* ── 月份切换（横向滚动） ── */
.inc-months{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}
.inc-months::-webkit-scrollbar{display:none}
.inc-month{flex:none;background:var(--card);border:1px solid var(--gold-line);color:var(--ink-2);
  border-radius:var(--r-pill);min-height:44px !important;padding:0 16px;font-size:14px;font-weight:600;cursor:pointer}
.inc-month.on{background:var(--ink);border-color:var(--ink);color:#f6efe0}
.inc-month:active{transform:translateY(1px) scale(.98)}

/* ── 月度趋势（纯 CSS 柱 + SVG 折线，无图表库） ── */
.inc-chart{position:relative;margin-top:6px}
.inc-bars{display:flex;align-items:flex-end;gap:8px;height:120px;padding:18px 0 0;
  border-bottom:1px solid var(--gold-line)}
.inc-bar{flex:1;min-width:0;background:linear-gradient(180deg,var(--gold),var(--gold-deep));
  border-radius:6px 6px 0 0;position:relative;transition:height .3s ease}
.inc-bar.cur{background:linear-gradient(180deg,var(--bud),#155c3c)}
.inc-bar .val{position:absolute;top:-17px;left:50%;transform:translateX(-50%);font-size:13px;
  font-weight:700;color:var(--ink-2);white-space:nowrap;font-variant-numeric:tabular-nums}
.inc-xlab{display:flex;gap:8px;margin-top:6px}
.inc-xlab span{flex:1;min-width:0;text-align:center;font-size:13px;color:var(--ink-3);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inc-svg{width:100%;height:104px;display:block;margin-top:6px}
.inc-legend{display:flex;gap:14px;margin-top:8px;font-size:13px;color:var(--ink-3)}
.inc-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}
.inc-legend .l1 i{background:var(--gold-deep)}
.inc-legend .l2 i{background:var(--bud)}

/* ── 底部操作栏（固定，落在 appbar 之上） ── */
.inc-act{position:fixed;left:0;right:0;bottom:calc(78px + env(safe-area-inset-bottom,0px));
  z-index:90;display:flex;gap:10px;padding:10px clamp(16px,4.4vw,32px);
  background:rgba(246,239,224,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line)}
@media(min-width:431px){.inc-act{left:50%;right:auto;transform:translateX(-50%);width:430px;
  padding-inline:20px;border-radius:18px 18px 0 0}}
.inc-btn{flex:1;min-height:var(--tap) !important;border-radius:var(--r-pill);border:none;cursor:pointer;
  font-size:17px;font-weight:700;letter-spacing:.5px;padding:0 12px}
.inc-btn.reject{flex:.8;background:transparent;border:1.5px solid rgba(192,57,43,.5);color:var(--red)}
.inc-btn.confirm{background:linear-gradient(150deg,#1d7a4f,#155c3c);color:#fffdf6;
  box-shadow:0 6px 18px rgba(20,90,60,.3)}
.inc-btn:disabled{opacity:.45;cursor:default}
.inc-btn:active{transform:translateY(1px) scale(.99)}

/* ── 弹层（二次确认 / 驳回原因） ── */
.inc-mask{position:fixed;inset:0;background:rgba(35,44,68,.42);z-index:95;display:none}
.inc-mask.show{display:block}
/* 【2026-09-13 老板实测】弹窗原来 bottom:0 —— 底下那排按钮正好压在底部导航（店况/拍板/对账/伙计 68px）+
   中间麦克风（再凸 26px）后面，看得见摸不着。抬到底栏之上，并把高度上限算上这段抬升。 */
.inc-sheet{position:fixed;left:50%;transform:translateX(-50%) translateY(102%);
  bottom:calc(70px + env(safe-area-inset-bottom,0px));width:100%;
  max-width:430px;z-index:96;background:var(--paper);border-radius:20px 20px 0 0;
  padding:20px 20px 16px;
  transition:transform .28s ease;max-height:calc(100vh - 140px);overflow-y:auto}
.inc-sheet.show{transform:translateX(-50%) translateY(0)}
.inc-sheet h3{font-size:18px;font-weight:800;margin-bottom:8px}
.inc-sheet p{font-size:15px;color:var(--ink-2);line-height:1.65}
.inc-sheet p b{color:var(--ink)}
.inc-sheet .fld{margin-top:14px}
.inc-sheet .fld label{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.inc-sheet textarea{width:100%;min-height:96px;border:1px solid var(--gold-line);border-radius:12px;
  background:var(--card);padding:12px;font-size:16px;color:var(--ink);line-height:1.6;resize:vertical}
.inc-sheet textarea:focus{outline:none;border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(176,141,62,.16)}
.inc-sheet .hint{font-size:13px;color:var(--ink-3);margin-top:6px}
.inc-sheet .hint.bad{color:var(--red)}
/* ── 争议证据（照片/视频/单据）：弹窗里选与传 + 驳回后回看 ── */
.inc-sheet .ev-pick{display:flex;gap:10px;margin-top:2px}
.inc-btn.ghost{background:transparent;border:1.5px solid var(--gold-line);color:var(--ink-2);
  font-size:14px;font-weight:600;min-height:46px}
.inc-btn.ghost:active{background:rgba(176,141,62,.08)}
.ev-list,.ev-box{margin-top:10px}
.ev-box .ev-title{font-size:13px;font-weight:700;color:var(--ink-2);margin-bottom:2px}
.ev-item{display:flex;align-items:center;gap:10px;background:var(--card);
  border:1px solid var(--gold-line);border-radius:12px;padding:8px 10px;margin-top:8px;
  text-decoration:none;color:inherit}
.ev-item img{width:48px;height:48px;border-radius:9px;object-fit:cover;flex:0 0 auto}
.ev-item .ev-ic{width:48px;height:48px;display:flex;align-items:center;justify-content:center;
  font-size:22px;background:rgba(176,141,62,.09);border-radius:9px;flex:0 0 auto}
.ev-item .ev-meta{flex:1;min-width:0}
.ev-item .ev-meta b{display:block;font-size:14px;font-weight:700;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-item .ev-meta small{font-size:12px;color:var(--ink-3)}
.ev-item .ev-del{border:1px solid rgba(192,57,43,.4);background:transparent;color:var(--red);
  border-radius:9px;padding:10px 14px;font-size:13px;cursor:pointer;flex:0 0 auto;
  min-height:44px;min-width:44px}   /* 第15轮值守：手指点得到（44px 触达口径），字不小于 13px */
.inc-sheet .btns{display:flex;gap:10px;margin-top:16px}
.inc-sheet .btns .inc-btn{font-size:16px}

/* ── Toast ── */
.inc-toast{position:fixed;left:16px;right:16px;bottom:calc(220px + env(safe-area-inset-bottom,0px));
  z-index:99;background:var(--gold-deep);color:#fffdf6;border-radius:16px;padding:14px 18px;
  font-size:15px;line-height:1.5;box-shadow:0 10px 30px rgba(154,110,44,.4);display:none;
  animation:incPop .28s ease}
@media(min-width:431px){.inc-toast{left:50%;right:auto;transform:translateX(-50%);max-width:430px;width:calc(100% - 32px)}}
.inc-toast.bad{background:var(--red)}
@keyframes incPop{from{transform:translateY(12px);opacity:0}to{opacity:1}}

.inc-loading{padding:36px 0;text-align:center;color:var(--ink-3);font-size:15px}
.inc-foot{margin-top:18px;font-size:13px;color:var(--ink-3);line-height:1.7;text-align:center}

/* ── 「点一下，看这笔钱是怎么来的」：六口排名可点 + 溯源抽屉（王总 2026-09-14）── */
.inc-dom.tap{cursor:pointer;border-radius:12px;padding:6px 8px;margin:0 -8px;
  transition:background .18s ease,transform .12s ease}
.inc-dom.tap:hover{background:rgba(176,141,62,.06)}
.inc-dom.tap:active{background:rgba(176,141,62,.13);transform:scale(.99)}
.inc-dom.tap:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}
.inc-dom.tap .l1::after{content:'›';flex:none;color:var(--ink-3);font-size:17px;font-weight:700;
  line-height:1;margin-left:2px}
.inc-dom .pc .hint-go{color:var(--gold-deep);font-weight:700;margin-left:8px}
.inc-nums [data-go]{cursor:pointer;border-radius:12px;transition:background .18s ease}
.inc-nums [data-go]:hover{background:rgba(176,141,62,.06)}
.inc-nums [data-go]:active{background:rgba(176,141,62,.13)}
.inc-chart[data-go]{cursor:pointer}
.inc-tbl tr.tap{cursor:pointer;transition:background .18s ease}
/* 「点得进源头」的可点提示：数字带 data-go 时给一点点手感（不喧哗） */
[data-go]{cursor:pointer}
[data-go]:active{opacity:.72}
.inc-tbl tr.tap:hover{background:rgba(176,141,62,.06)}
.inc-tbl tr.tap:active{background:rgba(176,141,62,.13)}
.inc-tbl tr.tap:focus-visible{outline:2px solid var(--gold-deep);outline-offset:-2px}
.inc-domfoot .lnk{display:inline-block;margin:6px 8px 0 0;padding:5px 11px;border-radius:var(--r-pill);
  background:var(--paper-2);color:var(--ink-2);font-size:14px;cursor:pointer;
  transition:background .18s ease,transform .12s ease}
.inc-domfoot .lnk:active{background:rgba(176,141,62,.16);transform:scale(.98)}
.inc-domfoot .lnk:focus-visible{outline:2px solid var(--gold-deep);outline-offset:2px}

/* 溯源抽屉内容 */
.tr-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.tr-big{font-family:Georgia,"Songti SC",serif;font-size:34px;font-weight:700;line-height:1.15;
  font-variant-numeric:tabular-nums}
.tr-meta{font-size:13px;color:var(--ink-3);margin-top:2px}
.tr-go{flex:none;display:inline-flex;align-items:center;min-height:38px;padding:0 12px;
  border:1.5px solid var(--gold-line);border-radius:var(--r-pill);
  font-size:13px;font-weight:700;color:var(--ink-2);text-decoration:none;background:transparent}
.tr-go:active{background:rgba(176,141,62,.10)}
.tr-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.tr-tag{background:var(--paper-2);border-radius:var(--r-pill);padding:5px 11px;
  font-size:13px;color:var(--ink-2)}
.tr-tag b{color:var(--ink);font-variant-numeric:tabular-nums}
.tr-sec{font-size:14px;font-weight:800;margin:16px 0 4px;padding-top:12px;border-top:1px solid var(--line)}
.tr-rec{padding:12px 0;border-top:1px solid var(--line)}
.tr-rec:first-of-type{border-top:none}
.tr-rec .r1{display:flex;align-items:baseline;gap:8px}
.tr-rec .d{flex:none;font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.tr-rec .t{flex:1;min-width:0;font-size:13px;color:var(--ink-3);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.tr-rec .m{flex:none;font-family:Georgia,"Songti SC",serif;font-size:16px;font-weight:700;
  font-variant-numeric:tabular-nums}
.tr-rec .say{font-size:14px;color:var(--ink-2);line-height:1.62;margin-top:5px}
.tr-rec .r2{display:flex;align-items:center;gap:10px;margin-top:7px}
.tr-rec .bd{font-size:12px;font-weight:700;padding:3px 9px;border-radius:var(--r-pill);
  background:var(--paper-2);color:var(--ink-2)}
.tr-rec .bd.done{background:rgba(29,122,79,.12);color:var(--bud)}
.tr-rec .vn{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}
.tr-rec .go{display:inline-block;margin-top:8px;font-size:13px;font-weight:700;
  color:var(--gold-deep);text-decoration:none}
.tr-rec .go.off{color:var(--ink-3);font-weight:400}

/* ══ 430 手机画布对齐（2026-09-14 王总拍板：账单三页按手机尺子）
   本域三页（overview / bill-list / bill-detail）原先是"自适应"（电脑上铺满 1120），
   现统一挂 shared/mobile-frame.css 收成 430 画布 —— 手机为主，电脑上呈现为居中窄栏。
   铁律：**画布内的一切尺寸必须等于「430 视口下的实际值」**，否则电脑上看到的 ≠ 手机上看到的
   （下面每条都标出它是哪个 clamp 在 430 下的取值）。验收判据：同一页在
   1440（画布生效）与 430（真手机）下，计算出的字号/内边距必须完全相等。 */
@media(min-width:431px){
  .inc-shell{max-width:430px;padding-inline:19px}      /* clamp(16px,4.4vw,32px) @430 = 18.9 → 19px */
  .inc-hero .big{font-size:56px}                       /* clamp(52px,13vw,72px)   @430 = 55.9 → 56px */
  .inc-nums .v{font-size:18px}                         /* clamp(15px,4.2vw,20px)  @430 = 18.1 → 18px */
  .inc-bill .bd .v{font-size:25px}                     /* clamp(20px,5.8vw,26px)  @430 = 24.9 → 25px */
  /* 固定操作栏/浮条：不给 border-box 的话，430 + 左右内边距会超出画布（同掌柜台底栏那处） */
  .inc-act{box-sizing:border-box;padding:10px 19px}
  .inc-toast{box-sizing:border-box}
}
