/**
 * PDA：全页表单底部留白 + 内容较多的弹窗内部可滚
 * 小弹窗（验证框、确认框等）保持高度随内容，不强行撑高
 */
:root {
  --pda-bottom-pad: max(320px, 50vh);
  --pda-modal-kb-pad: 120px;
  --pda-modal-max-h: calc(100vh - 16px);
}

/* ========== 居中弹窗遮罩 ========== */
.pause-report-modal,
.reject-dialog,
.qc-modal-mask,
#startWorkModal {
  align-items: flex-start !important;
  justify-content: center !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding: 12px 0 calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box !important;
  max-height: 100vh !important;
}

#spcPdaHandoverModal,
#spcPdaCompleteWorkModal {
  align-items: stretch !important;
  justify-content: center !important;
  overflow: hidden !important;
  padding: 0 !important;
  max-height: 100vh !important;
}

.wk-unload-modal,
.qc-obj-mask,
.process-picker-mask {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  box-sizing: border-box !important;
  max-height: 100vh !important;
}

.quick-scan-mask {
  max-height: 100vh !important;
  padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important;
}

/* ========== pause-report-modal ========== */
.pause-report-modal .modal-content {
  display: flex !important;
  flex-direction: column !important;
  margin: 0 auto !important;
  flex-shrink: 0;
  width: 90%;
  max-width: 520px;
  max-height: min(88vh, var(--pda-modal-max-h)) !important;
  overflow: hidden !important;
  box-sizing: border-box;
}

.pause-report-modal .modal-header {
  flex-shrink: 0;
}

.pause-report-modal .modal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 20px !important;
  box-sizing: border-box;
}

/* 交出等内容多的弹窗：内容区底部多加一段可滑空白 */
#handoverModal .modal-body {
  padding-bottom: calc(20px + var(--pda-modal-kb-pad)) !important;
}

/* ========== reject / quote（有 textarea，适度留白） ========== */
.reject-dialog > .dialog-content,
#quote-dialog > .dialog-content {
  margin: 0 auto !important;
  flex-shrink: 0;
  width: 90%;
  max-width: 400px;
  max-height: min(88vh, var(--pda-modal-max-h)) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: calc(20px + var(--pda-modal-kb-pad)) !important;
  box-sizing: border-box;
}

#startWorkModal > div {
  margin: 0 auto !important;
  flex-shrink: 0;
  width: 90%;
  max-width: 400px;
  max-height: min(88vh, var(--pda-modal-max-h)) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 20px !important;
  box-sizing: border-box;
}

/* ========== 特种工艺全屏弹窗 ========== */
#spcPdaHandoverModal .spc-pda-ho-dialog,
#spcPdaCompleteWorkModal .spc-pda-cw-dialog {
  width: 100% !important;
  height: auto !important;
  max-height: var(--pda-modal-max-h) !important;
  min-height: 0 !important;
  flex-shrink: 0;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  box-sizing: border-box;
}

#spcPdaHandoverModal .spc-pda-ho-head,
#spcPdaHandoverModal .spc-pda-ho-foot,
#spcPdaCompleteWorkModal .spc-pda-cw-head,
#spcPdaCompleteWorkModal .spc-pda-cw-foot {
  flex-shrink: 0 !important;
}

#spcPdaHandoverModal .spc-pda-ho-body,
#spcPdaCompleteWorkModal .spc-pda-cw-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: calc(16px + var(--pda-modal-kb-pad)) !important;
  box-sizing: border-box;
}

/* ========== 底部抽屉（表单项多） ========== */
.wk-unload-sheet,
.process-picker-sheet {
  flex-shrink: 0;
  width: 100%;
  max-height: min(85vh, var(--pda-modal-max-h)) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: calc(16px + var(--pda-modal-kb-pad)) !important;
  box-sizing: border-box;
}

.qc-obj-panel {
  width: 100%;
  max-height: min(90vh, var(--pda-modal-max-h)) !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  box-sizing: border-box;
}

