/* GCO 5.6.0: adaptive independent scrolling; scoped to GCO interfaces */
.gco-staff,.gco-official,.gco-v370,.gco-import-panel{min-width:0;max-width:100%;box-sizing:border-box}
.gco-staff *,.gco-official *,.gco-v370 *{box-sizing:border-box}
.gco-staff img,.gco-official img,.gco-v370 img{max-width:100%;height:auto}
.gco-staff .gco-sectionbar,.gco-official .gco-sectionbar{flex-wrap:wrap;gap:12px}
.gco-staff .gco-toolbar,.gco-official .gco-toolbar{display:flex;flex-wrap:wrap;gap:8px;min-width:0}
.gco-staff .gco-grid,.gco-official .gco-grid,.gco-staff .gco-form-grid,.gco-official .gco-form-grid{min-width:0}
.gco-staff .gco-grid>*,.gco-official .gco-grid>*,.gco-staff .gco-form-grid>*,.gco-official .gco-form-grid>*{min-width:0}
.gco-staff :is(input,select,textarea),.gco-official :is(input,select,textarea){max-width:100%}
/* A scrollable frame stays in place; only its contents move. */
.gco-staff .gco-responsive-list,.gco-official .gco-responsive-list,
.gco-staff .gco-table,.gco-official .gco-table,
.gco-staff .gco-import-scroll,.gco-official .gco-import-scroll,
.gco-staff .gco-scroll-frame,.gco-official .gco-scroll-frame{
 display:block;max-width:100%;max-height:min(58vh,560px);overflow:auto;overscroll-behavior:contain;
 -webkit-overflow-scrolling:touch;scrollbar-gutter:stable;border-radius:10px;
}
.gco-staff .gco-responsive-head,.gco-official .gco-responsive-head,
.gco-staff .gco-th,.gco-official .gco-th,
.gco-staff .gco-scroll-frame thead th,.gco-official .gco-scroll-frame thead th{
 position:sticky;top:0;z-index:2;background:#edf2f7;
}
.gco-staff .gco-scroll-frame table,.gco-official .gco-scroll-frame table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}
.gco-staff .gco-scroll-frame td,.gco-official .gco-scroll-frame td{max-width:320px;overflow-wrap:anywhere}
.gco-staff .gco-mainnav,.gco-official .gco-mainnav,.gco-staff .gco-event-nav,.gco-official .gco-event-nav{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}
.gco-staff .gco-modal,.gco-official .gco-modal{padding:12px;overscroll-behavior:contain}
.gco-staff .gco-modal-box,.gco-official .gco-modal-box{display:block;position:relative;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-top:48px;padding-bottom:24px}
.gco-staff .gco-modal-box .gco-close,.gco-official .gco-modal-box .gco-close{position:sticky;top:0;float:right;margin-top:-37px;margin-right:-6px;z-index:10;background:#fff;border:1px solid #d7e0ea;border-radius:8px;min-width:36px;min-height:36px;display:grid;place-items:center}
.gco-staff .gco-modal-box form :is(button[type=submit],input[type=submit]),.gco-official .gco-modal-box form :is(button[type=submit],input[type=submit]){min-height:42px}
.gco-staff .gco-draw-layout,.gco-official .gco-draw-layout{min-width:0}
.gco-staff .gco-draw-layout>*,.gco-official .gco-draw-layout>*{min-width:0}
@media(max-width:1024px){
 .gco-staff .gco-draw-layout,.gco-official .gco-draw-layout{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gco-staff .gco-metrics,.gco-official .gco-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gco-staff .gco-grid,.gco-official .gco-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
 .gco-staff,.gco-official{width:100%!important;max-width:100%!important;margin:8px auto!important;padding-inline:8px}
 .gco-staff .gco-grid,.gco-official .gco-grid,.gco-staff .gco-form-grid,.gco-official .gco-form-grid{grid-template-columns:minmax(0,1fr)}
 .gco-staff .gco-draw-layout,.gco-official .gco-draw-layout{grid-template-columns:minmax(0,1fr)}
 .gco-staff .gco-metrics,.gco-official .gco-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gco-staff .gco-responsive-list,.gco-official .gco-responsive-list{max-height:min(55dvh,480px)}
 .gco-staff .gco-toolbar>a,.gco-staff .gco-toolbar>button,.gco-official .gco-toolbar>a,.gco-official .gco-toolbar>button{flex:1 1 auto;min-height:42px}
 .gco-staff .gco-modal,.gco-official .gco-modal{padding:0}
 .gco-staff .gco-modal-box,.gco-official .gco-modal-box{width:100%!important;max-width:100vw!important;height:100dvh;max-height:100dvh;border-radius:0;padding:48px 16px 24px}
 .gco-staff .gco-event-sticky,.gco-official .gco-event-sticky{position:relative;top:auto}
}
@media(max-width:380px){.gco-staff .gco-metrics,.gco-official .gco-metrics{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.gco-staff *,.gco-official *{scroll-behavior:auto!important}}
/* Member list controls stay inside the member frame on every screen. */
.gco-official .gco-members-board{background:#fff;border:1px solid #d7e0ea;border-radius:12px;padding:14px;min-width:0}
.gco-official .gco-members-board .gco-table{max-height:min(58vh,560px);border-radius:8px}
.gco-official .gco-members-controls,.gco-official .gco-members-pages{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
.gco-official .gco-members-controls{padding:0 0 14px}
.gco-official .gco-members-counter strong{font-size:1.7rem;color:#1757ad}
.gco-official .gco-members-counter small{display:block;color:#65748a}
.gco-official .gco-members-controls form{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gco-official .gco-members-controls select{width:auto;min-width:74px;padding:8px;border:1px solid #bdc9d8;border-radius:6px}
.gco-official .gco-members-apply{padding:8px 10px;border:1px solid #1757ad;border-radius:6px;background:#fff;color:#1757ad;cursor:pointer}
.gco-official .gco-members-pages{padding:14px 0 0;color:#65748a}
.gco-official .gco-members-pages>div{display:flex;gap:8px;flex-wrap:wrap}
.gco-official .gco-members-pages a{display:inline-block;padding:8px 12px;border:1px solid #bdc9d8;border-radius:6px;text-decoration:none;color:#1757ad}
@media(max-width:700px){.gco-official .gco-members-board{padding:10px}.gco-official .gco-members-controls,.gco-official .gco-members-pages{align-items:stretch;flex-direction:column}.gco-official .gco-members-controls form{width:100%}.gco-official .gco-members-controls label{flex:1}.gco-official .gco-members-pages>div a{flex:1;text-align:center}.gco-official .gco-members-board .gco-table{max-height:min(55dvh,480px)}}
/* Action menus are anchored to their buttons and can escape scrollable tables. */
.gco-official .gco-action-menu.open{position:fixed!important;z-index:1000001;box-shadow:0 15px 38px #10203040;min-width:min(230px,calc(100vw - 24px));max-width:calc(100vw - 24px)}
@media(max-width:767px){.gco-official .gco-action-menu.open{left:12px!important;right:12px!important;top:auto!important;bottom:12px!important;width:auto;max-height:min(65dvh,500px);overflow:auto;border-radius:16px;padding:10px}.gco-official .gco-action-menu :is(a,button){min-height:44px}}
/* Public agenda keeps posters, details, and action buttons within narrow screens. */
.gco-agenda,.gco-agenda article,.gco-event-body{min-width:0;max-width:100%}
.gco-agenda article{overflow:hidden}
.gco-agenda .gco-event-poster{display:block;max-width:100%;height:auto;object-fit:contain}
.gco-agenda .gco-event-actions{display:flex;flex-wrap:wrap;gap:8px}
.gco-agenda .gco-event-actions :is(a,button){max-width:100%;overflow-wrap:anywhere;min-height:40px}
.gco-agenda .gco-map-preview iframe{max-width:100%}
@media(max-width:700px){.gco-agenda{width:100%;grid-template-columns:minmax(0,1fr);gap:12px}.gco-agenda article{padding:12px}.gco-agenda .gco-event-actions :is(a,button){flex:1 1 135px;text-align:center}.gco-agenda .gco-map-preview{max-width:100%;overflow:hidden}}
/* 5.12.1: staff/admin lists retain their column layout on phones. */
@media(max-width:767px){
 .gco-official .gco-table{
  display:block!important;width:100%;max-width:100%;max-height:min(55dvh,480px);
  overflow:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y;scrollbar-width:thin;
 }
 .gco-official .gco-table>.gco-tr,
 .gco-official .gco-table>.gco-tr.expo,
 .gco-official .gco-table>.gco-tr.members{
  display:grid!important;flex-direction:initial!important;align-items:center;
  box-sizing:border-box;width:max-content;min-width:100%;
  gap:12px!important;padding:12px 14px!important;
 }
 .gco-official .gco-table>.gco-tr{grid-template-columns:110px 220px 150px 120px 130px 180px!important;min-width:990px}
 .gco-official .gco-table>.gco-tr.expo{grid-template-columns:220px 90px 170px 90px 180px!important;min-width:810px}
 .gco-official .gco-table>.gco-tr.members{grid-template-columns:220px 120px 145px 125px 100px 150px 220px!important;min-width:1080px}
 .gco-official .gco-table>.gco-th{display:grid!important;position:sticky!important;top:0;z-index:5;background:#edf2f7!important}
 .gco-official .gco-table>.gco-tr>span{width:auto!important;min-width:0;overflow-wrap:anywhere}
 .gco-official .gco-table>.gco-tr>span::before{display:none!important;content:none!important}
 .gco-official .gco-table>.gco-tr .gco-toolbar{width:auto;flex-wrap:wrap}
 .gco-official .gco-table>.gco-tr .gco-toolbar .gco-btn{flex:0 0 auto}
}
.gco-prize-order{display:inline-flex;margin:0}.gco-order-btn{min-width:34px;min-height:34px;border:1px solid #b9c9db;border-radius:7px;background:#fff;color:#1757ad;font-weight:800;cursor:pointer}
/* Keep the page at viewport width; long tables alone can scroll sideways. */
body:has(.gco-staff-official){overflow-x:clip}
.gco-staff-official,.gco-staff-official .gco-event-shell,.gco-staff-official .gco-event-sticky,.gco-staff-official .gco-sectionbar,.gco-staff-official .gco-members-board,.gco-staff-official .gco-import-panel,.gco-staff-official .gco-draw-layout{width:100%;max-width:100%;min-width:0}
.gco-staff-official .gco-event-shell,.gco-staff-official .gco-event-sticky{overflow:visible}
.gco-staff-official .gco-event-head{display:flex;flex-wrap:wrap;align-items:start;gap:12px;min-width:0}
.gco-staff-official .gco-event-head>*{min-width:0;max-width:100%}
.gco-staff-official .gco-event-nav{display:flex;overflow-x:auto;flex-wrap:nowrap;max-width:100%;overscroll-behavior-x:contain}
.gco-staff-official .gco-event-nav a{flex:none;white-space:nowrap}
.gco-staff-official .gco-import-panel :is(p,form,label){max-width:100%;overflow-wrap:anywhere}
.gco-staff-official .gco-import-panel form{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.gco-staff-official .gco-import-panel input[type=file]{min-width:0;width:min(100%,320px)}
.gco-staff-official .gco-mini-list>div{align-items:center;min-width:0}
.gco-staff-official .gco-mini-list>div>span:first-child{min-width:0;overflow-wrap:anywhere}
.gco-staff-official .gco-mini-list .gco-toolbar{width:auto;flex:0 0 auto}
.gco-official .gco-members-board .gco-action-menu.open{position:fixed!important;z-index:1000001}
@media(max-width:1300px){
 .gco-staff-official .gco-sectionbar .gco-toolbar{display:flex;width:100%;min-width:0;flex-wrap:wrap;gap:8px}
 .gco-staff-official .gco-sectionbar .gco-toolbar>*{flex:1 1 160px;min-width:0;white-space:normal;text-align:center}
 .gco-staff-official .gco-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gco-staff-official .gco-draw-layout{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:767px){
 .gco-staff-official{width:100%!important;padding:0 8px!important}
 .gco-staff-official .gco-event-shell,.gco-staff-official .gco-event-sticky{padding:12px}
 .gco-staff-official .gco-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
 .gco-staff-official .gco-sectionbar .gco-toolbar>*{flex:1 1 135px}
 .gco-staff-official .gco-table>.gco-tr>span:last-child{overflow:visible}
}
@media(max-width:420px){.gco-staff-official .gco-metrics{grid-template-columns:minmax(0,1fr)}}
@media(max-width:1300px){
 .gco-staff-official .gco-table{max-width:100%;overflow:auto!important;overscroll-behavior:contain}
 .gco-staff-official .gco-table>.gco-tr{width:max-content;min-width:990px;grid-template-columns:110px 220px 150px 120px 130px 180px}
 .gco-staff-official .gco-table>.gco-tr.expo{min-width:810px;grid-template-columns:220px 90px 170px 90px 180px}
 .gco-staff-official .gco-table>.gco-tr.members{min-width:1080px;grid-template-columns:220px 120px 145px 125px 100px 150px 220px}
 .gco-staff-official .gco-table>.gco-th{position:sticky;top:0;z-index:5;background:#edf2f7}
 .gco-staff-official .gco-table>.gco-tr>span{min-width:0;overflow-wrap:anywhere}
}
.gco-woo-space-choice{margin:12px 0;padding:12px;border:1px solid #bfcddd;border-radius:9px}.gco-woo-space-choice select{display:block;width:100%;max-width:360px;margin:7px 0}.gco-woo-space-choice small{display:block}
