/* Shared layouts: drawer menus, wrapping controls and contained tables. */
html,body{max-width:100%;overflow-x:hidden}
body:has(#sidebar) main{min-width:0;max-width:100%;height:100dvh!important}
#sidebar{min-height:0;overflow:hidden}
#sidebar nav{min-height:0;overflow-y:auto;overscroll-behavior:contain}
#sidebar .nav-item{white-space:normal;overflow-wrap:anywhere}
body:has(#sidebar) header{min-width:0;max-width:100%}
body:has(#sidebar) header h1{overflow-wrap:anywhere;min-width:0}
body:has(#sidebar) :is(input,select,textarea){max-width:100%;min-width:0}
body:has(#sidebar) :is(.grid,.flex)>*{min-width:0}
body:has(#sidebar) :is(.ml-table-card,.needs-table-card,.gm-table-card,.table-container,.overflow-x-auto){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
body:has(#sidebar) :is(canvas,svg,img){max-width:100%}
@media(max-width:1279px){
  html.gt-drawer-mode body main{width:100%!important;margin-left:0!important}
  #sidebar{max-width:min(16rem,86vw)!important}
}
@media(max-width:767px){
  body:has(#sidebar) header{gap:8px;padding-left:12px!important;padding-right:12px!important}
  body:has(#sidebar) header h1{font-size:1.05rem!important;line-height:1.3}
  body:has(#sidebar) :is(.ml-control-grid,.needs-control-grid){grid-template-columns:1fr!important}
  body:has(#sidebar) :is(.ml-depts,.gm-stats,.needs-stats){grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body:has(#sidebar) :is(#masterlist-view,#good-moral-view,#appointments-view,#content-student-needs,#exit-interview-view,#summary-view,#view-staff,#view-students){width:100%;min-width:0;max-width:100%}
  body:has(#sidebar) :is(.ml-control-grid,.needs-control-grid,.gm-control-grid)>*{width:100%;min-width:0}
  body:has(#sidebar) :is(.gm-filters,.needs-filters,.ml-actions){flex-wrap:wrap}
  body:has(#sidebar) :is(#resetModal,#addModal,#studentResetModal)>div{width:calc(100vw - 24px)!important;max-width:440px!important;max-height:calc(100dvh - 24px);overflow-y:auto}
  body:has(#sidebar) :is(.gm-modal,.needs-modal,.ml-modal){max-width:100%}
}
@media(max-width:360px){body:has(#sidebar) :is(.ml-depts,.gm-stats,.needs-stats){grid-template-columns:1fr!important}}
