/* Opt-in disclosure controls; existing navigation anchors keep their destinations. */
.so-nav-group{position:relative;display:flex;min-width:0}
.so-nav-group>[data-top-link]{width:100%}
.so-nav-group[data-ready]>[data-top-link]{padding-right:24px}
/* Preserve the existing top-row glyphs despite moving three anchors into groups. */
.authenticated .nav .so-nav-group>.nav-projects::before{content:"▤"}
.authenticated .nav .so-nav-group>.nav-support::before{content:"▥"}
.authenticated .nav .so-nav-group>.nav-design-support::before{content:"⌖"}
.so-nav-group>.so-nav-toggle{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:22px;min-width:22px;height:30px;min-height:30px;padding:0;margin:0;border:0;border-radius:3px;background:transparent;color:#d7e2ec;font:inherit;font-size:15px;line-height:1;cursor:pointer;box-shadow:none}
.so-nav-group>.so-nav-toggle:hover,.so-nav-group>.so-nav-toggle[aria-expanded=true]{background:#ffffff20;color:#fff}
.so-nav-group>.so-nav-toggle:focus-visible{outline:2px solid white;outline-offset:-2px}
.so-nav-toggle[hidden],.so-top-panel[hidden]{display:none!important}
/* Body-level portal avoids the existing narrow-screen nav overflow clipping. QUICK is 90. */
.so-top-panel{position:fixed;z-index:80;box-sizing:border-box;width:220px;max-width:calc(100vw - 16px);margin:0;padding:4px;border:1px solid var(--border,#dbe4ec);border-radius:6px;background:white;color:var(--navy,#06284a);box-shadow:0 5px 16px #06284a20;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
.so-top-panel>a{display:block;box-sizing:border-box;margin:0;min-height:36px;padding:8px 12px;border:0;border-radius:3px;background:transparent;color:var(--navy,#06284a);font-family:inherit;font-size:13px;font-weight:500;line-height:1.4;text-decoration:none;overflow-wrap:anywhere}
.so-top-panel>a+a{border-top:1px solid var(--border,#dbe4ec)}
.so-top-panel>a:hover,.so-top-panel>a:focus-visible{background:#edf5fd;color:#1665a8;outline-offset:-2px}
@media print{.so-nav-toggle,.so-top-panel{display:none!important}}

/* Existing mobile navigation switches to a horizontal flex rail with 112px items. */
@media(max-width:800px){
 .authenticated .nav>.so-nav-group{flex:0 0 112px}
 .authenticated .nav .so-nav-group>[data-top-link]::before{display:none}
}
