/* MultiBar 1.8.8 */

/* ---------- Склад: без категорий и алфавита, кнопки сверху — компактные, в цветах интерфейса ---------- */
#inventory .inv-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin: 0 0 12px; }
#inventory .inv-actions .btn {
    height: 38px; min-height: 38px; padding: 0 10px; font-size: 13px; font-weight: 800; border-radius: 12px; margin: 0;
    display: inline-flex; align-items: center; justify-content: center; gap: 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    background: var(--card) !important; color: var(--primary) !important; border: 1.5px solid rgba(var(--primary-rgb), .35) !important; box-shadow: none !important;
}
#inventory .inv-actions .btn.btn-save { background: var(--primary) !important; color: #fff !important; border-color: var(--primary) !important; }
#inventory .inv-actions .btn.btn-danger { color: var(--danger) !important; background: rgba(var(--danger-rgb, 239, 68, 68), .07) !important; border-color: rgba(239, 68, 68, .4) !important; }
#inventory .inv-actions .btn:active { transform: scale(.97); }

/* переключатель Инвентаризация | Посуда: плавная смена и свайп */
@keyframes invSlideL { from { opacity: 0; transform: translateX(34px); } to { opacity: 1; transform: none; } }
@keyframes invSlideR { from { opacity: 0; transform: translateX(-34px); } to { opacity: 1; transform: none; } }
#inv-pane-main.slide-l, #inv-pane-ware.slide-l { animation: invSlideL .3s cubic-bezier(.16, 1, .3, 1); }
#inv-pane-main.slide-r, #inv-pane-ware.slide-r { animation: invSlideR .3s cubic-bezier(.16, 1, .3, 1); }
.inv-seg { position: relative; }
.inv-seg button { transition: background .25s ease, color .2s ease, opacity .2s ease, box-shadow .25s ease; }

