Task
Build `filter_excel_rows(rows, condition)` β used after every CSV/Excel read to narrow to actionable rows:
- `rows` is a list of dicts (Excel/CSV row shape).
- `condition` is a callable: `(row: dict) -> bool`. Keep rows where `condition(row)` is truthy.
- If `condition(row)` raises for any row, skip that row (defensive β one malformed row shouldn't kill the batch).
- Return a new list; never mutate `rows`.
- Empty input β empty list.