/* Structune Hub V17.7.4.476 — Fasteners lifecycle and workspace cleanup.
   The Fasteners table and header arrangement remain owned by existing sources. */

html.fasteners-first-paint,
html.fasteners-first-paint body,
html body.v17-fasteners-constrained{
  width:100%;
  height:100%;
  overflow:hidden!important;
  background:#0B1723!important;
}

/* Prevent unrelated SPA views and route-specific overlays appearing during a
   direct visit or hard refresh of Fasteners. */
html.fasteners-first-paint #content>.view:not(#view-fasteners),
html.fasteners-first-paint #arToolsFab,
html.fasteners-first-paint #arToolsDock,
html.fasteners-first-paint #arToolMessage,
html.fasteners-first-paint #labelsPrintModal,
html.fasteners-first-paint #labelsPrintStage,
html.fasteners-first-paint #arMarkerModal,
html.fasteners-first-paint #productionPasteModal,
html.fasteners-first-paint #productionConfirmModal,
html.fasteners-first-paint body>.v17-right-handle,
body.v17-fasteners-constrained #content>.view:not(#view-fasteners),
body.v17-fasteners-constrained #arToolsFab,
body.v17-fasteners-constrained #arToolsDock,
body.v17-fasteners-constrained #arToolMessage,
body.v17-fasteners-constrained #labelsPrintModal,
body.v17-fasteners-constrained #labelsPrintStage,
body.v17-fasteners-constrained #arMarkerModal,
body.v17-fasteners-constrained #productionPasteModal,
body.v17-fasteners-constrained #productionConfirmModal,
body.v17-fasteners-constrained>button.v17-right-handle{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* The shared shell already defines the exact header/footer/drawer-bounded
   workspace. Remove the obsolete empty 360px reserve and fill that shell. */
html[data-structune-shell="v432"] body.v432-shell-geometry.v17-fasteners-constrained #view-fasteners{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  color:#eef5fb!important;
  background:#0B1723!important;
  z-index:20!important;
}
body.v17-fasteners-constrained #view-fasteners>.fastener-summary,
body.v17-fasteners-constrained #view-fasteners>.fastener-toolbar,
body.v17-fasteners-constrained #view-fasteners>#fastenerSource{
  flex:0 0 auto!important;
  min-width:0!important;
}
body.v17-fasteners-constrained #view-fasteners>.fastener-summary{
  margin-top:0!important;
}
body.v17-fasteners-constrained #view-fasteners>.fasteners-table-panel{
  flex:1 1 auto!important;
  min-width:0!important;
  min-height:0!important;
  max-height:none!important;
  margin-bottom:0!important;
  overflow:hidden!important;
}
body.v17-fasteners-constrained #view-fasteners .fasteners-body-viewport-sbs165{
  overscroll-behavior:contain!important;
}

@media (max-width:640px){
  html.fasteners-first-paint,
  html.fasteners-first-paint body,
  html body.v17-fasteners-constrained{
    overflow:hidden!important;
  }
}
