#portal-header{position:sticky;top:0;z-index:100;background:#fff;color:#152b43;border-bottom:1px solid #dce3ea;box-shadow:0 2px 8px #152b4308;font:15px/1.4 system-ui,sans-serif;padding:12px max(18px,calc((100vw - 1180px)/2)) 0}#portal-header .portal-top{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap;margin-bottom:8px}#portal-header .portal-brand{font-size:23px;font-weight:750;text-decoration:none;color:#152b43}#portal-header .portal-brand span{font-size:13px;font-weight:450;color:#56687a}#portal-header .portal-links{display:flex;gap:4px;overflow-x:auto}#portal-header .appnav-item{display:block;white-space:nowrap;text-decoration:none;padding:10px 12px;color:#45576a;border-bottom:3px solid transparent;font:600 14px/1.4 system-ui,sans-serif;margin:0}#portal-header .appnav-item:hover,#portal-header .appnav-item.active{color:#155a9f;border-bottom-color:#155a9f}#portal-header #portal-session{font-size:13px}#portal-header #portal-session a,#portal-header button{margin-left:10px;color:#155a9f;background:none;border:0;cursor:pointer;font:inherit}body>.wrap{padding-top:22px}@media(max-width:600px){#portal-header .portal-brand span,#portal-user{display:none}#portal-header{padding:10px 12px 0}}@media print{#portal-header{display:none}}

/* Shared customer shell: sidebar on desktop, compact wrapped navigation on mobile. */
@media screen and (min-width:1100px){
 body.portal-shell{padding-left:236px}
 body.portal-shell>.wrap{max-width:1180px;margin:0 auto 0 0;padding:32px 28px 64px}
 #portal-header{position:fixed;inset:0 auto 0 0;width:236px;height:100dvh;box-sizing:border-box;padding:30px 18px;overflow-y:auto;background:#102841;color:#fff;border:0;box-shadow:none}
 #portal-header .portal-top{display:flex;flex-direction:column;align-items:stretch;gap:24px;margin:0 0 28px}
 #portal-header .portal-brand{color:#fff;font-size:30px;letter-spacing:.02em}
 #portal-header .portal-brand span{display:block;color:#bacbde;font-size:12px;letter-spacing:0;margin-top:6px}
 #portal-header .portal-links{display:flex;flex-direction:column;gap:8px;overflow:visible}
 #portal-header .appnav-item{border:0;border-left:3px solid transparent;border-radius:7px;color:#c7d6e7;padding:13px 14px;white-space:normal}
 #portal-header .appnav-item:hover{background:#1c3d5e;color:#fff}
 #portal-header .appnav-item.active{background:#294c70;color:#fff;border-left-color:#82b7ec}
 #portal-header #portal-session{padding:16px 0;border-top:1px solid #35506a;color:#c7d6e7;overflow-wrap:anywhere}
 #portal-header #portal-user{display:block;margin-bottom:9px;font-size:12px}
 #portal-header #portal-session a,#portal-header button{color:#d6eaff;margin:0 12px 0 0}
 #portal-header a:focus-visible,#portal-header button:focus-visible{outline:2px solid #a3d2ff;outline-offset:3px}
 #dash-detail,.core-report-summary section{scroll-margin-top:24px}
}
@media screen and (max-width:1099px){
 #portal-header{padding:12px 16px 0}
 #portal-header .portal-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px;overflow:visible}
 #portal-header .appnav-item{white-space:normal;text-align:center;font-size:13px;padding:9px 5px}
 #portal-header .portal-brand span{display:none}
}
@media screen and (min-width:1100px) and (max-width:1300px){.dash-grid{grid-template-columns:1fr}}
@media print{body.portal-shell{padding-left:0!important}body.portal-shell>.wrap{max-width:none;padding:0}#portal-header{display:none}}
