```text
/gsd-add-phase UI Enhancement – System Based Asset Filtering

Objective:
Replace the existing "Label" field with a new "System" field and implement dependent dropdown filtering for Asset Category and Asset Group.

Requirements:

1. Replace Label Field
   - Remove the current "Label" dropdown/selection field from the form.
   - Add a new dropdown field named "System".

2. System Data Source
   - Load System dropdown values from `ic3_system_master`.
   - Display system name to the user.
   - Store the corresponding system ID as the selected value.

3. Dependent Asset Filtering
   - Asset Category and Asset Group dropdowns must be dynamically filtered based on:
     - Selected Customer
     - Selected Location
     - Selected System

4. Asset Category Loading Logic
   - After Customer, Location, and System are selected:
     - Query available asset categories mapped to the selected customer, location, and system.
     - Populate the Asset Category dropdown with matching records only.
   - If no matching categories exist, show an empty dropdown with appropriate message.

5. Asset Group Loading Logic
   - After Asset Category is selected:
     - Load Asset Groups associated with:
       - Selected Customer
       - Selected Location
       - Selected System
       - Selected Asset Category
     - Display only matching asset groups.

6. Dynamic Refresh Behavior
   - When Customer changes:
     - Clear System, Asset Category, and Asset Group selections.
     - Reload dependent data.

   - When Location changes:
     - Clear System, Asset Category, and Asset Group selections.
     - Reload dependent data.

   - When System changes:
     - Clear Asset Category and Asset Group selections.
     - Reload Asset Categories.

   - When Asset Category changes:
     - Clear Asset Group selection.
     - Reload Asset Groups.

7. Validation Rules
   - Customer is mandatory.
   - Location is mandatory.
   - System is mandatory.
   - Asset Category is mandatory.
   - Asset Group is mandatory before form submission.

8. API Requirements
   - Create API endpoint to fetch systems from `ic3_system_master`.
   - Create API endpoint to fetch filtered Asset Categories based on:
     - customer_id
     - location_id
     - system_id

   - Create API endpoint to fetch filtered Asset Groups based on:
     - customer_id
     - location_id
     - system_id
     - asset_category_id

9. UI Behavior
   - Show loading indicator while fetching dependent data.
   - Disable Asset Category until Customer, Location, and System are selected.
   - Disable Asset Group until Asset Category is selected.
   - Handle empty result sets gracefully.

10. Testing Scenarios
   - Verify System dropdown loads correctly from `ic3_system_master`.
   - Verify Asset Categories are filtered by Customer + Location + System.
   - Verify Asset Groups are filtered by Customer + Location + System + Asset Category.
   - Verify dependent fields reset correctly when parent selections change.
   - Verify validation prevents submission when required fields are missing.
```
