@inherits LayoutComponentBase

@* The side-rail chassis (brand bar + responsive hamburger) is the shared
   ZB.MOM.WW.Theme ThemeShell. NavMenu fills the rail's <Nav> slot with the
   policy-gated nav groups; the session/sign-out block fills <RailFooter>. *@
<ThemeShell Product="ScadaBridge" Accent="#2f5fd0">
    <Nav>
        <NavMenu />
    </Nav>
    <RailFooter>
        <AuthorizeView>
            <Authorized>
                @* CentralUI-024: claim type resolved via JwtTokenService. *@
                <span class="rail-user">@context.User.GetDisplayName()</span>
                <form method="post" action="/auth/logout" data-enhance="false">
                    @* CentralUI-017: logout is a state-changing POST and is
                       CSRF-protected — the antiforgery token is required. *@
                    <AntiforgeryToken />
                    <button type="submit" class="rail-btn">Sign Out</button>
                </form>
            </Authorized>
        </AuthorizeView>
    </RailFooter>
    <ChildContent>@Body</ChildContent>
</ThemeShell>

@* Global host for IDialogService. One instance per layout renders all confirm/prompt
   dialogs raised via IDialogService.ConfirmAsync / PromptAsync. *@
<DialogHost />

<SessionExpiry />
