| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720" |
| 2 | font-family="Arial, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif" |
| 3 | font-size="12"> |
| 4 | <!-- Grouped capability rows with checks, crosses and concise state text. --> |
| 5 | <rect width="1280" height="720" fill="#FFFFFF"/> |
| 6 | |
| 7 | <g id="header" data-pptx-bounds="60 35 1160 80"> |
| 8 | <text x="80" y="72" font-size="32" font-weight="700" fill="#0F172A">Feature Matrix</text> |
| 9 | <text x="80" y="102" font-size="14" fill="#64748B">Grouped requirements by option with explicit availability states</text> |
| 10 | </g> |
| 11 | |
| 12 | <g id="feature-matrix" data-pptx-bounds="80 140 1120 515"> |
| 13 | <!-- Header, emphasized option and group bands. --> |
| 14 | <rect x="80" y="140" width="1120" height="60" fill="#E2E8F0"/> |
| 15 | <rect x="500" y="140" width="220" height="515" fill="#EFF6FF"/> |
| 16 | <rect x="80" y="200" width="1120" height="44" fill="#F1F5F9"/> |
| 17 | <rect x="80" y="356" width="1120" height="44" fill="#F1F5F9"/> |
| 18 | <rect x="80" y="512" width="1120" height="44" fill="#F1F5F9"/> |
| 19 | |
| 20 | <!-- Grid preserves row and column intersections. --> |
| 21 | <rect x="80" y="140" width="1120" height="515" fill="none" stroke="#CBD5E1" stroke-width="1.5"/> |
| 22 | <g stroke="#CBD5E1" stroke-width="1"> |
| 23 | <line x1="500" y1="140" x2="500" y2="655"/> |
| 24 | <line x1="720" y1="140" x2="720" y2="655"/> |
| 25 | <line x1="940" y1="140" x2="940" y2="655"/> |
| 26 | <line x1="80" y1="200" x2="1200" y2="200"/> |
| 27 | <line x1="80" y1="244" x2="1200" y2="244"/> |
| 28 | <line x1="80" y1="300" x2="1200" y2="300"/> |
| 29 | <line x1="80" y1="356" x2="1200" y2="356"/> |
| 30 | <line x1="80" y1="400" x2="1200" y2="400"/> |
| 31 | <line x1="80" y1="456" x2="1200" y2="456"/> |
| 32 | <line x1="80" y1="512" x2="1200" y2="512"/> |
| 33 | <line x1="80" y1="556" x2="1200" y2="556"/> |
| 34 | <line x1="80" y1="612" x2="1200" y2="612"/> |
| 35 | </g> |
| 36 | |
| 37 | <!-- Column headers. --> |
| 38 | <g font-size="13" font-weight="700" fill="#475569"> |
| 39 | <text x="100" y="177">REQUIREMENT</text> |
| 40 | <text x="610" y="177" text-anchor="middle" fill="#1D4ED8">OPTION A</text> |
| 41 | <text x="830" y="177" text-anchor="middle">OPTION B</text> |
| 42 | <text x="1070" y="177" text-anchor="middle">OPTION C</text> |
| 43 | </g> |
| 44 | |
| 45 | <!-- Group and requirement labels. --> |
| 46 | <g fill="#334155"> |
| 47 | <g font-size="14" font-weight="700"> |
| 48 | <text x="100" y="228">CORE ACCESS</text> |
| 49 | <text x="100" y="384">OPERATIONS</text> |
| 50 | <text x="100" y="540">SUPPORT</text> |
| 51 | </g> |
| 52 | <g font-size="15"> |
| 53 | <text x="120" y="279">Single sign-on</text> |
| 54 | <text x="120" y="335">Role controls</text> |
| 55 | <text x="120" y="435">Automated handoff</text> |
| 56 | <text x="120" y="491">Audit history</text> |
| 57 | <text x="120" y="591">Extended coverage</text> |
| 58 | <text x="120" y="647">Named contact</text> |
| 59 | </g> |
| 60 | </g> |
| 61 | |
| 62 | <!-- Check and cross marks are authored as shapes, not font glyphs. --> |
| 63 | <g fill="none" stroke-linecap="round" stroke-linejoin="round"> |
| 64 | <g stroke="#059669" stroke-width="4"> |
| 65 | <path d="M 599 274 L 607 282 L 622 265"/> |
| 66 | <path d="M 819 274 L 827 282 L 842 265"/> |
| 67 | <path d="M 599 430 L 607 438 L 622 421"/> |
| 68 | <path d="M 599 486 L 607 494 L 622 477"/> |
| 69 | <path d="M 819 486 L 827 494 L 842 477"/> |
| 70 | <path d="M 599 586 L 607 594 L 622 577"/> |
| 71 | <path d="M 599 642 L 607 650 L 622 633"/> |
| 72 | <path d="M 1059 642 L 1067 650 L 1082 633"/> |
| 73 | </g> |
| 74 | <g stroke="#E11D48" stroke-width="4"> |
| 75 | <line x1="1062" y1="267" x2="1078" y2="283"/> |
| 76 | <line x1="1078" y1="267" x2="1062" y2="283"/> |
| 77 | <line x1="822" y1="323" x2="838" y2="339"/> |
| 78 | <line x1="838" y1="323" x2="822" y2="339"/> |
| 79 | <line x1="1062" y1="423" x2="1078" y2="439"/> |
| 80 | <line x1="1078" y1="423" x2="1062" y2="439"/> |
| 81 | <line x1="1062" y1="479" x2="1078" y2="495"/> |
| 82 | <line x1="1078" y1="479" x2="1062" y2="495"/> |
| 83 | <line x1="822" y1="579" x2="838" y2="595"/> |
| 84 | <line x1="838" y1="579" x2="822" y2="595"/> |
| 85 | </g> |
| 86 | </g> |
| 87 | |
| 88 | <!-- Text states cover non-binary intersections. --> |
| 89 | <g font-size="13" font-weight="700" text-anchor="middle" fill="#D97706"> |
| 90 | <text x="1070" y="335">Planned</text> |
| 91 | <text x="830" y="435">Add-on</text> |
| 92 | <text x="1070" y="591">Limited</text> |
| 93 | <text x="830" y="647">Shared</text> |
| 94 | </g> |
| 95 | </g> |
| 96 | </svg> |
| 97 |