/* CTR SUITE V66 - shared dialog ergonomics. Keep each module's open/closed state,
   keyboard handlers, data processing, drawer placement and receipt printing intact. */
@media screen {
  body :is(.posx-modal,.pmx-modal,.pb-modal,.m-modal,.modal-content,.att-modal-card,
    .team-modal-card,.cs-modal-box,.cr-modal-box,.sale-void-modal,.ctr-editor-surface){
    box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);
    border-radius:18px;overflow-wrap:anywhere;
  }
  body :is(.posx-modal,.pmx-modal,.pb-modal,.m-modal,.modal-content,.att-modal-card,
    .team-modal-card,.ctr-editor-surface){display:flex;flex-direction:column;min-height:0}
  body :is(.posx-modal-body,.pmx-modal-body,.pb-modal-body,.m-modal-body,.modal-body,
    .att-modal-body,.team-modal-body,.ctr-editor-inner){min-height:0;overflow-y:auto;overscroll-behavior:contain}
  body :is(.posx-modal-head,.pmx-modal-head,.pb-modal-head,.pb-modal-header,
    .att-modal-head,.team-modal-head,.modal-head,.ctr-editor-title){flex:0 0 auto;min-width:0}
  body :is(.posx-modal-foot,.pmx-modal-foot,.pb-modal-foot,.pb-modal-footer,
    .att-modal-foot,.team-modal-foot,.modal-foot){flex:0 0 auto;min-width:0}
  body :is(.posx-modal,.pmx-modal,.pb-modal,.m-modal,.att-modal-card,.team-modal-card)
   :is(h2,h3,h4){overflow-wrap:anywhere;line-height:1.25}
  body :is(.posx-modal,.pmx-modal,.pb-modal,.m-modal,.att-modal-card,.team-modal-card,.ctr-editor-surface)
   :is(input,select,textarea){min-width:0;max-width:100%;box-sizing:border-box}
}
@media screen and (max-width:760px){
  /* Fit the viewport and keep the active form readable when the keyboard opens. */
  body :is(.posx-modal-backdrop,.pmx-modal-backdrop,.pb-modal-overlay,.att-modal,
    .team-modal,.ctr-editor-overlay,.sale-void-overlay){box-sizing:border-box;max-width:100vw}
  body :is(.posx-modal-backdrop,.pmx-modal-backdrop,.pb-modal-overlay,.att-modal,
    .team-modal,.ctr-editor-overlay,.sale-void-overlay):not([hidden]){padding:8px!important}
  body :is(.posx-modal,.pmx-modal,.pb-modal,.m-modal,.modal-content,.att-modal-card,
    .team-modal-card,.cs-modal-box,.cr-modal-box,.sale-void-modal,.ctr-editor-surface){
    max-width:calc(100vw - 16px)!important;width:100%;
    max-height:calc(100dvh - 16px)!important;border-radius:17px!important;
  }
  body :is(.posx-modal-head,.pmx-modal-head,.pb-modal-head,.pb-modal-header,.att-modal-head,
    .team-modal-head,.modal-head,.ctr-editor-title){padding:12px 14px!important;gap:8px!important}
  body :is(.posx-modal-body,.pmx-modal-body,.pb-modal-body,.m-modal-body,.modal-body,
    .att-modal-body,.team-modal-body,.ctr-editor-inner){padding:12px 14px!important;min-height:0;
    overflow-y:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  body :is(.posx-modal-foot,.pmx-modal-foot,.pb-modal-foot,.pb-modal-footer,
    .att-modal-foot,.team-modal-foot,.modal-foot){padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important;
    gap:8px!important;flex-wrap:wrap}
  body :is(.posx-modal-foot,.pmx-modal-foot,.pb-modal-foot,.pb-modal-footer,
    .att-modal-foot,.team-modal-foot,.modal-foot) > :is(button,.btn,.m-btn,.posx-btn,.pmx-btn){
    min-height:44px;flex:1 1 110px;max-width:100%;white-space:normal}
  body :is(.posx-modal-close,.pmx-modal-close,.att-modal-close,.team-modal-close,.modal-close){
    min-width:40px!important;min-height:40px!important;flex:0 0 40px;display:grid;place-items:center}
  body :is(.posx-modal,.pmx-modal,.pb-modal,.m-modal,.att-modal-card,.team-modal-card,.ctr-editor-surface)
   :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px!important}
  /* Only form grids inside dialogs: two-column back office pages are unchanged. */
  body :is(.posx-modal,.pmx-modal,.pb-modal,.att-modal-card,.team-modal-card,.ctr-editor-surface)
   :is(.m-form-grid,.pmx-form-grid,.form-grid){grid-template-columns:minmax(0,1fr)!important}
  body .overlay:not(.drawer-mode):has(> .modal){box-sizing:border-box;padding:8px!important}
  body .overlay:not(.drawer-mode) > .modal{box-sizing:border-box;width:min(100%,620px);
    max-width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important;
    border-radius:17px!important;overflow-y:auto;overscroll-behavior:contain}
  body .ctr-editor-overlay:not([hidden])>.ctr-editor-surface{margin:auto!important;width:100%!important}
  body .cr-modal-box,body .cs-modal-box{overflow-y:auto;overscroll-behavior:contain}
}
@media screen and (max-width:390px){
  body :is(.posx-modal-head,.pmx-modal-head,.att-modal-head,.modal-head){padding:10px 11px!important}
  body :is(.posx-modal-body,.pmx-modal-body,.att-modal-body,.modal-body){padding:11px!important}
}
@media(prefers-reduced-motion:reduce){
  body :is(.posx-modal,.pmx-modal,.pb-modal,.att-modal-card,.team-modal-card){transition:none!important}
}
