**Rule properties:** - Name (required) - Rule type: `overlap` (camp cannot overlap this area) or `proximity` (camp cannot be within X metres) - Severity: `low` · `medium` · `high` - Message: text shown to the user when the rule is violated - Style override (optional): fill colour + opacity applied to the user's camp polygon when the rule fires **Acceptance criteria:** - [ ] All fields above are present in the form - [ ] `POST /api/rules` on create; `PUT /api/rules/:id` on update - [ ] The style override section is hidden behind a toggle and only submitted if enabled - [ ] Cancel returns to the list without saving
Rule properties:
overlap(camp cannot overlap this area) orproximity(camp cannot be within X metres)low·medium·highAcceptance criteria:
POST /api/ruleson create;PUT /api/rules/:idon update