/* Keep wide administrative data inside its own scroll region, not the page. */
.admin-layout,#admin-content,.admin-layout .admin-nav{min-width:0;max-width:100%;box-sizing:border-box}
#admin-content>*{min-width:0;max-width:100%}
.admin-page #modal,.admin-page #modal *{box-sizing:border-box}
#admin-content .table-wrap,.admin-page #modal .table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
#admin-content .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#admin-content .form-field,.admin-page #modal .form-field{min-width:0;max-width:100%}
#admin-content input,#admin-content select,#admin-content textarea,.admin-page #modal input,.admin-page #modal select,.admin-page #modal textarea{min-width:0;max-width:100%}
#admin-content pre,.admin-page #modal pre{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}
#admin-content p,#admin-content h1,#admin-content h2,#admin-content h3,#admin-content small,#admin-content code,.admin-page #modal p,.admin-page #modal code{overflow-wrap:anywhere}
#admin-content .admin-resource-actions{flex-wrap:wrap}

@media(max-width:767px){
 .admin-layout{grid-template-columns:minmax(0,1fr);gap:18px}
 .admin-layout .admin-nav{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .admin-layout .admin-menu-search{flex:0 0 180px;min-width:0}
 #admin-content .panel{padding:16px 12px}
 #admin-content .table-wrap table,.admin-page #modal .table-wrap table{width:100%;table-layout:auto}
 #admin-content .table-wrap table:has(th:nth-child(5)),.admin-page #modal .table-wrap table:has(th:nth-child(5)){min-width:640px}
 #admin-content th,#admin-content td,.admin-page #modal th,.admin-page #modal td{max-width:280px;overflow-wrap:anywhere}
 #admin-content .form-grid,.admin-page #modal .form-grid{grid-template-columns:minmax(0,1fr)}
 #admin-content .two-column{grid-template-columns:minmax(0,1fr)}
 #admin-content .overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 #admin-content .stat-card>strong{font-size:clamp(18px,5vw,25px);overflow-wrap:anywhere}
 #admin-content .panel-head,#admin-content .site-page-row{flex-wrap:wrap}
 #admin-content .admin-resource-actions>.btn{flex:1 1 140px;max-width:100%;height:auto;min-height:42px;white-space:normal}
 #admin-content .admin-resource-actions>p{flex-basis:100%}
 .admin-page #modal{width:calc(100% - 24px);max-width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:24px 14px;overflow:auto}
 .admin-page #modal .modal-actions{flex-wrap:wrap}
 .admin-page #modal .modal-actions>.btn{flex:1 1 120px;white-space:normal;height:auto;min-height:42px}
 .admin-page #modal .resource-image-field,.admin-page #modal .resource-image-controls{min-width:0;max-width:100%}
 .admin-page #modal .resource-image-controls{flex-wrap:wrap}
 .admin-page #modal input[type=file]{width:100%}
}
@media(max-width:359px){#admin-content .overview-grid{grid-template-columns:minmax(0,1fr)}}
