## ADDED Requirements

### Requirement: Event categories
The system SHALL allow organizers to assign categories to events.

#### Scenario: Assign category on event creation
- **WHEN** organizer creates event with category
- **THEN** system stores category with event
- **AND** displays category on event details

#### Scenario: Assign category to existing event
- **WHEN** organizer edits event to add category
- **THEN** system updates event with category

#### Scenario: Clear category
- **WHEN** organizer removes category from event
- **THEN** system removes category from event record

### Requirement: Event tags
The system SHALL allow organizers to add multiple tags to events.

#### Scenario: Add tags on event creation
- **WHEN** organizer creates event with multiple tags
- **THEN** system stores all tags with event
- **AND** displays tags on event details

#### Scenario: Modify tags
- **WHEN** organizer edits event tags
- **THEN** system updates tags to new set

### Requirement: Category filtering
The system SHALL allow users to filter events by category.

#### Scenario: Filter by single category
- **WHEN** user filters events by specific category
- **THEN** system returns only events with that category

#### Scenario: Filter with no results
- **WHEN** user filters to category with no events
- **THEN** system returns empty list
- **AND** displays message "No events found"

### Requirement: Tag filtering
The system SHALL allow users to filter events by tags.

#### Scenario: Filter by tag
- **WHEN** user selects tag to filter
- **THEN** system returns events with that tag

#### Scenario: Multi-tag filter
- **WHEN** user selects multiple tags
- **THEN** system returns events matching ANY selected tag

### Requirement: Category management
The system SHALL provide predefined categories for organizers to choose from.

#### Scenario: List available categories
- **WHEN** organizer views category options
- **THEN** system displays predefined list (e.g., Running, Cycling, Triathlon, Trail, Road)

#### Scenario: Category selection
- **WHEN** organizer assigns category to event
- **THEN** system validates against available categories
