/* Shared size/overflow layer. Keep visibility, role permissions and business state
   owned by their existing components. Loaded after page and theme styles. */
:is(:is(.qd-admin-layout,.qd-responsive-layout),.exh-product) [hidden]{display:none!important}
.responsive-table-region{max-width:100%;min-width:0;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.responsive-table-region:focus-visible{outline:2px solid var(--qd-brand,#216351);outline-offset:2px}
@media(any-pointer:coarse){
  :is(.qd-admin-layout,.qd-responsive-layout) :is(button,mdui-button,mdui-button-icon,.btn,.trade-button,summary){min-height:44px}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,.aui-field__input){font-size:16px}
  :is(.qd-admin-layout,.qd-responsive-layout) .aui-dialog__panel{max-width:calc(var(--app-region-width,100vw) - 24px)!important;max-height:calc(var(--app-visible-height,100dvh) - 24px)!important;overflow:auto}
}
@media(max-width:1200px){
  :is(.qd-admin-layout,.qd-responsive-layout) :is(main,.admin-main,.page-shell,.exh-main,.trade-main){min-width:0;container-name:admin-content;container-type:inline-size}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.standard-config-section,.config-subsection,.tune-panel__body,.ov-card,.grid-col){min-width:0;max-width:100%}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.standard-config-section__heading,.config-subsection--split){grid-template-columns:minmax(0,1fr)!important}
  :is(.qd-admin-layout,.qd-responsive-layout) .genealogy-editor-toolbar{grid-template-columns:minmax(0,1fr)!important}
  :is(.qd-admin-layout,.qd-responsive-layout) .genealogy-toolbar-actions{flex-wrap:wrap;justify-content:flex-start}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.standard-config-section,.config-subsection,.tune-panel__body,.card-body,.exh-panel,.trade-card)>*{min-width:0}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.section-actions,.config-page-actions,.knowledge-card-toolbar,.knowledge-card-toolbar__actions,.tune-toolbar,.bind-row,.bind-batch,.city-add-row,.trade-header-actions,.exh-actions){flex-wrap:wrap;max-width:100%}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.ss,mdui-select,mdui-text-field){min-width:0;max-width:100%}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.bind-row,.bind-batch,.city-add-row) :is(.ss,mdui-select,mdui-text-field){flex:1 1 160px}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea){min-width:0;max-width:100%;box-sizing:border-box}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(pre,code,.exh-url,.trade-muted,.ui-help,.ins-note,.account-scope__item){overflow-wrap:anywhere}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(pre,.table-responsive,.score-event-table-wrap,.ui-table-wrap,.venue3d-bound-table-wrap){max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(dialog,mdui-dialog,.modal-dialog){max-width:calc(var(--app-region-width,100vw) - 24px)!important;max-height:calc(var(--app-visible-height,100dvh) - 24px)!important}
  :is(.qd-admin-layout,.qd-responsive-layout) dialog{overflow-y:auto;overscroll-behavior:contain}
  :is(.qd-admin-layout,.qd-responsive-layout) mdui-dialog[open]{max-width:none!important;max-height:none!important}
  :is(.qd-admin-layout,.qd-responsive-layout) .aui-dialog__panel{min-width:0;max-width:calc(var(--app-region-width,100vw) - 24px)!important;max-height:calc(var(--app-visible-height,100dvh) - 24px)!important;overflow:auto;overscroll-behavior:contain}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.modal-content,.aui-dialog){max-height:calc(var(--app-visible-height,100dvh) - 24px)}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.modal-body,.aui-dialog-body,.trade-dialog-body,.collab-dialog-body){min-height:0;max-width:100%;overflow:auto;overscroll-behavior:contain}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.account-form__foot,.modal-footer,.trade-dialog>header,.collab-dialog>header){flex-wrap:wrap;gap:8px}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.exh-page-title,.trade-header,.config-page-head,.page-head-bar){min-width:0;overflow-wrap:anywhere}
}
/* The available content width, after the sidebar, decides form density. */
@container admin-content (max-width:600px){
  :is(.grid-2col,.grid-2form,.account-form__columns,.account-basic-grid,.exh-grid-two,.exh-form-grid,.exh-settings-grid,.exh-model-layout,.exh-background-layout,.exh-venue-controls,.collab-form-grid,.ins-edit-form,.tune-qgrid){grid-template-columns:minmax(0,1fr)!important}
  :is(.tune-fields,.answer-style-config__fields,.home-feature-config__fields){grid-template-columns:minmax(0,1fr)!important}
  :is(.exh-page-title,.trade-header,.config-page-head,.page-head-bar){flex-wrap:wrap;gap:12px}
  :is(.trade-header-actions,.exh-actions,.config-page-actions){flex-wrap:wrap}
  :is(.exh-button-setting){grid-template-columns:minmax(0,1fr) 64px 64px;gap:8px}
}
@container admin-content (max-width:380px){
  :is(.exh-check-grid,.account-module-grid,.exh-metrics,.ins-kpis,.trade-kpis,.ov-grid,.service-entry-grid){grid-template-columns:minmax(0,1fr)!important}
  :is(.ins-requester-columns,.ins-item .ins-requester,.ins-service-priority-content){grid-template-columns:minmax(0,1fr)!important}
  .city-item{flex-wrap:wrap}
  .city-item__name{min-width:0}
}
@media(max-width:767px){
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.grid-2col,.grid-2form,.account-form__columns,.account-basic-grid,.account-module-grid,.exh-model-layout,.exh-background-layout,.exh-venue-controls,.exh-form-grid,.exh-settings-grid,.ins-edit-form){grid-template-columns:minmax(0,1fr)!important}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.exh-main,.collaboration){padding-inline:12px}
  :is(.qd-admin-layout,.qd-responsive-layout) .grid-col{min-width:0}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.city-item,.bind-item){flex-wrap:wrap}
  :is(.qd-admin-layout,.qd-responsive-layout) .city-item__name{min-width:0}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.exh-page-title,.trade-header,.config-page-head,.page-head-bar){flex-wrap:wrap;gap:12px}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(button,mdui-button,mdui-button-icon,.btn,.trade-button,summary){min-height:44px}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,.aui-field__input,.ss-value,.ss-filter){font-size:16px}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.exh-feature-groups,.exh-button-setting){min-width:0}
  :is(.qd-admin-layout,.qd-responsive-layout) :is(.exh-actions,.trade-actions,.trade-header-actions){gap:8px}
  .exh-product{height:var(--app-visible-height,100dvh);--exh-header-height:calc(76px + env(safe-area-inset-top,0px))}
  .exh-product .exh-header-inner{padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px));padding-top:env(safe-area-inset-top,0px);gap:8px}
  .exh-product .exh-header-leading{gap:8px;overflow:hidden}
  .exh-product .exh-brand{min-width:0;gap:8px}
  .exh-product #chatEventName{min-width:0;max-width:100%;text-overflow:ellipsis}
  .exh-product .exh-header-actions{flex:none}
  .exh-product .exh-chat-layout{min-height:0;padding-inline:max(12px,env(safe-area-inset-left,0px))}
  .exh-product .exh-chat-main{min-height:0;overscroll-behavior-y:contain}
  .exh-product :is(.exh-recommendations,.exh-card-actions,.trade-actions){flex-wrap:wrap;min-width:0}
  .exh-product :is(.exh-card-actions button,.exh-card-actions a,.trade-actions button,.exh-recommendations button){min-height:44px;display:inline-flex;align-items:center}
  .exh-product :is(.exh-message,.exh-card,.exhibition-schedule,.trade-card){min-width:0;max-width:100%;overflow-wrap:anywhere}
  .exh-product :is(.exh-composer textarea,.exh-preferences-dialog input,.exh-preferences-dialog select,.trade-dialog input,.trade-dialog select,.trade-dialog textarea){font-size:16px}
  .exh-product :is(.exh-personal-dialog,.exh-preferences-dialog,.exh-identity-dialog,.exh-doc-dialog,.trade-dialog,.exh-detail-dialog){max-height:calc(var(--app-visible-height,100dvh) - 16px)!important;max-width:calc(var(--app-region-width,100vw) - 16px)}
  .exh-product #personalMenuDialog{max-width:var(--app-region-width,100vw)!important;max-height:min(85dvh,calc(var(--app-visible-height,100dvh) - 16px))!important}
  .exh-product :is(.exh-preferences-dialog fieldset,.trade-form-grid){grid-template-columns:minmax(0,1fr)}
  .exh-product :is(.exh-identity-body,.exh-preferences-body,.trade-dialog-body){min-width:0;overflow:auto;overscroll-behavior:contain}
}
@media(max-width:359px){
  .exh-product .exh-brand-icon{display:none}
  .exh-product .exh-composer-hint{max-width:100px;font-size:10px}
  .exh-product .exh-send-actions{gap:4px}
  .exh-product .exh-welcome h1{font-size:27px}
}
@media(max-height:500px) and (max-width:1180px){
  .exh-product{height:var(--app-visible-height,100dvh);--exh-header-height:52px}
  .exh-product .exh-welcome{padding-top:12px}
  .exh-product .exh-welcome h1{margin-top:8px;font-size:24px}
  .exh-product .exh-recommendations{gap:6px}
  .exh-product .exh-quick-actions{height:auto;min-height:44px;margin-top:6px}
  .exh-product .exh-quick-actions>button{min-height:44px;height:auto;flex-direction:row;padding:6px;gap:4px}
  .exh-product .exh-quick-actions>button svg{width:18px;height:18px}
  .exh-product .exh-chat-layout{padding-bottom:max(6px,env(safe-area-inset-bottom,0px))}
}
/* Runtime compact state also covers a short coarse-pointer landscape viewport
   and one safe segment of a hinged display. The same query is used by JS. */
