- Purge heavy and unused packages (syncfusion_flutter_pdfviewer, excel, sheetifye, cupertino_icons, image_picker, lottie, flutter_holo_date_picker, flutter_speed_dial)
- Delegate PDF and spreadsheet preview to system default viewers via open_filex
- Replace excel report generation with pure Dart UTF-8 BOM CSV generator
- Configure NDK debug symbol stripping in build.gradle.kts
- Align Students screen Enrolled/All Students tab switcher with Archives segmented tab design
- Reports: Migrate DepEd Transparency Board PDF export to backend Puppeteer service with enlarged layout and per-section downloads
- Settings: Replace dynamic grace period days input with cutoff date picker and calculated days preview; separate schedule date pickers
- Documents: Default requirements section to collapsed/closed state in upload OCR modal with pulsing border container
- Fix contrast on Auto-Graduation trigger button and ensure desktop responsiveness across report buttons
- Fix requirements strip to use missingRequirementsProvider (per-student) instead
of global documentRequirementsProvider, so Completed/Archived/Needed states
are accurately reflected for each student
- Fix dropdown 'Select Document Type' status labels (was always [Completed]);
now correctly shows [Needed], [Archived], or [Completed] using ID-based lookup
from missingRequirementsProvider
- Add collapsible/expandable requirements strip with AnimatedCrossFade and
chevron toggle; shows mandatory-needed badge count in collapsed header
- Split needed chips into Mandatory (red) and Optional (orange) sections;
add Archived (blueGrey) section distinct from Completed (green)
- Add JHS/SHS category tag on each chip (muted grey badge)
- Simplify chip styling to neutral background/border; color only on status icon
- Remove tap-to-assign chip interaction; chips are now display-only
- Clean up unused _isRequirementMissing, _isRequirementArchived, and
_assignRequirementToEntry methods
- Update AGENTS.md: move completed Document Screen tasks into commented section
- Migrated user management to a 3-step stepper
- Redesigned Reports screen with side-by-side charts and KPIs
- Fixed timezone date formatting in Dashboard Activity logs
- Implemented custom native Android splash screen and removed flutter_native_splash
- Added server LAN discovery to auto-detect and persist backend IP.
- Updated health-check route to expose X-TIS-RMS header.
- Added 'Change Server' UI option to login screen.
- Integrated Google ML Kit Document Scanner for edge detection, perspective correction, and auto-enhancement on Android.