fix(docker): build the frontend stage on Node 26
.nvmrc and frontend/package.json engines moved to Node 26 / npm 11 and the
lockfile is now written by npm 11, but the Dockerfile's frontend stage stayed
on node:22-alpine. npm 10 rejects that lockfile ("Missing: [email protected] from
lock file"), so `npm ci` fails and the image no longer builds.