# SVS MSP CALC — STAGE 11: BETA PREP # Generated: 2026-03-15 --- ## WHERE WE ARE **Stages 1–10: COMPLETE.** Production-quality for Sections I–III across all 4 themes. **Tests:** 254/254 passing. ### Stage 10 Completed Work **Color Audit & Consolidation:** - Full audit of all 4 theme CSS files — every unique color extracted, grouped by role - Near-duplicates consolidated via aliases (e.g., 4 positive surfaces → 2 semantic tiers) - On-accent text ladder collapsed from 5 → 3 levels - Light theme: ~6 near-identical surfaces → 3 tiers, ~10 borders → 3 tiers - Glass theme: 6 ice-white text values → 1 reference, 4 border opacities → 1 reference - Retro theme: ~20 hardcoded hex in selectors → 7 `--retro-*` helper tokens - 17 raw hex/rgba in components.css → new overlay/shadow tokens - Retro `--sky` given distinct value (`#6366f1` indigo, was identical to `--green`) - Unused `--text-on-accent-muted` removed **Sidebar / Live Quote Polish:** - Zone backgrounds strengthened + semantically tinted (value zone gets green tint) - Line borders: last-child removed, totals get solid top border, dashed elsewhere - Hover tint on sidebar lines for read-tracking - `.export-wrap` background → transparent, border removed (all themes) - Sidebar changed from sticky to static (scrolls with page) **Section Grouping:** - "MANAGED IT SERVICES (Sections I, II, III)" eyebrow label above section I - Vertical accent bracket with top/bottom caps alongside sections I–III - HR divider between Site Management (III) and Server Management (IV) - Mobile: bracket hidden, sections I–III get accent left border instead - Per-theme `--group-strip` token (blue/grey-teal/cyan/rose) **Mobile:** - Quote pill repositioned: `top: 12vh` at ≤600px (percentage-based, viewport-responsive) --- ## WHAT'S READY FOR BETA - Sections I–III fully functional with live pricing, addons, admin fee logic - All 4 themes visually polished and color-consistent - Sidebar live quote with clear zone separation and clean borders - Mobile panel sync working (100+ ID pairs) - Print/PDF export functional - JSON import/export functional - 254 automated tests passing ## WHAT REMAINS (Sections IV–VI) Sections IV (Server Management), V (Zero Trust Networking), VI (VoIP) are **placeholders only** — basic stepper + collapsed body, no active pricing or addons wired up. Do not activate unless explicitly requested. --- ## HARD CONSTRAINTS 1. DOM IDs are a contract — renaming breaks mobile sync (100+ pairs) 2. 254 tests must pass: `node svsmspcalc/tests/test-quote-engine.js` 3. All 4 themes must work after every change 4. No frameworks, no npm — vanilla only 5. Surgical changes only — read before editing 6. Sections IV–VI are placeholders — do not activate --- ## KEY FILES MODIFIED IN STAGE 10 | File | What Changed | |------|-------------| | `SVS-MSP-Calculator-tokens.css` | Semantic positive/overlay/sidebar/group tokens added; near-dupes aliased | | `SVS-MSP-Calculator-light.css` | Surface/border consolidated; sidebar zone + group-strip tokens | | `SVS-MSP-Calculator-glass.css` | Ice-whites + borders deduped; sidebar/group tokens; export-wrap cleaned | | `SVS-MSP-Calculator-70retro.css` | 7 retro helper tokens; hardcoded hex → var(); distinct --sky; group-strip | | `SVS-MSP-Calculator-components.css` | 17 raw colors tokenized; sidebar line/zone polish; group label + bracket | | `SVS-MSP-Calculator-layout.css` | 1 raw #fff tokenized; sidebar position: static | | `SVS-MSP-Calculator-responsive.css` | Mobile bracket → left border; group-divider; pill top: 12vh | | `SVS-MSP-Calculator-print.css` | Group label/bracket/divider hidden in print | | `SVS-MSP-Calculator.html` | Group label div + group divider HR added (decorative, no IDs) | --- ## VERIFICATION ``` node svsmspcalc/tests/test-quote-engine.js ``` 254 tests, zero dependencies. Run after any pricing/engine/render changes. --- ## CONTEXT MANAGEMENT After completing work: - Update `docs/CHECKPOINT.md` with results - If context is heavy, create `docs/STAGE12-SESSION-PROMPT.md` for the next chat