/* Keep existing narrow-screen navigation and all module layouts. */
@media(min-width:1024px){
#portal .shell:has(.portal-top-nav){display:block}
#portal .shell:has(.portal-top-nav)>aside{position:sticky;top:72px;z-index:20;display:flex;align-items:center;gap:14px;padding:8px 20px;background:#fff;border-right:0;border-bottom:1px solid #dbe4ed;box-shadow:0 3px 10px #18324b09}
#portal .shell:has(.portal-top-nav)>aside>.user-card{order:2;flex:0 0 auto;max-width:205px;padding:5px 10px;margin:0;background:#f3f7fb;border-radius:8px;font-size:12px}
#portal .shell:has(.portal-top-nav)>aside>.user-card small{font-size:10px;margin-top:2px}
#portal .shell:has(.portal-top-nav)>aside>.user-card .role-switch{padding:3px 6px;font-size:11px;margin-top:3px}
#portal #nav.portal-top-nav{display:flex;align-items:center;flex-wrap:wrap;gap:4px;flex:1;min-width:0}
#portal #nav.portal-top-nav>button,#portal .portal-nav-group>summary{min-height:40px;padding:10px 9px;font-size:13px;font-weight:650;white-space:nowrap;border-radius:8px;color:#344b63;cursor:pointer}
#portal .portal-nav-group{position:relative}
#portal .portal-nav-group>summary{list-style:none;display:flex;align-items:center;gap:7px}
#portal .portal-nav-group>summary::-webkit-details-marker{display:none}
#portal .portal-nav-group>summary::after{content:'⌄';font-size:13px;color:#6b8190}
#portal .portal-nav-group.active-group>summary,#portal .portal-nav-group[open]>summary,#portal .portal-nav-group>summary:hover{background:#e8f3fb;color:#092f63}
#portal .portal-nav-dropdown{position:absolute;top:calc(100% + 7px);left:0;width:255px;max-height:65vh;overflow:auto;display:flex;flex-direction:column;gap:3px;padding:7px;background:#fff;border:1px solid #d2dfe9;border-radius:11px;box-shadow:0 12px 30px #102d4e26}
#portal .portal-nav-group:last-child .portal-nav-dropdown{left:auto;right:0}
#portal .portal-nav-dropdown button{width:100%;text-align:left;padding:10px;font-size:13px}
#portal .shell:has(.portal-top-nav)>main{padding:18px 22px;min-width:0}
}
@media(max-width:1023px){#nav.portal-top-nav{display:grid}#nav .portal-nav-group{display:contents}#nav .portal-nav-group>summary{display:none}#nav .portal-nav-dropdown{display:contents}}
@media(max-width:760px){#nav.portal-top-nav{display:flex}}
@media print{#portal .shell:has(.portal-top-nav)>aside{display:none}}
/* Compact module toolbars and only the relevant secondary tabs. */
.compact-actions,.exam-app .ex-head>div:last-child{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.compact-action-menu{position:relative;display:inline-block;border:1px solid #c7dbe5;border-radius:8px;background:#f5f9fc;color:#24526c;font-size:13px}
.compact-action-menu>summary{cursor:pointer;padding:8px 12px;font-weight:650}
.compact-action-menu>div{position:absolute;right:0;top:100%;min-width:240px;max-width:calc(100vw - 40px);display:flex;flex-direction:column;gap:5px;background:#fff;border:1px solid #c7dbe5;box-shadow:0 10px 25px #102d4e20;padding:8px;border-radius:9px;z-index:12}
.compact-action-menu>div button{text-align:left;white-space:normal;width:100%}
.exam-app .ex-tabs{flex-wrap:wrap;overflow:visible;gap:5px}
.exam-app .ex-tabs button{white-space:normal;font-size:13px;padding:8px 11px}
.exam-app .ex-subtabs{padding-top:3px;border-bottom:1px solid #dbe4ed;margin-bottom:10px}
@media(max-width:760px){.compact-action-menu>div{position:static;box-shadow:none}.exam-app .ex-tabs button{font-size:12px;padding:7px 9px}}
