- [x] Saved-templates page — 100% VERIFIED: Preview ✓ (modal + generated badges INV/$831.70/ship), Close ✓, Test PDF ✓ (WeasyPrint 10.3 KB toast + download), Duplicate ✓ (#10 + 2 cards), Delete ✓ (confirm ×/Cancel/Delete → 1 card), search ✓ (match/no-match/restore), source filter ✓ (upload→0 [seed is paste], All→1), Clear All ✓ (confirm "Delete everything" → "Cleared 1 template(s)" + empty state; handler uses r.deleted ?? 0 — safe w/ fixed endpoint); reseeded after sweep - [x] Recipients page — 100% VERIFIED: no-list guards ✓ (Import + Add Manually → "Create a list first"), New List ✓ (QA List A), list Import modal ✓ (DataTransfer CSV w/ 1 invalid + 1 dup row → Validate preview report: 5 parsed/3 valid/1 invalid/1 dup → Commit import "Imported 3 recipients (1 dup, 1 invalid, 0 suppressed)" — response-shape cross-check passed (endpoint summary() returns valid_recipients/… matching JS)), View ✓ (recipient table + search + Prev/Next pager), search ✓ (alice → 1 row), Add Manually ✓ (list picker → Continue → form → "Recipient added", 4 rows), recipient row Del ✓ (4→3, immediate delete by design), list Clear ✓ (confirm → "List cleared", 0 rows), list Delete ✓ (confirm → "List deleted", empty state) - [x] Gmail-accounts page sweep DONE 100% — bugs #5/#6/#7 fixed (Test catch, full redirect URI hint, reauthorize config fallback server fix); all 8 buttons verified incl. real Google OAuth navigation + Fernet-encrypted config storage - [ ] Remaining pages quick sweep: dashboard, logs, send-test, settings - [x] Restart server (fixes live post-rebuild) - [ ] Run full test suite (366 baseline) - [ ] Browser-test EVERY button end-to-end - [ ] Capture screenshots ("send me photo") and deliver with summary - [ ] ASK USER: logo re-upload + %SenderName%/%RandomCompanyName% clarification (sendername.xlsx has third-party brand names: PayPal/Norton/McAfee/Geek Squad) ## On hold (awaiting user clarification) - %SenderName% / %RandomCompanyName% variables — blocked pending explanation of third-party brand names (PayPal/Norton/McAfee/Geek Squad) in sendername.xlsx