iBilik Capital Master Source v1.1.1 - Second Audit Accounting Hardening

Critical fixes
1. Reversal accounting: GL balances include original REVERSED journal plus posted reversal journal, producing net zero instead of the wrong opposite balance.
2. Management GL queries now use INNER JOIN and include only POSTED/REVERSED journals. DRAFT journals are excluded.
3. Reporting Period UI can create periods; PeriodService rejects overlapping dates and invalid ranges.
4. Accounting Reconciliation expanded from 5 to 7 checks by adding BANK_CASH and DEAL_RECEIVABLE.
5. User-facing exception leakage reduced: production UI logs full exceptions server-side and shows a bilingual safe error message unless APP_DEBUG=true.
6. VERSION.txt updated to v1.1.1 / DB v2.5.3.
7. Live assets/config/config.php is not redistributed; package contains the safe config.example content with CHANGE_ME password.

Accounting GL status policy
- DRAFT: excluded from GL.
- POSTED: included in GL.
- REVERSED: original journal remains included in GL, while its reversal journal is POSTED; together they net to zero.

Database migration
v2.5.3 is non-destructive and only ensures an OPEN August 2026 reporting period exists if no existing period overlaps that month. Future periods can be created from /accounting/periods.php.

Focused verification after deployment
1. /accounting/periods.php: verify 2026-08 OPEN and create a future test period if desired.
2. /management/: verify DRAFT journals no longer affect figures.
3. Reverse a controlled posted journal and confirm affected GL balance returns to the pre-journal amount.
4. /accounting/reconciliation.php: run full reconciliation and confirm 7 checks execute.
5. Map all live bank_accounts.gl_account_id before production accounting close.
