## ADDED Requirements

### Requirement: Add a tag to the account
An authenticated owner SHALL be able to bind a tag to their account by entering its tag code. A tag that is already bound to another account SHALL be rejected.

#### Scenario: Bind an unset tag
- **WHEN** an owner enters the code of a tag that is not yet bound to any account
- **THEN** the tag becomes owned by that account and is listed under My Tags

#### Scenario: Bind an already-owned tag
- **WHEN** an owner enters the code of a tag already bound to another account
- **THEN** the operation is rejected with an error message

### Requirement: List my tags
The account page SHALL list all tags owned by the authenticated owner, with their status and a link to edit each.

#### Scenario: Owner with tags
- **WHEN** an owner opens the account page
- **THEN** all of their tags are shown with status (unset/active) and an edit link

### Requirement: Edit tag details
An owner SHALL be able to set or edit the return details of a tag they own: item type (dog, cat, baggage, skis, other), description, photo URL, phone number, address, and notes.

#### Scenario: Complete tag setup
- **WHEN** an owner fills in all detail fields for a tag and saves
- **THEN** the tag status becomes active and the public page shows the details

#### Scenario: Partial details saved
- **WHEN** an owner saves a tag with only some fields filled
- **THEN** the tag is saved and the public page shows only the filled fields

### Requirement: Remove a tag
An owner SHALL be able to remove a tag from their account. Removing a tag SHALL revert it to the unset state so it can be bound to another account.

#### Scenario: Remove and re-bind
- **WHEN** an owner removes a tag and another account later enters its code
- **THEN** the second account can bind it

### Requirement: Tag ownership limit
An account SHALL be limited to 20 owned tags.

#### Scenario: Limit reached
- **WHEN** an owner who already owns 20 tags tries to bind another tag
- **THEN** the operation is rejected with an error message
