/* doc-project | caisse-aqp/public/assets/css/components/productStockManagerModal.css | Style la modale tactile Gérer les stocks, ses filtres Lançon/Pélissanne/Tous les PDV, le bouton Produits épuisés et la sous-modale des commandes futures concernées. | Expose: .productStockModal*, .productStockAlertModal* | Dépend de: styles globaux modal/abtn de app.css | Impacte: lisibilité, filtres PDV, vue centralisée des épuisés et bascules disponible/épuisé | Tables: aucune */
.productStockModal__card{ width:min(980px,94vw); max-height:90vh; }
.productStockModal__body{ display:flex; flex-direction:column; gap:12px; min-height:420px; }
.productStockModal__toolbar{ display:grid; grid-template-columns:minmax(240px,1fr) auto; gap:12px; align-items:center; }
.productStockModal__search{ width:100%; min-height:48px; border-radius:12px; border:1px solid rgba(255,255,255,.16); background:rgba(0,0,0,.22); color:#fff; padding:0 14px; font:inherit; }
.productStockModal__scopes{ display:flex; gap:8px; flex-wrap:wrap; }
.productStockModal__filters{ display:flex; justify-content:flex-end; gap:8px; }
.productStockModal__scope,.productStockModal__filter,.productStockModal__choice{ min-height:44px; border:1px solid rgba(255,255,255,.16); border-radius:12px; background:rgba(255,255,255,.06); color:#fff; padding:0 14px; font-weight:850; cursor:pointer; }
.productStockModal__scope.is-active{ background:rgba(42,124,255,.28); border-color:rgba(42,124,255,.65); }
.productStockModal__filter{ display:inline-flex; align-items:center; justify-content:center; }
.productStockModal__filter.is-active{ background:rgba(211,59,69,.30); border-color:rgba(211,59,69,.72); }
.productStockModal__status{ color:var(--muted); font-size:13px; }
.productStockModal__list{ display:flex; flex-direction:column; gap:8px; overflow:auto; padding-right:4px; }
.productStockModal__row{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:center; border:1px solid rgba(255,255,255,.10); border-radius:14px; padding:10px 12px; background:rgba(255,255,255,.035); }
.productStockModal__row.is-busy{ opacity:.55; pointer-events:none; }
.productStockModal__product{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.productStockModal__product strong{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.productStockModal__product span{ color:var(--muted); font-size:12px; }
.productStockModal__choices{ display:flex; gap:8px; }
.productStockModal__choice--available.is-active{ background:rgba(31,143,79,.32); border-color:rgba(31,143,79,.70); }
.productStockModal__choice--unavailable.is-active{ background:rgba(211,59,69,.30); border-color:rgba(211,59,69,.72); }
.productStockAlertModal__card{ width:min(760px,92vw); max-height:86vh; }
.productStockAlertModal__intro,.productStockAlertModal__note{ color:var(--muted); }
.productStockAlertModal__list{ display:flex; flex-direction:column; gap:8px; max-height:52vh; overflow:auto; }
.productStockAlertModal__row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 12px; border-radius:12px; background:rgba(211,59,69,.10); border:1px solid rgba(211,59,69,.24); }
.productStockAlertModal__main{ display:flex; flex-direction:column; gap:3px; }
.productStockAlertModal__main span{ color:var(--muted); font-size:12px; }
.productStockAlertModal__qty{ font-weight:950; font-size:18px; }
@media (max-width:700px){ .productStockModal__toolbar,.productStockModal__row{ grid-template-columns:1fr; } .productStockModal__scopes,.productStockModal__filters,.productStockModal__choices{ width:100%; } .productStockModal__scope,.productStockModal__filter,.productStockModal__choice{ flex:1; } }