/* ============================================================
   鼎设计ERP - 页面级自适应修正
   覆盖 custom 布局页面(grid/flex)在手机端&平板端的溢出/错位问题
   依赖: style.css > responsive.css > responsive-enhanced.css
   ============================================================ */

/* ==================== 平板端 (769-1024px) ==================== */
@media (min-width: 769px) and (max-width: 1024px) {

  /* 首页工作台 - 统计/提醒两列 -> 保持两列但收紧 */
  .welcome-stats { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .todo-alert-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }

  /* 经营驾驶舱 - 图表两列 */
  .biz-charts { grid-template-columns: repeat(2, 1fr) !important; gap: 12px !important; }
  .biz-stats { grid-template-columns: repeat(3, 1fr) !important; gap: 10px !important; }

  /* 数据大屏(已内置) - 保证列间距 */
  .bs-main { gap: 10px !important; }

  /* 设置页 - 侧栏收窄 */
  .settings-layout { gap: 14px !important; }
  .settings-sidebar { width: 180px !important; }

  /* 系统角色/用户/岗位 双列 */
  .pos-fields, .role-grid { grid-template-columns: repeat(2, 1fr) !important; }

  /* 报表明细行 双列 */
  .rf-detail-row, .rpr-detail-row { flex-wrap: wrap !important; gap: 8px !important; }
}

