.wait .modal-content {
    filter: blur(4px) saturate(0.2);
}
.modal-dialog .overlay {
    display: none;
    position: absolute;
    width:100%;
    height: 100%;
    top:0;
    left:0;
    pointer-events: all;
}
.bmodal.wait .modal-dialog .overlay {
    display: block;
    z-index: 1;
}
.bmodal.wait .modal-dialog .overlay > div {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;

}
.modal-dialog .modal-body {
    overflow: auto;
}
.modal-dialog .modal-body {
    overflow: auto;
}
.modal-dialog .modal-progress {
     display: none;
}
.modal-dialog .modal-result {
    overflow: auto;
    max-height: 400px;
}

/* Модалки без анимации. Раскрытие 0.3s + подложка 0.15s на открытие И на закрытие - это ~0.7с
   чистого ожидания на каждое окно, а сборка FBS на ПК открывает-закрывает окно на КАЖДЫЙ заказ
   (плюс диалоги ЧЗ) - на тысячах заказов операторы теряли десятки минут в смену против ТСД
   (жалобы клиентов 30.08.2026). Bootstrap ждёт ровно СТОЛЬКО, сколько длится CSS-переход
   (getTransitionDurationFromElement), поэтому нулевой переход убирает и задержку событий
   shown/hidden - фокус встаёт в поле скана сразу, первые символы сканера не теряются.
   Правило накрывает и окна modalGenerate, и жёстко прошитые "modal fade" в лейаутах. */
.modal.fade,
.modal.fade .modal-dialog,
.modal-backdrop.fade {
    transition: none !important;
}
/* office.css даёт .modal-content { transition: .5s } - плавала ширина окна при подгрузке тела */
.modal .modal-content {
    transition: none;
}
