/* Shared desktop/touch navigation; each parent link and submenu toggle remain separate. */
.portal-menu-list { list-style:none; padding:0; margin:0; display:flex; flex-wrap:wrap; align-items:center; gap:4px; }
.portal-menu-entry { position:relative; display:flex; align-items:center; min-width:0; }
.portal-menu-entry>a { overflow-wrap:anywhere; }
.portal-submenu { position:relative; }
.portal-submenu>summary { list-style:none; cursor:pointer; min-width:30px; min-height:36px; display:grid; place-items:center; color:var(--ink,#17323a); border-radius:6px; }
.portal-submenu>summary::-webkit-details-marker { display:none; }
.portal-submenu>summary:hover,.portal-submenu[open]>summary { background:var(--menu-hover,#e7f3f6); }
.portal-submenu>summary:focus-visible { outline:3px solid var(--teal,#1a7a8c); outline-offset:2px; }
.portal-submenu>.portal-menu-list { position:absolute; inset:auto 0 auto auto; top:100%; z-index:100; display:grid; min-width:220px; max-width:min(330px,80vw); padding:7px; border:1px solid var(--line,#dce4e9); border-radius:9px; background:var(--paper,#fff); box-shadow:0 12px 28px rgba(12,30,40,.16); }
.portal-submenu>.portal-menu-list>.portal-menu-entry { justify-content:space-between; }
body.portal .portal-submenu>.portal-menu-list a { white-space:normal; border-radius:5px; flex:1; }
.portal-submenu .portal-menu-entry { flex-wrap:wrap; }
.portal-submenu .portal-submenu[open] { display:contents; }
.portal-submenu .portal-submenu>.portal-menu-list { position:static; flex-basis:100%; min-width:0; width:100%; margin-top:4px; border:0; box-shadow:none; border-left:2px solid var(--line,#dce4e9); border-radius:0; padding-left:12px; }
.portal-footer-menu { max-width:1180px; margin:0 auto; padding:20px 24px 30px; border-top:1px solid var(--line,#e3e8ec); }
.portal-footer-menu a,.portal-knowledge-menu a { display:block; padding:8px 10px; color:var(--ink,#17323a); font-size:13px; font-weight:600; border-radius:6px; }
.portal-footer-menu .portal-submenu>.portal-menu-list { top:auto; bottom:100%; }
.portal-knowledge-menu { margin:0 0 22px; padding:8px; border:1px solid var(--line,#e3e8ec); border-radius:9px; background:var(--paper,#fff); }
.portal-managed-menu a.on { background:var(--menu-hover,#e7f3f6); color:var(--teal,#1a7a8c); }
body.portal .mobile-links>.portal-menu-list { display:grid; align-items:stretch; gap:3px; }
body.portal .mobile-links .portal-menu-entry { flex-wrap:wrap; justify-content:space-between; }
body.portal .mobile-links .portal-menu-entry>a { flex:1; }
body.portal .mobile-links .portal-submenu { position:static; }
body.portal .mobile-links .portal-submenu[open] { display:contents; }
body.portal .mobile-links .portal-submenu>.portal-menu-list { position:static; min-width:0; max-width:none; flex-basis:100%; width:100%; margin:4px 0 5px; box-shadow:none; border:0; border-left:2px solid var(--line,#e3e8ec); border-radius:0; padding-left:12px; }
body.portal header.top { z-index:50; }
@media(max-width:700px){.portal-footer-menu,.portal-knowledge-menu{padding:12px}.portal-footer-menu .portal-menu-list,.portal-knowledge-menu .portal-menu-list{display:grid}.portal-footer-menu .portal-menu-entry,.portal-knowledge-menu .portal-menu-entry{flex-wrap:wrap}.portal-footer-menu .portal-menu-entry>a,.portal-knowledge-menu .portal-menu-entry>a{flex:1}.portal-footer-menu .portal-submenu[open],.portal-knowledge-menu .portal-submenu[open]{display:contents}.portal-footer-menu .portal-submenu>.portal-menu-list,.portal-knowledge-menu .portal-submenu>.portal-menu-list{position:static;flex-basis:100%;width:100%;min-width:0;box-shadow:none;border:0;border-left:2px solid var(--line,#e3e8ec);padding-left:12px}}

