/* Shared shell only. Does not style any invoice pane, schedule or object grid. */
body:is(.portal-active,.portal-invoices) #portal-shell .p-nav-horizontal{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:48px;
  align-items:stretch;gap:8px;padding:0 clamp(16px,2vw,40px) 16px;
  width:calc(100vw - 16px);max-width:100%;min-width:0;box-sizing:border-box;overflow:visible;
}
body:is(.portal-active,.portal-invoices) #portal-shell .p-nav-horizontal>button{
  display:grid;grid-template-columns:18px minmax(0,1fr);align-items:center;
  justify-content:center;gap:8px;width:100%;min-width:0;max-width:none;
  height:48px;min-height:48px;max-height:48px;padding:6px 12px;
  box-sizing:border-box;white-space:normal;font:650 13px/1.25 "Segoe UI",system-ui,sans-serif;
}
body:is(.portal-active,.portal-invoices) #portal-shell .p-nav-horizontal>button>svg{
  width:18px;height:18px;min-width:18px;align-self:center;justify-self:center;
}
body:is(.portal-active,.portal-invoices) #portal-shell .p-nav-horizontal>button>span{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;min-width:0;width:auto;white-space:normal;overflow-wrap:normal;
}
body:is(.portal-active,.portal-invoices) #portal-shell .p-subnav{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:76px;
  align-items:stretch;gap:8px;padding:12px clamp(16px,2vw,40px) 16px;
  min-width:0;min-height:105px;width:calc(100vw - 16px);max-width:100%;box-sizing:border-box;
}
body:is(.portal-active,.portal-invoices) #portal-shell .p-subnav>button{
  display:flex;flex-direction:column;align-items:stretch;justify-content:center;
  gap:4px;flex:none;width:100%;min-width:0;max-width:none;
  height:76px;min-height:76px;max-height:76px;padding:8px 12px;
  box-sizing:border-box;text-align:left;white-space:normal;
}
body:is(.portal-active,.portal-invoices) #portal-shell .p-subnav>button>strong{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;min-width:0;font:650 12px/1.4 "Segoe UI",system-ui,sans-serif;
}
body:is(.portal-active,.portal-invoices) #portal-shell .p-subnav>button>small{
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;
  overflow:hidden;min-width:0;font:400 11px/1.4 "Segoe UI",system-ui,sans-serif;
  color:#627487;
}
@media(max-width:1199px){
  body:is(.portal-active,.portal-invoices) #portal-shell .p-subnav{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:750px){
  body:is(.portal-active,.portal-invoices) #portal-shell .p-nav-horizontal{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 16px 14px}
  body:is(.portal-active,.portal-invoices) #portal-shell .p-nav-horizontal>button{font-size:12px;padding:6px 8px}
  body:is(.portal-active,.portal-invoices) #portal-shell .p-subnav{padding:12px 16px}
}
@media(max-width:600px){
  body:is(.portal-active,.portal-invoices) #portal-shell .p-subnav{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:72px;min-height:97px}
  body:is(.portal-active,.portal-invoices) #portal-shell .p-subnav>button{height:72px;min-height:72px;max-height:72px;padding:8px 10px}
  body:is(.portal-active,.portal-invoices) #portal-shell .p-subnav>button>small{-webkit-line-clamp:1}
}
@media(max-width:450px){
  body:is(.portal-active,.portal-invoices) #portal-shell .p-nav-horizontal{grid-template-columns:repeat(2,minmax(0,1fr))}
}
