I managed to resolve the issue effectively due to the initial system setup. We utilized a custom table, 'user roles', to assign one of our three specific roles, which was associated with the corresponding account. This structure greatly facilitated our 'Super Users' in monitoring role assignments across the organization.
Upon assigning a 'user role' to a user, they were systematically moved into the Business Unit (BU) corresponding to that account and added to the designated team that represents their assigned role. Notably, each account is linked to a unique BU, which contains three dedicated teams corresponding to our three distinct roles. Each of these teams is endowed with a security role that mirrors the function they serve within the account/BU framework.
For the scenarios where users lack the necessary 'user roles' to access certain pages, we implemented a visual cue: a lock icon accompanied by a message detailing the requisite roles they're missing.
You should be able to replicate this method by querying the users' security roles and applying similar restrictions.
While it's currently not possible to completely hide custom pages from the navigation pane, access to these pages can still be effectively controlled and restricted as needed.