AREWAOTP COMPLETE ADMIN PANEL

INSTALLATION
1. Upload the admin/ directory into your public_html project.
2. Keep your existing config/database.php. It must create a MySQLi connection named $conn.
3. Import sql/admin_upgrade.sql into the SAME database used by ArewaOTP.
4. Confirm your admins table exists and your admin login stores $_SESSION['admin_id'] after authentication.
5. The admin pages use absolute /admin/... paths. If ArewaOTP is installed in a subdirectory, change BASE paths or replace /admin with your actual path.
6. Do not put real API keys into source code. Configure providers from Admin > Manage API / Settings.

IMPORTANT
- The panel is designed around your existing MySQLi $conn connection.
- The SQL adds supporting tables without changing your existing users, wallets, transactions or number_orders structure.
- Provider balances are storage/display infrastructure; a real live balance requires the provider's documented balance endpoint and adapter.
- KoraPay initialization/verification remains separate from the admin UI and should read its provider credentials from provider_apis/app_settings.
- Before production, add encryption at rest for API secrets, server-side role permissions, rate limiting, and HTTPS.
