Prestige Barber Club v4.40.0 - Deep Audit Report

Scope:
- Edit Member: Super Admin, Manager, Cashier
- Delete Member: Super Admin only
- Edit Non Member: Super Admin, Manager, Cashier
- Delete Non Member: Super Admin only
- Edit Pra-Member: Super Admin, Manager, Cashier
- Delete Pra-Member: Super Admin only; blocked when membership-sale financial relation exists
- Delete POS Transaction: Super Admin only
- Pagination/per-page: Member, Non Member, Pra-Member, Transactions

Transaction deletion integrity:
- row locked before delete
- retail stock restored
- automatic operational stock restored
- original transaction stock movements cleaned
- restoration movements recorded as return_in
- operational-usage journals invalidated
- transaction accounting journal invalidated
- member points reversed when payment points had been applied
- member level re-evaluated after point reversal
- non-member aggregate rebuilt from remaining transaction snapshots
- transaction child rows rely on declared ON DELETE CASCADE / SET NULL relationships
- payment proof file removed only when path is safely inside uploads/
- activity log records the destructive action

Member deletion integrity:
- historical POS customer_name/customer_phone snapshot preserved before member FK becomes NULL
- membership-sale linked income/journal records explicitly cleaned
- membership sale rows removed before member to satisfy RESTRICT relation
- member photo removed only after successful DB commit
- activity log records deletion

Security:
- destructive POST actions require valid CSRF
- role is rechecked server-side; hiding a button is not the security boundary
- edit pages restricted to superadmin/manager/cashier
- delete endpoints reject non-superadmin with HTTP 403
