/* ==========================================================================
   MachModel 机加工工时精算 —— 账号 / 使用次数 / 留言 的界面样式
   单独一个文件，不动 style.css；只用 style.css 已有的变量与基础类。
   ========================================================================== */

/* ---------------- 顶栏：登录 / 退出 / 今日剩余次数 ---------------- */
/* hidden 兜底（重要）：作者样式里的 display（.btn 是 inline-flex，.fld/.agree 是
   flex）会压过浏览器对 [hidden] 属性的默认 display:none —— 不加这条，
   「该藏的按钮 / 该藏的行」（非管理员看到的「留言管理」、未登录时的「退出」、
   登录页的图形验证码等）会一直显示。2026-10-14 统一兜底。 */
[hidden]{display:none!important}

/* 账号区：登录 / 退出 + 今日剩余次数。放在品牌名旁边（不在右上角）。 */
.topbar-id{
  display:flex;align-items:center;gap:8px;flex:0 0 auto;
  padding-left:14px;border-left:1px solid var(--line);
}
.quota{
  font-size:12.5px;color:var(--ink-2);background:var(--color-background-tertiary, #eef1f5);
  border:1px solid var(--line);padding:5px 11px;border-radius:99px;
  white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis;
}
.quota.warn{color:var(--warn);background:var(--warn-s);border-color:#f0dcb4}
.quota.admin{color:var(--ok);background:var(--ok-s);border-color:#c6ead8}
/* 已登录账号徽标：常驻显示在剩余次数前面（2026-10-14 用户要求） */
.whoami{
  font-size:12.5px;color:var(--ok);background:var(--ok-s);
  border:1px solid #c6ead8;padding:5px 11px;border-radius:99px;
  white-space:nowrap;max-width:240px;overflow:hidden;text-overflow:ellipsis;
}
.whoami::before{content:"●";font-size:9px;margin-right:6px;vertical-align:1px}
@media (max-width:1280px){
  .topbar{padding:0 12px;gap:10px}
  .topbar-id{gap:6px;padding-left:10px}
  .topbar-id .btn,.topbar-right .btn{padding:7px 10px;font-size:12.5px}
  .topbar-right{gap:6px}
  .quota{max-width:170px}
}

/* ---------------- 弹窗尺寸 ---------------- */
.modal-card.modal-auth{width:min(440px,94vw);max-width:440px;min-width:0}
.modal-card.modal-rules{width:min(680px,94vw);max-width:680px;min-width:0}
.modal-card.modal-msg{width:min(680px,94vw);max-width:680px;min-width:0}
.modal-card.modal-admin{width:min(920px,96vw);max-width:920px;min-width:0}
.modal-card.modal-quota{width:min(480px,94vw);max-width:480px;min-width:0}
.rules-scroll{max-height:min(58vh,520px);overflow:auto;font-size:13.5px;line-height:1.75;
  color:var(--ink-2)}
.rules-scroll h4{margin:16px 0 6px;font-size:14px;color:var(--ink)}
.rules-scroll h4:first-child{margin-top:0}
.rules-scroll p{margin:6px 0}
.rules-scroll ul{margin:6px 0 6px 18px;padding:0}
.rules-scroll li{margin:3px 0}

/* ---------------- 登录 / 注册 ---------------- */
.authtabs{display:flex;gap:2px;margin:-18px -22px 16px;padding:0 22px;
  border-bottom:1px solid var(--line-2)}
.authtab{padding:11px 18px;background:transparent;border:none;cursor:pointer;
  border-bottom:2px solid transparent;font-size:13.5px;font-weight:500;
  color:var(--ink-3);transition:all .15s}
.authtab:hover{color:var(--ink);background:var(--color-background-tertiary, #eef1f5)}
.authtab.active{color:var(--brand);border-bottom-color:var(--accent);font-weight:600}
.modal-auth .fld{margin-bottom:12px}
.modal-auth .fld > span{font-size:11.5px;color:var(--ink-2);font-weight:500}
.modal-auth input[type=text],.modal-auth input[type=password]{
  width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:var(--r-s);
  font-size:13.5px;background:#fff;color:var(--ink);font-family:inherit}
.modal-auth input:focus{outline:none;border-color:#9dbdea;box-shadow:0 0 0 3px rgba(27,100,217,.10)}
.caprow{display:flex;gap:8px;align-items:stretch}
.caprow input{flex:1 1 auto;min-width:0}
.capimg{flex:0 0 auto;width:118px;height:38px;padding:0;border:1px solid var(--line);
  border-radius:var(--r-s);background:var(--color-background-tertiary, #eef1f5);cursor:pointer;overflow:hidden;
  display:flex;align-items:center;justify-content:center}
.capimg svg{display:block;width:100%;height:100%}
.agree{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--ink-2);
  margin:4px 0 2px;cursor:pointer}
.agree a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}
.autherr{min-height:18px;margin:8px 0 0;font-size:12.5px;color:var(--danger)}

/* ---------------- 留言 ---------------- */
#msgText{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-s);
  font:13.5px/1.6 inherit;color:var(--ink);background:#fff;resize:vertical;min-height:74px}
#msgText:focus{outline:none;border-color:#9dbdea;box-shadow:0 0 0 3px rgba(27,100,217,.10)}
.msgneedlogin{padding:10px 0 4px}
.msglist{margin-top:14px;display:flex;flex-direction:column;gap:9px;max-height:min(46vh,420px);
  overflow:auto}
.msglist:empty::after{content:"（暂无留言）";display:block;color:var(--ink-3);font-size:12.5px;
  padding:6px 0}
.msgitem{border:1px solid var(--line);border-radius:var(--r-s);background:var(--color-background-tertiary, #eef1f5);
  padding:9px 12px;font-size:13px}
.msgitem .mhead{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-size:11.5px;color:var(--ink-3);margin-bottom:4px}
.msgitem .mhead b{color:var(--ink-2);font-weight:600}
.msgitem .mbody{white-space:pre-wrap;word-break:break-word;color:var(--ink);line-height:1.65}
.msgitem .mactions{display:flex;justify-content:flex-end;gap:6px;margin-top:6px}
.msg-reply{margin-top:8px;padding:7px 10px;border-left:3px solid #f0b65c;
  background:#fffaf0;border-radius:0 var(--r-s) var(--r-s) 0;font-size:12.5px;
  color:var(--ink-2);white-space:pre-wrap;word-break:break-word}
.msg-reply .mwho{display:block;font-size:11px;color:#a1762a;margin-bottom:2px;font-weight:600}
.ledit{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.ledit textarea{width:100%;min-height:56px;padding:8px 10px;border:1px solid var(--line);
  border-radius:var(--r-s);font:13px/1.6 inherit;resize:vertical}
.ledit textarea:focus{outline:none;border-color:#9dbdea}
.ledit .row{display:flex;gap:6px;justify-content:flex-end}
.btn.mini{padding:4px 9px;font-size:12px;border-radius:7px}
.btn.mini.danger{color:var(--danger);border-color:#f3c9c4;background:#fff}
.btn.mini.danger:hover{background:var(--danger-s)}
.btn.mini.warn{color:#fff;background:var(--danger);border-color:var(--danger)}
.btn.mini.warn:hover{background:#a71d1d}
.stats{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--ink-2);
  background:var(--color-background-tertiary, #eef1f5);border:1px solid var(--line);border-radius:var(--r-s);
  padding:9px 12px;margin-bottom:12px;line-height:1.7}
.stats b{color:var(--ink);font-weight:600}
.msglist.admin{max-height:min(52vh,480px)}

/* ==================== 会员（2026-10-16 备好待上线） ====================
   开关关闭时这些规则用不上（元素一直 hidden），留着不影响现有界面。

   ⚠️ 2026-10-18：三列固定 → 每列只有 1/3 宽，会员中心弹窗 560px 时
      每列约 165px，放「旗舰版月卡 ¥3500」这种内容就会挤成竖排。
      改成「最多三列、每列至少 220px，不够就自动少列」，窄屏再兜底单列。 */
.plans{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:10px}
@media (max-width:640px){.plans{grid-template-columns:1fr}}
.plan{border:1px solid var(--line);border-radius:var(--r);padding:12px 14px;
  cursor:pointer;background:var(--color-background-tertiary, #eef1f5);
  transition:border-color .15s,box-shadow .15s;min-width:0;
  overflow-wrap:anywhere}
.plan:hover{border-color:var(--brand,#0a7)}
.plan.on{border-color:var(--brand,#0a7);box-shadow:0 0 0 2px rgba(10,119,170,.15)}
.plan-hd{display:flex;align-items:baseline;justify-content:space-between;gap:8px;
  min-width:0;flex-wrap:wrap}
.plan-hd b{font-size:15px;color:var(--ink);word-break:break-word}
.plan-days{font-size:12px;color:var(--ink-2)}
.plan-price{margin:6px 0 4px;font-size:20px;color:var(--brand,#0a7);font-weight:600}
.plan-old{margin-left:6px;font-size:12px;color:var(--ink-2);text-decoration:line-through}
.plan-note{font-size:12px;color:var(--ink-2)}
#payQr{display:block;margin:0 auto}

/* ======== 会员：支付方式 + 对公账户（2026-10-16） ======== */
.payways{display:flex;gap:8px;margin:0 0 12px}
.payway{flex:1 1 0;padding:9px 10px;border:1px solid var(--line);
  border-radius:8px;background:var(--color-background-secondary);cursor:pointer;
  font-size:13.5px;color:var(--ink)}
.payway:hover{border-color:var(--brand,#0a7)}
.payway.on{border-color:var(--brand,#0a7);background:rgba(10,119,170,.08);
  color:var(--brand,#0a7);font-weight:500}
.payway.off{opacity:.45;cursor:not-allowed}
.payway.off:hover{border-color:var(--line)}
.pw-fee{display:block;font-size:11.5px;color:var(--color-text-tertiary);
  font-weight:400;margin-top:2px}
.payway.on .pw-fee{color:var(--brand,#0a7);opacity:.85}
.bank-box{border:1px solid var(--line);border-radius:10px;
  padding:14px 16px;background:var(--color-background-secondary)}
.bank-box h4{margin:0 0 10px;font-size:14px;font-weight:500}
.bank-row{display:flex;gap:10px;padding:7px 0;
  border-bottom:1px dashed var(--line)}
.bank-row:last-of-type{border-bottom:none}
.bank-k{flex:0 0 76px;font-size:13px;color:var(--ink-2)}
.bank-v{flex:1;font-size:14px;word-break:break-all}
.bank-v.num{font-family:ui-monospace,Consolas,monospace;font-size:16px;
  font-weight:500;letter-spacing:1px}
.bank-tip{margin:12px 0 0;font-size:12.5px;line-height:1.7;
  color:var(--ink-2)}

/* ======== 会员开通规则（2026-10-16） ======== */
.mrules{color:var(--brand,#0a7);text-decoration:none;font-size:13px}
.mrules:hover{text-decoration:underline}
.modal-member.rules{width:min(620px,94vw)}
.mrules-body{max-height:62vh;overflow-y:auto;padding:2px 4px 0}
.mrules-body h4{margin:15px 0 6px;font-size:13.5px;font-weight:500;color:var(--ink)}
.mrules-body h4:first-child{margin-top:0}
.mrules-body ul{margin:0;padding-left:19px}
.mrules-body li{margin:4px 0;font-size:13px;line-height:1.75}
.mtable{width:100%;border-collapse:collapse;margin:4px 0}
.mtable td,.mtable th{border:1px solid var(--line);
  padding:6px 9px;font-size:12.5px;text-align:left}
.mtable th{background:var(--color-background-secondary);font-weight:500;
  color:var(--ink-2)}
.mtable td.mr{width:92px;text-align:right;color:var(--brand,#0a7);font-size:14px}
.mn{color:var(--ink-2);font-size:12px;margin:6px 0 0;line-height:1.7}
.bank-v.amt b{color:var(--brand,#0a7);font-size:15px}
.bank-v.amt .bank-wait{color:var(--ink-2);font-weight:400;font-size:13px}

/* 会员规则弹窗要盖在会员弹窗之上（2026-10-16） */
#memberRulesModal{z-index:120}
/* ======== 会员管理（管理员，2026-10-16） ========
   本项目没有全局 input 样式（只有 .f input），所以这里照 .f input
   的写法单独立一个 .inp，别自造变量名。 */
.modal.mbr-admin{width:min(720px,96vw);max-height:92vh;display:flex;flex-direction:column}
.modal.mbr-admin .mrules-body,.modal.mbr-admin .modal-body{overflow-y:auto}
.mbr-h{margin:16px 0 8px;font-size:13.5px;font-weight:500;color:var(--ink);
  padding-bottom:6px;border-bottom:1px solid var(--line)}
.mbr-h:first-of-type{margin-top:12px}
.mbr-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
/* ⚠️ 2026-10-18 修正：原来这里写的是 --line，
   **本项目没有这个变量**（实际是 --line），border 整条失效 →
   会员/开票等弹窗里的输入框渲染成没有边框。真机上量出来的。 */
.inp{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;
  font-size:14px;background:#fff;color:var(--ink);min-width:0;font-weight:400}
.inp:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(47,111,237,.13)}
.mbr-suggest{margin-top:6px;border:1px solid var(--line);border-radius:8px;
  max-height:160px;overflow-y:auto;background:#fff}
.mbr-suggest button{display:block;width:100%;text-align:left;padding:8px 11px;
  border:0;border-bottom:1px solid var(--line);background:none;cursor:pointer;
  font:inherit;font-size:13.5px;color:var(--ink)}
.mbr-suggest button:hover{background:rgba(10,119,170,.08)}
.mbr-suggest button:last-child{border-bottom:0}
.mbr-msg{margin:10px 0 0;padding:9px 12px;border-radius:8px;font-size:13px;line-height:1.6}
.mbr-msg.ok{background:rgba(10,119,170,.08);color:var(--brand)}
.mbr-msg.bad{background:#fdecea;color:#a3271f}
.mbr-list{margin-top:8px;border:1px solid var(--line);border-radius:8px;
  max-height:240px;overflow-y:auto}
.mbr-list .mr-hd{display:flex;gap:8px;padding:7px 11px;background:var(--color-background-tertiary, #eef1f5);
  font-size:12px;color:var(--ink-2);border-bottom:1px solid var(--line);
  position:sticky;top:0}
.mbr-list .mr-row{display:flex;gap:8px;align-items:center;padding:7px 11px;
  border-bottom:1px solid var(--line);font-size:13px}
.mbr-list .mr-row:last-child{border-bottom:0}
.mbr-list .mr-acct{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.mbr-list .mr-tag{flex:0 0 auto;padding:1px 8px;border-radius:20px;font-size:11.5px}
.mbr-list .mr-tag.on{background:rgba(10,119,170,.08);color:var(--brand)}
.mbr-list .mr-tag.off{background:#f1f2f5;color:var(--ink-2)}
.mbr-list .mr-days{flex:0 0 92px;color:var(--ink-2);font-size:12.5px}
.mbr-list .mr-act{flex:0 0 auto}
.mbr-list .mr-act button{font-size:12px;padding:3px 9px}
.mbr-list .mr-empty{padding:18px 12px;text-align:center;color:var(--ink-2);font-size:13px}

/* ======== 付款凭证上传与审核（2026-10-16） ======== */
/* 🔴 2026-10-18：这两条原来写的是 --line /
   --ink —— **style.css 的 :root 里根本没有这些变量**
   （真实的是 --line / --ink / --ink-2），border 和 color 整条静默失效，
   升级区看起来就是个没边框的裸文字。 */
.rcpt-box{margin-top:14px;padding:14px 16px;border:1px dashed var(--line);
  border-radius:10px;background:var(--panel)}
.rcpt-box h4{margin:0 0 8px;font-size:14px;color:var(--ink)}
.rcpt-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 8px}
.rcpt-hint{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.7}
.rcpt-hint.err{color:var(--danger)}

/* ── 升级套餐（2026-10-18）──
   ⚠️ 2026-10-18 用户报「卡片里文字竖排，一行一个字」：
      .up-tag 原来是 flex:0 0 auto（不许收缩），而它的内容是
      「30 次 / 300 个特征」这种长徽章 —— 窗口一窄它就抢走全部宽度，
      .up-main 被压成几 px 宽，中文只能一行一个字竖着排。
      改成 0 1 auto（可收缩）+ 换行，并给 .up-row 兜 min-width:0。 */
.up-list{display:flex;flex-direction:column;gap:8px}
.up-row{display:flex;align-items:center;gap:10px;cursor:pointer;
  padding:9px 11px;border:1px solid var(--line);border-radius:var(--r-s);
  background:var(--panel);min-width:0;flex-wrap:wrap}
.up-row:hover{border-color:var(--accent);background:var(--panel-2)}
.up-row input[type=radio]{flex:0 0 auto;margin:0;cursor:pointer}
/* min-width:0 是关键 —— 不给的话 flex 子项会拒绝收缩到内容宽度以下 */
.up-main{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:2px;
  word-break:break-word}
.up-main b{font-size:13.5px;color:var(--ink)}
.up-sub{font-size:12px;color:var(--ink-2);word-break:break-word}
.up-sub b{font-size:12px;color:var(--accent);font-weight:500}
/* 允许收缩；内容长时自身换行，绝不把 .up-main 挤没 */
.up-tag{flex:0 1 auto;max-width:100%;font-size:11.5px;color:var(--ink-3);
  border:1px solid var(--line);border-radius:999px;padding:1px 8px;
  white-space:normal;word-break:break-word;text-align:center}
.rcpt-hint.ok{color:var(--brand)}
.rcpt-prev{display:block;max-width:100%;max-height:260px;margin:10px 0 0;
  border:1px solid var(--line);border-radius:8px}
.rcpt-tip{margin:10px 0 0;font-size:12px;color:var(--ink-2)}
.mbr-badge{display:inline-block;min-width:18px;padding:0 6px;border-radius:20px;
  background:#e24b4a;color:#fff;font-size:11.5px;line-height:18px;
  text-align:center;vertical-align:1px;margin-left:4px}
.mbr-rcpt{margin-top:8px;display:flex;flex-direction:column;gap:8px;
  max-height:300px;overflow-y:auto}
.rc{display:flex;gap:10px;align-items:center;padding:9px 11px;
  border:1px solid var(--line);border-radius:9px;background:#fff;flex-wrap:wrap}
.rc .rc-main{flex:1 1 200px;min-width:0}
.rc .rc-acct{font-size:13.5px;color:var(--ink);overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap}
.rc .rc-meta{font-size:12px;color:var(--ink-2);margin-top:2px}
.rc .rc-amt{flex:0 0 auto;font-size:15px;color:var(--brand);font-weight:500}
.rc .rc-act{flex:0 0 auto;display:flex;gap:6px}
.rc .rc-act button{font-size:12px;padding:4px 10px}
.rc .rc-st{flex:0 0 auto;font-size:11.5px;padding:1px 8px;border-radius:20px}
.rc .rc-st.pending{background:#fdf0e3;color:#854f0b}
.rc .rc-st.approved{background:rgba(10,119,170,.08);color:var(--brand)}
.rc .rc-st.rejected{background:#f1f2f5;color:var(--ink-2)}
.rc-empty{padding:16px 12px;text-align:center;color:var(--ink-2);font-size:13px;
  border:1px dashed var(--line);border-radius:9px}
.rc-img{max-width:100%;margin-top:10px;border:1px solid var(--line);
  border-radius:8px;display:block}

/* 会员徽标（2026-10-16）：与 .quota.admin 同色系但更醒目，
   让管理员一眼看出「我已经是会员了」。 */
.quota.vip{color:var(--ok);background:var(--ok-s);border-color:#c6ead8;
  font-weight:500}

/* ============================================================
   特征包「买几份」选择器（2026-10-18）
   15 元/个、永久有效。选中特征包时由 member.js 显示。
   ============================================================ */
.featqty{margin:12px 0 0;padding:12px 14px;border:1px solid var(--line);
  border-radius:var(--r);background:var(--bg-2,#fafbfc)}
.featqty>label{display:block;font-size:13px;color:var(--ink-2);margin-bottom:8px}
.fq-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fq-row .inp{width:110px;text-align:center;font-size:15px;font-weight:600}
.fq-unit{font-size:13px;color:var(--ink-2)}
.fq-sum{margin-left:auto;font-size:14px;color:var(--ink)}
.fq-sum b{color:var(--brand,#0a7);font-size:18px}
.fq-quick{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.fq-chip{border:1px solid var(--line);background:#fff;border-radius:999px;
  padding:4px 12px;font-size:13px;cursor:pointer;color:var(--ink-2)}
.fq-chip:hover{border-color:var(--brand,#0a7);color:var(--brand,#0a7)}
.fq-hint{margin:10px 0 0;font-size:12px;line-height:1.6}

/* ============================================================
   开票信息弹窗（2026-10-18）
   ⚠️ 变量一律用本项目**实际存在**的 --brand/--ink-2/--line/--ok；
      别照抄上面 .inp 里的 --line —— 那个变量不存在，
      border 整条会失效（真机查到的：输入框渲染成 0px none 没边框）。
   ============================================================ */
.modal-card.modal-invoice{width:min(560px,94vw);max-width:560px;max-height:88vh;
  display:flex;flex-direction:column}
.modal-invoice .modal-body{overflow:auto}
.modal-invoice .inp{border:1px solid var(--line);background:#fff;color:var(--ink);
  font-size:13px}
.inv-kind{display:flex;gap:8px;margin:0 0 14px}
.inv-kindbtn{flex:1;border:1px solid var(--line);background:#fff;border-radius:8px;
  padding:9px 12px;font-size:14px;cursor:pointer;color:var(--ink-2);
  display:block;line-height:1.4}
.inv-kindbtn.on{border-color:var(--brand,#0a7);color:var(--brand,#0a7);
  background:rgba(10,119,170,.06);font-weight:600}
.inv-mine{margin-top:4px}
.inv-list{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.inv-item{display:flex;justify-content:space-between;gap:10px;align-items:center;
  padding:9px 12px;border-bottom:1px solid var(--line-2);font-size:13px}
.inv-item:last-child{border-bottom:none}
.inv-item .ii-l{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inv-item .ii-r{flex:0 0 auto;color:var(--ink-2)}
.inv-st{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px}
.inv-st.pending{background:#fff4e5;color:#b26a00}
.inv-st.done{background:#e7f6ee;color:var(--ok)}
.inv-st.invoiced{background:#e7f6ee;color:var(--ok)}
.inv-st.sent{background:#e7f6ee;color:var(--ok)}
.inv-st.rejected{background:#f2f3f5;color:var(--ink-2)}
.ok-msg{margin:8px 0 0;font-size:13px;color:var(--ok)}

/* ------------------------------------------------------------
   开票：勾选订单 + 发票下载（2026-10-18）
   金额不再让用户手填 —— 勾哪几笔就开哪几笔，后端加总。
   ------------------------------------------------------------ */
.inv-orders{border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;max-height:190px;overflow-y:auto}
.inv-ord-hd{padding:7px 11px;background:var(--bg-2,#fafbfc);font-size:12px;
  color:var(--ink-2);border-bottom:1px solid var(--line-2)}
/* 只读展示：2026-10-18 起不用勾选了，软件自动识别开票。
   保留列表是让用户**看得见**将按哪些金额开票（透明），不是让他选。 */
.inv-ord{display:flex;align-items:center;gap:10px;padding:8px 11px;
  border-bottom:1px solid var(--line-2);font-size:13px}
.inv-ord:last-child{border-bottom:none}
.inv-ord-n{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap}
.inv-ord-d{flex:0 0 auto;font-size:11.5px;color:var(--ink-3)}
.inv-ord-a{flex:0 0 auto;font-weight:500;color:var(--ink)}
.inv-dl{display:inline-block;margin-left:8px;font-size:12px;color:var(--accent);
  text-decoration:underline;text-underline-offset:2px}
