/* ============ 移动端（手机版）专属布局 ============
   生效条件：<body class="ui-mobile">，由 js/device.js 自动识别或手动切换 */

body.ui-mobile{font-size:14px;-webkit-text-size-adjust:100%}
body.ui-mobile .pc-only{display:none !important}
body:not(.ui-mobile) .m-only{display:none !important}

/* ---------- 顶部栏 ---------- */
body.ui-mobile #app-header{
  padding:8px 12px;gap:8px;background:#fff;
  padding-top:calc(8px + env(safe-area-inset-top));
}
body.ui-mobile .brand-s{display:none}
body.ui-mobile .logo{width:30px;height:30px;font-size:12px}
body.ui-mobile .brand-t{font-size:14px}
body.ui-mobile .header-actions{gap:6px}
body.ui-mobile .save-state{font-size:11px}
.m-icon-btn{
  border:1px solid var(--line-2);background:#fff;border-radius:8px;
  width:36px;height:34px;font-size:16px;line-height:1;cursor:pointer;color:var(--t1);
}
.m-icon-btn:active{background:var(--pri-l);border-color:var(--pri)}
.m-mode-btn{
  border:1px solid var(--line-2);background:#fff;border-radius:8px;height:34px;
  padding:0 10px;font-size:12px;cursor:pointer;color:var(--pri);white-space:nowrap;
}

/* ---------- 汇总条 ---------- */
body.ui-mobile .summary-bar{padding:0 12px}
body.ui-mobile .sm{padding:6px 14px 6px 0;margin-right:14px;min-width:82px}
body.ui-mobile .sm-v{font-size:14px}

/* ---------- 顶部 tabs 隐藏，改用底部导航 ---------- */
body.ui-mobile .tabs{display:none}

/* ---------- 底部导航 ---------- */
.m-tabbar{
  position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;
  background:#fff;border-top:1px solid var(--line);
  padding-bottom:env(safe-area-inset-bottom);
  box-shadow:0 -2px 10px rgba(20,30,50,.06);
}
.m-tabbar .mtab{
  flex:1;border:none;background:none;padding:6px 2px 5px;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;gap:1px;
  color:var(--t3);font-size:11px;font-family:inherit;
}
.m-tabbar .mtab i{font-style:normal;font-size:17px;line-height:1.1}
.m-tabbar .mtab span{font-size:11px}
.m-tabbar .mtab.active{color:var(--pri)}
.m-tabbar .mtab.active i{transform:scale(1.12)}

/* ---------- 底部操作条 ---------- */
.m-actionbar{
  position:fixed;left:0;right:0;bottom:calc(54px + env(safe-area-inset-bottom));z-index:59;
  display:flex;align-items:center;gap:10px;
  padding:8px 12px;background:#fff;border-top:1px solid var(--line);
  box-shadow:0 -2px 8px rgba(20,30,50,.05);
}
.m-ab-sum{flex:1;min-width:0}
.m-ab-sum .k{font-size:11px;color:var(--t3);display:block;line-height:1.2}
.m-ab-sum b{font-size:16px;color:var(--pri-d);font-weight:500}
.m-actionbar .btn{padding:10px 18px;font-size:14px;border-radius:8px}

/* ---------- 内容区留白 ---------- */
body.ui-mobile main{
  padding:10px 10px calc(112px + env(safe-area-inset-bottom));max-width:100%;
}
body.ui-mobile .card{border-radius:10px;margin-bottom:10px}
body.ui-mobile .card-h{padding:10px 12px}

/* ---------- 录入页 ---------- */
body.ui-mobile .input-layout{display:block}
body.ui-mobile .quick-col{margin-top:10px}
body.ui-mobile .quick-col .card{margin-bottom:10px}
body.ui-mobile .quick-list{
  display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px;
}
body.ui-mobile .quick-list .btn.wide{margin:0;text-align:center;width:auto;padding:10px 6px;font-size:13px}
body.ui-mobile .sec-hint{font-size:12.5px;padding:8px 10px}
body.ui-mobile .brand-body{gap:12px;padding:10px 12px}
body.ui-mobile .brand-item{width:100%}
body.ui-mobile .brand-prev{width:120px;height:52px;flex:none}

/* 表单：单列 + 大点击区（iOS 不会自动放大） */
body.ui-mobile .fgroup-body{grid-template-columns:1fr;gap:12px;padding:10px 12px 14px}
body.ui-mobile .field.w2{grid-column:span 1}
body.ui-mobile .field label{font-size:12.5px}
body.ui-mobile .field input,
body.ui-mobile .field select,
body.ui-mobile .field textarea{
  font-size:16px;padding:9px 10px;min-height:40px;border-radius:8px;
}
body.ui-mobile .field textarea{min-height:72px}
body.ui-mobile .fgroup-h{padding:12px;gap:6px}
body.ui-mobile .fgroup-arrow{font-size:11px;flex:none}
body.ui-mobile .chk-row{height:40px}
body.ui-mobile .chk-row input[type=checkbox]{width:20px;height:20px}
/* 手机上分组默认收起，聚焦当前项 */
body.ui-mobile .fgroup{margin-bottom:8px}

