.transfer-tabs,.transfer-modes{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.transfer-tabs button,.transfer-modes button{border:1px solid #d8e1d9;background:#fff;border-radius:10px;padding:12px 18px}.transfer-tabs .selected,.transfer-modes .selected{background:#e7efe9;border-color:#547b65;color:#224e36;font-weight:700}.transfer-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.transfer-grid .panel{min-width:0}.transfer-input{display:flex;gap:8px}.transfer-input input{min-width:0;flex:1}.transfer-context{display:grid;gap:5px;background:#f3f6f2;border-radius:10px;padding:14px;margin:16px 0}.transfer-context span,.transfer-product small,.transfer-history small{color:#69766e}.transfer-product{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid #edf0eb}.transfer-product>div{flex:1;min-width:0}.transfer-product code,.transfer-product small,.transfer-line code{display:block;overflow-wrap:anywhere}.transfer-product img,.transfer-photo{width:56px;height:64px;object-fit:contain;border-radius:8px;background:#f4f4f0;display:grid;place-items:center;font-size:30px}.transfer-product strong{white-space:nowrap}.transfer-line{display:flex;gap:10px;align-items:center;border-bottom:1px solid #e4e9e1;padding:12px 0}.transfer-line span{flex:1}.transfer-quantity{padding:16px;background:#edf4ee;margin-top:14px;border-radius:12px}.transfer-quantity>b,.transfer-quantity>code{display:block}.transfer-alert{background:#fff0ef;color:#a62928;border:1px solid #e8b5b3;border-radius:12px;padding:16px;margin-bottom:16px;font-weight:700}.transfer-history{padding:14px 0;border-bottom:1px solid #e1e8df}.transfer-history summary{display:flex;gap:16px;align-items:center;flex-wrap:wrap;cursor:pointer}.transfer-history summary small{margin-left:auto}.transfer-history p{margin:8px 0}.transfer-products{max-height:460px;overflow:auto}@media(max-width:850px){.transfer-grid{grid-template-columns:1fr}.transfer-tabs button{flex:1}.transfer-input{flex-wrap:wrap}.transfer-input input{width:100%}.transfer-history summary small{margin-left:0;width:100%}}
.shell aside nav [data-page="placement"],.shell [data-action="go-place"]{display:flex!important}
.batch-expiry{margin:18px 0;padding:16px;border:1px solid #d5dfd2;border-radius:12px;background:#f6f8f2}.batch-expiry>label{display:flex;gap:10px;align-items:center}.batch-expiry input[type=checkbox]{width:18px;min-height:18px;margin:0}.transfer-lot{margin-top:12px;border:1px solid #cbd9c6;background:#f4f8f0;padding:12px;border-radius:10px}.transfer-lot code{display:block}
.transfer-grid~.panel .table-wrap{max-height:340px;overflow:auto}.transfer-grid~.panel:has(.transfer-history){max-height:360px;overflow:auto}.transfer-grid~.panel th{position:sticky;top:0;background:#f1f5ee;z-index:1}
