
/* v30 — separação estrutural definitiva entre menu lateral e conteúdo */
#app-screen{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100dvh!important;
  min-height:0!important;
  overflow:hidden!important;
}
#app-screen>.shell{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr)!important;
  grid-template-rows:minmax(0,1fr)!important;
  overflow:hidden!important;
}
#app-screen>.shell>.sidebar{
  position:relative!important;
  grid-column:1!important;
  grid-row:1!important;
  align-self:stretch!important;
  height:100%!important;
  max-height:100%!important;
  min-height:0!important;
}
#app-screen>.shell>.main{
  position:relative!important;
  grid-column:2!important;
  grid-row:1!important;
  width:auto!important;
  height:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
  overflow:hidden!important;
}
#app-screen>.shell>.main>.topbar{
  position:relative!important;
  grid-row:1!important;
  flex:none!important;
  width:100%!important;
  min-width:0!important;
  z-index:100!important;
  overflow:visible!important;
}
#app-screen>.shell>.main>#content-root,
#app-screen>.shell>.main>.content{
  position:relative!important;
  grid-row:2!important;
  inset:auto!important;
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  min-width:0!important;
  min-height:0!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y!important;
  scrollbar-gutter:stable both-edges;
}
/* Impede que contentores externos voltem a assumir o scroll vertical da página. */
html,body{
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
/* Cabeçalhos de todas as tabelas ficam presos à zona de conteúdo. */
#content-root table thead th,
.content table thead th{
  position:sticky!important;
  top:var(--pw-sticky-row-top,0px)!important;
  z-index:60!important;
  background:var(--surface,#fff)!important;
}
