Quilenz Assessment Platform v4 — Desktop-only exam QA PASS: 24 frontend JS/JSX files parsed/transpiled with TypeScript parser. PASS: All backend PHP files passed php -l syntax validation. PASS: Candidate exam route uses useExamDeviceEligibility. PASS: Mobile/tablet user-agent detection present. PASS: iPadOS desktop-style user-agent detection present. PASS: Minimum exam viewport width is 1024px. PASS: Candidate dashboard disables assessment navigation on unsupported devices. PASS: Direct /exam/:assignmentId navigation is independently blocked on unsupported devices. PASS: Active exam UI is blocked after resize below desktop minimum while React timer remains mounted. PASS: examApi sends X-Assessment-Client and X-Assessment-Viewport-Width. PASS: PHP CORS allows the new exam headers. PASS: PHP desktop guard checks client marker, viewport width, User-Agent, and Sec-CH-UA-Mobile. PASS: Desktop guard is applied to all 5 candidate exam endpoints: session, start, answers, submit-section, audio. Not executed in this environment: - Full Vite production build (npm package installation timed out in this environment). - Real MySQL-backed browser E2E run.