## 1. Query Contract

- [x] 1.1 在店铺列表查询参数类型中增加可选 `contact_phone`。
- [x] 1.2 保持调用 `GET /api/admin/shops` 和原店铺分页响应结构。

## 2. Shop List Search UI

- [x] 2.1 在店铺列表筛选区新增“联系电话”输入框，限制为 11 位数字。
- [x] 2.2 通过现有查询按钮发起联系电话筛选，并在查询时重置至第一页。
- [x] 2.3 通过现有清空能力移除联系电话筛选，保留其他筛选条件并恢复列表。

## 3. Validation and Results

- [x] 3.1 空联系电话不传 `contact_phone` 参数。
- [x] 3.2 联系电话不是 11 位数字时不发起请求并提示错误。
- [x] 3.3 有效联系电话按精确值传递 `contact_phone`，并支持加载中与空结果状态。

## 4. Verification

- [ ] 4.1 验证有效 11 位联系电话精确命中店铺。
- [ ] 4.2 验证空值、清空、非法号码和无匹配结果行为正确。
- [x] 4.3 运行相关前端校验，并执行 `openspec validate add-shop-contact-phone-search --strict`。
