.stock-actions { grid-template-columns: repeat(4, 1fr); }
.agent-progress { position:fixed; z-index:40; top:12px; left:50%; transform:translateX(-50%); width:min(90vw,440px); background:#126f5a; color:white; padding:14px; border-radius:12px; box-shadow:0 4px 16px #0003; font-size:14px; }
.mic, .large-mic { touch-action: none; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.empty-state { padding: 22px 8px; text-align: center; color: #819089; font-size: 12px; }
.ledger-item > span:nth-child(2), .flow-row > span:nth-child(2) { min-width: 0; flex: 1; }
.ledger-item .edit-row, .ledger-item .delete-row { flex: 0 0 auto; }
@media (max-width: 370px) { .stock-actions { grid-template-columns: repeat(2, 1fr); } }
#batchSheet { width:min(1200px,96vw); max-height:92dvh; overflow-y:auto; }
.batch-scroll { overflow:auto; max-height:56dvh; margin:16px 0; }
#batchTable { border-collapse:collapse; width:100%; font-size:14px; }
#batchTable th, #batchTable td { padding:8px; border:1px solid #dce4df; vertical-align:top; }
#batchTable th { position:sticky; top:0; background:#edf4f0; z-index:1; white-space:nowrap; }
#batchTable input, #batchTable select { min-width:100px; width:100%; padding:9px; margin:0; border:1px solid #c5d1cb; border-radius:6px; }
#batchTable input[data-field="productName"], #batchTable input[data-field="summary"] { min-width:190px; }
#batchTable input[type="checkbox"], #batchReviewed { min-width:20px; width:20px; height:20px; }
#batchTable .uncertain { background:#fff0b8; border-color:#a66b00; }
#batchTable .review-notes { min-width:250px; white-space:pre-wrap; color:#714a00; background:#fffae9; }
#batchError { color:#b42318; white-space:pre-wrap; }
.task-notice { padding:14px; background:#edf4f0; border:1px solid #b7c9bf; border-radius:12px; margin:12px 0; }
.task-notice.running, .task-notice.failed { position:fixed; z-index:120; bottom:82px; left:3vw; width:94vw; max-height:38dvh; overflow:auto; box-sizing:border-box; box-shadow:0 4px 20px #0003; }
.task-notice.failed { background:#fff1ed; border-color:#b42318; }
.task-notice p { white-space:pre-wrap; overflow-wrap:anywhere; }
.task-notice button { padding:10px; margin:5px; border:1px solid #b7c9bf; border-radius:8px; background:white; }
.task-notice[hidden] { display:none; }
