2aa6b1f406
Replace CSS-only modal-open class toggle with a shared useScrollLock hook that uses position:fixed + scroll position save/restore. This reliably prevents background scrolling on all browsers including iOS Safari. The hook supports nesting (lock counter) so stacked modals (e.g. MedDetail → RefillModal) work correctly. Also adds missing modal states to the scroll lock: showRefillModal, showEditStockModal, showImageLightbox, scheduleLightboxImage. Replaces the inline 40-line scroll lock in MobileEditModal with the shared hook.