/* ---------- Посуда: без «общего списка», фото ---------- */
.ware-sum { display: none !important; }
.ware-head { display: block; margin-bottom: 10px; }
.ware-head .ware-add { width: 100%; }
.ware-photo { flex: 0 0 46px; width: 46px; height: 46px; border-radius: 12px; border: 1.5px dashed var(--border); background: var(--bg); color: var(--text); opacity: .85; display: inline-flex; align-items: center; justify-content: center; padding: 0; overflow: hidden; cursor: pointer; }
.ware-photo.has { border-style: solid; opacity: 1; }
.ware-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ware-pic { display: flex; align-items: center; gap: 12px; }
.ware-pic-box { flex: 0 0 84px; width: 84px; height: 84px; border-radius: 16px; border: 1.5px dashed var(--border); background: var(--bg); color: var(--text); opacity: .85; display: inline-flex; align-items: center; justify-content: center; padding: 0; overflow: hidden; cursor: pointer; }
.ware-pic-box.has { border-style: solid; opacity: 1; }
.ware-pic-box img { width: 100%; height: 100%; object-fit: cover; }
.ware-pic-act { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.ware-pic-act .btn-main { height: 38px; padding: 0 12px; font-size: 13.5px; display: inline-flex; align-items: center; gap: 6px; }
.ware-pic-act [hidden] { display: none !important; }

/* ---------- Остатки: кнопки не вылезают за поля ---------- */
.res-actions-row { flex-wrap: wrap !important; }
.res-actions-row .btn-main {
    min-width: 0 !important; max-width: 100%; box-sizing: border-box; white-space: normal !important; line-height: 1.2; text-align: center;
    display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 10px 10px !important; font-size: 13px !important; overflow: hidden;
}
.res-actions-row .btn-main svg { flex: 0 0 auto; }
.res-actions-row #btn-clear-res { flex: 0 0 auto !important; }
#residues .res-actions-row > .btn-main:first-of-type { flex: 1 1 150px !important; }
#btn-export-res { flex: 1 1 100% !important; }

/* ---------- Каталог заказов: поставщики и минималки ---------- */
.orders-minimums-list { display: flex; flex-direction: column; gap: 8px; }
.oa-add-row.with-min { grid-template-columns: minmax(0, 1fr) auto !important; gap: 10px !important; align-items: stretch; margin-bottom: 14px; }
.oa-add-row.with-min .oa-money { width: 100%; min-width: 0; }
.oa-add-row.with-min .oa-money input { padding: 0 28px 0 12px !important; text-align: left; }
.oa-add-row.with-min .oa-add-btn { min-width: 118px; padding: 0 16px !important; }
.oa-row.oa-row-sup { padding: 8px 10px !important; }
.oa-row.oa-row-sup.open { padding-bottom: 10px !important; border-color: rgba(var(--primary-rgb), .45) !important; }
.oa-row.oa-row-sup .oa-row-panel-in { gap: 12px; align-items: center; }
.oa-row.oa-row-sup.open .oa-row-panel-in { margin-top: 8px; padding-top: 10px; border-top: 1px dashed var(--border); }
.oa-row.oa-row-sup.open .oa-row-panel-in { padding-top: 10px !important; }
.oa-row.oa-row-sup .oa-row-cap { flex: 1 1 auto; min-width: 0; font-size: 13px; line-height: 1.25; opacity: .7; }
.oa-row.oa-row-sup .oa-money { width: 136px !important; flex: 0 0 136px; }
.oa-row.oa-row-sup .oa-money input { height: 42px !important; font-size: 16px !important; text-align: right; border-radius: 12px !important; }

/* ---------- Выезжающие панели внутри окон с обоями — непрозрачные (накладные, чат, профиль…) ---------- */
html[data-wallpaper]:not([data-wallpaper="none"]) .nkl-sheet-box,
html[data-wallpaper]:not([data-wallpaper="none"]) .chat-sheet-box,
html[data-wallpaper]:not([data-wallpaper="none"]) .chat-profile-rows,
html[data-wallpaper]:not([data-wallpaper="none"]) .mb-viewer {
    --card: rgb(var(--card-rgb)); --surface: rgb(var(--card-rgb)); --bg: rgb(var(--bg-rgb)); --surface-2: rgb(var(--bg-rgb));
    background: rgb(var(--card-rgb)) !important;
}

/* ---------- iPhone / Safari: страница не «приподнята», нет белой полосы снизу ---------- */
body { overflow-x: clip !important; min-height: 100vh; min-height: 100dvh; }
html { min-height: 100%; background-color: var(--bg); }
.chat-overlay, .nkl-overlay { height: var(--vvh, 100dvh) !important; }

/* ---------- Чаты: свайп-удаление без «растяжения» — кнопка фиксированной ширины, строка просто сдвигается ---------- */
.chat-swipe-del { width: 92px !important; transition: none !important; opacity: 0; }
.chat-swipe.sw-on .chat-swipe-del { opacity: 1; }
.chat-swipe .chat-li { transition: transform .22s cubic-bezier(.2, .8, .2, 1); }

/* ---------- Аватарки: значок «в сети» целиком виден, с обводкой, на краю кружка ---------- */
.mb-avatar { overflow: visible !important; }
.mb-avatar img { border-radius: 50%; }
.mb-avatar .mb-online { right: -2px !important; bottom: -2px !important; width: 14px !important; height: 14px !important; box-shadow: 0 0 0 2.5px rgb(var(--card-rgb)) !important; z-index: 2; }
.mb-avatar.xs .mb-online, .chat-member .mb-avatar .mb-online { width: 10px !important; height: 10px !important; right: -1px !important; bottom: -1px !important; box-shadow: 0 0 0 2px rgb(var(--card-rgb)) !important; }
.mb-avatar.lg .mb-online { width: 18px !important; height: 18px !important; right: 2px !important; bottom: 2px !important; box-shadow: 0 0 0 3px rgb(var(--card-rgb)) !important; }

/* ---------- Выбор даты/времени: крестик в шапке окна, не уезжает ---------- */
.mb-picker-box { position: relative; overflow: hidden; }
.mb-picker-header .overlay-x { position: static !important; flex: 0 0 auto; width: 36px; height: 36px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; padding: 0; background: rgba(var(--primary-rgb), .08); transform: none !important; margin: 0 !important; }
.mb-picker-overlay { z-index: 12300 !important; }
