/* V17.7.4.169 — Assemblies SBS-165 scrollbar + single bottom edge line.
   The header is physically outside the vertical scroll viewport. */
body.v17-assemblies-constrained #view-assemblies .assemblies-table-panel.v165-scroll-layout{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  min-height:0!important;
  padding:0!important;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-header-viewport-v165{
  flex:0 0 auto;
  width:100%;
  overflow:hidden;
  background:#f6f8fa;
  position:relative;
  z-index:50;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-header-table-v165,
body.v17-assemblies-constrained #view-assemblies .assemblies-body-viewport-v165 > table.assemblies-table{
  width:100%!important;
  min-width:880px!important;
  table-layout:fixed!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  margin:0!important;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-header-table-v165 thead,
body.v17-assemblies-constrained #view-assemblies .assemblies-header-table-v165 thead tr,
body.v17-assemblies-constrained #view-assemblies .assemblies-header-table-v165 thead th{
  position:static!important;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-header-table-v165 thead th{
  background:#f6f8fa!important;
  background-clip:padding-box!important;
  box-shadow:0 1px 0 #d7e0e8!important;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-body-viewport-v165{
  flex:1 1 auto;
  min-height:0;
  width:100%;
  overflow-y:scroll!important;
  overflow-x:auto!important;
  scrollbar-width:auto;
  scrollbar-color:#8B8B8B var(--v17-panel,#102535);
  background:var(--v17-panel,#102535);
  overscroll-behavior:contain;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-body-viewport-v165 > table.assemblies-table > thead{
  display:none!important;
}
/* Chromium / Edge vertical scrollbar */
body.v17-assemblies-constrained #view-assemblies .assemblies-body-viewport-v165::-webkit-scrollbar{
  width:17px!important;
  height:12px!important;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-body-viewport-v165::-webkit-scrollbar-track{
  background:var(--v17-panel,#102535)!important;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-body-viewport-v165::-webkit-scrollbar-thumb{
  background:#8B8B8B!important;
  border:3px solid var(--v17-panel,#102535)!important;
  border-radius:9px!important;
  min-height:28px!important;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-body-viewport-v165::-webkit-scrollbar-button:single-button{
  display:block!important;
  width:17px!important;
  height:17px!important;
  background-color:var(--v17-panel,#102535)!important;
  background-repeat:no-repeat!important;
  background-position:center!important;
  background-size:9px 9px!important;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-body-viewport-v165::-webkit-scrollbar-button:single-button:vertical:decrement{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 7.5 6 4l3.5 3.5' fill='none' stroke='%238B8B8B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-body-viewport-v165::-webkit-scrollbar-button:single-button:vertical:increment{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%238B8B8B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-body-viewport-v165::-webkit-scrollbar-corner{
  background:var(--v17-panel,#102535)!important;
}
html[data-theme="light"] body.v17-assemblies-constrained #view-assemblies .assemblies-body-viewport-v165{
  background:var(--v17-panel,#fff);
  scrollbar-color:#8B8B8B var(--v17-panel,#fff);
}


/* V17.7.4.169 — Assemblies table edge lines.
   Header side lines remain #304659. At the fully scrolled bottom, suppress the
   last-row and inner table bottom borders so the panel provides one single
   #304659 outer bottom line. */
body.v17-assemblies-constrained #view-assemblies .assemblies-header-viewport-v165::before,
body.v17-assemblies-constrained #view-assemblies .assemblies-header-viewport-v165::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:1px;
  background:#304659;
  z-index:60;
  pointer-events:none;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-header-viewport-v165::before{left:0}
body.v17-assemblies-constrained #view-assemblies .assemblies-header-viewport-v165::after{right:0}
body.v17-assemblies-constrained #view-assemblies .assemblies-body-viewport-v165 > table.assemblies-table{
  border-bottom:0!important;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-body-viewport-v165 > table.assemblies-table > tbody > tr:last-child > td{
  border-bottom:0!important;
}
body.v17-assemblies-constrained #view-assemblies .assemblies-table-panel.v165-scroll-layout{
  border-bottom-color:#304659!important;
}
