# SVS MSP CALC — STAGE 9 SESSION PROMPT # Next Session # Generated: 2026-03-15 --- ## WHERE WE ARE **Beta build: COMPLETE.** Sections I–III are production-quality. **Phases 1–11 + Stage 8: COMPLETE.** Bug fixes, visual polish, UX hardening, docs/QA, a11y/perf, code quality I & II, test expansion, print enhancements, visual QA, elastic responsive, feature work. **Stage 8 Feature Fixes: COMPLETE.** - Fullscreen live quote view: Print button in sidebar header (Reset/Import/Export JSON hidden) - Toggle switches: distinct off/on colors per theme (`--surface-switch-off`/`--surface-switch-on`) - Pricing: migrated from CSV to JSON (`package-prices.json`) - JSON export/import: already captures all form data including quote notes (schema v1.1) **Tests:** 254/254 passing. **Sections IV–VI:** Intentionally deferred as placeholders — do not activate. ### Completed Stages - **Stage 1** — Discovery audit (codebase mapping, doc generation) - **Stage 2** — Beta build (Phases 1–4: bug fixes, visual polish, UX hardening, docs/QA) - **Phase 5** — Accessibility/performance audit + Font Awesome icon fix - **Stage 3 / Phase 6** — Code quality pass I (tokens, CSS dedup, dead code) - **Stage 4 / Phase 7** — Test expansion (88 → 254 tests) - **Stage 4 / Phase 8** — Enhanced Print/PDF (rep name, notes, validity date, page breaks, CYA section) - **Stage 5 / Phase 9** — Visual QA (3 breakpoints × 4 themes) + Retro theme overhaul - **Stage 6 / Phase 10** — Elastic responsive foundation (5 → 3 breakpoints, fluid clamp() tokens, max-width up to 2400px) - **Stage 7 / Phase 11** — Feature work: keyboard shortcuts (Ctrl+P/E/R) + 4 new contextual nudges - **Stage 8 / Phase 12** — Code quality pass II: transition tokens, CSS specificity audit, print CSS hardening - **Stage 8 Feature Fixes** — Fullscreen print button fix, toggle switch 2-state themed colors, pricing CSV → JSON migration --- ## START EVERY SESSION BY READING 1. `svsmspcalc/docs/CHECKPOINT.md` — current status, all completed work 2. `svsmspcalc/docs/MASTER-SESSION-PROMPT.md` — full architecture, constraints, priorities 3. `svsmspcalc/docs/QUICK-REF.md` — compact file map, DOM IDs, pricing, danger zones 4. This file — session goals and context --- ## PROJECT SNAPSHOT **App:** SVS MSP CALC — live quote/pricing calculator for SVS Managed Services **Type:** Static HTML + Vanilla JS + Modular CSS (no frameworks, no build tools, no npm) **Used by:** SVS sales team, live on screen during prospect calls ### Architecture ``` svsmspcalc/ ├── SVS-MSP-Calculator.html # Stable HTML shell (65KB) ├── SVS-MSP-Calculator.js # Orchestration + keyboard shortcuts (375 lines) ├── quote-engine.js # Pure quote math (197 lines) ├── quote-pricing.js # Pricing defaults + JSON override (134 lines) ├── quote-render.js # DOM rendering + nudges (760 lines) ├── quote-persistence.js # localStorage save/restore (237 lines) ├── quote-export.js # Print/PDF + JSON export (320 lines) ├── quote-import.js # JSON quote import (166 lines) ├── theme-manager.js # 4-theme switching (121 lines) ├── mobile-sync.js # Mobile panel sync (275 lines) ├── SVS-MSP-Calculator.css # Manifest (@imports all CSS) ├── SVS-MSP-Calculator-tokens.css # Design tokens + CSS vars (fluid clamp() layout) ├── SVS-MSP-Calculator-base.css # Global chrome ├── SVS-MSP-Calculator-layout.css # Grid, header, main/sidebar ├── SVS-MSP-Calculator-components.css # Section cards, controls, sidebar (67KB) ├── SVS-MSP-Calculator-responsive.css # 3 structural breakpoints (1100/600/780L) ├── SVS-MSP-Calculator-print.css # Print-specific rules ├── SVS-MSP-Calculator-light.css # Light theme overrides ├── SVS-MSP-Calculator-glass.css # Glass theme (glassmorphism) ├── SVS-MSP-Calculator-70retro.css # Retro Cyberpunk theme (paper + hot rose/teal) ├── package-prices-data.js # Pricing data (edit this to change prices — loaded via