!DOCTYPE html html lang=en head meta charset=UTF-8 meta name=viewport content=width=device-width, initial-scale=1.0 titleRideFormz Inspection Systemtitle !-- PWA Manifest & Theme Settings -- link rel=manifest href=manifest.json meta name=theme-color content=#1e293b !-- CSS Stylesheet -- link rel=stylesheet href=assetscssstyle.css head body !-- App Header & Network Badge -- header h1RideFormzh1 div id=connection-status class=status-badge online span class=dotspan span id=status-textOnlinespan div header !-- VIEW 1 Inspector Login (Default View) -- main id=auth-view class=card h2 style=margin-bottom 16px; font-size 1.1rem;Inspector Loginh2 form id=login-form div label for=employee-idEmployee IDlabel input type=text id=employee-id placeholder=e.g. EMP-1001 required div div label for=pinSecurity PINlabel input type=password id=pin maxlength=6 placeholder=Enter PIN required div button type=submitSign Inbutton form main !-- VIEW 2 Dashboard & Form Catalog (Hidden until logged in) -- main id=dashboard-view class=card hidden div style=display flex; justify-content space-between; align-items center; margin-bottom 16px; div h2 id=user-welcome style=font-size 1.1rem;Welcomeh2 p id=user-role style=font-size 0.8rem; color #94a3b8;p div button id=logout-btn class=secondary style=width auto; padding 6px 12px; font-size 0.8rem;Logoutbutton div !-- Offline Sync Counter -- div class=card style=background #0f172a; margin-bottom 20px; div class=sync-bar spanPending Submissions b id=pending-count style=color #fff;0bspan button id=sync-now-btn style=width auto; padding 6px 12px; font-size 0.8rem;Sync Nowbutton div div !-- Available Forms List -- h3 style=font-size 1rem; margin-bottom 8px;Available Inspection Formsh3 div id=form-catalog-list class=form-grid !-- Dynamic form items render here -- div main !-- JavaScript Libraries & Modules -- script src=assetsjsdb-local.jsscript script src=assetsjsapp.jsscript body html