/* 移动端防溢出补丁：任何元素都不得把页面撑得比屏幕宽 */
@media (max-width: 900px) {
  html, body { max-width: 100% !important; overflow-x: hidden !important; }
  body, p, div, span, td, th, li, h1, h2, h3, b, strong { overflow-wrap: break-word !important; word-break: normal !important; }

  .container, .wrap, .disclaimer {
    max-width: 100% !important; width: 100% !important;
    padding-left: 14px !important; padding-right: 14px !important;
    box-sizing: border-box !important;
  }

  .grid, .g4, .g3, .g2, .tldr-grid, .data-row, .two-col {
    grid-template-columns: 1fr !important;
  }
  .grid > *, .card, .kpi, .tldr-item, .data-row > * {
    min-width: 0 !important; width: auto !important; max-width: 100% !important;
  }

  /* 宽表格自身横向滚动，单元格不逐字折行（否则列会挤成竖排） */
  table { display: block !important; width: 100% !important; max-width: 100% !important;
          overflow-x: auto !important; -webkit-overflow-scrolling: touch; }
  table th, table td { white-space: nowrap !important; overflow-wrap: normal !important;
                       word-break: normal !important; }
  table caption { white-space: normal !important; }

  img, canvas, svg, iframe, video { max-width: 100% !important; height: auto !important; }
  pre, code { white-space: pre-wrap !important; overflow-wrap: anywhere !important; }
  /* 卡片式表格：每行一张卡，标签在左、数值在右，一屏读完，不用左右滑 */
  table.mf-cards { display: block !important; width: 100% !important; max-width: 100% !important;
                   overflow: visible !important; border: 0 !important; background: transparent !important; }
  table.mf-cards thead { display: none !important; }
  table.mf-cards tbody { display: block !important; }
  table.mf-cards tr { display: block !important; background: #fff !important;
                      border: 1px solid #e6e8eb !important; border-radius: 10px !important;
                      padding: 10px 12px !important; margin: 0 0 10px 0 !important; }
  table.mf-cards td, table.mf-cards tbody th { display: flex !important; justify-content: space-between !important;
                      align-items: baseline; gap: 14px !important;
                      border: 0 !important; padding: 5px 0 !important;
                      white-space: normal !important; text-align: right !important;
                      font-size: 13.5px !important; line-height: 1.5 !important; }
  table.mf-cards td + td, table.mf-cards tbody th + td { border-top: 1px dashed #eef0f2 !important; }
  table.mf-cards td::before, table.mf-cards tbody th::before { content: attr(data-label); flex: 0 0 auto; max-width: 46%;
                              text-align: left; color: #8a8f99 !important;
                              font-size: 12.5px !important; font-weight: 400 !important;
                              white-space: normal !important; overflow-wrap: break-word !important; }
  table.mf-cards td:empty, table.mf-cards tbody th:empty { display: none !important; }
  table.mf-cards, table.mf-cards * { white-space: normal !important; }
  table.mf-cards td b, table.mf-cards td span, table.mf-cards tbody th b { white-space: normal !important; overflow-wrap: break-word !important; word-break: normal !important; }

  /* 兜底：仍装不下的表改成堆叠式卡片（标签一行、数值一行） */
  table.mf-stack { display: block !important; width: 100% !important; max-width: 100% !important;
                   overflow: visible !important; border: 0 !important; background: transparent !important; }
  table.mf-stack thead { display: none !important; }
  table.mf-stack tbody { display: block !important; }
  table.mf-stack tr { display: block !important; background: #fff !important;
                      border: 1px solid #e6e8eb !important; border-radius: 10px !important;
                      padding: 10px 12px !important; margin: 0 0 10px 0 !important; }
  table.mf-stack th, table.mf-stack td { display: block !important; border: 0 !important;
                      padding: 4px 0 !important; text-align: left !important;
                      white-space: normal !important; overflow-wrap: break-word !important;
                      font-size: 13.5px !important; line-height: 1.5 !important; }
  table.mf-stack th::before, table.mf-stack td::before { content: attr(data-label);
                      display: block !important; color: #8a8f99 !important;
                      font-size: 12px !important; font-weight: 400 !important; }
  table.mf-stack, table.mf-stack * { white-space: normal !important; }
}
