/* Staff Portal presentation only; feature grids and actions retain page-owned rules. */
body.hasp-staff-portal-page{--hasp-muted:#5f7087}
body.hasp-staff-portal-page .hasp-main{min-width:0}
body.hasp-staff-portal-page .hasp-topbar>div:not(.hasp-top-actions){min-width:0;flex:1}
body.hasp-staff-portal-page .hasp-topbar h1{overflow-wrap:anywhere}
body.hasp-staff-portal-page .hasp-top-actions{flex-shrink:0}
body.hasp-staff-portal-page .hasp-menu-close{display:none}
body.hasp-staff-portal-page .hasp-skip-link{position:fixed;top:8px;left:16px;z-index:2000;padding:10px 16px;background:#fff;color:#17233f;border:2px solid #b1168c;border-radius:6px;transform:translateY(-160%);font:600 13px/1.4 system-ui}
body.hasp-staff-portal-page .hasp-skip-link:focus{transform:none}
body.admin-bar.hasp-staff-portal-page .hasp-skip-link:focus{top:40px}
@media(max-width:782px){body.admin-bar.hasp-staff-portal-page .hasp-skip-link:focus{top:54px}}
body.hasp-staff-portal-page .hasp-shell :focus-visible,body.hasp-staff-portal-page .hasp-login-card :focus-visible{outline:3px solid #087da7;outline-offset:3px}
body.hasp-staff-portal-page .hasp-menu-toggle{min-width:40px;min-height:40px;border-radius:7px}
/* Override legacy structural !important rules that defeated the scrollable sidebar. */
body.hasp-staff-portal-page .hasp-shell>.hasp-sidebar{position:sticky!important;inset:auto!important;top:14px!important;height:calc(100vh - 28px)!important;height:calc(100dvh - 28px)!important;min-height:0!important;max-height:calc(100vh - 28px)!important;max-height:calc(100dvh - 28px)!important;align-self:start!important;overflow:hidden!important}
body.hasp-staff-portal-page .hasp-shell>.hasp-sidebar>nav{flex:1 1 auto!important;min-height:0!important;height:auto!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain}
body.hasp-staff-portal-page .hasp-sidebar>.hasp-logo,body.hasp-staff-portal-page .hasp-sidebar>.hasp-user,body.hasp-staff-portal-page .hasp-menu-close{flex-shrink:0}
@media(min-width:1051px){body.hasp-staff-portal-page .hasp-sidebar nav a{white-space:normal}body.hasp-staff-portal-page .hasp-sidebar nav a>span:not(.dashicons){white-space:normal;overflow:visible;text-overflow:clip}}
@media(max-width:780px){body.hasp-staff-portal-page .hasp-shell>.hasp-sidebar{position:fixed!important;inset:0 auto 0 -290px!important;top:0!important;width:min(86vw,280px)!important;height:100vh!important;height:100dvh!important;max-height:100vh!important;max-height:100dvh!important;min-height:0!important;z-index:1000}body.hasp-staff-portal-page .hasp-shell.is-menu-open>.hasp-sidebar{left:0!important}body.hasp-staff-portal-page .hasp-sidebar nav a,body.hasp-staff-portal-page .hasp-sidebar nav a>span:not(.dashicons){white-space:normal;overflow:visible;text-overflow:clip}}
@media(min-width:783px){body.admin-bar.hasp-staff-portal-page .hasp-shell>.hasp-sidebar{top:46px!important;height:calc(100vh - 60px)!important;height:calc(100dvh - 60px)!important;max-height:calc(100vh - 60px)!important;max-height:calc(100dvh - 60px)!important}}
@media(max-width:780px){body.admin-bar.hasp-staff-portal-page .hasp-shell>.hasp-sidebar{top:46px!important;height:calc(100vh - 46px)!important;height:calc(100dvh - 46px)!important;max-height:calc(100vh - 46px)!important;max-height:calc(100dvh - 46px)!important}}
@media(max-width:780px){body.hasp-staff-portal-page .hasp-menu-close{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0 0 10px;padding:8px 12px;background:#ffffff12;color:#fff;border:1px solid #ffffff38;border-radius:7px;font-family:inherit;font-weight:600;font-size:12px;line-height:1.4;cursor:pointer}body.hasp-staff-portal-page .hasp-menu-close span{font-size:20px}body.hasp-staff-portal-page .hasp-topbar{gap:9px}body.hasp-staff-portal-page .hasp-topbar h1{font-size:20px}body.hasp-staff-portal-page .hasp-topbar p{font-size:11px}}
@media(prefers-reduced-motion:reduce){body.hasp-staff-portal-page .hasp-sidebar{transition:none}}
@media(min-width:781px) and (max-width:782px){body.admin-bar.hasp-staff-portal-page .hasp-shell>.hasp-sidebar{top:60px!important;height:calc(100vh - 74px)!important;height:calc(100dvh - 74px)!important;max-height:calc(100vh - 74px)!important;max-height:calc(100dvh - 74px)!important}}
