/* Approved navy/gold navigation. Scoped to the shell; study layer owns its UI. */
html.navigationGrouped[data-patrulha-boot="ready"] .appShell{display:grid;grid-template-columns:220px minmax(0,1fr)}
html.navigationGrouped body .appShell .sideNav{width:220px;min-width:220px;height:100dvh;padding:18px 12px;position:sticky;top:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#021d34,#00243f)!important;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}
html.navigationGrouped .sideNav>.sideBrand{display:flex!important;justify-content:flex-start;padding:0 48px 16px 0;gap:8px}
html.navigationGrouped .sideNav>.sideBrand:before{width:44px;height:44px;border-radius:12px}
html.navigationGrouped .sideBrand div,html.navigationGrouped .sideBrand strong,html.navigationGrouped .sideBrand span{display:block!important}
html.navigationGrouped .sideBrand strong{font-size:16px}html.navigationGrouped .sideBrand span{font-size:11px}
#navigationCollapse,#navigationExpand{border:1px solid #496477;background:#082941;color:#e1e9ef;border-radius:8px;min-width:44px;min-height:44px;cursor:pointer}
#navigationCollapse{position:absolute;right:16px;top:20px;font-size:25px}#navigationExpand{display:none;font-size:14px;padding:8px}
html.navigationGrouped body .sideNav nav[data-grouped],html.navigationGrouped .pwaMoreGrid[data-grouped]{display:block!important}
html.navigationGrouped [data-grouped] details{border-top:1px solid #29475c;margin-top:12px;padding-top:5px}
html.navigationGrouped [data-grouped] summary{min-height:44px;padding:12px 8px;color:#b9ccda;font-size:12px;line-height:20px;font-weight:700;letter-spacing:.035em;cursor:pointer}
html.navigationGrouped [data-grouped] summary::marker{color:#d2ad51}
html.navigationGrouped [data-grouped] .navGroupLinks{display:grid;gap:2px}
html.navigationGrouped body :is(.sideNav nav,.pwaMoreGrid)[data-grouped] a{display:flex;align-items:center;justify-content:flex-start;min-width:0;min-height:44px;height:auto;margin:2px 0;padding:10px 12px;gap:10px;border:1px solid transparent!important;border-radius:8px!important;background:transparent!important;color:#e1e9ef!important;font-size:14px;line-height:20px;text-decoration:none;box-shadow:none!important}
html.navigationGrouped body :is(.sideNav nav,.pwaMoreGrid)[data-grouped] a:is(:hover,:focus-visible){background:#143950!important}
html.navigationGrouped body :is(.sideNav nav,.pwaMoreGrid)[data-grouped] a[aria-current="page"]{color:#ffe08a!important;background:#344435!important;border-color:#a78d49!important;box-shadow:inset 3px 0 #ffca3f!important}
html.navigationGrouped body [data-grouped] a :is(span,b){display:block;font-size:14px;line-height:20px;font-weight:400;width:auto;text-align:left;white-space:normal;overflow-wrap:anywhere;color:inherit}
html.navigationGrouped [data-grouped] .navIcon{display:block;width:19px;height:19px;flex:0 0 19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round}
html.navigationGrouped body [data-grouped] a .navLegacyIcon,html.navigationGrouped body [data-grouped] a .navSectionBadge{display:none!important}
html.navigationGrouped body [data-grouped] a[data-commercial-cta]>:not(.navIcon):not(.navCommercialLabel){display:none!important}
html.navigationGrouped body [data-grouped] a[data-commercial-cta]:before{display:none!important}
html.navigationGrouped body [data-grouped] a em:not(.navSectionBadge):not(.hidden){margin-left:auto;font-size:12px;color:#ffe08a;background:#344435;border-radius:6px;padding:2px 5px}
html.navigationGrouped [data-grouped] :is(a,summary):focus-visible,#navigationCollapse:focus-visible,#navigationExpand:focus-visible{outline:3px solid #ffca3f!important;outline-offset:2px!important}
html.navigationGrouped [data-grouped] [hidden],html.navigationGrouped [data-grouped] .hidden{display:none!important}
html.navigationGrouped[data-account-mode="student"] [data-grouped] a:is([href="#admin"],[href="/?admin=1#admin"],[href="/admin-videoaulas.html"]){display:none!important}
@media(max-width:760px){
 html.navigationGrouped[data-patrulha-boot="ready"] .appShell{display:block}
 html.navigationGrouped body .appShell .sideNav,#navigationExpand,#navigationCollapse{display:none!important}
 html.navigationGrouped .pwaMoreSheet:not(.hidden){position:fixed;inset:0;z-index:9490;display:block;background:#021d34}
 html.navigationGrouped .pwaMoreBackdrop{display:none}
 html.navigationGrouped .pwaMoreCard{inset:0 0 calc(78px + env(safe-area-inset-bottom));max-height:none;border:0;border-radius:0;padding:12px 18px;background:linear-gradient(180deg,#021d34,#00243f);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;box-shadow:none}
 html.navigationGrouped .pwaMoreCard>header{position:sticky;top:-12px;z-index:1;background:#021d34;padding:10px 0;margin:0 0 10px}
 html.navigationGrouped .pwaMoreClose{width:44px;height:44px;flex:0 0 44px}
 html.navigationGrouped .pwaMoreCard header span{color:#b9ccda;font-size:11px}html.navigationGrouped .pwaMoreCard header strong{color:#e1e9ef;font-size:17px}
 html.navigationGrouped .pwaMoreCard:focus-visible{outline:0}
 html.navigationGrouped body.pwaMoreOpen .appShell{visibility:hidden!important;pointer-events:none}
 html.navigationGrouped body.pwaMoreOpen .pwaBottomNav{visibility:visible;pointer-events:auto}
 html.navigationGrouped .pwaBottomNav :is(a,button){min-height:48px}
}
/* The wider menu must not force the existing legal navigation offscreen. */
html.navigationGrouped .appMain footer{min-width:0;flex-wrap:wrap}
html.navigationGrouped .appMain footer .legalLinks{display:flex;flex-wrap:wrap;min-width:0;max-width:100%}
html.navigationGrouped .appMain footer .legalLinks a{overflow-wrap:anywhere}

/* Keep the phone shell and its More sheet exactly as before (<=760px). */
@media(min-width:761px){
 html.navigationGrouped body .appShell .sideNav{scroll-padding-top:64px}
 html.navigationGrouped .sideNav>.sideBrand{min-height:44px;margin-right:44px;padding:0 0 12px;gap:4px}
 html.navigationGrouped .sideNav>.sideBrand:before{width:24px;height:24px;border-radius:7px}
 html.navigationGrouped .sideNav>.sideBrand strong{font-size:14px}
 html.navigationGrouped .sideNav>.sideBrand span{font-size:11px!important}
 #navigationCollapse{position:absolute;top:18px;right:12px;width:44px;height:44px;padding:0;border-color:transparent;background:transparent;color:#b9ccda;font-size:20px;line-height:1;z-index:2}
 #navigationCollapse:hover{background:#143950;color:#e1e9ef}
 html.navigationGrouped body.navigationCollapsed #navigationCollapse{position:sticky;top:0;right:auto;align-self:flex-start;flex-shrink:0;margin-bottom:10px}
 html.navigationGrouped body.navigationCollapsed .appShell{grid-template-columns:64px minmax(0,1fr)}
 html.navigationGrouped body.navigationCollapsed .appShell .sideNav{width:64px;min-width:64px;padding:12px 6px;scrollbar-gutter:auto}
 html.navigationGrouped body.navigationCollapsed .sideNav>.sideBrand{display:none!important}
 html.navigationGrouped body.navigationCollapsed .sideNav nav>a,html.navigationGrouped body.navigationCollapsed .sideNav details[data-nav-group="admin"]{display:none!important}
 html.navigationGrouped body.navigationCollapsed .sideNav summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;font-size:0;letter-spacing:0;border-radius:8px;list-style:none}
 html.navigationGrouped body.navigationCollapsed .sideNav summary::-webkit-details-marker{display:none}
 html.navigationGrouped body.navigationCollapsed .sideNav summary:is(:hover,[aria-expanded="true"]){background:#143950;color:#ffe08a}
 html.navigationGrouped body.navigationCollapsed .sideNav .navGroupIcon{display:block;width:20px;height:20px;flex:0 0 20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
 html.navigationGrouped body.navigationCollapsed .sideNav .navGroupLinks:not(:popover-open){display:none!important}
 html.navigationGrouped body.navigationCollapsed .sideNav .navGroupLinks:popover-open{position:fixed;inset:auto;margin:0;left:var(--flyout-left);top:var(--flyout-top);width:var(--flyout-width);max-height:var(--flyout-max-height);overflow-y:auto;overscroll-behavior:contain;padding:12px;border:1px solid #496477;border-radius:12px;background:#082941;color:#e1e9ef;box-shadow:0 8px 28px #0006}
 html.navigationGrouped body.navigationCollapsed .sideNav .navGroupLinks:popover-open::before{content:attr(data-group-label);display:block;font:700 14px/20px system-ui,sans-serif;padding:4px 12px 10px;color:#ffe08a}
 html.navigationGrouped body.navigationCollapsed .sideNav nav details{margin-top:6px;padding-top:6px}
 html.navigationGrouped body.navigationCollapsed .sideNav summary:focus-visible{outline-offset:0!important}

}
#navigationTooltip{position:fixed;z-index:9491;max-width:min(280px,calc(100vw - 88px));padding:9px 12px;border:1px solid #a0b4c2;border-radius:8px;background:#082941;color:#fff;font:500 14px/1.5 system-ui,sans-serif;overflow-wrap:anywhere;box-shadow:0 4px 16px #0005}
#navigationTooltip[hidden]{display:none}
@media(max-width:760px){#navigationTooltip{display:none}}
@media(prefers-reduced-motion:reduce){html.navigationGrouped .sideNav,html.navigationGrouped .sideNav *,#navigationTooltip{transition:none!important;animation:none!important}}

/* Group icons only replace summary text in the desktop/tablet rail. */
html.navigationGrouped .sideNav .navGroupIcon{display:none}
