fix(sheets): freeze pane glitches, date persistence, save/reload reliability
Freeze panes:
- Add explicit background on frozen row headers (prevents content bleed-through)
- Combine box-shadow on corner cells with both freeze borders
Dates:
- Convert Date objects to timestamps at import and in setCellData
(Date objects lose their prototype during Yjs serialization)
- Show formatted dates in cell editor and formula bar
- Parse date strings back to timestamps on commit for date-format cells
- Guard in formatCell for invalid date timestamps
Save/reload:
- Fix import race: await handleImportFile so __importInProgress flag
stays set until the async import actually finishes
- Skip redundant snapshot load on WebSocket reconnect (doc already has state)
Closes #187, closes #188, closes #189