# Decision Log — SVS MSP Calculator Settled decisions that should not be re-debated in future sessions. --- ## 2026-03-15 — Retro Theme Removed from Cycle **Decision:** 70s Retro theme removed from the 3-theme toggle cycle (Dark → Light → Glass). **Why:** The warm paper/neon palette had low contrast and muddy colors. Full design pass deferred. **Impact:** `theme-manager.js` cycles 3 themes. `SVS-MSP-Calculator-70retro.css` file retained in repo for potential future revival. All theme references should say "3 themes" not "4 themes." ## 2026-03-14 — INKY Add-on Price $5 → $8 **Decision:** INKY Pro email protection add-on repriced from $5/user/mo to $8/user/mo. **Why:** Vendor price increase. **Impact:** `quote-pricing.js` ADDON_INKY default updated. 4 test expectations updated in `test-quote-engine.js`. ## 2026-03-15 — Pricing CSV → JSON Migration **Decision:** Runtime pricing loaded from `package-prices-data.js` (script tag) instead of CSV. **Why:** JSON is structured, human-readable, and works on `file://` protocol without fetch/CORS issues. **Impact:** `package-prices.csv` retained as read-only reference. `package-prices-data.js` is the single source of truth. Edit `value` fields there to change pricing. ## 2026-03-15 — JSON Export Schema v1.1 **Decision:** Export schema bumped to v1.1 adding `repName` and `quoteNotes` fields. **Why:** Print invoice now includes rep name and quote notes. **Impact:** Import handles both v1.0 and v1.1 payloads (backward-compatible). ## 2026-03-15 — Spacing Token Consolidation Deferred **Decision:** 150+ magic-number spacing values will NOT be migrated to tokens in the current phase. **Why:** Too many touchpoints (10px: 36, 12px: 35, 14px: 36, 16px: 24, 20px: 19). Migration scope too broad for surgical approach. **Impact:** Deferred to a dedicated spacing-focused stage. Existing `--space-stack-*` tokens used only 4× out of 150+. ## 2026-03-15 — Font Awesome Icons as Inline Data URIs **Decision:** All 36 FA Sharp Solid SVG references converted to inline `data:image/svg+xml` URIs. **Why:** CSS `mask-image: url()` is blocked by browser security on `file://` protocol. **Impact:** Icons work on local file open. No external SVG file dependencies for icon rendering.