/* mobile.css — 手机皮肤(只在 ≤640px 加载:base.html 的 <link media>;桌面完全不受影响)
   设计稿:2026-09-13 手机版效果图 — 蓝 #2F6DF6 / 白 / 浅灰底,大圆角 16,柔和阴影,线性 SVG 图标(templates/_icons.html)
   结构:顶栏 .m-top(普通页:返回 + 标题 + 公司视角;首页/我的:大顶栏 .m-top-home)+ 底部 .m-tabbar + 首页 .m-home + 我的 .m-me-page */
@media (max-width: 640px) {
  :root {
    --mb: #2F6DF6; --mbg: #F4F6FA; --mline: #EEF1F5;
    --mt1: #1F2937; --mt2: #6B7280; --mt3: #9CA3AF;
    --mgreen: #16A34A; --mgreen-l: #ECFDF5; --morange: #F59E0B; --morange-l: #FFF7ED;
    --mred: #EF4444; --mred-l: #FEF2F2; --mpurple: #7C3AED; --mpurple-l: #F3EEFF;
    --mcyan: #0891B2; --mcyan-l: #ECFEFF; --mblue-l: #EAF1FF;
    --mr: 16px; --msh: 0 2px 10px rgba(30, 64, 175, .06);
  }
  html { -webkit-text-size-adjust: 100%; }
  body { background: var(--mbg) !important; padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
  .navbar { display: none !important; }
  .container { max-width: none !important; margin: 0 !important; padding: 12px 14px 8px !important; }
  .m-only { display: block; }
  .ic { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; flex: none; }

  /* ── 顶栏(普通页) ── */
  .m-top {
    display: flex; position: sticky; top: 0; z-index: 80; background: var(--mb); color: #fff;
    align-items: center; gap: 4px; min-height: 50px; padding: env(safe-area-inset-top) 10px 0 6px;
    box-shadow: 0 2px 8px rgba(47, 109, 246, .22);
  }
  .m-back { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; color: #fff; border-radius: 10px; text-decoration: none; }
  .m-back .ic { width: 24px; height: 24px; }
  .m-back[hidden] { display: none; }
  .m-title { flex: 1; font-size: 17px; font-weight: 700; text-align: center; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .m-top.no-back .m-title { text-align: left; padding-left: 8px; }
  .m-right { min-width: 38px; display: flex; justify-content: flex-end; align-items: center; }
  .m-co {
    appearance: none !important; -webkit-appearance: none !important;
    background: rgba(255, 255, 255, .18) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 8px center / 12px 12px !important;
    border: 1px solid rgba(255, 255, 255, .35) !important; color: #fff !important; font-size: 12px !important; font-weight: 600; border-radius: 999px !important;
    padding: 5px 24px 5px 11px !important; max-width: 120px; min-height: 0 !important; height: auto !important; line-height: 1.3; font-family: inherit; box-shadow: none !important;
  }
  .m-co option { color: #1F2937; }

  /* ── 大顶栏(首页 / 我的) ── */
  .m-top.m-top-home { display: block; padding: env(safe-area-inset-top) 0 0; }
  .m-hh { padding: 10px 16px 14px; }
  .m-hh-row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  /* 顶栏文字全白(app.css 对 h1 / .sub 有带 !important 的全局深色规则,这里要压回来) */
  .m-top, .m-top a, .m-top .n, .m-top .r { color: #fff; }
  .m-hh h1 { font-size: 22px !important; font-weight: 700; margin: 0; color: #fff !important; letter-spacing: .3px; line-height: 1.2; }
  .m-hh .sub { font-size: 12px; color: rgba(255, 255, 255, .85) !important; margin-top: 3px; font-weight: 400; }
  .m-hh-user { display: flex; align-items: center; gap: 8px; }
  .m-bell { position: relative; width: 34px; height: 34px; display: flex; align-items: center; justify-content: center; color: #fff; }
  .m-bell .dot { position: absolute; top: 6px; right: 6px; width: 8px; height: 8px; border-radius: 50%; background: #FF4D4F; border: 1.5px solid var(--mb); }
  .m-avatar { width: 34px; height: 34px; border-radius: 50%; background: #fff; color: var(--mb); font-weight: 700; font-size: 15px; display: flex; align-items: center; justify-content: center; flex: none; }
  .m-avatar.lg { width: 56px; height: 56px; font-size: 24px; }
  .m-hh-name .n { font-size: 14px; font-weight: 600; line-height: 1.15; }
  .m-hh-name .r { font-size: 11px; opacity: .82; white-space: nowrap; }
  .m-hseg { display: flex; align-items: center; gap: 6px; margin-top: 11px; }
  .m-hseg a { font-size: 12px; font-weight: 600; padding: 4px 12px; border-radius: 999px; background: rgba(255, 255, 255, .16); border: 1px solid rgba(255, 255, 255, .28); color: #fff; text-decoration: none; }
  .m-hseg a.on { background: #fff; color: var(--mb); border-color: #fff; }
  .m-hseg em { font-style: normal; font-size: 11px; opacity: .75; margin-left: auto; }
  .m-hpill { background: rgba(255, 255, 255, .18); border: 1px solid rgba(255, 255, 255, .35); color: #fff; font-size: 12px; padding: 5px 11px; border-radius: 999px; font-weight: 600; text-decoration: none; white-space: nowrap; }
  .m-me { display: flex; align-items: center; gap: 12px; padding: 4px 0 2px; }
  .m-me .n { font-size: 18px; font-weight: 700; }
  .m-me .r { font-size: 12px; opacity: .85; margin-top: 3px; }

  /* ── 底部 tab ── */
  .m-tabbar {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: #fff;
    border-top: 1px solid var(--mline); padding: 6px 4px calc(6px + env(safe-area-inset-bottom));
  }
  .m-tab { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 46px; font-size: 10.5px; font-weight: 500; color: var(--mt3); text-decoration: none; }
  .m-tab .ic { width: 23px; height: 23px; }
  .m-tab.on { color: var(--mb); font-weight: 600; }

  /* ── 通用页面微调(各页细节第 3 步再做) ── */
  .page-head h1, h1 { font-size: 19px !important; }
  .alert { border-radius: 12px; }

  /* ── 首页工作台 ── */
  .m-home ~ .dashboard-v2 { display: none !important; }   /* 只藏首页的桌面块;月结预警等页也用 .dashboard-v2 样式 */
  .m-home { display: flex; flex-direction: column; gap: 12px; }
  .m-greet { display: flex; align-items: center; justify-content: space-between; padding: 2px 2px 0; }
  .m-greet b { font-size: 17px; color: var(--mt1); }
  .m-greet span { font-size: 12px; color: var(--mt2); }
  .m-card { background: #fff; border-radius: var(--mr); box-shadow: var(--msh); padding: 12px 14px; }
  .m-card-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
  .m-card-h b { font-size: 15px; color: var(--mt1); display: flex; align-items: center; }
  .m-more, .m-more-btn { font-size: 12px; color: var(--mt3); display: inline-flex; align-items: center; gap: 2px; text-decoration: none; background: none; border: 0; padding: 0; font-family: inherit; cursor: pointer; }
  .m-more .ic, .m-more-btn .ic { width: 14px; height: 14px; }
  .m-sub { font-size: 12px; color: var(--mt3); }
  .m-badge { display: inline-block; min-width: 18px; padding: 0 6px; height: 18px; line-height: 18px; border-radius: 9px; background: var(--mred); color: #fff; font-size: 11px; font-weight: 700; text-align: center; margin-left: 6px; }
  .m-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .m-kpi { background: #fff; border-radius: var(--mr); box-shadow: var(--msh); padding: 11px 12px; display: flex; gap: 10px; align-items: center; text-decoration: none; color: var(--mt1); min-width: 0; }
  .m-kpi > span:last-child { display: flex; flex-direction: column; min-width: 0; }
  .m-kpi .l { font-size: 12px; color: var(--mt2); }
  .m-kpi .n { font-size: 21px; font-weight: 800; letter-spacing: -.3px; line-height: 1.2; margin: 1px 0; white-space: nowrap; }
  .m-kpi .n.sm { font-size: 19px; }
  .m-kpi .s { font-size: 11px; color: var(--mt3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .m-kpi .s.r { color: var(--mred); } .m-kpi .s.o { color: var(--morange); } .m-kpi .s.g { color: var(--mgreen); }
  .m-tile { width: 40px; height: 40px; border-radius: 12px; display: flex; align-items: center; justify-content: center; flex: none; }
  .m-tile .ic { width: 22px; height: 22px; }
  .m-tile.r { background: var(--mred); color: #fff; } .m-tile.o { background: var(--morange); color: #fff; }
  .m-tile.g { background: var(--mgreen); color: #fff; } .m-tile.p { background: var(--mpurple); color: #fff; } .m-tile.b { background: var(--mb); color: #fff; }
  .m-tile.lb { background: var(--mblue-l); color: var(--mb); } .m-tile.lo { background: var(--morange-l); color: var(--morange); }
  .m-tile.lg { background: var(--mgreen-l); color: var(--mgreen); } .m-tile.lp { background: var(--mpurple-l); color: var(--mpurple); }
  .m-tile.lr { background: var(--mred-l); color: var(--mred); } .m-tile.lc { background: var(--mcyan-l); color: var(--mcyan); }
  .m-tile.yen { font-weight: 800; font-size: 20px; }
  .m-grid4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px 6px; }
  .m-fn { display: flex; flex-direction: column; align-items: center; gap: 7px; font-size: 12px; color: var(--mt1); text-decoration: none; white-space: nowrap; }
  .m-fn .m-tile { width: 42px; height: 42px; border-radius: 13px; }
  .m-todo { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--mline); text-decoration: none; color: var(--mt1); }
  .m-todo:first-of-type { border-top: 0; padding-top: 2px; }
  .m-todo .m-tile { width: 34px; height: 34px; border-radius: 10px; }
  .m-todo .m-tile .ic { width: 18px; height: 18px; }
  .m-todo .m { flex: 1; min-width: 0; display: flex; flex-direction: column; }
  .m-todo .t { font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .m-todo .s { font-size: 11.5px; color: var(--mt2); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .m-todo .rt { text-align: right; flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 4px; }
  .m-todo .tm { font-size: 11px; color: var(--mt3); }
  .m-todo .chev { color: #C4CAD4; width: 18px; height: 18px; }
  .m-todo.m-todo-more { display: none; }
  .m-todo-open .m-todo.m-todo-more { display: flex; }
  .m-tag { display: inline-block; font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 6px; white-space: nowrap; }
  .m-tag.r { background: var(--mred-l); color: var(--mred); } .m-tag.o { background: var(--morange-l); color: #D97706; }
  .m-tag.g { background: var(--mgreen-l); color: var(--mgreen); } .m-tag.b { background: var(--mblue-l); color: var(--mb); }
  .m-tag.p { background: var(--mpurple-l); color: var(--mpurple); } .m-tag.gr { background: #F1F5F9; color: #64748B; }
  .m-empty { font-size: 13px; color: var(--mt3); padding: 8px 0 4px; }
  .m-chart { height: 120px; }
  .m-chart svg { width: 100%; height: 100%; display: block; }

  /* ── 我的 ── */
  .m-me-page { display: flex; flex-direction: column; gap: 12px; }
  .m-perf { display: grid; grid-template-columns: 1fr 1fr 1fr; }
  .m-perf > div { border-left: 1px solid var(--mline); text-align: center; display: flex; flex-direction: column; }
  .m-perf > div:first-child { border-left: 0; }
  .m-perf .l { font-size: 11px; color: var(--mt2); }
  .m-perf .v { font-size: 15px; font-weight: 800; margin-top: 3px; color: var(--mt1); }
  .m-perf .v.g { color: var(--mgreen); }
  .m-note { font-size: 11px; color: var(--mt3); margin-top: 8px; text-align: center; }
  .m-grp { font-size: 12px; color: var(--mt3); margin: 2px 0 -4px 4px; }
  .m-menu { padding: 4px 14px; }
  .m-menu form { margin: 0; }
  .m-mi {
    display: flex; align-items: center; gap: 11px; padding: 11px 0; border: 0; border-top: 1px solid var(--mline);
    font-size: 14px; color: var(--mt1); text-decoration: none; width: 100%; background: none; font-family: inherit; text-align: left; cursor: pointer;
  }
  .m-mi:first-child { border-top: 0; }
  .m-menu a.m-mi, .m-menu button.m-mi { color: var(--mt1) !important; font-weight: 500; }
  .m-mi .m-tile { width: 32px; height: 32px; border-radius: 9px; flex: none; }
  .m-mi .m-tile .ic { width: 17px; height: 17px; }
  .m-mi > span:not(.m-tile) { flex: 1; }
  .m-mi .chev { color: #C4CAD4; width: 18px; height: 18px; }
  .m-menu .m-mi.danger { color: var(--mred) !important; }
  .m-card-h .m-more { color: var(--mt3) !important; }
}


/* ═══════════════════════════════════════════════════════════════════
   第 3 步(2026-09-13):合同列表 / 合同详情 / 分批次发货 / 客户列表 的手机版
   约定:.d-only = 桌面才显示;.m-only = 手机才显示(app.css 默认隐藏)
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  .d-only { display: none !important; }

  /* ── 顶栏里的搜索框 ── */
  .m-search { margin: 12px 0 0; height: 38px; background: #fff; border-radius: 12px; display: flex; align-items: center; gap: 8px; padding: 0 12px; }
  .m-search .ic { color: var(--mt3); width: 18px; height: 18px; }
  .m-search input[type="search"] {
    flex: 1; min-width: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; outline: none;
    font-size: 14px !important; padding: 0 !important; min-height: 0 !important; height: 34px !important; color: var(--mt1) !important; font-family: inherit;
  }
  .m-search input[type="search"]::placeholder { color: var(--mt3); }
  .m-search input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; }
  .m-search-clear { color: var(--mt3) !important; font-size: 14px; text-decoration: none; padding: 4px 2px; }
  .m-hpill.solid { background: #fff; color: var(--mb) !important; border-color: #fff; }

  /* ── 列表通用:chips / 筛选 / 汇总 / 横幅 ── */
  .m-list { display: flex; flex-direction: column; gap: 10px; }
  .m-chips { display: flex; gap: 8px; overflow-x: auto; padding: 2px 2px 4px; scrollbar-width: none; -webkit-overflow-scrolling: touch; align-items: center; }
  .m-chips::-webkit-scrollbar { display: none; }
  .m-chip { flex: none; font-size: 12px; font-weight: 600; padding: 6px 12px; border-radius: 999px; background: #fff; color: var(--mt2) !important; box-shadow: var(--msh); text-decoration: none; white-space: nowrap; }
  .m-chip.on { background: var(--mb); color: #fff !important; }
  .m-chip-n { flex: none; font-size: 12px; color: var(--mt3); }
  .m-filters { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
  .m-filters form { margin: 0; display: flex; gap: 6px; }
  .m-sel-in {
    appearance: none !important; -webkit-appearance: none !important; font-size: 12px !important; font-weight: 600; color: var(--mt2) !important; font-family: inherit;
    background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239CA3AF' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 8px center / 12px 12px !important;
    border: 1px solid #E5E9F0 !important; border-radius: 8px !important; padding: 6px 24px 6px 10px !important; min-height: 0 !important; height: auto !important; line-height: 1.3; max-width: 170px; box-shadow: none !important;
  }
  .m-sum { display: grid; grid-template-columns: 1fr 1fr 1fr; padding: 10px 6px; }
  .m-sum > div { text-align: center; border-left: 1px solid var(--mline); display: flex; flex-direction: column; }
  .m-sum > div:first-child { border-left: 0; }
  .m-sum .l { font-size: 11px; color: var(--mt2); }
  .m-sum .v { font-size: 15px; font-weight: 800; margin-top: 3px; color: var(--mt1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .m-sum .v.g { color: var(--mgreen); }
  .m-banner { display: flex; align-items: center; gap: 8px; padding: 9px 12px; border-radius: 12px; font-size: 12.5px; font-weight: 600; text-decoration: none; }
  .m-banner .arr { margin-left: auto; }
  .m-banner.p { background: var(--mpurple-l); color: var(--mpurple) !important; }
  .m-banner.o { background: var(--morange-l); color: #92400E !important; }
  .m-group { font-size: 12px; color: #9A3412; background: #FFF7ED; border-left: 3px solid var(--morange); padding: 6px 10px; border-radius: 8px; }

  /* ── 合同卡 ── */
  .m-oc { padding: 12px 14px; }
  .m-oc.alert { box-shadow: 0 0 0 1.5px #FECACA, var(--msh); }
  .m-oc-main { display: block; text-decoration: none; color: var(--mt1) !important; }
  .m-oc-h { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .m-oc-h b { font-size: 15px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
  .m-oc-no { font-size: 12px; color: var(--mt2); margin-top: 3px; }
  .m-oc-items { font-size: 11.5px; color: var(--mt3); margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .m-oc-m { display: flex; align-items: center; justify-content: space-between; margin-top: 8px; gap: 8px; }
  .m-oc-m .amt { font-size: 20px; font-weight: 800; letter-spacing: -.3px; white-space: nowrap; }
  .m-oc-f { display: flex; align-items: center; gap: 8px; margin-top: 9px; font-size: 12px; color: var(--mt2); flex-wrap: wrap; }
  .m-oc-f .bar { flex: 1; min-width: 60px; height: 6px; border-radius: 3px; background: #EEF1F5; overflow: hidden; }
  .m-oc-f .bar i { display: block; height: 100%; border-radius: 3px; background: var(--mgreen); }
  .m-oc-f .pct { font-weight: 700; color: var(--mt1); min-width: 34px; text-align: right; }
  .m-oc-act { margin: 10px 0 0; display: flex; gap: 8px; }
  .m-btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 4px; font-size: 12.5px; font-weight: 600; border-radius: 8px;
    padding: 0 12px; height: 32px; background: var(--mb); color: #fff !important; border: 0; text-decoration: none; font-family: inherit; cursor: pointer; white-space: nowrap;
  }
  .m-btn.r { background: var(--mred); }
  .m-btn.ghost { background: #fff; color: var(--mt1) !important; border: 1px solid #E5E9F0; }
  .m-btn.danger { background: #fff; color: var(--mred) !important; border: 1px solid #FECACA; }
  .m-empty.m-card { font-size: 13px; color: var(--mt3); text-align: center; padding: 22px 14px; }

  /* ── 合同详情:顶栏 / 统计 / tab 横滑 / 底部操作栏 / 更多弹层 ── */
  .m-top.m-top-det { display: block; padding: env(safe-area-inset-top) 12px 12px; }
  .m-det-nav { display: flex; align-items: center; min-height: 50px; gap: 4px; }
  .m-det-nav .m-title { text-align: center; }
  .m-more-ic { width: 38px; height: 38px; background: none; border: 0; color: #fff; display: flex; align-items: center; justify-content: center; border-radius: 10px; padding: 0; cursor: pointer; }
  .m-more-ic .ic { width: 24px; height: 24px; }
  .m-det-cust { display: flex; align-items: center; gap: 8px; padding: 0 4px; }
  .m-det-cust b { font-size: 15px; color: #fff !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
  .m-hpill.sm { padding: 2px 9px; font-size: 11px; flex: none; }
  .m-det-sub { font-size: 12px; color: rgba(255, 255, 255, .85) !important; padding: 4px 4px 0; }
  .m-top-det ~ .container .stats { display: grid; grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin: 0 0 10px !important; }
  .m-top-det ~ .container .stat { padding: 10px 12px !important; border-radius: 12px !important; }
  .m-top-det ~ .container .stat .label { font-size: 11px !important; }
  .m-top-det ~ .container .stat .value { font-size: 17px !important; }
  .m-top-det ~ .container .sales-tabs {
    flex-wrap: nowrap !important; overflow-x: auto; gap: 6px !important; border-bottom: 0 !important; margin: 4px 0 10px !important; padding: 2px 0 4px !important;
    scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  .m-top-det ~ .container .sales-tabs::-webkit-scrollbar { display: none; }
  .m-top-det ~ .container .sales-tab { flex: none; border-radius: 999px !important; padding: 7px 13px !important; font-size: 13px !important; border: 0 !important; bottom: 0 !important; box-shadow: none !important; }
  .m-top-det ~ .container .sales-tab.active { background: #fff !important; color: var(--mb) !important; box-shadow: 0 0 0 1.5px var(--mb) inset !important; }
  .m-top-det ~ .container .ship-tab-btn { display: none !important; }
  .m-actbar { padding: 8px 12px calc(8px + env(safe-area-inset-bottom)) !important; gap: 8px; align-items: center; }
  .m-act-sq { width: 42px; height: 42px; border-radius: 12px; border: 1px solid #E5E9F0; display: flex; align-items: center; justify-content: center; color: var(--mt2) !important; flex: none; text-decoration: none; background: #fff; }
  .m-act-sq .ic { width: 20px; height: 20px; }
  .m-act-btn { flex: 1; height: 42px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-size: 14px; font-weight: 700; text-decoration: none; border: 0; font-family: inherit; cursor: pointer; white-space: nowrap; }
  .m-act-btn.ghost { background: #fff; color: var(--mt1) !important; border: 1px solid #E5E9F0; }
  .m-act-btn.ghost.done { color: var(--mgreen) !important; }
  .m-act-btn.primary { background: var(--mb); color: #fff !important; flex: 1.4; }
  .m-act-btn .cnt { font-weight: 500; opacity: .85; font-size: 12px; }
  .m-act-btn .ic { width: 18px; height: 18px; }
  .m-sheet-bd { position: fixed; inset: 0; z-index: 200; background: rgba(15, 23, 42, .45); display: flex; align-items: flex-end; }
  .m-sheet-bd[hidden] { display: none; }
  .m-sheet { background: #fff; border-radius: 18px 18px 0 0; width: 100%; padding: 10px 14px calc(14px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 2px; }
  .m-sheet-h { font-size: 12px; color: var(--mt3); text-align: center; padding: 4px 0 8px; }
  .m-sheet-i { display: flex; align-items: center; gap: 12px; padding: 12px 8px; border-radius: 10px; font-size: 15px; color: var(--mt1) !important; text-decoration: none; background: none; border: 0; font-family: inherit; width: 100%; text-align: left; cursor: pointer; }
  .m-sheet-i:active { background: #F4F6FA; }
  .m-sheet-i .ic { width: 20px; height: 20px; color: var(--mt2); }
  .m-sheet-i.danger { color: var(--mred) !important; }
  .m-sheet-i.danger .ic { color: var(--mred); }
  .m-sheet-cancel { margin-top: 6px; height: 44px; border-radius: 12px; background: #F4F6FA; border: 0; font-size: 15px; font-weight: 600; color: var(--mt1); font-family: inherit; cursor: pointer; }

  /* ── 分批次发货:统计紧凑 + 带标签的表格 + 勾选行布局 ── */
  .stats.m-stats { display: grid; grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin: 0 0 10px !important; }
  .stats.m-stats .stat { padding: 10px 12px !important; border-radius: 12px !important; }
  .stats.m-stats .stat .label { font-size: 11px !important; }
  .stats.m-stats .stat .value { font-size: 15px !important; line-height: 1.3; }
  .m-hint { font-size: 12.5px; color: #92400E; background: #FFF8E6; border-left: 3px solid var(--morange); border-radius: 10px; padding: 8px 11px; margin-bottom: 10px; line-height: 1.5; }
  table.table.m-labeled tbody tr td[data-label]::before { content: attr(data-label); color: var(--mt3); font-size: 11px; flex: none; min-width: 56px; }
  table.table.m-ship tbody tr { display: flex !important; flex-wrap: wrap; align-items: center; gap: 4px 8px; padding: 10px 12px; }
  table.table.m-ship tbody tr td { display: flex !important; border-bottom: 0 !important; padding: 2px 0 !important; justify-content: flex-start; margin: 0; }
  table.table.m-ship tbody tr td:nth-child(1) { flex: none; width: 26px; order: 1; padding: 0 !important; font-size: 13px; }
  table.table.m-ship tbody tr td:nth-child(2) { flex: none; width: 28px; order: 2; }
  table.table.m-ship tbody tr td:nth-child(3) { flex: 1 1 60%; order: 3; font-size: 14px; }
  table.table.m-ship tbody tr td:nth-child(4), table.table.m-ship tbody tr td:nth-child(5), table.table.m-ship tbody tr td:nth-child(6) { flex: 1 1 28%; order: 4; }
  table.table.m-ship tbody tr td:nth-child(7) { flex: 1 1 55%; order: 5; }
  table.table.m-ship tbody tr td:nth-child(8) { flex: 1 1 40%; order: 6; }
  table.table.m-ship tbody tr td[colspan] { width: 100%; }
  table.table.m-ship .ship-qty { width: 100% !important; max-width: 160px; }

  /* ── 客户卡 ── */
  .m-cc { padding: 12px 14px; }
  .m-cc-h { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
  .m-cc-h b { font-size: 15px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .m-cc-l { font-size: 12.5px; color: var(--mt2); margin-top: 4px; overflow-wrap: anywhere; }
  .m-cc-l .code { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 12px; }
  .m-cc-l a { color: var(--mb) !important; text-decoration: none; }
  .m-cc-a { display: flex; gap: 8px; margin-top: 10px; }
  .m-cc-a form { margin: 0; }
}


/* ═══════════════════════════════════════════════════════════════════
   第 4 步(2026-09-13):新建 / 编辑合同表单页(销售 / 采购)+ 详情页各 tab 内容
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  /* ── 表单页:产品明细行改成卡片(参数整行,数量 / 单价 / 总价一行) ── */
  .items-head { display: none !important; }
  .item-row {
    display: grid !important; grid-template-columns: 1fr 1fr 1fr auto !important; gap: 6px 8px !important; align-items: end;
    padding: 10px 12px !important; border-radius: 12px !important; margin-bottom: 10px !important;
    background: #fff !important; border: 1px solid #E5E9F0 !important;
  }
  .item-row .col-no { grid-column: 1 / -1; font-size: 12px !important; color: var(--mt3) !important; padding: 0 !important; font-weight: 600; }
  .item-row .col-no::before { content: "第 " counter(item) " 项"; }
  .item-row .col-params { grid-column: 1 / -1; display: flex; flex-direction: column; gap: 6px; }
  .item-row .col-params textarea { width: 100% !important; min-height: 72px !important; font-size: 14px !important; }
  .item-row .col-params input { width: 100% !important; }
  .item-row .col-num { display: flex; flex-direction: column; gap: 3px; min-width: 0; padding: 0 !important; }
  .item-row .col-num::before { content: "数量"; font-size: 11px; color: var(--mt3); }
  .item-row .col-num + .col-num::before { content: "单价"; }
  .item-row .col-num input { width: 100% !important; min-width: 0 !important; text-align: right !important; padding: 8px 10px !important; }
  .item-row .col-sub { display: flex; flex-direction: column; gap: 3px; padding: 0 0 8px !important; text-align: left !important; font-size: 14px !important; font-weight: 700 !important; color: var(--mt1) !important; }
  .item-row .col-sub::before { content: "总价"; font-size: 11px; color: var(--mt3); font-weight: 400; }
  .item-row .col-act { padding: 0 0 4px !important; align-self: end; }
  .item-row .col-act .remove-item { width: 36px; height: 36px; padding: 0 !important; border-radius: 10px; }
  .grand-total { border-radius: 12px; font-size: 15px; }
  .inv-row { flex-direction: column !important; align-items: stretch !important; gap: 6px !important; }
  .inv-row select, .inv-row input { width: 100% !important; min-width: 0 !important; max-width: none !important; }
  .inv-row .inv-total { text-align: right; }
  .form-card .card-head { font-size: 15px !important; }
  .form-card .card-head .sub { display: block; font-size: 11.5px !important; margin-top: 2px; }
  #draft-banner { border-radius: 12px; }

  /* ── 详情页 tab 内容 ── */
  .m-kv { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 12px; }
  .m-kv > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
  .m-kv > div.full { grid-column: 1 / -1; }
  .m-kv span { font-size: 11px; color: var(--mt3); }
  .m-kv b { font-size: 13.5px; font-weight: 600; color: var(--mt1); overflow-wrap: anywhere; }
  .m-top-det ~ .container .section-header { flex-direction: column; align-items: flex-start !important; gap: 8px; }
  .m-top-det ~ .container .section-header .section-title { font-size: 14px !important; }
  .m-top-det ~ .container .card h2 { font-size: 15px !important; }
  .m-top-det ~ .container .card h2 .muted { display: block; font-size: 11.5px !important; margin-top: 2px; font-weight: 400; }
  .m-top-det ~ .container .cl-item { padding: 10px 12px !important; border-radius: 12px !important; }
  .m-top-det ~ .container .cl-action-form { flex-wrap: wrap; gap: 6px; }
  .m-top-det ~ .container .cl-date { display: flex !important; gap: 4px; width: 100%; }
  .m-top-det ~ .container .cl-date select { flex: 1; min-width: 0 !important; }
  .m-top-det ~ .container .inv-date-sel { width: auto !important; flex: 1 1 26%; min-width: 58px !important; }
  .m-top-det ~ .container .inv-grid { grid-template-columns: 1fr !important; }
  .m-top-det ~ .container .inv-grid > div { border-right: 0 !important; }
  .m-top-det ~ .container .purchase-card .flex-between { flex-wrap: wrap; gap: 8px; }
  .m-top-det ~ .container .purchase-card .nowrap.flex { flex-wrap: wrap !important; white-space: normal !important; }
}


/* ═══════════════════════════════════════════════════════════════════
   第 5 步(2026-09-13):全站通用手机规则 — 页头 / 统计卡 / 表单吸底 / 筛选面板 / 表格字段名(JS 自动)/
   发票池 / 多合同采购单详情 tab / 报价单详情。覆盖:供应商 库存产品 定向备货 多合同采购单 报价 发票分配 报表 设置 等
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  /* ── 页头:标题已在顶栏,只留操作按钮一行 ── */
  .page-head { margin: 0 0 10px !important; gap: 6px !important; }
  .page-head h1 { display: none !important; }
  .page-head > .flex, .page-head > div { width: 100%; flex-wrap: wrap !important; gap: 6px !important; }
  .page-head .btn, .page-head a.btn { font-size: 12px !important; padding: 6px 10px !important; min-height: 34px !important; border-radius: 10px !important; line-height: 1.2 !important; }
  .boss-readonly-bar { font-size: 12px; border-radius: 12px; }
  .container > .muted { font-size: 12.5px !important; }
  .card .card-head { font-size: 15px !important; }
  .card .card-head .sub { display: block; font-size: 11.5px !important; margin-top: 2px; }

  /* ── 统计卡统一紧凑(2 列) ── */
  .container .stats { display: grid; grid-template-columns: 1fr 1fr !important; gap: 8px !important; margin: 0 0 10px !important; }
  .container .stats .stat { padding: 10px 12px !important; border-radius: 12px !important; min-width: 0; }
  .container .stats .stat .label { font-size: 11px !important; }
  .container .stats .stat .value { font-size: 17px !important; line-height: 1.3; word-break: break-all; }
  .container .stats .stat .muted { font-size: 10.5px !important; }

  /* ── 表单页:保存按钮吸在底部 tab 上方(销售 / 采购合同表单用自己的操作栏,已标 d-only) ── */
  .form-actions:not(.d-only):not(.m-static) {
    position: sticky; bottom: calc(66px + env(safe-area-inset-bottom)); z-index: 30;
    display: flex; gap: 8px; margin: 12px 0 0; padding: 8px 0;
    background: rgba(255, 255, 255, .96); border-top: 1px solid var(--mline); backdrop-filter: blur(6px);
  }
  .form-actions:not(.d-only):not(.m-static) .btn { flex: 1; min-height: 42px !important; border-radius: 12px !important; font-size: 14px !important; margin: 0 !important; }

  /* ── 筛选面板:下拉并排、chips 横滑 ── */
  .filter-panel { border-radius: 12px; }
  .filter-panel .filter-group { display: flex !important; flex-wrap: wrap; gap: 6px !important; align-items: center; }
  .filter-panel .filter-label { width: 100%; font-size: 12px !important; color: var(--mt2); margin: 0 !important; }
  .filter-panel .filter-select { flex: 1 1 40%; min-width: 0 !important; width: auto !important; }
  .filter-panel .filter-input { flex: 1 1 100%; }
  .filter-panel .filter-chips { flex-wrap: nowrap !important; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
  .filter-panel .filter-chips::-webkit-scrollbar { display: none; }
  .filter-panel .filter-chips .filter-label { width: auto; flex: none; }
  .filter-panel .chip { flex: none; white-space: nowrap; }

  /* ── 表格(JS 已给 td 加 data-label):第一格只有勾选框的行,勾选框与主标识排一行 ── */
  table.table tbody tr.m-cb td:first-child { display: flex !important; border-bottom: 0 !important; padding: 0 0 4px !important; margin: 0; font-size: 13px; }
  table.table tbody tr.m-cb td:nth-child(2) { font-weight: 700; font-size: 14px; }
  table.table.m-labeled tbody tr td[data-label] input:not([type="checkbox"]):not([type="radio"]),
  table.table.m-labeled tbody tr td[data-label] select { flex: 1; width: auto !important; min-width: 0 !important; max-width: none !important; }
  table.table tbody tr td .btn.sm { min-height: 32px !important; }

  /* ── 发票池:识别 / 认领控件撑满 ── */
  .pool-root .p-claim-q, .pool-root .p-claim-sel, .pool-root .p-no, .pool-root .p-date, .pool-root .p-item-sel {
    max-width: none !important; min-width: 0 !important; width: 100% !important;
  }
  .pool-root .p-claim-btn, .pool-root .p-del-btn { margin-left: 0 !important; }

  /* ── 多合同采购单详情:tab 横滑药丸 ── */
  .bulk-tabs { flex-wrap: nowrap !important; overflow-x: auto; gap: 6px !important; border-bottom: 0 !important; margin: 4px 0 10px !important; padding: 2px 0 4px !important; scrollbar-width: none; }
  .bulk-tabs::-webkit-scrollbar { display: none; }
  .bulk-tab { flex: none; border-radius: 999px !important; padding: 7px 13px !important; font-size: 13px !important; border: 0 !important; bottom: 0 !important; box-shadow: none !important; }
  .bulk-tab.active { background: #fff !important; color: var(--mb) !important; box-shadow: 0 0 0 1.5px var(--mb) inset !important; }

  /* 带字段名的格子里徽标 / 代码不要竖着断行;筛选面板年月下拉并排 */
  table.table.m-labeled tbody tr td[data-label] .badge, table.table.m-labeled tbody tr td[data-label] code { white-space: nowrap; }
  .filter-panel .filter-row .filter-group { display: flex !important; flex-direction: row !important; flex-wrap: wrap; }
  .filter-panel .filter-row .filter-group .filter-select { flex: 1 1 40% !important; width: auto !important; min-width: 0 !important; }
}


/* ═══════════════════════════════════════════════════════════════════
   第 6 步(2026-09-13,用户要求详情页明细像截图那样的紧凑表格,不要一行一个字段的卡片):
   .m-table = 手机上保持真表格(浅蓝表头、12px、数字右对齐);.m-pool = 发票池行用 grid 重排成表格 + 小字附行
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  /* ── 紧凑真表格 ── */
  .card > table.table.m-table, table.table.m-table { display: table !important; width: 100% !important; min-width: 0 !important; border-collapse: collapse; }
  table.table.m-table thead { display: table-header-group !important; }
  table.table.m-table tbody { display: table-row-group !important; }
  table.table.m-table tfoot { display: table-footer-group !important; }
  table.table.m-table tr {
    display: table-row !important; background: transparent !important; border: 0 !important; border-radius: 0 !important;
    padding: 0 !important; margin: 0 !important; box-shadow: none !important;
  }
  table.table.m-table th, table.table.m-table td {
    display: table-cell !important; padding: 7px 6px !important; border-bottom: 1px solid #EEF1F5 !important;
    vertical-align: top; text-align: left; font-size: 12px !important; line-height: 1.4; white-space: normal; word-break: break-word; overflow-wrap: anywhere;
    justify-content: flex-start;
  }
  table.table.m-table th { background: #EEF3FB; color: #475569 !important; font-weight: 600; font-size: 11.5px !important; white-space: nowrap; border-bottom: 0 !important; }
  table.table.m-table thead tr th:first-child { border-radius: 8px 0 0 8px; }
  table.table.m-table thead tr th:last-child { border-radius: 0 8px 8px 0; }
  table.table.m-table td:first-child { font-weight: 600; font-size: 12px !important; color: var(--mt1); margin: 0; }
  table.table.m-table th.num, table.table.m-table td.num { text-align: right !important; white-space: nowrap; }
  table.table.m-table td::before, table.table.m-table td.num::before { content: none !important; }
  table.table.m-table td[colspan] { display: table-cell !important; padding: 7px 6px !important; }
  table.table.m-table tfoot td { background: #FAFBFD; border-bottom: 0 !important; }
  table.table.m-table .btn.sm { padding: 3px 7px !important; font-size: 11px !important; min-height: 26px !important; border-radius: 6px !important; }
  table.table.m-table input.form-control { padding: 4px 6px !important; font-size: 12px !important; min-height: 0 !important; }
  table.table.m-table .muted { font-size: 11px; }
  table.table.m-table a { color: var(--mb) !important; }

  /* ── 发票池行:一行「勾选 / 名称 / 数量 / 单价 / 金额」,下面小字 规格 / 销售方 / 来源发票 / 入池 / 对应合同行 ── */
  table.table.m-pool { display: block !important; min-width: 0 !important; }
  table.table.m-pool thead, table.table.m-pool tbody { display: block !important; }
  table.table.m-pool tr {
    display: grid !important; grid-template-columns: 24px minmax(0, 1fr) 42px 62px 72px; gap: 2px 6px; align-items: start;
    padding: 7px 10px !important; margin: 0 !important; border: 0 !important; border-bottom: 1px solid #EEF1F5 !important; border-radius: 0 !important;
    box-shadow: none !important; background: #fff !important;
  }
  table.table.m-pool thead tr { background: #EEF3FB !important; border-bottom: 0 !important; }
  table.table.m-pool th, table.table.m-pool td { display: block !important; padding: 2px 0 !important; border: 0 !important; font-size: 12px !important; min-width: 0; line-height: 1.4; }
  table.table.m-pool td::before, table.table.m-pool td.num::before { content: none !important; }
  table.table.m-pool th { font-size: 11.5px !important; color: #475569 !important; font-weight: 600; white-space: nowrap; }
  table.table.m-pool .c-ck { grid-column: 1; grid-row: 1; text-align: left !important; }
  table.table.m-pool tbody tr.m-cb td:first-child { display: block !important; padding: 2px 0 !important; }
  table.table.m-pool .c-name { grid-column: 2; grid-row: 1; font-weight: 600; overflow-wrap: anywhere; }
  table.table.m-pool .c-qty { grid-column: 3; grid-row: 1; text-align: right !important; }
  table.table.m-pool .c-price { grid-column: 4; grid-row: 1; text-align: right !important; }
  table.table.m-pool .c-amt { grid-column: 5; grid-row: 1; text-align: right !important; font-weight: 700; }
  table.table.m-pool .c-spec { grid-column: 2 / 4; grid-row: 2; color: var(--mt2); }
  table.table.m-pool .c-unit { grid-column: 4 / -1; grid-row: 2; color: var(--mt3); text-align: right !important; font-size: 11px !important; }
  table.table.m-pool .c-party { grid-column: 2 / -1; grid-row: 3; color: var(--mt2); font-size: 11.5px !important; font-weight: 500 !important; }
  table.table.m-pool .c-src { grid-column: 2 / -1; grid-row: 4; font-size: 11px !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: 4px; }
  table.table.m-pool .c-when { grid-column: 2 / -1; grid-row: 5; font-size: 11px !important; color: var(--mt3); }
  table.table.m-pool .c-when br { display: none; }
  table.table.m-pool .c-bind { grid-column: 2 / -1; grid-row: 6; }
  table.table.m-pool .c-bind select { width: 100% !important; max-width: none !important; min-width: 0 !important; }
  table.table.m-pool thead .c-spec, table.table.m-pool thead .c-unit, table.table.m-pool thead .c-party,
  table.table.m-pool thead .c-src, table.table.m-pool thead .c-when, table.table.m-pool thead .c-bind { display: none !important; }
  table.table.m-pool td[colspan] { grid-column: 1 / -1; text-align: center; }
  table.table.m-pool .btn.sm { padding: 2px 7px !important; font-size: 11px !important; min-height: 24px !important; }
}


/* ═══════════════════════════════════════════════════════════════════
   第 7 步(2026-09-13):财务开票工作台 — 待开票推送 .m-push / 最近处理 .m-done 用 grid 排成紧凑表格
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 640px) {
  table.table.m-push, table.table.m-done { display: block !important; min-width: 0 !important; }
  table.table.m-push thead, table.table.m-push tbody, table.table.m-done thead, table.table.m-done tbody { display: block !important; }
  table.table.m-push tr, table.table.m-done tr {
    display: grid !important; gap: 2px 6px; align-items: start;
    padding: 7px 10px !important; margin: 0 !important; border: 0 !important; border-bottom: 1px solid #EEF1F5 !important; border-radius: 0 !important;
    box-shadow: none !important; background: #fff !important;
  }
  table.table.m-push tr { grid-template-columns: 24px minmax(0, 1fr) 96px; }
  table.table.m-done tr { grid-template-columns: minmax(0, 1fr) 96px; }
  table.table.m-push thead tr, table.table.m-done thead tr { background: #EEF3FB !important; border-bottom: 0 !important; }
  table.table.m-push th, table.table.m-push td, table.table.m-done th, table.table.m-done td {
    display: block !important; padding: 2px 0 !important; border: 0 !important; font-size: 12px !important; min-width: 0; line-height: 1.4; white-space: normal !important;
  }
  table.table.m-push td::before, table.table.m-done td::before, table.table.m-push td.num::before { content: none !important; }
  table.table.m-push th, table.table.m-done th { font-size: 11.5px !important; color: #475569 !important; font-weight: 600; white-space: nowrap !important; }
  table.table.m-push td[colspan], table.table.m-done td[colspan] { grid-column: 1 / -1; text-align: center; padding: 14px 0 !important; }
  table.table.m-push .btn.sm, table.table.m-done .btn.sm { padding: 4px 9px !important; font-size: 11.5px !important; min-height: 28px !important; }

  /* 待开票推送:☐ / 合同号(+批次) / 金额 | 客户 | 公司 | 推送人 · 时间 | 按钮 */
  table.table.m-push .c-ck { grid-column: 1; grid-row: 1; text-align: left !important; }
  table.table.m-push tbody tr.m-cb td:first-child { display: block !important; padding: 2px 0 !important; }
  table.table.m-push .c-no { grid-column: 2; grid-row: 1; font-weight: 700; overflow-wrap: anywhere; }
  table.table.m-push .c-amt { grid-column: 3; grid-row: 1; text-align: right !important; font-weight: 700; }
  table.table.m-push .c-cust { grid-column: 2 / -1; grid-row: 2; color: var(--mt2); }
  table.table.m-push .c-co { grid-column: 2 / -1; grid-row: 3; color: var(--mt3); font-size: 11px !important; }
  table.table.m-push .c-by { grid-column: 2; grid-row: 4; font-size: 11px !important; color: var(--mt2); font-weight: 500 !important; }
  table.table.m-push td.c-by::before { content: "推送 " !important; color: var(--mt3); }
  table.table.m-push .c-at { grid-column: 3; grid-row: 4; font-size: 11px !important; color: var(--mt3); text-align: right !important; }
  table.table.m-push .c-act { grid-column: 1 / -1; grid-row: 5; margin-top: 4px; }
  table.table.m-push .c-act .flex { justify-content: flex-start !important; flex-wrap: wrap; gap: 6px !important; }
  table.table.m-push thead .c-co, table.table.m-push thead .c-cust, table.table.m-push thead .c-by,
  table.table.m-push thead .c-at, table.table.m-push thead .c-act { display: none !important; }

  /* 最近处理:合同号 / 状态 | 客户 | 公司 | 推送 人·时间 | 处理 人·时间 | 撤销 */
  table.table.m-done .c-no { grid-column: 1; grid-row: 1; font-weight: 700; overflow-wrap: anywhere; }
  table.table.m-done .c-st { grid-column: 2; grid-row: 1; text-align: right !important; }
  table.table.m-done .c-st .badge { white-space: nowrap; font-size: 11px; }
  table.table.m-done .c-cust { grid-column: 1 / -1; grid-row: 2; color: var(--mt2); }
  table.table.m-done .c-co { grid-column: 1 / -1; grid-row: 3; color: var(--mt3); font-size: 11px !important; }
  table.table.m-done .c-by { grid-column: 1; grid-row: 4; font-size: 11px !important; color: var(--mt2); }
  table.table.m-done td.c-by::before { content: "推送 " !important; color: var(--mt3); }
  table.table.m-done .c-at { grid-column: 2; grid-row: 4; font-size: 11px !important; color: var(--mt3); text-align: right !important; }
  table.table.m-done .c-done-by { grid-column: 1; grid-row: 5; font-size: 11px !important; color: var(--mt2); }
  table.table.m-done td.c-done-by::before { content: "处理 " !important; color: var(--mt3); }
  table.table.m-done .c-done-at { grid-column: 2; grid-row: 5; font-size: 11px !important; color: var(--mt3); text-align: right !important; }
  table.table.m-done .c-act { grid-column: 1 / -1; grid-row: 6; margin-top: 4px; }
  table.table.m-done thead .c-co, table.table.m-done thead .c-cust, table.table.m-done thead .c-by, table.table.m-done thead .c-at,
  table.table.m-done thead .c-done-at, table.table.m-done thead .c-done-by, table.table.m-done thead .c-act { display: none !important; }
  table.table.m-done thead .c-st { text-align: right !important; }
}

/* ─── 公司标识色(2026-09-23):body.has-co 时手机顶栏(普通页 / 首页 / 详情页)、头像字色、视角药丸选中色 跟着当前公司 ─── */
@media (max-width: 640px) {
  body.has-co .m-top { background: var(--co-color) !important; box-shadow: 0 2px 8px rgba(15, 23, 42, .18) !important; }
  body.has-co .m-avatar { color: var(--co-color) !important; }
  body.has-co .m-hseg a.on { color: var(--co-color) !important; }
  body.has-co .m-bell .dot { border-color: var(--co-color) !important; }
}
