Locking the widgets and UI

Mudwalker kindly mentioned UIBUILDER. Just to note that you can have UIBUILDER installed along side either/both of the Dashboard packages.

UIBUILDER lets you build any custom web UI's. It allows multiple separate instances (unlike the Dashboards) and supports both Single-Page Apps (like the Dashboards) and multi-page apps as well. It also supports but does not require a front-end framework (Dashboard 1 requires AngularJS v1, Dashboard 2 requires VueJS v3 along with Vuetify).

A comprehensive comparison between UIBUILDER and Dashboard 2 is available in the documentation here:

Notably, the included CSS styling (which you can of course amend or ignore) provides some sensible break points for desktop vs mobile browsers. There are examples of building layouts similar to D2 available.