Sharing items with a space — no per-item toggle

Turtini's Shared Spaces don't have per-item "share with…" toggles. Instead, every shareable item (recipes, personal events, grocery items, future modules) carries an optional `sharedSpaceId` field. Setting it to a space's id makes the item visible AND editable to everyone in that space. Clearing it makes the item private again.

How you tag items in practice:

• Compose a personal event → the form has a "Space" dropdown. Pick None (private), Household, Family, etc. Defaults to whichever space you most recently used.
• Save a recipe → optional "Space" picker in the recipe form. Most recipes are personal; tag household ones (your shared dinner repertoire) once and they're visible to everyone in the household.
• Add a grocery item → defaults to whichever space the item's category typically lives in (configurable per space).

Why this design:

• **No notification fatigue.** Adding milk to the family grocery list shouldn't send a notification to every family member — it should just appear on their list.
• **No "send-to" friction.** Roommates don't "share" the grocery list every time they add to it. The list IS shared.
• **No copies.** Items aren't duplicated across users. There's one item with one owner, with a sharedSpaceId pointer. Edits ripple instantly because there's nothing to sync.

What every member can do on a space-tagged item:

• See it
• Edit it (rename, change quantity, reschedule, mark done/checked-off)
• Untag it from the space (which moves it back to the original owner's private set)

What only the owner can do:

• Delete the item completely

What only the space owner can do (the person who created the space):

• Add/remove members
• Delete the space (which untags every item, leaving them with their original owners as private)

Cross-space items: a single recipe can carry multiple sharedSpaceId tags by living in an array — useful when "Grandma's lasagna" should be visible to both your immediate-family space and your extended-family space.