# NGBVD Dashboard, Data Entry and Offline Import UI Patch

## Scope
This patch focuses on the authenticated dashboard, incident data-entry UX, date picker initialization, profiled cases grid, and an offline Excel/CSV import foundation.

## Files changed
- resources/views/dashboard/index.blade.php
- resources/views/dataentry/index_incidents.blade.php
- resources/views/dataentry/list.blade.php
- resources/views/dataentry/import.blade.php
- public/assets/css/ngbvd-ui.css
- public/assets/js/ngbvd-ui.js
- routes/web.php
- app/Http/Controllers/DataEntryController.php
- app/Http/Requests/DataEntry/OfflineImportRequest.php
- app/Services/DataEntry/OfflineCaseImportService.php

## Important implementation notes
1. Dashboard chart containers were rebuilt to show all original dashboard sections: reported cases, top districts, national status, regions, incident gender, age group, trend, and donut charts.
2. The original top districts chart had a JavaScript syntax issue around the title block. This patch corrects it.
3. Date picker inputs now remove readonly and initialize Flatpickr when available, with native date fallback.
4. Incident checkboxes are now presented as searchable selectable cards without changing submitted field names.
5. Profiled cases query joins were relaxed to leftJoin to prevent records disappearing when reference data is missing.
6. Offline import supports CSV/XLSX/XLS through Maatwebsite Excel already referenced in the project. The import is row-level transaction safe.

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

## Test order
- /dashboard
- /dataentry/index?id=<victim>&tab=incidents
- /dataentry/list
- /dataentry/import
- Download template
- Validate import file
