AJARA — PATCH FINAL UI & ROLE FLOW
====================================

Perubahan pada paket ini:
1. Hero halaman Jelajahi Lomba diperbarui menjadi center, responsif, dengan gambar lokal landscape.
2. Form pendaftaran menampilkan field NIM hanya untuk role Mahasiswa; role Penyelenggara tidak diminta NIM.
3. Kolom users.nim dibuat nullable agar akun Penyelenggara dapat dibuat pada database.
4. Admin hanya dapat memverifikasi pembayaran setelah informasi lomba disetujui.

Peran yang dipertahankan:
- mahasiswa: dashboard, jelajahi lomba, pendaftaran kompetisi, favorit, profil, notifikasi.
- penyelenggara: ajukan lomba, revisi pengajuan, pembayaran publikasi, kelola lomba yang sudah terbit.
- admin: tinjau informasi, verifikasi pembayaran, moderasi poster, pengelolaan masa tayang.

PENTING:
- Backup database sebelum menjalankan migrasi.
- Jangan menyalin .env dari arsip lama ke tempat publik. File .env tidak disertakan dalam paket ini.
- Buat .env lokal dari .env.example, lalu isi kredensial database dan APP_KEY milik lingkungan Anda.
- Jalankan `composer install`.
- Jalankan `npm install`.
- Jalankan `php artisan migrate`.
- Jalankan `php artisan storage:link` bila belum ada symlink storage.
- Jalankan `npm run build`.
- Jalankan `php artisan optimize:clear`.

Pemeriksaan yang berhasil pada paket sumber:
- PHP lint: 45 file PHP aplikasi/route/migrasi lolos.
- Laravel route:list berhasil.
- Kompilasi Blade: 23 view berhasil dikompilasi melalui Blade compiler.

Pemeriksaan yang belum dapat dijalankan di lingkungan pemeriksaan:
- PHPUnit memerlukan ekstensi PHP DOM, mbstring, dan xmlwriter yang tidak tersedia.
- Vite build gagal karena paket opsional Rollup Linux tidak ada pada node_modules yang disertakan arsip; jalankan `npm install` ulang di mesin target.

Paket ini bukan sertifikasi keamanan atau jaminan skor 100/100. Uji login dan alur tiap role menggunakan database staging sebelum dipakai produksi.