/* ==================== 手机端 (<=768px) ==================== */
@media (max-width: 768px) {

  /* ---------- 通用：自定义 grid/flex 页面全部转单列 ---------- */
  /* 首页工作台 */
  .welcome-card { flex-direction: column !important; align-items: flex-start !important; gap: 12px !important; }
  .welcome-right { width: 100% !important; }
  .welcome-stats { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; width: 100% !important; }
  .todo-alert-card { padding: 12px !important; }
  .todo-alert-grid { grid-template-columns: 1fr !important; gap: 8px !important; }
  .todo-list { max-height: none !important; }
  .card-row { flex-wrap: wrap !important; gap: 8px !important; padding: 12px !important; }
  .card-row-amount { margin-left: auto !important; }

  /* 经营驾驶舱 */
  .biz-dashboard { padding: 10px !important; }
  .biz-header { flex-wrap: wrap !important; gap: 8px !important; }
  .biz-stats { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  .biz-charts { grid-template-columns: 1fr !important; gap: 10px !important; }
  .biz-chart-card { padding: 12px !important; }
  .biz-chart-body { height: 220px !important; }
  .biz-recent-list { max-height: none !important; }
  .biz-recent-item { flex-wrap: wrap !important; gap: 6px !important; }

  /* 数据大屏 */
  .bigscreen { padding: 8px !important; }
  .bs-header { flex-wrap: wrap !important; gap: 8px !important; padding: 12px !important; }
  .bs-header-left { flex-wrap: wrap !important; }
  .bs-stats { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  .bs-main { grid-template-columns: 1fr !important; gap: 10px !important; }
  .bs-center-stats { grid-template-columns: repeat(2, 1fr) !important; gap: 6px !important; }
  .bs-panel-body, .bs-center-panel { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  .bs-profit-name { width: 90px !important; }
  .bs-profit-value { width: 70px !important; }

  /* 设置页 - 侧栏变顶部横滚 */
  .settings-layout { flex-direction: column !important; gap: 10px !important; }
  .settings-sidebar { width: 100% !important; position: static !important; max-height: none !important;
      display: flex !important; flex-wrap: wrap !important; gap: 6px !important; padding: 10px !important; border-radius: 8px !important; }
  .settings-nav-btn { flex: 1 1 auto !important; white-space: nowrap !important; }
  .settings-content { width: 100% !important; }
  .settings-group-title { flex-wrap: wrap !important; }
  .theme-preset-card, .color-preset-item { max-width: 100% !important; }
  .min-w-200 { min-width: 0 !important; }

  /* 系统角色 / 用户 / 岗位 */
  .pos-fields { grid-template-columns: 1fr !important; gap: 10px !important; }
  .pos-actions, .row-check-all { flex-wrap: wrap !important; gap: 6px !important; }
  .perm-cb { flex-wrap: wrap !important; gap: 6px !important; }

  /* 财务自定义页 */
  .finance-page, .finance-balance-page, .finance-subject-page,
  .voucher-list-container, .balance-container, .subject-tree-container,
  .closing-container, .report-container { padding: 8px !important; }
  .page-header, .header-actions, .filter-bar { flex-wrap: wrap !important; gap: 8px !important; }
  .filter-bar > * { flex: 1 1 100% !important; max-width: 100% !important; }
  .voucher-header-form { flex-wrap: wrap !important; gap: 8px !important; }
  .voucher-entries, .entries-table { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  .balance-table, .report-table, .subject-table, .balance-sheet-grid { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  .balance-sheet-grid { grid-template-columns: 1fr !important; }
  .balance-section { margin-bottom: 12px !important; }
  .close, .subject-select-btn { max-width: 100% !important; }

  /* 报表 - 明细行堆叠 */
  .rf-detail-row, .rpr-detail-row, .rpj-phase-row { flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; }
  .rf-detail-label, .rpr-detail-label, .rpj-phase-label { min-width: 0 !important; }
  .rpj-phase-bar, .rpj-phase-fill { max-width: 100% !important; }

  /* 知识库 */
  .kb-stats { flex-wrap: wrap !important; gap: 8px !important; }
  .kb-tabs { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }
  .kb-tab { padding: 8px 14px !important; white-space: nowrap !important; }
  .qa-messages { height: 320px !important; }
  .qa-content { max-width: 85% !important; }
  .docs-list, .doc-item { max-width: 100% !important; }
  .qa-input-area, .docs-toolbar { flex-wrap: wrap !important; gap: 6px !important; }

  /* SCRM 跟进 - 左列表 + 右时间线 -> 上下堆叠 */
  .sf-split { flex-direction: column !important; gap: 10px !important; }
  .sf-left { width: 100% !important; max-height: 220px !important; overflow-y: auto !important; }
  .sf-right { width: 100% !important; }
  .sf-customer-item { flex-wrap: wrap !important; gap: 6px !important; }
  .scrm-dashboard, .cs-tags { flex-wrap: wrap !important; gap: 6px !important; }

  /* 施工进度横幅图 */
  .sch-stage-row { flex-wrap: wrap !important; gap: 6px !important; }
  #schMilestones { grid-template-columns: 1fr !important; gap: 8px !important; }
  .sch-legend { flex-wrap: wrap !important; gap: 6px !important; }
  .sch-gantt-wrap, .sch-table-wrap { overflow-x: auto !important; -webkit-overflow-scrolling: touch !important; }

  /* 报价编辑 & 快速报价 */
  .qe-space { padding: 10px !important; }
  .qe-space-head { flex-wrap: wrap !important; gap: 8px !important; }
  .qe-btn, .qe-btn-primary { flex: 1 1 auto !important; }
  .fee-rate-input { max-width: 100% !important; }
  #qq_packages, .qq-cat-row { flex-wrap: wrap !important; gap: 6px !important; }
  .qq-e-name, .qq-e-unit, .qq-e-num, .qq-e-main, .qq-e-aux, .qq-e-labor, .qq-e-sub, .qq-e-craft {
      flex: 1 1 100% !important; }

  /* 量房 */
  .sm-room-card { width: 100% !important; }
  .sm-room-body { grid-template-columns: 1fr !important; gap: 6px !important; }
  .sm-card-actions { flex-wrap: wrap !important; gap: 6px !important; }
  .sm-print-doc { max-width: 100% !important; }
  .sm-width, .sm-height, .sm-deduction, .sm-final-w { max-width: 100% !important; }

  /* 库存 */
  .sk-timeline-item { flex-direction: column !important; align-items: flex-start !important; gap: 4px !important; }
  .sk-qty, .sk-timeline-meta { max-width: 100% !important; }

  /* 个人中心 */
  .profile-hero { flex-wrap: wrap !important; gap: 12px !important; }
  .profile-hero-info { min-width: 0 !important; }
  .profile-stats { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  .profile-menu-grid { grid-template-columns: 1fr !important; }

  /* AI 中心 / AI 报告 / 图片识别 */
  .voice-input-area, .voice-actions, .image-upload-area, .image-tabs,
  .image-actions, .result-section { flex-wrap: wrap !important; gap: 8px !important; }
  .voice-textarea, .voice-output, .image-preview, .image-result { max-width: 100% !important; }
  .image-upload-area, .upload-zone { min-height: 160px !important; }
  .example-list, .example-item { max-width: 100% !important; }

  /* 消息 / 审批 / 帮助 / 集成 */
  .msg-item, .approval-item { flex-wrap: wrap !important; gap: 6px !important; }
  .help-cat, .help-items { grid-template-columns: 1fr !important; gap: 8px !important; }
  .result-box { max-width: 100% !important; }

  /* 摄像头 */
  .camera-grid, .cam-grid { grid-template-columns: 1fr !important; gap: 8px !important; }
  .cam-topbar, .cam-bottombar, .cam-ops { flex-wrap: wrap !important; gap: 6px !important; }
  .cam-feed { min-height: 200px !important; }

  /* 打卡 / 考勤 */
  .cs-stats-row { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  .loc-card { max-width: 100% !important; }

  /* 企业微信群 */
  .wg-tag, .wg-group-name, .wg-qrcode { max-width: 100% !important; }

  /* 施工照片 - 分组折叠与卡片 */
  .photo-group { padding: 10px !important; }
  .group-header { flex-wrap: wrap !important; gap: 8px !important; }
  .group-body { grid-template-columns: repeat(2, 1fr) !important; gap: 8px !important; }
  .photo-card, .preview-thumb { max-width: 100% !important; }

  /* 审批设计器 */
  .node-order, .node-info { flex-wrap: wrap !important; gap: 6px !important; }
  .node-actions { flex-wrap: wrap !important; gap: 6px !important; }
  .edit-btn, .delete-btn { margin: 2px !important; }

  /* 系统角色 */
  .sli-tag, .perm-cb { flex-wrap: wrap !important; gap: 6px !important; }

  /* 常用工具页 */
  .soft-links, .sl-name, .sl-url, .sl-remark { max-width: 100% !important; }

  /* 防止内联 grid 在窄屏溢出 */
  [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
}

/* ---------- 超窄屏 (<=480px) 再收一轮 ---------- */
@media (max-width: 480px) {
  .welcome-stats, .biz-stats, .bs-stats, .cs-stats-row, .profile-stats { grid-template-columns: 1fr !important; }
  .stat-value, .bs-stat-value, .biz-stat-value { font-size: 16px !important; }
  .btn, .btn-primary, .btn-sm { padding: 7px 10px !important; }
}
