diff --git a/index.html b/index.html
index 9f219f7..029afd7 100644
--- a/index.html
+++ b/index.html
@@ -496,19 +496,28 @@ function isAdmin(){return currentUser&¤tUser.login==='admin'}
// ========== INIT ==========
function init(){
- document.getElementById('pabDate').value=new Date().toISOString().split('T')[0];
+ // Event listeners FIRST — must work even if other init fails
+ try{
+ var lu=document.getElementById('loginUser');if(lu)lu.addEventListener('keydown',function(e){if(e.key==='Enter')doLogin();});
+ var lp=document.getElementById('loginPass');if(lp)lp.addEventListener('keydown',function(e){if(e.key==='Enter')doLogin();});
+ ['regLogin','regPass','regName','regEmail','regBranch','regDept','regRegion','regOblast','regCity'].forEach(function(id){
+ var el=document.getElementById(id);if(el)el.addEventListener('keydown',function(e){if(e.key==='Enter')doRegister();});
+ });
+ }catch(e){console.error(e)}
+
+ try{
+ var pd=document.getElementById('pabDate');if(pd)pd.value=new Date().toISOString().split('T')[0];
buildCategorySections();
initVioRows();
+ }catch(e){console.error(e)}
+
+ try{
if(localStorage.getItem('safetyAuditUser')){
currentUser=JSON.parse(localStorage.getItem('safetyAuditUser'));
- document.getElementById('pabObserver').value=currentUser.name;
+ var po=document.getElementById('pabObserver');if(po)po.value=currentUser.name||'';
showApp();
}
- document.getElementById('loginUser').addEventListener('keydown',function(e){if(e.key==='Enter')doLogin();});
- document.getElementById('loginPass').addEventListener('keydown',function(e){if(e.key==='Enter')doLogin();});
- ['regLogin','regPass','regName','regEmail','regBranch','regDept','regRegion','regOblast','regCity'].forEach(id=>{
- const el=document.getElementById(id);if(el)el.addEventListener('keydown',function(e){if(e.key==='Enter')doRegister();});
- });
+ }catch(e){console.error(e); localStorage.removeItem('safetyAuditUser');}
}
init();