/* 天能电池深圳西运营中心ERP · 手机 / iPad 自适应壳（≤1024px 生效）
   ---------------------------------------------------------------------------
   设计原则：
     1) ≥1025px 一像素不动 —— 本文件所有规则都包在 @media (max-width:1024px) 内；
     2) 同一套 DOM（#pc）在窄屏重排成 App 形态，不另建一套页面，避免「两套界面走偏」；
     3) 表格一律卡片化（thead 隐藏 + td::before 取 data-label），彻底消除横向滚动；
     4) 768–1024px（iPad 竖/横、小平板）单列卡片改双列，并限制最大宽度，避免大屏拉稀。
   分段编号（唯一，回退锚点用）：① 骨架 ② 顶部栏 ③ 底部模块栏 ④ 模块浮层 ⑤ 页签
     ⑥ 内容画布 ⑦ 表格卡片化 ⑧ 表头/条件/工具栏/表尾 ⑨ 档案页 ⑩ 弹窗与选择器
     ⑪ 看板与指标 ⑫ 登录页 ⑬ 提示条与打印 ⑭ iPad 增强
*/

@media (max-width:1024px){

/* ① 骨架：PC 骨架保留并重排为「上内容 / 下模块栏」 */
.jdy-layout{display:flex !important;flex-direction:column;height:100vh;height:100dvh;}
.m-shell{display:none !important;}
.jdy-main{order:1;flex:1;min-height:0;}
nav.jdy-rail{order:2;flex:0 0 auto;width:100%;height:58px;padding:4px 6px;
  display:flex;align-items:center;overflow-x:auto;overflow-y:hidden;
  background:#fff;border-top:1px solid var(--jdy-line);box-shadow:none;position:relative;z-index:60;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;}
nav.jdy-rail::-webkit-scrollbar{display:none;}
.jdy-rail-brand{display:none;}
.jdy-rail-items{display:flex;align-items:center;gap:2px;min-width:max-content;}
.jdy-rail-item{flex-direction:column;gap:2px;height:auto;min-width:62px;padding:5px 8px;margin:0;
  border-radius:10px;font-size:11px;line-height:1.15;text-align:center;justify-content:center;}
.jdy-rail-item svg{width:19px;height:19px;flex:0 0 19px;}
.jdy-rail-item span{white-space:nowrap;}

/* ② 顶部栏：两行 —— 第一行标题/账号，第二行搜索 */
.jdy-topbar{flex-wrap:wrap;height:auto;flex:0 0 auto;gap:6px;padding:6px 10px;align-items:center;}
.jdy-topbar .mod-tabs{display:none;}
.jdy-topbar .spacer{display:none;}
.jdy-topbar .search{order:9;width:100%;flex:0 0 100%;height:34px;}
.jdy-topbar .btn{height:30px;padding:0 10px;font-size:13px;}
.jdy-topbar .btn[data-placeholder]{display:none;}
.jdy-topbar .who{font-size:12px;max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.jdy-topbar::before{content:"天能电池深圳西运营中心ERP";font-weight:600;font-size:13px;color:var(--jdy-text);
  margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

/* ③ 页签：横向滚动、可点可关 */
.jdy-tabs{flex:0 0 auto;height:38px;padding:4px 8px 0;gap:6px;}
.jdy-tab{padding:7px 12px;font-size:13px;}

/* ④ 模块浮层 → 底部抽屉（定位一律 !important 覆盖 JS 内联 top/left） */
.jdy-flyout{position:fixed !important;left:0 !important;right:0 !important;bottom:58px !important;top:auto !important;
  width:100% !important;min-width:0;max-height:62vh;border-radius:14px 14px 0 0;border:none;
  box-shadow:0 -8px 30px rgba(0,0,0,.28);padding:0 0 8px;z-index:70;overflow:auto;}
.jdy-flyout{flex-direction:column;align-items:stretch;}
.jdy-flyout .popper-menu{min-width:0;max-width:none;border-right:none;padding:0 6px 4px;border-bottom:1px solid var(--jdy-line-2);}
.jdy-flyout .popper-menu:last-child{border-bottom:none;}
.jdy-flyout::before{content:"";display:block;position:sticky;top:0;height:18px;
  background:linear-gradient(#fff 55%,rgba(255,255,255,0));z-index:2;}
.jdy-flyout .menu-title{padding:8px 14px 6px;font-size:12px;}
.jdy-flyout .route-link{padding:11px 14px;font-size:15px;gap:10px;border-bottom:1px solid var(--jdy-line-2);}
.jdy-flyout .route-link .rec{border:none;background:#eaf3fe;color:var(--jdy-primary);border-radius:10px;
  padding:2px 10px;font-size:13px;}
.jdy-flyout .route-link .star,.jdy-flyout .route-link .eye{font-size:16px;}
.m-sheet-hd{position:sticky;top:0;background:#fff;display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px 8px;border-bottom:1px solid var(--jdy-line);font-weight:600;font-size:15px;z-index:3;}
.m-sheet-hd .x{color:var(--jdy-muted);font-size:18px;line-height:1;padding:2px 6px;cursor:pointer;}

/* ⑤ 内容画布 */
.jdy-body{padding:8px;overflow-x:hidden;-webkit-overflow-scrolling:touch;}

/* ⑥ 表格卡片化：一行一卡，标签在左值在右 */
.tbl-wrap{overflow:visible !important;max-height:none !important;}
table.jdy.m-cards{display:block;width:100%;font-size:13px;}
/* 桌面版 table.jdy 带 body 级 white-space:nowrap（防止列内换行），
   卡片化后必须还原成可换行，否则长地址/长备注会顶破卡片。 */
table.jdy.m-cards,table.jdy.m-cards tbody,table.jdy.m-cards tr,table.jdy.m-cards td,
table.jdy.m-cards tfoot{white-space:normal;}
table.jdy.m-cards .btn,table.jdy.m-cards .chip{white-space:nowrap;}
table.jdy.m-cards thead{display:none;}
table.jdy.m-cards tbody,table.jdy.m-cards tfoot{display:block;}
table.jdy.m-cards tr{display:block;background:#fff;border:1px solid var(--jdy-line);border-radius:10px;
  margin:0 0 8px;padding:6px 12px;box-shadow:0 1px 2px rgba(16,32,48,.04);}
table.jdy.m-cards tbody tr:nth-child(even){background:#fff;}
table.jdy.m-cards tbody tr:hover{background:#fff;}
/* 标签在上、取值在下（block 流）：长地址、长 JSON 备注都能在卡内换行，
   不会像 flex/grid 那样被「匿名项目的 min-content」顶破卡片。 */
table.jdy.m-cards td{display:block;border:none;padding:6px 0;min-height:28px;
  overflow-wrap:anywhere;word-break:break-word;}
table.jdy.m-cards td.num,table.jdy.m-cards td{text-align:left;}
table.jdy.m-cards td+td{border-top:1px dashed var(--jdy-line-2);}
table.jdy.m-cards td::before{content:attr(data-label);display:block;color:var(--jdy-muted);font-size:12px;margin-bottom:2px;}
table.jdy.m-cards td[data-label=""]::before{display:none;}
table.jdy.m-cards td:not([data-label])::before{display:none;}
table.jdy.m-cards td.m-card-t{display:block;padding:2px 0 8px;border-bottom:1px solid var(--jdy-line);}
table.jdy.m-cards td.m-card-t::before{display:none;}
table.jdy.m-cards td.m-card-t .m-t1{font-weight:600;font-size:15px;color:var(--jdy-text);}
table.jdy.m-cards td.m-card-t .m-t2{color:var(--jdy-muted);font-size:12px;margin-top:2px;}
/* 明细分卡片（查看明细视图） */
table.jdy.m-cards tr[data-item]{background:#f7fafd;border-style:dashed;margin-left:12px;}
table.jdy.m-cards tfoot tr{background:#f7f9fb;border-color:var(--jdy-line);}
table.jdy.m-cards tfoot td{font-weight:600;color:var(--jdy-text);}
table.jdy.m-cards td.empty,table.jdy.m-cards td[colspan]{display:block;}
table.jdy.m-cards td[colspan]::before{display:none;}
table.jdy.m-cards input.cell{height:30px;border-color:var(--jdy-line);background:#fff;text-align:right;max-width:62%;}
table.jdy.m-cards .btn.sm{height:28px;}
table.jdy.m-cards .m-chk{margin-right:8px;display:inline-flex;vertical-align:middle;}
table.jdy.m-cards .m-chk input{width:16px;height:16px;}

/* ⑦ 表头字段 / 条件区 / 工具栏 / 表尾：一律单列满宽 */
.form-head,.cond,.toolbar,.foot-grid{flex-direction:column;align-items:stretch;gap:8px;padding:10px;}
.form-head .fi,.cond .fi,.toolbar>.fi{display:flex;flex-direction:column;align-items:stretch;gap:4px;width:100%;}
.form-head .fi>label,.cond .fi>label{font-size:12px;color:var(--jdy-muted);}
.form-head .inp,.form-head .sel,.cond .inp,.cond .sel,.toolbar .inp,.toolbar .sel{width:100% !important;height:34px;}
.form-head>div:not(.fi),.cond>div:not(.fi){width:100%;}
.toolbar>.btn,.toolbar>button{flex:1 1 45%;justify-content:center;height:34px;}
.toolbar .sep{display:none;}
.toolbar label.muted{width:100%;}
.foot-grid{grid-template-columns:1fr !important;}
.foot-grid .fi{justify-content:space-between;}
.foot-grid .fi>label{flex:0 0 auto;}
.foot-grid .inp{width:60% !important;max-width:60%;height:32px;}
.form-head .btn,.cond .btn{height:34px;}

/* ⑧ 档案页：左树折叠到上、右表满宽 */
.arch{grid-template-columns:1fr !important;}
.arch .tree{max-height:180px;overflow:auto;}

/* ⑨ 弹窗与选择器：近全屏 */
.dlg{min-width:0 !important;width:96vw !important;max-width:96vw;max-height:92vh;}
.dlg .bd{padding:12px;overflow:auto;}
.dlg .form-grid{grid-template-columns:1fr !important;}
.picker-list{max-height:56vh;}
.picker-list table{font-size:12px;}
.mask{align-items:flex-end;}
.dlg{border-radius:14px 14px 0 0;}

/* ⑩ 看板与指标 */
.counter-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.metric .v{font-size:22px;}
.bar-row .bl{width:104px;}
.bar-row .bv{width:88px;}

/* ⑪ 登录页 */
.login-wrap{padding:16px;align-items:center;}
.login-box{width:100%;max-width:420px;padding:22px 18px;}
.login-box h1{font-size:18px;line-height:1.3;}
.login-box .h1-sub{margin-bottom:12px;}

/* ⑫ 提示条与打印 */
.toast{max-width:88vw;font-size:13px;}
.print-sheet{padding:10px;overflow-x:auto;}

/* ⑫b 单据页（金蝶版式）窄屏：工具栏换行、表头/备注区纵向堆叠、印章归位 */
.kd-toolbar{position:static;}
.kd-toolbar .kd-title{width:100%;}
.kd-toolbar .kd-tb-hint{width:100%;white-space:normal;}
.kd-toolbar .kd-sep{display:none;}
.kd-toolbar .spacer{display:none;}
.kd-toolbar>.btn,.kd-toolbar>button{flex:1 1 45%;justify-content:center;height:34px;}
.kd-headrow{flex-direction:column;}
.kd-headside{width:100%;min-width:0;flex-direction:row;justify-content:space-between;align-items:center;}
.kd-note{flex-direction:column;align-items:stretch;}
.kd-note .ta{min-height:64px;}
.kd-note-ft .btn{width:100%;justify-content:center;height:34px;}
.kd-stamp{position:static;align-self:flex-end;font-size:16px;padding:4px 10px;letter-spacing:2px;}

/* ⑬ 越界根治：栅格/弹性容器的「min-content 撑破」——
      1fr 默认是 minmax(auto,1fr)，内容最小宽度大时轨道会被顶开，
      表现为「文档不横滚、但内容在画布内横向溢出」。窄屏一律 minmax(0,…)。 */
.jdy-body .grid{grid-template-columns:minmax(0,1fr) !important;}
.arch{grid-template-columns:minmax(0,1fr) !important;}
.foot-grid{grid-template-columns:minmax(0,1fr) !important;}
.card,.card-bd,.tbl-wrap,.jdy-body,.jdy-main{min-width:0;}
.jdy-body .grid>*,.arch>*,.foot-grid>*,.toolbar>*,.form-head>*,.cond>*,.card-bd>*{min-width:0;}
.jdy-body img,.jdy-body svg{max-width:100%;}

} /* end ≤1024px */

/* ⑬ iPad / 平板增强（768–1024px）：双列卡片 + 限宽居中，避免大屏拉稀 */
@media (min-width:768px) and (max-width:1024px){
.jdy-body .grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.jdy-body{padding:12px 16px;}
table.jdy.m-cards{max-width:1160px;}
.list-cards table.jdy.m-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;align-items:start;}
.list-cards table.jdy.m-cards tbody{display:contents;}
.list-cards table.jdy.m-cards tr{margin:0;}
.list-cards table.jdy.m-cards tfoot{display:contents;}
.list-cards table.jdy.m-cards tfoot tr{grid-column:1 / -1;}
.counter-grid{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
.form-head,.cond{flex-direction:row;flex-wrap:wrap;gap:10px 16px;}
.form-head .fi,.cond .fi{width:auto;flex-direction:row;align-items:center;}
.form-head .inp,.form-head .sel,.cond .inp,.cond .sel{width:190px !important;}
.foot-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
.toolbar{flex-direction:row;flex-wrap:wrap;}
.toolbar>.btn,.toolbar>button{flex:0 0 auto;height:30px;}
.dlg{width:80vw !important;max-width:820px;border-radius:6px;}
.mask{align-items:center;}
.dlg .form-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
