Review pass over the Fossify import work:
- sanitizeRrule whitelists the parts EventRecurrence actually parses, and
reports whether it dropped anything — normalising case or a stray ";" no
longer warns the user about a faulty repeat rule.
- CATEGORIES only stands in for a calendar name when it is single-valued and
every event agrees; elsewhere it is a tag list and must not pick the target.
- An all-day EXDATE keeps the day it spells out instead of the day its instant
lands on in UTC.
- An imported all-day reminder is sampled where it will fire, not at a
recurrence anchor that Fossify dates to 1970.
- Imported colours match against every published key, not the picker's
curated subset.