Recommended depth is one: your class extends BasePage and stops.
Everything you are using inheritance for is better done with composition. A component class held as a field gives you the same reuse without the "where is this locator actually defined" problem, and it composes in more than one direction — a header can appear on pages that have nothing else in common.
AuthenticatedPage in particular is usually a smell. Being signed in is not a property of a page, it is a property of the scenario, and the scenario says it with @user:standard and the cached storage state that comes with it.
One class per meaningful surface. When two surfaces share three locators, extract a component, not a superclass.