/* Раздел «Перемещения» (moves.js, этап 5.4): список, карточка перемещения, форма создания, заявки филиалов и документ
   заявки, запросы на поставку и распределение поставки по складам (sp-*). Компоненты -
   ui.css, общие классы страниц - ro-* (reports.css); свои - mo-*. Цвет - только у меток, заметок состояния и кнопки
   основного действия: выбранный отбор и «ждет: ...» выделены без акцента (как в «Складах»). */

.mo-page { max-width: 1200px; }
.mo-page .ui-seg button[aria-pressed="true"] { background: var(--surface-2); color: var(--text); box-shadow: inset 0 0 0 1px var(--text-2); }      /* выбранный отбор - без цвета */
.mo-num { font-weight: 650; font-variant-numeric: tabular-nums; }
.mo-mine { font-weight: 600; }
.mo-arr { margin: 0 2px; color: var(--text-3); }
.mo-none { color: var(--text-3); }
.mo-back { margin: 0 0 var(--s-4); }
.mo-head { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3) var(--s-6); min-width: 0; }
.mo-head h1 { margin: 0; }
.mo-acts { display: flex; flex-wrap: wrap; gap: var(--s-3); margin: var(--s-6) 0; }
.mo-sec { margin: var(--s-12) 0 var(--s-4); font-size: var(--fs-lg); font-weight: 650; }
.mo-kv { max-width: 760px; margin: var(--s-6) 0; }
.mo-kv .sub { display: block; margin-top: 1px; font-size: var(--fs-xs); color: var(--text-3); }
.mo-card .ui-note { margin: 0 0 var(--s-4); }
.mo-total td { font-weight: 650; }
.mo-hist td { vertical-align: top; }

/* список заявок филиалов: сортировка нажатием на заголовок столбца (стрелка - ui.css), на телефоне - поле «Сортировка» */
.mo-reqs th[data-sort]:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }

/* документ заявки: таблица привязанных документов (перемещения заявки и документы 1С) */
.rq-docs td.lead { white-space: nowrap; }

/* документ заявки филиала (вид mreq, параметр rid): отправитель - выбор склада, пока перемещения нет; количества к отгрузке */
.rq-src { min-height: 40px; max-width: 360px; }
/* «Назначить» рядом с выбором склада: назначение отправителя пишется в заявку 1С */
.rq-set { margin: var(--s-2) 0 0; }
.rq-lines .mo-q { width: 110px; }
/* «Отправил» и «Получил» видны всегда: недоступная - бледная (aria-disabled), нажатие на нее объясняет причину */
.mo-off { opacity: .55; cursor: not-allowed; }
.rq-doc .rq-who { margin: calc(-1 * var(--s-3)) 0 var(--s-4); }
.rq-doc .ui-hint { margin: 0 0 var(--s-4); }

/* запросы на поставку (вид msup): список и документ с распределением поставки по складам */
.mo-reqs th[data-ssort]:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.sp-items { display: grid; gap: var(--s-4); max-width: 760px; margin: 0 0 var(--s-6); }
.sp-item { padding: var(--s-4); border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface); }
.sp-h b { display: block; }
.sp-h .sub, .sp-n { font-size: var(--fs-xs); color: var(--text-3); }
.sp-n { margin: var(--s-1) 0 var(--s-3); }
.sp-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); margin-bottom: var(--s-2); }
.sp-row .ui-select { flex: 1 1 220px; min-width: 0; min-height: 40px; }
.sp-doc .mo-acts { margin: var(--s-6) 0; }

/* форма создания */
.mo-form { display: grid; gap: var(--s-6); max-width: 960px; }
.mo-stores { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--s-4); }
.mo-stores .ui-field { flex: 1 1 240px; min-width: 0; }
.mo-stores .ui-select { min-height: 44px; }
.mo-swap { min-height: 44px; }
.mo-q { width: 120px; min-height: 40px; text-align: right; font-variant-numeric: tabular-nums; }
.mo-unit { color: var(--text-3); font-size: var(--fs-sm); }
.mo-x { width: 1%; white-space: nowrap; }
.mo-find-r { display: grid; gap: 2px; margin-top: var(--s-2); }
.mo-hit { display: block; width: 100%; padding: var(--s-3) var(--s-4); text-align: left; border: 1px solid var(--line); border-radius: var(--r-md);
  background: var(--surface); color: var(--text); cursor: pointer; font: inherit; }
.mo-hit:hover { border-color: var(--text-2); }
.mo-hit:focus-visible { outline: none; box-shadow: var(--focus); }
.mo-hit .sub { display: block; font-size: var(--fs-xs); color: var(--text-3); }
.mo-res .mo-q { width: 110px; }

@media (hover: none) { .mo-q, .mo-form .ui-input, .mo-form .ui-select { font-size: 16px; } }
@media (max-width: 760px) {
  .mo-acts .ui-btn { flex: 1 1 auto; min-height: 48px; }
  .mo-stores .ui-field { flex: 1 1 100%; }
  .mo-swap { align-self: center; }
  .mo-q { width: 100%; max-width: 160px; }
  .mo-x { width: auto; }
}
@media print { .mo-acts, .mo-back, .mo-form .mo-find { display: none !important; } }
