# Default Date Settings Feature

## Overview
This feature adds a system-wide default date setting that automatically populates the "from date" field in all reports.

## How it works
1. **Settings Configuration**: In the Settings page, you can now set a "System First Date"
2. **Automatic Population**: When you open any report, the "from date" will automatically be set to this configured date
3. **Today's Date**: The "to date" will always default to today's date
4. **Manual Override**: Users can still manually change these dates for specific reports

## Modified Components
- **Setting Model**: Added `first_date` field with date casting
- **SettingResource**: Added DatePicker component with helper text
- **DateHelper**: New utility functions for consistent date handling
- **Reports**: Updated all report pages to use the new default dates

## Helper Functions
- `getDefaultDateFrom()`: Returns the configured first date or falls back to start of current month
- `getDefaultDateTo()`: Returns today's date in Y-m-d format

## Database Migration
The migration adds a nullable `first_date` column to the settings table with appropriate comments.

## Translations
Added translations for the new field in:
- English (en/settings.php)
- Arabic (ar/settings.php)  
- French (fr/settings.php)

## Usage
1. Go to Settings page in the admin panel
2. Set the "System First Date" to your preferred default start date
3. Save the settings
4. All reports will now use this date as the default "from date"

## Technical Notes
- Uses Carbon for date handling
- Graceful fallback to start of current month if no date is set
- Helper functions ensure consistency across all reports
- Migration is reversible for easy rollback if needed
