/* mobile-responsive.css — 메인앱 ≤768px 가로 오버플로 수정 (Level 1: fit).
   원인: overflow-x 미차단 #main-wrapper를 내부 고정폭·다열 요소가 뷰포트 밖으로 늘림.
   style.css(보호) 무수정 — 이 파일이 뒤에 로드되어 @media에서만 오버라이드.
   검증: tools/smoke 모바일(390px) 가로 오버플로 경고 0. */
@media (max-width: 768px) {
  /* 공통: 넓은 자식을 담아 늘어나지 않도록 최종 폭 차단 */
  #main-wrapper, .topbar, main.page { max-width: 100vw; box-sizing: border-box; }
  #main-wrapper { overflow-x: hidden; }

  /* 대시보드: 4열 그리드 → 1열, 차트 캔버스 폭 맞춤 */
  #page-dashboard .v19-grid { grid-template-columns: 1fr !important; }
  #page-dashboard .v19-spark { max-width: 100%; overflow: hidden; }
  #page-dashboard canvas { max-width: 100% !important; height: auto !important; }

  /* 전역 안전판 */
  img, canvas, table { max-width: 100%; }
}
