/* v57 手机端适配层 —— 仅窄屏生效；桌面端样式与布局零改动（纯叠加）。 */
@media (max-width: 700px) {
  /* 页面级护栏：杜绝任何子元素把视口撑出横向滚动（body 本身 overflow:hidden） */
  html, body { overflow-x: hidden; }
  .dash-view { width: 100%; }

  /* 顶部栏：收窄内边距、允许工具区换行、操作按钮触控友好 */
  .dash-bar { padding: 10px 12px; gap: 10px; }
  .dash-back { min-height: 40px; }
  .dash-title { font-size: 16px; }
  .dash-tools { gap: 8px; }

  /* 通用护栏：任何显式固定宽的内联元素，窄屏收缩不撑破 */
  .dash-view [style*="width"] { max-width: 100%; }

  /* 表单输入流体化（含内联 style 固定宽 input） */
  .dash-view input,
  .dash-view select,
  .dash-view textarea { max-width: 100%; }

  /* 已知宽矩阵/表格：保持父容器横向滑动，不压缩列 */
  .dc-matrix-wrap { -webkit-overflow-scrolling: touch; }

  /* 固定列宽自适应（列表行的名称列） */
  .dash-top-name { width: auto; min-width: 0; max-width: 150px; }
  .stat-prod-name { max-width: 100px; }
  .stat-prod-val { flex: none; }


  /* 手部主控台（#placeholder）顶部导航：5 个功能按钮一行放不下 → 允许换行成两行并居中，
     避免 `overflow-x:hidden` 把按钮右端裁掉（保持胶囊底色，多行时自动长高） */
  .xh-nav { flex-wrap: wrap; gap: 8px; padding: 12px 10px 0; }
  .xh-nav-links { flex-wrap: wrap; justify-content: center; gap: 8px 10px; padding: 8px 12px; }
  .xh-nav-link { padding: 5px 10px; }

  /* v58 店铺类型选择弹层：窄屏底部抽屉式，卡片全宽、按钮堆叠可触控 */
  .stype-view { padding: 16px; align-items: flex-end; }
  .stype-card { width: 100%; border-radius: 20px 20px 0 0; padding: 22px 18px calc(18px + env(safe-area-inset-bottom)); }
  .stype-btn { min-height: 60px; }

  /* v59 扫码领券三端：窄屏适配（纯叠加，桌面零影响） */
  .claim-shell .claim-body { padding: 12px 12px calc(24px + env(safe-area-inset-bottom)); }
  .claim-head { padding: 10px 12px; }
  .cp-hero { padding: 16px; }
  .cp-amt b { font-size: 28px; }
  .cp-input-row { flex-wrap: nowrap; }
  .cp-send { padding: 0 10px; font-size: 12px; }
  .cs-qr-wrap img { width: 176px; height: 176px; }
  .rdm-stats { grid-template-columns: repeat(2, 1fr); }
  .rdm-input-row { flex-wrap: nowrap; }
  .adm-nav button { padding: 7px 12px; }
  .adm-bar-row { height: 110px; }
  /* 门店固定码：活动列表触控适配 */
  .cp-camp-card { flex-wrap: wrap; }
  .cp-camp-cta { flex-direction: row; align-items: center; justify-content: flex-end; width: 100%; }
  .cp-camp-btn { flex: 1; padding: 11px 0; text-align: center; }
}
@media (max-width: 480px) {
  .dash-time-switch { gap: 2px; }
}