:is(.qd-admin-layout,.qd-responsive-layout).app-compact-layout .admin-mobile-nav-bar{display:flex;position:fixed;inset:0 0 auto;height:calc(52px + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) max(12px,env(safe-area-inset-right,0px)) 0 max(12px,env(safe-area-inset-left,0px));z-index:1400;align-items:center;gap:12px;background:var(--qd-surface,#fff);border-bottom:1px solid var(--qd-line,#e2e7e4)}
:is(.qd-admin-layout,.qd-responsive-layout).app-compact-layout .admin-mobile-nav-toggle{display:inline-flex;align-items:center;gap:8px;min-width:76px;min-height:44px;padding:0 10px;border:1px solid var(--qd-line,#e2e7e4);border-radius:14px;background:var(--qd-surface,#fff);color:var(--qd-ink,#20382f);font:inherit;cursor:pointer}
:is(.qd-admin-layout,.qd-responsive-layout).app-compact-layout body.admin-shell-ready .admin-sidebar{top:calc(52px + env(safe-area-inset-top,0px))!important;left:var(--app-region-left,0px)!important;bottom:0!important;max-height:calc(var(--app-visible-height,100dvh) - 52px - env(safe-area-inset-top,0px));width:min(calc(var(--app-region-width,100vw) - 32px),320px)!important;transform:translateX(-110%)!important;visibility:hidden;pointer-events:none;z-index:1350!important;overflow:hidden}
:is(.qd-admin-layout,.qd-responsive-layout).app-compact-layout body.admin-shell-ready .admin-sidebar.is-open{transform:translateX(0)!important;visibility:visible;pointer-events:auto}
:is(.qd-admin-layout,.qd-responsive-layout).app-compact-layout .admin-mobile-nav-backdrop:not([hidden]){display:block;position:fixed;inset:calc(52px + env(safe-area-inset-top,0px)) 0 0;z-index:1300;border:0;background:#173b2b55}
:is(.qd-admin-layout,.qd-responsive-layout).app-compact-layout body.admin-shell-ready :is(.admin-row,.page-shell){width:100%!important;max-width:none!important;margin:0!important;padding:calc(64px + env(safe-area-inset-top,0px)) 12px max(24px,env(safe-area-inset-bottom,0px))!important}
:is(.qd-admin-layout,.qd-responsive-layout).app-compact-layout body.admin-shell-ready .admin-row>.admin-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
:is(.qd-admin-layout,.qd-responsive-layout).app-compact-layout .exh-admin .exh-admin-layout{padding-left:0;padding-top:calc(52px + env(safe-area-inset-top,0px))}
:is(.qd-admin-layout,.qd-responsive-layout).app-compact-layout .admin-sidebar__list{overflow-y:auto;overscroll-behavior:contain}
/* Browsers without Viewport Segments simply use normal width-based rules.
   When a hinge is exposed, keep interactive content in one unobstructed pane. */
.app-segmented body{width:var(--app-region-width);margin-left:var(--app-region-left);margin-top:var(--app-region-top);min-height:var(--app-region-height);box-sizing:border-box}
.app-segmented .admin-mobile-nav-bar{inset-inline-start:var(--app-region-left);inset-inline-end:auto;width:var(--app-region-width)}
.app-segmented :is(.exh-history,.admin-mobile-nav-backdrop){left:var(--app-region-left);width:var(--app-region-width)}
.app-segmented :is(dialog[open],mdui-dialog[open],.modal.show .modal-dialog){position:fixed;left:calc(var(--app-region-left) + 8px)!important;right:auto!important;top:calc(var(--app-region-top) + 8px)!important;bottom:auto!important;width:calc(var(--app-region-width) - 16px)!important;max-width:calc(var(--app-region-width) - 16px)!important;max-height:calc(var(--app-region-height) - 16px)!important;margin:0!important}
.app-segmented.app-compact-layout .exh-product #personalMenuDialog{top:auto!important;bottom:calc(100dvh - var(--app-region-top) - var(--app-region-height))!important;left:var(--app-region-left)!important;width:var(--app-region-width)!important;max-width:var(--app-region-width)!important;border-radius:24px 24px 0 0!important}
.app-keyboard-open :is(dialog[open],mdui-dialog[open],.modal.show .modal-dialog){top:calc(var(--app-visible-top,0px) + 8px)!important;bottom:auto!important;max-height:calc(var(--app-visible-height,100dvh) - 16px)!important;margin-block:0!important}
@media(prefers-reduced-motion:reduce){.app-compact-layout .admin-sidebar{transition:none!important}}
