/* ============================================================
   V3.30  移动端自适应覆盖层 · 目标"手机上完成电脑的全部操作"
   作为最终覆盖层，位于 v329 之后加载（与 v328/v329 冲突处
   靠后加载取胜，必要处 !important）
   与既有移动层的关系：
   · v323 已完成 860/480 基础适配（抽屉、底部弹窗、表单 44px）；
   · 本层补齐缺口：.pop-sheet 无移动端形态、触控热区普遍
     低于 44px、iOS 聚焦缩放（字号 <16px）、安全区、
     (hover:none) 触控去 hover 依赖、≤600px 弹窗全屏化。
   红线遵守：不声明任何全局/元素级 transition/animation 覆盖，
   不触碰组件动画；选择器全部来自参考文件真实类名；
   与 v329 液态玻璃兼容（模糊 12px 与光环伪元素保持不关）。
   ============================================================ */

/* ============================================================
   一级断点：≤860px（平板 / 大手机）
   ============================================================ */
@media (max-width:860px){

  /* ---------- 安全区基线 ---------- */
  .topbar{
    padding-top:env(safe-area-inset-top);
    height:calc(52px + env(safe-area-inset-top));
  }
  .content{
    padding-bottom:calc(20px + env(safe-area-inset-bottom));
  }
  .sidebar{
    padding-bottom:calc(16px + env(safe-area-inset-bottom));
    width:min(78vw,300px);
  }

  /* ---------- 导航抽屉：完善既有 menuBtn/sideMask 机制 ----------
     开合逻辑 app.js 已具备（#menuBtn → .open + 遮罩，
     点遮罩/切页自动收起），此处只补触控手感 */
  .nav-item{ padding:12px 12px; min-height:44px; }
  .side-foot .theme-toggle{ min-height:44px; }
  .brand{ padding-left:4px; padding-right:4px; }
  .side-mask{ z-index:55; }

  /* ---------- 顶栏：信息优先级收纳 ----------
     保留：汉堡、标题、铃铛、用户芯片（截断）；
     A−/A+ 在 640px 以下由 style.css 既有规则隐藏 */
  .top-actions .glass-btn{ min-width:40px; min-height:40px; }
  .notif-bell{ min-width:40px; min-height:40px; }
  .user-chip{ max-width:96px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

  /* ---------- 工具条 / 搜索 / 按钮组：≥44px 触控标准 ---------- */
  .toolbar{ gap:8px; margin-bottom:12px; }
  .toolbar .btn{ min-height:44px; padding:10px 14px; font-size:13.5px; }
  .toolbar .btn-sm{ min-height:40px; padding:8px 12px; }
  .search-box input{ min-height:44px; font-size:16px; }
  .btn{ min-height:44px; }
  .btn-sm{ min-height:40px; }
  .icon-btn{ min-width:36px; min-height:36px; }
  .act-btns{ gap:6px; }

  /* ---------- 表单：≥44px + 16px 字号防 iOS 聚焦缩放 ----------
     v323 设 15px，iOS 仍会缩放，此处提到 16px；
     标签在上由 label.fld span 既有块级布局天然满足 */
  input,select,textarea{ font-size:16px; min-height:44px; }
  textarea{ min-height:88px; }
  .form-row{ gap:10px; }
  label.fld{ margin-bottom:12px; }
  input[type=checkbox],input[type=radio]{ min-height:0; width:20px; height:20px; }
  .fld select{ min-height:44px; }

  /* ---------- 表格：横向滚动保底 + 触控顺滑 ----------
     列数自适应卡片化因表格未输出表头数据属性（data-th）
     无法保留列标签，故维持横向滚动策略，见汇报清单 */
  .table-wrap{ -webkit-overflow-scrolling:touch; }
  thead th{ white-space:nowrap; }
  tbody td{ white-space:nowrap; }
  .pager{ gap:8px; }
  .pager .btn{ min-height:40px; }
  .pager-ps select{ min-height:40px; }

  /* ---------- 二级浮层 .pop-sheet：底部抽屉化（此前完全无移动形态） */
  .pop-mask{ padding:10px; align-items:flex-end; }
  .pop-sheet{
    width:100%; max-width:100%; max-height:92dvh;
    border-radius:18px 18px 0 0;
  }
  .pop-head{ padding:14px 16px; }
  .pop-body{ -webkit-overflow-scrolling:touch; }
  .pop-foot{
    padding:12px 16px calc(14px + env(safe-area-inset-bottom));
  }
  .pop-foot .btn{ flex:1; min-height:44px; justify-content:center; }
  .pop-x{ min-width:36px; min-height:36px; }

  /* ---------- 主弹窗：底部操作条安全区 + 按钮等宽 ---------- */
  .modal-foot{
    padding:12px 16px calc(16px + env(safe-area-inset-bottom));
  }
  .modal-foot .btn,.dlg-foot .btn{ flex:1; min-height:44px; justify-content:center; }
  .modal-x{ min-width:36px; min-height:36px; }

  /* ---------- 强提醒 / 加载 ---------- */
  .urgent-actions .btn{ min-height:48px; }
  .urgent-box{ width:calc(100vw - 40px); }

  /* ---------- 聊天 / 表情 / 筛选等触控件 ---------- */
  .chat-tool{ min-height:38px; }
  .chat-send-btn{ height:48px; min-height:48px; }
  #chatInput{ font-size:16px; }
  .emoji-item{ width:38px; height:38px; }
  .arr-filter input,.arr-filter select{ min-height:40px; }
  .zp-toolbar .btn{ min-height:40px; }
  .set-tab{ min-height:40px; padding:9px 16px; }

  /* ---------- 设置 / 权限 / 任务 ---------- */
  .seg .btn{ min-height:40px; }
  .task-check{ width:22px; height:22px; }
  .pc-opt i{ padding:6px 10px; }
}

/* ============================================================
   弹窗全屏化：≤600px
   主弹窗与二级浮层占满视口，内容区内部滚动，
   圆角归零，底部操作条吃安全区
   ============================================================ */
@media (max-width:600px){
  .modal-mask{ padding:0; align-items:stretch; }
  .modal{
    width:100vw; max-width:100vw;
    height:100dvh; max-height:100dvh;
    border-radius:0;
  }
  .modal-body{ flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch; }
  .pop-mask{ padding:0; align-items:stretch; }
  .pop-sheet{
    width:100vw; max-width:100vw;
    height:100dvh; max-height:100dvh;
    border-radius:0;
  }
  .pop-body{ flex:1; overflow-y:auto; }
  .toast{ left:12px; right:12px; transform:translateX(0) translateY(-80px); max-width:none; }
  .toast.show{ transform:translateX(0) translateY(0); }
}

/* ============================================================
   二级断点：≤480px（手机）精细收敛
   液态玻璃保持不降级：模糊 12px 与 ::before/::after 光环
   全部保留，仅收紧间距与信息密度
   ============================================================ */
@media (max-width:480px){
  .main{ padding:6px; gap:8px; }
  .topbar{ padding-left:10px; padding-right:10px; gap:6px; }
  .top-actions{ gap:3px; }
  .toolbar .btn{ flex:1 1 auto; justify-content:center; }
  .toolbar{ gap:6px; }
  .card,.stat-card{ padding:14px; }
  .section-title{ margin:14px 0 8px; }
  .nav-item{ font-size:14px; }
  .modal-head,.pop-head{ padding:12px 14px; }
  .modal-body,.pop-body{ padding:12px 14px; }
  .item-card{ padding:10px; }
  .task-item{ padding:12px; }
  .mtg-card{ padding:12px 14px; }
  .msg-stream{ padding:12px 10px; }
  .chat-input-bar{ padding:10px 12px calc(10px + env(safe-area-inset-bottom)); }
  .cap-ov-body{ gap:14px; }
}

/* ============================================================
   触控设备：去 hover 依赖，只留 :active 反馈
   （仅撤销位移/投影类 hover 效果，不改任何颜色可读性；
   不声明全局 transition，:active 缩放沿用 v3.6/v316 既有规则）
   ============================================================ */
@media (hover:none){
  .stat-card:hover,.stat-card.clickable:hover{ transform:none; box-shadow:none; }
  .mtg-card:hover{ transform:none; box-shadow:none; }
  .icon-zoom:hover,.notif-bell:hover,.theme-toggle:hover,.user-chip:hover{
    transform:none;
  }
  .p-thumb:hover{ transform:none; }
  .bg-swatch:hover{ transform:none; }
  .slot-chip:hover{ transform:none; }
  .msg-product:hover,.msg-products:hover{ transform:none; }
  .notif-modal-list .notif-item:hover{ transform:none; }
}

/* ============================================================
   收尾自查：
   · 无全局 * / 元素级 transition/animation 覆盖；
   · 选择器均出自 style / v315 / v323 / v325 / v326 / v328
     及 index.html / app.js 真实类名；
   · 不关闭 v329 的 backdrop-filter 与光环伪元素；
   · env(safe-area-inset-*) 覆盖顶栏 / 内容区 / 侧栏 /
     弹窗底部操作条 / 聊天输入条。
   ============================================================ */
