# NGBVD Import, Cascading Dropdowns, Analysis and Roles Fix

This patch addresses the reported regressions without changing the now-approved dashboard, contact page, district map, resources page, or import UI direction.

## Fixes
- Restored the preferred Roles & Permissions UI using `roles/list.blade.php` and `roles/permissions.blade.php` supplied by the developer.
- Added role permission configure routes: `/roles/permissions/{id}` GET/POST.
- Fixed PermissionRegistry to provide role coverage and assigned permissions required by the preferred role UI.
- Fixed `/dataentry/import` route names and added the missing POST and template routes.
- Included missing offline import service, request, and generic Excel import helper.
- Corrected offline import lookup table names to match the NGBVD schema: `nationality`, `national_status`, `religion`, `marital_status`.
- Fixed `/dataentry/list` route dependency on `/dataentry/import` route name and added the case report route.
- Fixed branded case report controller/view variable mismatch.
- Improved cascading location dropdown behavior and included a robust `DropdownController` response.
- Restored Flexmonster as the primary Analysis implementation, with Grid Data and Visual Summary as companion options.
- Made per-user theme customization functional by aligning saved theme keys with layout CSS variables.
- Replaced default browser confirm behavior for user lock/unlock with modern SweetAlert confirmation.

## After applying
Run:
composer dump-autoload
php artisan optimize:clear
php artisan route:clear
php artisan config:clear
php artisan view:clear
php artisan cache:clear
