/* Stage 17: presentation-only mobile refinements. No API or authentication changes. */
@media (max-width: 640px) {
  html { -webkit-text-size-adjust: 100%; }
  body { overflow-wrap: anywhere; }
  .wrap { max-width: 100%; }
  .qb-layout, .qb-card { min-width: 0; }
  .qb-table-wrap { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .qb-table { min-width: 520px; }
  .qb-table th, .qb-table td { vertical-align: middle; }
  input, select, textarea { max-width: 100%; font-size: 16px; }
  button, a { touch-action: manipulation; }
  :focus-visible { outline: 3px solid #087f68; outline-offset: 2px; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