.qc-obj-scroll,
.process-picker-list {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: calc(16px + var(--pda-modal-kb-pad)) !important;
  box-sizing: border-box;
}

.qc-modal-mask > .qc-modal {
  margin: 0 auto;
  flex-shrink: 0;
  width: 100%;
  max-width: 400px;
  max-height: min(88vh, var(--pda-modal-max-h)) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 16px !important;
  box-sizing: border-box;
}

/* ========== Layui layer：默认随内容高度，不撑高 ========== */
.layui-layer {
  max-height: var(--pda-modal-max-h) !important;
  box-sizing: border-box;
}

.layui-layer .layui-layer-content {
  max-height: min(80vh, calc(var(--pda-modal-max-h) - 52px)) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  padding-bottom: 12px !important;
}

/* 确认领料弹窗：贴顶、紧凑，高度随内容 */
body .layui-layer.pda-confirm-pick-layer-wrap {
  top: max(12px, env(safe-area-inset-top, 0px)) !important;
  margin-top: 0 !important;
  border-radius: 10px !important;
  height: auto !important;
  width: 92% !important;
}

body .layui-layer.pda-confirm-pick-layer-wrap .layui-layer-title {
  padding: 10px 12px !important;
  font-size: 16px !important;
  line-height: 1.3 !important;
  height: auto !important;
}

body .layui-layer.pda-confirm-pick-layer-wrap .layui-layer-content {
  height: auto !important;
  max-height: min(58vh, calc(100vh - 130px)) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding: 0 !important;
}

body .layui-layer.pda-confirm-pick-layer-wrap .layui-layer-btn {
  padding: 8px 10px !important;
  text-align: right;
}

body .layui-layer.pda-confirm-pick-layer-wrap .layui-layer-btn a {
  height: 34px !important;
  line-height: 34px !important;
  padding: 0 10px !important;
  margin: 0 0 0 6px !important;
  font-size: 14px !important;
}

/* 管理员验证等小弹窗：高度随内容 */
body .layui-layer.pda-auth-layer-wrap,
body .layui-layer.pda-auth-layer-wrap .layui-layer-content {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding-bottom: 0 !important;
}

.pda-auth-layer {
  padding: 12px 16px 4px !important;
  max-height: none !important;
  overflow: visible !important;
  box-sizing: border-box;
}

/* 内容多的 layer 弹窗 */
body .layui-layer.pda-inbound-layer .layui-layer-content,
body .layui-layer.wk-inbound-layer .layui-layer-content,
body .layui-layer.fe-cs-layer-wrap .layui-layer-content,
body .layui-layer.pda-pp-modal-layer .layui-layer-content,
body .layui-layer.pick-loc-detail-layer .layui-layer-content {
  max-height: min(82vh, calc(var(--pda-modal-max-h) - 48px)) !important;
  padding-bottom: calc(12px + var(--pda-modal-kb-pad)) !important;
}

.layui-layer iframe {
  max-height: min(75vh, calc(var(--pda-modal-max-h) - 56px));
}

.fe-cs-modal {
  max-height: min(82vh, var(--pda-modal-max-h)) !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch;
  padding-bottom: calc(16px + var(--pda-modal-kb-pad) + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box;
}

/* ========== 全页表单：底部固定大块留白 ========== */
.scan-main .content,
body.pda-has-fixed-header .content,
body.pda-has-fixed-header .page-body,
.pp-page,
.qc-page,
.page-body,
.fe-apply-page,
.wk-flat-page,
body.pda-login-page {
  padding-bottom: calc(100px + var(--pda-bottom-pad) + env(safe-area-inset-bottom, 0px)) !important;
  box-sizing: border-box;
}

.ssd-shell {
  box-sizing: border-box;
}

/* 领料详情等独立页（含底栏）：内容区底部留白 */
.page-body.pda-handover-pick-detail {
  padding-bottom: 0 !important;
}

body.ssd-page {
  min-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

html.ssd-page-root {
  height: auto;
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
