
/* v29 — zonas de deslocação independentes e cabeçalhos fixos */
#app-screen>.shell,.shell{height:100vh!important;min-height:0!important;overflow:hidden!important;align-items:stretch;}
.sidebar{
  height:100vh!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable;
}
.main{
  height:100vh!important;
  min-height:0!important;
  overflow:hidden!important;
}
.topbar{
  flex:0 0 auto!important;
  position:relative!important;
  z-index:80!important;
  background:var(--surface,#fff)!important;
}
.content{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable both-edges;
  position:relative!important;
}
/* Cabeçalhos das tabelas mantêm-se no topo da respetiva zona de dados. */
.content table thead{position:relative;z-index:35;}
.content table thead th{
  position:sticky!important;
  top:var(--pw-sticky-row-top,0px)!important;
  z-index:36!important;
  background:var(--surface,#fff)!important;
  box-shadow:0 1px 0 var(--line,#d9dee3);
}
/* Evita transparências em cabeçalhos com filtros/inputs. */
.content table thead th input,
.content table thead th select{
  background:#fff!important;
}
/* Contentores internos não transferem a roda para a janela inteira. */
.content .table-wrap,.content .table-container,.content .table-scroll,
.content [class*="table-wrapper"],.content [class*="table-scroll"]{
  overscroll-behavior:contain!important;
}
