Frontend assets missing

Laravel loaded, but public/build/.vite/manifest.json was not found or has no entry for src/main.tsx.

On the server, build and copy the Vite output:

cd portal/frontend
npm ci
npm run build
mkdir -p ../public/build
rm -rf ../public/build/*
cp -a dist/. ../public/build/

Use cp -a dist/. (not cp dist/*) so the hidden .vite/ manifest is copied.

Also ensure APP_ENV=production (not local) so the app does not try to load scripts from localhost:5173.