/* 四期 F3 全局移动端适配兜底（仅缺省修正）。
   约束：
   - 只写入移动端（<=768px 与 pointer:coarse）通用规则
   - 全部颜色走 var(--*) 主题令牌，禁止写死浅色背景
   - 不覆盖 .role-status-* / .wb-* / .hub-* 既有媒体规则（它们自有兜底）
   改动主题令牌/颜色请在 site.css 层处理，本文件不作硬编码。 */

@media (max-width: 768px) {
  /* 表格容器横向滚动兜底：业务表保持最小宽度，由外层 .table-scroll 接管滚动 */
  .table-scroll {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
  /* 只读列表表可保留最小宽度 + 外层横滚；录入表走卡片，禁止强制 640 */
  table.data:not(.pe-table--edit),
  .pe-table:not(.pe-table--edit),
  .pe-table--list {
    min-width: 640px;
  }
  .pe-table--edit {
    min-width: 0 !important;
  }
  /* 页面级横向溢出兜底：避免裸表/宽组件在窄屏制造整页横滚（clip 不破坏 sticky 表头） */
  main.app-main {
    overflow-x: clip;
  }
  /* 顶栏右侧条目（Admin/主题/字号/铃/账号/退出）窄屏允许换行 + 允许收缩：
     原 flex-shrink:0 + nowrap 在 390px 把整页撑出约 20px 横向滚动；
     换行不隐藏任何入口（子项本身仍 nowrap，只按行拆） */
  .app-user {
    flex-wrap: wrap;
    justify-content: flex-end;
    flex-shrink: 1;
    min-width: 0;
    max-width: 100%;
  }
  /* 触控目标 >= 44px（大按钮） */
  button,
  .btn,
  a.btn,
  input[type="button"],
  input[type="submit"] {
    min-height: 44px;
    padding-top: 0.55rem;
    padding-bottom: 0.55rem;
  }
  /* gap / padding 压缩 */
  .row {
    gap: 0.4rem 0.5rem;
  }
  /* 避免 iOS 聚焦自动放大（16px 是移动端表单输入基准） */
  input,
  select,
  textarea {
    font-size: 1rem;
  }
}

@media (pointer: coarse) and (max-width: 768px) {
  button,
  .btn,
  a.btn,
  input[type="button"],
  input[type="submit"] {
    min-height: 44px;
  }
  a {
    -webkit-tap-highlight-color: transparent;
  }
}