/* Phase 4G grouped and responsive navigation */
.nav-drawer-toggle{position:fixed;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.nexus-sidebar{width:260px;flex:0 0 260px;padding:19px 14px 16px;overflow-y:auto}.nav-brand-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:0 4px}.nav-brand-row .brand{font-size:1.35rem}.nav-brand-row .tenant{margin-bottom:18px}.nav-close,.mobile-nav-bar,.nav-backdrop{display:none}.grouped-nav{display:grid!important;gap:6px!important}.grouped-nav a,.nav-group summary{box-sizing:border-box;width:100%;min-height:44px}.grouped-nav .nav-direct{display:flex;align-items:center;padding:10px 12px;font-weight:750}.nav-group{margin:0;border-radius:10px}.nav-group summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;color:#eef3fb;font-weight:800;list-style:none;border-radius:10px;cursor:pointer;user-select:none}.nav-group summary::-webkit-details-marker{display:none}.nav-group summary:hover{background:rgba(255,255,255,.08)}.nav-chevron{font-size:1.35rem;line-height:1;transition:transform .15s ease}.nav-group[open] .nav-chevron{transform:rotate(90deg)}.nav-children{display:grid;gap:3px;margin:3px 0 7px;padding-left:10px;border-left:2px solid color-mix(in srgb, var(--nexus-accent, #EE7326) 18%, transparent)}.sidebar .nav-children a{display:flex;align-items:center;min-height:40px;padding:8px 11px;color:#cdd8ea;font-size:.92rem;border-radius:8px}.sidebar .nav-children a:hover{color:#fff;background:rgba(255,255,255,.08)}.sidebar .nav-children a.active{color:#fff;background:rgba(255,255,255,.16);box-shadow:inset 3px 0 0 var(--nexus-accent, #EE7326)}.nav-settings{margin-top:8px}.nav-user{margin-top:auto;padding:16px 4px 0;border-top:1px solid rgba(255,255,255,.12)}.nav-user form{margin:0}.mobile-nav-bar{min-height:58px;padding:0 14px;color:#fff;background:#1f3864}.mobile-nav-bar div{display:grid}.mobile-nav-bar span{color:#f5a46e;font-size:.78rem;font-weight:750}.mobile-nav-button{display:grid;place-items:center;width:42px;height:42px;font-size:1.45rem;border-radius:10px;cursor:pointer}.mobile-nav-button:hover{background:rgba(255,255,255,.1)}
@media(max-width:760px){body{overflow-x:hidden}.nexus-shell{display:block}.mobile-nav-bar{position:sticky;top:0;z-index:45;display:flex;align-items:center;gap:10px}.nexus-sidebar{position:fixed;inset:0 auto 0 0;z-index:60;width:min(86vw,300px);max-width:300px;transform:translateX(-105%);transition:transform .18s ease;box-shadow:12px 0 30px rgba(10,27,53,.25)}.nav-close{display:grid;place-items:center;width:38px;height:38px;color:#fff;font-size:1.8rem;border-radius:9px;cursor:pointer}.nav-backdrop{position:fixed;inset:0;z-index:55;background:rgba(10,27,53,.5);opacity:0;pointer-events:none;transition:opacity .18s ease}.nav-drawer-toggle:checked~.nexus-sidebar{transform:translateX(0)}.nav-drawer-toggle:checked~.nav-backdrop{display:block;opacity:1;pointer-events:auto}.grouped-nav{width:100%}.sidebar nav{display:grid!important}.sidebar .nav-section{display:none}.nav-user{width:100%;margin-top:18px}.shell>main.nexus-main{width:100%!important;min-height:100vh}.app-content-frame{padding-top:16px!important}}
@media(min-width:761px){.nexus-sidebar{position:sticky;top:0;align-self:flex-start;height:100vh}.nexus-main{min-height:100vh}}


/* Phase 4H in-app alerts */
.nav-group-label{display:inline-flex;align-items:center;gap:8px}.nav-alert-link{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px}.nav-alert-badge{display:inline-grid;place-items:center;min-width:21px;height:21px;padding:0 6px;color:#fff;background:#c43d32;border:1px solid rgba(255,255,255,.28);border-radius:999px;font-size:.72rem;font-weight:900;line-height:1}.nav-alert-badge.child{min-width:19px;height:19px;font-size:.68rem}.dashboard-alert-card{box-sizing:border-box;display:flex;align-items:stretch;justify-content:space-between;gap:20px;width:100%;max-width:1440px;margin:0 auto 18px;padding:20px 22px;background:#fff;border:1px solid #dce3ec;border-left:6px solid #27864b;border-radius:16px;box-shadow:0 2px 8px rgba(20,43,77,.04)}.dashboard-alert-card.needs-attention{border-left-color:#b42318;background:#fffafa}.dashboard-alert-card h2{margin:5px 0 7px;color:#243f70}.dashboard-alert-card p{margin:0;color:#6f7887}.dashboard-alert-kicker{color:var(--nexus-accent, #EE7326);font-size:.76rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.dashboard-alert-counts{display:flex;flex-wrap:wrap;gap:9px;margin-top:11px}.dashboard-alert-counts span{padding:7px 10px;color:#5f6b7d;background:#f3f6fa;border-radius:9px}.dashboard-alert-counts strong{color:#243f70}.dashboard-alert-card>a{align-self:center;flex:0 0 auto;padding:11px 15px;color:#fff;background:#243f70;border-radius:10px;text-decoration:none;font-weight:800}.dashboard-alert-error{color:#a12a20!important}.mobile-nav-bar .nav-alert-badge{margin-left:auto}@media(max-width:700px){.dashboard-alert-card{display:grid;padding:17px}.dashboard-alert-card>a{width:auto;text-align:center}.dashboard-alert-counts{display:grid;grid-template-columns:1fr}}

/* Tenant appearance dashboard and navigation mappings */
.dashboard-alert-kicker,
.dashboard-card-kicker,
.dashboard-card-action { color: var(--nexus-accent, #EE7326); }

.dashboard-page .app-page-header h1,
.dashboard-card h2,
.dashboard-alert-card h2,
.dashboard-alert-counts strong { color: var(--nexus-primary, #1F3864); }

.dashboard-alert-card > a {
    color: var(--nexus-primary-text, #FFFFFF);
    background: var(--nexus-primary, #1F3864);
}

.nav-children { border-left-color: var(--nexus-accent, #EE7326); }

.sidebar .nav-children a.active {
    color: var(--nexus-primary-text, #FFFFFF);
    background: var(--nexus-primary, #1F3864);
    box-shadow: inset 3px 0 0 var(--nexus-accent, #EE7326);
}

.mobile-nav-bar {
    color: var(--nexus-sidebar-text, #FFFFFF);
    background: var(--nexus-sidebar, #1F3864);
}
.mobile-nav-bar span { color: var(--nexus-accent, #EE7326); }


/* Account security sits between the user name and Sign out. As an inline link its padding overlapped the button. */
.nav-user .nav-user-link{display:block;box-sizing:border-box;width:100%;margin:0 0 8px;padding:8px 12px;font-size:13px;text-align:center;border:1px solid rgba(255,255,255,.18);border-radius:7px}
