/* 移动端响应式覆盖样式
   加载在所有页面的 <head> 末尾, 仅在 max-width: 768px 时生效.
*/
@media (max-width: 768px) {
  body { font-size: 14px !important; }
  .wrap, .container { max-width: 100% !important; padding: 12px 8px !important; }
  h1 { font-size: 18px !important; }
  h2 { font-size: 15px !important; }
  /* 卡片网格: 1-2 列 */
  .module-grid, .grid, .cards, .summary {
    grid-template-columns: 1fr 1fr !important; gap: 8px !important;
  }
  /* 表格变可滚动 */
  table { display: block; overflow-x: auto; white-space: nowrap; font-size: 12px !important; }
  table th, table td { padding: 6px 8px !important; }
  /* 顶部导航换行 */
  nav { flex-wrap: wrap !important; }
  nav a { font-size: 11px !important; padding: 4px 7px !important; margin: 2px !important; }
  /* 隐藏次要文字 */
  .muted, .help, .description { font-size: 11px !important; }
  /* 按钮全宽 */
  .btn, button[type="submit"] { width: 100%; padding: 12px 18px !important; font-size: 14px !important; }
  /* 表单 grid 转单列 */
  .grid2, .grid3 { grid-template-columns: 1fr !important; }
  /* 顶部 header 不浮动 */
  header .user-info { float: none !important; margin-top: 11px; text-align: left !important; }
  /* input/select 全宽 + 大触摸目标 */
  input, select, textarea { font-size: 16px !important; padding: 10px !important; }
  /* 卡片更大 */
  .module, .card { padding: 12px 8px !important; }
}
@media (max-width: 480px) {
  .module-grid, .grid, .cards { grid-template-columns: 1fr !important; }
}