/* ---------- 表格 → 卡片（货物明细 / 客户库 / 产品库 / 历史 / 清单） ---------- */
body.ui-mobile .table-wrap{overflow:visible}
body.ui-mobile .goods-table,
body.ui-mobile .lib-table{min-width:0;width:100%;display:block}
body.ui-mobile .goods-table thead,
body.ui-mobile .lib-table thead{display:none}
body.ui-mobile .goods-table tbody,
body.ui-mobile .lib-table tbody{display:block}
body.ui-mobile .goods-table tr,
body.ui-mobile .lib-table tr{
  display:block;border:1px solid var(--line);border-radius:9px;
  margin-bottom:9px;padding:6px 10px 4px;background:#fff;
}
body.ui-mobile .goods-table td,
body.ui-mobile .lib-table td{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:4px 0;border:none;
}
body.ui-mobile .goods-table td::before,
body.ui-mobile .lib-table td::before{
  content:attr(data-l);flex:none;color:var(--t3);font-size:11.5px;
}
body.ui-mobile .goods-table td.act,
body.ui-mobile .lib-table td.act{
  justify-content:flex-end;gap:8px;padding:6px 0 2px;border-top:1px dashed var(--line);margin-top:4px;
}
body.ui-mobile .goods-table td.act::before,
body.ui-mobile .lib-table td.act::before{display:none}
body.ui-mobile .lib-table td .sub{font-size:11.5px}
body.ui-mobile .goods-table td input,
body.ui-mobile .goods-table td select{
  font-size:16px;padding:7px 8px;border:1px solid var(--line);background:#fff;
  text-align:right;flex:1;min-width:0;
}
body.ui-mobile .goods-table td select{text-align:left}
body.ui-mobile .btn.sm{padding:8px 12px;font-size:13px}
body.ui-mobile .mini-btn{font-size:16px;padding:4px 10px}
body.ui-mobile .empty{padding:14px 4px}

/* 货物行编号 */
body.ui-mobile .goods-table tbody{counter-reset:grow}
body.ui-mobile .goods-table tbody tr{counter-increment:grow}
body.ui-mobile .goods-table tbody tr::before{
  content:"第 " counter(grow) " 行";display:block;
  font-size:11.5px;color:var(--pri-d);font-weight:500;margin:2px 0 4px;
}
.m-actionbar[hidden],.m-mask[hidden],.m-sheet[hidden]{display:none !important}

/* 货物行：加序号与行内小计 */
.m-row-no{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:20px;height:20px;border-radius:50%;background:var(--pri-l);
  color:var(--pri-d);font-size:11px;margin-right:6px;
}
body.ui-mobile .goods-foot{
  flex-direction:column;gap:4px;padding:10px 12px;font-size:12.5px;
}
body.ui-mobile .gf-total{margin-left:0;font-size:14px}

/* ---------- 预览 ---------- */
body.ui-mobile .preview-bar{
  padding:10px;border-radius:10px;gap:8px;position:sticky;top:52px;z-index:20;
}
body.ui-mobile .doc-chips{max-width:100%;gap:6px}
body.ui-mobile .chip{padding:7px 13px;font-size:13px}
body.ui-mobile .preview-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.ui-mobile .preview-actions .btn{padding:10px 6px;font-size:13.5px;text-align:center}
body.ui-mobile .preview-tip{font-size:12px;padding:8px 10px}
body.ui-mobile #preview{gap:12px;align-items:stretch}
body.ui-mobile #preview .doc{box-shadow:0 1px 6px rgba(20,30,50,.18)}

/* ---------- 校验 ---------- */
body.ui-mobile .check-head{gap:8px}
body.ui-mobile .stat-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
body.ui-mobile .stat-card{padding:8px 12px;min-width:0}
body.ui-mobile .stat-card .v{font-size:18px}
body.ui-mobile .check-item{padding:10px 12px;font-size:13px;align-items:flex-start}
body.ui-mobile .lib-layout{display:block}

/* ---------- 帮助 ---------- */
body.ui-mobile .help-body{padding:14px 16px 20px;max-width:100%}

/* ---------- 抽屉菜单 ---------- */
.m-mask{
  position:fixed;inset:0;background:rgba(16,24,38,.45);z-index:90;
}
.m-sheet{
  position:fixed;left:0;right:0;bottom:0;z-index:100;background:#fff;
  border-radius:14px 14px 0 0;padding:6px 0 calc(10px + env(safe-area-inset-bottom));
  box-shadow:0 -4px 20px rgba(20,30,50,.2);
  max-height:78vh;overflow:auto;
  animation:m-sheet-in .18s ease-out;
}
@keyframes m-sheet-in{from{transform:translateY(20px);opacity:.6}to{transform:translateY(0);opacity:1}}
.m-sheet-h{
  font-size:13px;color:var(--t3);padding:8px 16px 10px;border-bottom:1px solid var(--line);
  display:flex;justify-content:space-between;align-items:center;
}
.m-sheet-item{
  display:flex;width:100%;border:none;background:none;padding:14px 16px;font-size:15px;
  font-family:inherit;color:var(--t1);text-align:left;cursor:pointer;
  border-bottom:1px solid #f2f5f9;
}
.m-sheet-item:active{background:#f4f7fb}
.m-sheet-item.danger{color:var(--err)}
.m-sheet-item .sub{display:block;font-size:11.5px;color:var(--t3);margin-top:2px}

/* ---------- Toast ---------- */
body.ui-mobile #toast{bottom:calc(76px + env(safe-area-inset-bottom));font-size:13px}

/* ---------- 窄屏兜底（未执行 JS 时也有基本可用性） ---------- */
@media(max-width:640px){
  .input-layout{grid-template-columns:1fr}
  .fgroup-body{grid-template-columns:1fr}
  .field.w2{grid-column:span 1}
  .lib-layout{grid-template-columns:1fr}
}

/* ---------- 打印：只出单据 ---------- */
@media print{
  .m-tabbar,.m-actionbar,.m-mask,.m-sheet{display:none !important}
}
