/* The worklist stays next to the manifest; individual table and form controls
   retain the common source styles in vendor/, business.css and filters.css. */
.rv-workspace {
  display: grid;
  grid-template-columns: clamp(228px, 22%, 308px) minmax(0, 1fr);
  align-items: start;
  gap: 16px;
}
.rv-queue, .rv-manifest, .rv-materials, .rv-empty {
  min-width: 0;
  border-radius: 4px;
  background: #fff;
}
.rv-queue { padding: 20px 0 12px; }
.rv-queue .rv-tabs { margin: 0 20px 8px; }
.rv-tabs .drill-tab:hover { color: #165dff; }
.rv-tabs .drill-tab:focus-visible, .rv-batch:focus-visible {
  outline: 1px solid #165dff;
  outline-offset: -1px;
}
.rv-queue-list { display: grid; gap: 4px; padding: 0 8px; }
.rv-batch {
  display: grid;
  gap: 8px;
  width: 100%;
  padding: 14px 12px;
  text-align: left;
  color: #1d2129;
  background: transparent;
  border: 0;
  border-radius: 4px;
}
.rv-batch:hover { background: #f7f8fa; }
.rv-batch[aria-pressed="true"] { background: #f5f9ff; }
.rv-batch[aria-pressed="true"] strong { color: #165dff; }
.rv-batch strong { font-weight: 500; font-size: 16px; line-height: 16px; }
.rv-queue-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #4e5969;
  font-size: 12px;
  line-height: 16px;
}
.rv-queue-meta time { color: #86909c; }
.rv-queue-location, .rv-empty-label { color: #4e5969; }
.rv-empty-label { padding: 20px 12px; }
.rv-detail { display: grid; gap: 16px; min-width: 0; }
.rv-manifest, .rv-materials { padding: 20px; }
.rv-manifest { border-radius: 4px; }
.rv-batch-head, .rv-footer, .rv-footer > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.rv-batch-head h1, .rv-materials h2 {
  font: 500 16px/16px "PingFang SC", "Microsoft YaHei", sans-serif;
  color: #1d2129;
  margin: 0;
}
.rv-batch-head { align-items: center; justify-content: space-between; }
.rv-meta {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) repeat(2, minmax(0, 1fr));
  gap: 16px 24px;
  padding: 20px 0 0;
  margin: 16px 0 0;
  border-top: 1px solid #e5e6eb;
}
.rv-meta dt { color: #86909c; font: 400 14px/14px "PingFang SC", sans-serif; }
.rv-meta dd { margin: 8px 0 0; overflow-wrap: anywhere; }
.rv-materials h2 { display: flex; align-items: baseline; gap: 12px; margin-bottom: 16px; }
.rv-materials h2 small { font: 400 14px/14px "PingFang SC", sans-serif; color: #86909c; }
.rv-table { min-width: 594px; }
.rv-closed-table { min-width: 552px; }
.rv-table .rv-check-width { width: 60px; }
.rv-table .rv-name-width { width: auto; }
.rv-table .rv-quantity-width { width: 100px; }
.rv-table .rv-reason-width { width: 110px; }
.rv-table .rv-action-width { width: 60px; }
.rv-table .rv-check-col { padding-right: 0; }
.rv-table .rv-item-name { font-weight: 500; }
.rv-table small { display: block; color: #86909c; font: 400 12px/16px "PingFang SC", sans-serif; }
.rv-footer { justify-content: space-between; padding-top: 20px; }
.rv-footer > div { gap: 12px; color: #4e5969; }
.rv-footer strong { color: #1d2129; font-weight: 500; }
.rv-diff { color: #4e5969; padding-left: 12px; border-left: 1px solid #e5e6eb; }
.rv-empty { display: grid; justify-items: center; align-content: center; min-height: 304px; gap: 12px; }
.rv-editor, .rv-editor .dialog-body { overflow: visible; }
@media (max-height: 600px) {
  .rv-editor .eager-select-popup { top: auto; bottom: calc(100% + 4px); }
}
@media (max-height: 420px) {
  .rv-editor .dialog-body { overflow: auto; }
}
.rv-editor .rv-edit-summary { display: grid; gap: 4px; padding-bottom: 20px; }
.rv-edit-summary strong { font-weight: 500; }
.rv-edit-summary span, .rv-number-unit > span { color: #4e5969; }
.rv-number-unit { display: flex; align-items: center; gap: 8px; }
.rv-number-unit input { width: 150px; }
.rv-editor .rv-reason-row { margin-bottom: 0; }
.rv-editor .form-row:last-child { padding-bottom: 0; }
.rv-editor .eager-select-trigger[aria-invalid="true"] { box-shadow: inset 0 0 0 1px #f53f3f; }
@media (max-width: 1130px) {
  .rv-workspace { grid-template-columns: minmax(0, 1fr); }
  .rv-queue-list { display: flex; flex-wrap: wrap; }
  .rv-batch { flex: 1 1 180px; max-width: 310px; }
}
@media (max-width: 960px) {
  .rv-meta { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.rv-table .rv-number { text-align: right; font-variant-numeric: tabular-nums; }
