/* Fix276 - preserve Fix275 layout; hide floating panels while a modal is open */
.ov-fix276-payment{
  z-index:320!important;
  box-sizing:border-box!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}
.ov-fix276-shift,.ov-fix276-debt{
  z-index:310!important;
  box-sizing:border-box!important;
}
.ov-fix276-customer{
  visibility:visible!important;
  opacity:1!important;
  z-index:315!important;
  box-sizing:border-box!important;
  transform-origin:left top!important;
  overflow:visible!important;
}
.ov-fix276-overflow{overflow:visible!important}
.ov-fix276-search-card{
  box-sizing:border-box!important;
  width:430px!important;
  max-width:430px!important;
  flex:0 0 430px!important;
}
.ov-fix276-search-row{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
}
.ov-fix276-search-input{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
.ov-fix276-search-row > button,
.ov-fix276-search-row > [role="button"]{flex:0 0 auto!important}
.ov-fix276-equal{box-sizing:border-box!important}
.ov-fix276-placeholder{
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Critical rule: independent of stacking context/z-index. */
body.ov-fix276-modal-open .ov-fix276-payment,
body.ov-fix276-modal-open .ov-fix276-shift,
body.ov-fix276-modal-open .ov-fix276-debt,
body.ov-fix276-modal-open .ov-fix276-customer{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

@media(max-width:1450px){
  .ov-fix276-search-card{
    width:390px!important;
    max-width:390px!important;
    flex-basis:390px!important;
  }
}
@media(max-width:1250px){
  .ov-fix276-search-card{
    width:340px!important;
    max-width:340px!important;
    flex-basis:340px!important;
  }
}
