/* Readable module navigation; desktop dock and mobile drawer share one menu. */
.has-side-menu{--nav-width:336px}
#portal-side-menu.side-nav{width:min(var(--nav-width),calc(100vw - 24px));padding:20px 16px 16px;overflow:hidden;transform:translateX(calc(-100% - 48px));box-shadow:12px 0 36px #1118201f}
#portal-side-menu.open{transform:translateX(0)}
#portal-side-menu .side-nav-head{min-height:58px;padding:0 0 16px;gap:12px;flex-shrink:0}
#portal-side-menu .side-nav-head>div{min-width:0;flex:1}
#portal-side-menu .side-nav-head strong{font-size:20px;line-height:1.3;overflow-wrap:anywhere}
#portal-side-menu .side-nav-head small{font-size:13px;line-height:1.4;margin-top:4px}
#portal-side-menu .menu-close{width:44px;height:44px;flex:none;font-size:26px}
#portal-side-menu .menu-tools{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:8px;padding:16px 0;flex-shrink:0}
#portal-side-menu .menu-tools label{height:44px;padding:10px;gap:8px}
#portal-side-menu .menu-tools input{font-size:14px}
#portal-side-menu .menu-tools .icon-button,#portal-side-menu .nav-personal .icon-button{width:44px;height:44px;font-size:18px;line-height:1}
#portal-side-menu .menu-tools .compact-search{display:none}
#portal-side-menu .nav{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;margin:0;padding:0 2px 0 0}
#portal-side-menu .nav>a,#portal-side-menu .family-toggle{min-height:50px;padding:12px;font:600 16px/1.4 Arial,sans-serif;gap:12px;border-radius:11px}
#portal-side-menu .family-toggle{display:grid;grid-template-columns:28px minmax(0,1fr) 16px;align-items:center}
#portal-side-menu .nav>a>i,#portal-side-menu .family-toggle>i:first-child{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;min-width:28px;font-size:21px;line-height:1}
#portal-side-menu .family-toggle>i:last-child{font-size:12px;width:16px;min-width:16px;text-align:center}
#portal-side-menu .family-toggle>span{min-width:0;overflow-wrap:anywhere}
#portal-side-menu .nav-family{margin:4px 0}
#portal-side-menu .nav-family-items{margin:4px 0 8px 26px;padding-left:12px}
#portal-side-menu .nav-family-items a{font:500 15px/1.4 Arial,sans-serif;min-height:44px;padding:10px 12px}
#portal-side-menu .nav-personal{display:grid;grid-template-columns:minmax(0,1fr) 44px 44px;gap:8px;flex-shrink:0;margin-top:12px;padding-top:14px}
#portal-side-menu .nav-personal>a:first-child{min-width:0;font-size:14px;gap:10px}
#portal-side-menu .nav-personal>a:first-child>i{font-size:21px;width:28px;flex:none;text-align:center}
#portal-side-menu .nav-personal span{min-width:0;overflow-wrap:anywhere}
#portal-side-menu .nav-personal small{font-size:11px;line-height:1.4;margin-top:3px}
body.nav-compact #portal-side-menu{--nav-width:96px;padding-left:14px;padding-right:14px}
body.nav-compact #portal-side-menu .side-nav-head{display:none}
body.nav-compact #portal-side-menu .side-nav-head>div,body.nav-compact #portal-side-menu .side-nav-head>img,body.nav-compact #portal-side-menu .menu-tools label,body.nav-compact #portal-side-menu .nav>a>span,body.nav-compact #portal-side-menu .family-toggle>span,body.nav-compact #portal-side-menu .family-toggle>i:last-child,body.nav-compact #portal-side-menu .nav-personal>a{display:none}
body.nav-compact #portal-side-menu .menu-tools{grid-template-columns:44px;justify-content:center;gap:8px}
body.nav-compact #portal-side-menu .menu-tools .compact-search{display:grid}
body.nav-compact #portal-side-menu [data-nav-collapse] .fa-angles-left{transform:rotate(180deg)}
body.nav-compact #portal-side-menu .family-toggle,body.nav-compact #portal-side-menu .nav>a{display:flex;justify-content:center;padding:12px 8px}
body.nav-compact #portal-side-menu .nav-family-items{display:none}
body.nav-compact #portal-side-menu .nav-personal{grid-template-columns:44px;justify-content:center}
body.nav-compact #portal-side-menu .erp-install-entry{display:flex;justify-content:center;padding:10px 0}
body.nav-compact #portal-side-menu .erp-install-button{width:44px;min-width:44px;height:44px;padding:0;border-radius:11px}
body.nav-compact #portal-side-menu .erp-install-button .nav-action-label,body.nav-compact #portal-side-menu .nav-notifications .nav-action-label{display:none}
body.nav-compact #portal-side-menu .nav-notifications{position:relative;display:grid;place-items:center;width:44px;min-width:44px;height:44px;min-height:44px;margin:8px auto 0;padding:0;border-radius:11px;font-size:18px}
body.nav-compact #portal-side-menu .nav-notifications .notification-badge{position:absolute;margin:-28px 0 0 28px}
#portal-side-menu .nav-order button,#portal-side-menu .nav-order span{font-size:16px;min-width:28px;min-height:36px}
.has-side-menu.nav-modal-open{overflow:hidden}
.nav-flyout{position:fixed;z-index:1004;width:250px;max-width:calc(100vw - 120px);max-height:calc(100dvh - 16px);overflow:auto;padding:10px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #11182026}
.nav-flyout>strong{display:block;padding:8px 10px;font:600 16px/1.4 Arial,sans-serif}
.nav-flyout>a{display:block;padding:11px 10px;border-radius:8px;font:500 15px/1.4 Arial,sans-serif;color:var(--ink);text-decoration:none}
.nav-flyout>a:hover,.nav-flyout>a:focus-visible,.nav-flyout>a[aria-current=page]{background:color-mix(in srgb,var(--yellow) 19%,var(--surface))}
.nav-flyout>a:focus-visible{outline:2px solid var(--yellow);outline-offset:-2px}
@media(min-width:1100px){.has-side-menu{padding-left:var(--nav-width)}.has-side-menu.nav-compact{--nav-width:96px}.has-side-menu .menu-overlay,.has-side-menu .menu-toggle,#portal-side-menu .menu-close{display:none!important}.has-side-menu .top{grid-template-columns:minmax(0,1fr) 42px}.has-side-menu .shell{width:100%;min-width:0}#portal-side-menu.side-nav{transform:translateX(0);box-shadow:none;border-right:1px solid var(--line)}}
@media(max-width:1099px){body.nav-modal-open #portal-side-menu{transform:translateX(0)}body.nav-modal-open .menu-overlay{opacity:1;visibility:visible}#portal-side-menu [data-nav-collapse]{display:none!important}#portal-side-menu .menu-tools{grid-template-columns:minmax(0,1fr) 44px}#portal-side-menu .nav a,#portal-side-menu .family-toggle{font-size:16px}#portal-side-menu .nav-family-items a{font-size:15px}}
@media(max-height:760px){#portal-side-menu.side-nav{padding-top:12px;padding-bottom:12px}#portal-side-menu .side-nav-head{min-height:48px;padding-bottom:10px}#portal-side-menu .menu-tools{padding:10px 0}#portal-side-menu .nav>a,#portal-side-menu .family-toggle{min-height:46px;padding-top:10px;padding-bottom:10px}#portal-side-menu .nav-personal{margin-top:8px;padding-top:10px}}
