Replaced 2 hardcoded 6px margin-bottom values with var(--space-xs) in admin-fee-header and admin-waive-savings. Removed redundant inline style="margin-bottom:16px" from sec-01 subtitle (handled by section-content * + * rule). Full visual audit across Dark/Light/Glass at 1920px, print media, and mobile (375px/600px/780px landscape) — no regressions found. Updated SESSION-HANDOFF, CLAUDE.md, DECISION-LOG, KNOWN-ISSUES, and MASTER-SESSION-PROMPT. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.2 KiB
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.