/* ═══════════ 移动端自适应补丁（仅 ≤768px 生效，桌面端零影响） ═══════════ */
@media (max-width: 768px) {
  /* 防止微小横向溢出 */
  #root { overflow-x: hidden; }
  main > * { max-width: 100%; }

  /* 侧边导航收缩为图标栏（文字隐藏，图标居中） */
  aside.w-\[200px\] { width: 56px !important; min-width: 56px !important; }
  aside.w-\[200px\] nav a,
  aside.w-\[200px\] nav button {
    justify-content: center !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    gap: 0 !important;
  }
  aside.w-\[200px\] nav a span,
  aside.w-\[200px\] nav button span,
  aside.w-\[200px\] > div:first-child span,
  aside.w-\[200px\] > div:first-child > div:last-child,
  aside.w-\[200px\] > div:last-child > div > div:last-child,
  aside.w-\[200px\] > div:last-child a span { display: none !important; }
  aside.w-\[200px\] > div:first-child,
  aside.w-\[200px\] > div:last-child { padding-left: 0 !important; padding-right: 0 !important; justify-content: center !important; }
  aside.w-\[200px\] > div:last-child > div { justify-content: center !important; margin-bottom: 8px; }
  aside.w-\[200px\] > div:last-child a { justify-content: center !important; }

  /* 统计卡片等多列网格降级：4列/3列 → 2列 */
  [class*="grid-cols-4"], [class*="grid-cols-3"] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  /* 表格横向滚动（不挤压变形） */
  main div:has(> table), main div:has(> div > table) {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  main table { min-width: 560px; }

  /* 大容器内边距收缩 */
  main [class*="p-8"], main [class*="p-6"]:not(aside *) { padding: 12px !important; }
  main [class*="px-8"] { padding-left: 12px !important; padding-right: 12px !important; }

  /* 表单弹窗适配 */
  [class*="max-w-2xl"], [class*="max-w-3xl"], [class*="max-w-4xl"],
  [class*="max-w-lg"], [class*="max-w-xl"], [class*="max-w-md"] {
    max-width: calc(100vw - 24px) !important;
  }

  /* 触屏目标最小尺寸 */
  main button, main a, main input, main select { min-height: 36px; }
}

@media (max-width: 400px) {
  [class*="grid-cols-4"], [class*="grid-cols-3"], [class*="grid-cols-2"] {
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
  }
}
