/* SPP 1.3.56: SINGLE outer container policy. No dependency on body classes. */
:root { --spp-canvas-max: 1200px; --spp-canvas-gutter: 20px; }
/* The public shell is centered against the VIEWPORT, regardless of narrow theme wrappers. */
body .sj-portal, body .spp-home {
 box-sizing: border-box !important;
 position: relative !important;
 display: block !important;
 width: min(1200px, calc(100vw - 40px)) !important;
 max-width: 1200px !important;
 min-width: 0 !important;
 margin-top: 20px !important;
 margin-bottom: 24px !important;
 margin-right: 0 !important;
 margin-left: 0 !important;
 padding: 0 !important;
 left: var(--spp-canvas-left, 0px) !important;
 right: auto !important;
 transform: none !important;
}
/* Preserve nested components' fluid layout; no second page-width limit. */
body .sj-portal > *, body .spp-home > * { box-sizing:border-box; max-width:100%; min-width:0; }
body.wp-admin .wrap.hop-wrap,
body.wp-admin .hop-wrap:not(.hop-wrap .hop-wrap),
body.wp-admin .hop-documents:not(.hop-wrap .hop-documents),
body.wp-admin .spp-admin-shell:not(.hop-wrap .spp-admin-shell) {
 box-sizing:border-box!important; width:calc(100% - 40px)!important;
 max-width:1200px!important; min-width:0!important;
 margin-left:auto!important; margin-right:auto!important;
}
body.wp-admin .hop-wrap .hop-form,body.wp-admin .hop-wrap .hop-section,
body.wp-admin .hop-wrap .hop-grid,body.wp-admin .hop-wrap .hop-floor-layout,
body.wp-admin .hop-wrap .hop-form-grid,body.wp-admin .hop-wrap .spp-admin-manual {
 max-width:100%!important;box-sizing:border-box!important;
}
@media(max-width:767px) {
 body .sj-portal,body .spp-home {width:100vw!important;max-width:100vw!important;}
 body.wp-admin .wrap.hop-wrap,body.wp-admin .hop-wrap:not(.hop-wrap .hop-wrap),
 body.wp-admin .hop-documents:not(.hop-wrap .hop-documents),
 body.wp-admin .spp-admin-shell:not(.hop-wrap .spp-admin-shell) {width:100%!important;max-width:100%!important;}
}
