/* Редактор документов: собственная раскладка по замерам карточки МойСклада.
 * Элементы react/gwt и ячейки data-ms-cell улучшает m_controls; имена полей остаются прежними.
 * Значения геометрии — локальная сверка 29.09.2026; чужие стили, изображения и шрифты не переносились. */
.ms-docedit {
  --docedit-font: 'Svod Onest', Arial, sans-serif;
  padding: 20px 40px 64px; margin: 0; color: #222; background: #fff;
  font: 400 12px/normal "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif;
}
.ms-docedit [hidden] { display: none !important; }
.ms-docedit input, .ms-docedit textarea, .ms-docedit button, .ms-docedit select { font-family: inherit; }
.ms-docedit-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ms-docedit-muted { color: #888; }
.ms-docedit-fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }

/* Верхняя полоса: 28 px кнопки, 10 px между ними; меню не обрезается при прокрутке. */
.ms-docedit .ms-docedit-toolbar { flex-wrap: wrap; align-items: center; height: auto; min-height: 34px; row-gap: 6px; overflow: visible; }
.ms-docedit .ms-docedit-toolbar > button { margin-left: 0; }
/* Волна 40: «Сохранить» — скругление 3 px и 10 px до «Закрыть», как у МойСклада во всех формах (эталоны: «Закрыть» с x 131,6);
   общее правило «встык» кнопок панели карточки (card.css) его обнуляло. */
.ms-docedit .ms-docedit-toolbar > button.ms-btn-green[data-docedit-submit] { margin-right: 10px; border-radius: 3px; }
.ms-docedit-state-note { margin-left: 8px; color: #909090; white-space: nowrap; line-height: 28px; }
.ms-docedit-more .ms-card-action-options { min-width: 180px; }
/* «Изменить» и «Создать документ»: активные пункты — ссылки и кнопки «сохранить и …» нового документа (волна 32) — тёмные,
   неактивные («Удалить» нового, вид без редактора в Своде) — серые, как в МойСкладе. */
:is(.ms-docedit-more, .ms-docedit-create) .ms-card-action-options button, :is(.ms-docedit-more, .ms-docedit-create) .ms-card-action-options a {
  display: block; width: 100%; box-sizing: border-box; padding: 4px 15px; border: 0; background: transparent; color: #222;
  font: 12px/15px Arial, sans-serif; text-align: left; text-decoration: none; white-space: nowrap; cursor: pointer;
}
:is(.ms-docedit-more, .ms-docedit-create) .ms-card-action-options button:not(:disabled):is(:hover, :focus),
:is(.ms-docedit-more, .ms-docedit-create) .ms-card-action-options a:is(:hover, :focus) { background: #dcdcdc; outline: 0; }
:is(.ms-docedit-more, .ms-docedit-create) .ms-card-action-options button:disabled { color: #999; cursor: default; }

.ms-docedit-errors { margin: 10px 0 0; padding: 8px 12px; border: 1px solid #f0b7a8; border-radius: 3px; background: #fdecea; color: #7a1c0c; }
.ms-docedit-errors ul { margin: 4px 0 0; padding-left: 18px; }
.ms-docedit-errors li + li { margin-top: 2px; }
.ms-docedit-basis, .ms-docedit-note { margin: 8px 0 0; color: #555; }
.ms-docedit-basis a, .ms-docedit-basis a:visited { color: #186999; }
.ms-docedit .ms-docedit-bin { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.ms-docedit-bin .ms-btn { margin: 0; }

/* Номер — текст заголовка, рамка появляется при наведении и вводе. Дату рисует W1. */
.ms-docedit .ms-docedit-heading { flex-wrap: wrap; gap: 12px; margin-top: 11px; min-height: 31px; white-space: normal; }
.ms-docedit-heading h1 { gap: 5px; flex-wrap: wrap; white-space: normal; }
.ms-docedit .ms-docedit-heading .ms-docedit-number {
  box-sizing: content-box; width: 42px; min-width: 30px; max-width: 100%; height: 22px; padding: 0 5px; margin: 0;
  border: 1px solid #fff; border-radius: 0; outline: 0; box-shadow: none;
  color: #222; background: #fff; font: 400 18px/22px Arial, sans-serif; text-align: center;
}
.ms-docedit .ms-docedit-heading .ms-docedit-number:hover,
.ms-docedit .ms-docedit-heading .ms-docedit-number:focus { border-color: #bfbfbf; outline: 0; }
.ms-docedit .ms-docedit-number::placeholder { color: #888; opacity: 1; }
.ms-docedit .ms-docedit-heading .ms-docedit-number[aria-invalid="true"] { border-color: red; color: red; }
.ms-docedit-flag { display: inline-flex; align-items: center; height: 21px; gap: 5px; margin: 0 35px 0 12px; }
/* «?» + флажок (как МойСклад: «(?) ☑ Проведено», «(?) ☐ Резерв»); отступы пары — прежние отступы флажка. */
.ms-docedit-flag-pair { display: inline-flex; align-items: center; height: 21px; gap: 5px; margin: 0 35px 0 12px; white-space: nowrap; }
.ms-docedit-flag-pair > .ms-docedit-flag, .ms-docedit-flag-pair > .ms-docedit-hold-flag { margin: 0; }
.ms-docedit-flag-help { display: inline-flex; flex: none; }
.ms-docedit-flag > span { line-height: 21px; }

/* Ширина подписи определяется самым длинным текстом колонки, затем ровно 10 px до поля.
 * display:contents связывает все строки колонки одной сеткой; длинные подписи не залезают на дату. */
.ms-docedit .ms-docedit-fields { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 10px 50px; width: auto; margin-top: 15px; overflow: visible; }
.ms-docedit .ms-docedit-fields .ms-card-field-column { display: grid; grid-template-columns: max-content 250px; gap: 10px; min-width: 0; flex: 0 0 auto; }
.ms-docedit .ms-docedit-fields .ms-docedit-field { display: contents; margin: 0; }
.ms-docedit .ms-docedit-fields .ms-card-label { box-sizing: border-box; height: 21px; padding: 4px 0 0; margin: 0; color: #222; font-size: 12px; line-height: 14px; white-space: nowrap; }
.ms-docedit .ms-card-required::before { color: red; }
.ms-docedit .ms-card-value { min-width: 0; width: 250px; }
.ms-docedit .ms-card-value > .ms-pick { width: 250px; box-sizing: border-box; }
.ms-docedit .ms-docedit-input:not([type="date"]):not([type="datetime-local"]) { box-sizing: border-box; width: 250px; height: 21px; padding: 0 5px 0 2px; }
.ms-docedit .ms-docedit-money { text-align: right; }
.ms-docedit-textarea { box-sizing: border-box; display: block; width: 250px; min-height: 64px; margin: 0; padding: 3px; border: 1px solid #bfbfbf;
  border-radius: 0; background: #fff; color: #000; font: 400 12px/14px Arial, sans-serif; resize: vertical; }
.ms-docedit-textarea:focus { border-color: #bfbfbf; outline: 0; box-shadow: none; }
.ms-docedit [aria-invalid="true"], .ms-docedit .is-invalid > .ms-card-value > .ms-pick, .ms-docedit td.is-invalid > .ms-pick { border-color: red; }
.ms-docedit .is-invalid > .ms-card-label { color: #c0391b; }

/* Таблица React: 32 px шапка, 28 px обычная строка, поля внутри — 24 px.
 * Развёрнутые ошибки/предупреждения могут увеличить строку, чтобы текст оставался читаемым. */
.ms-docedit-positions { margin-top: 22px; }
.ms-docedit-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; font: 400 12px/20px var(--docedit-font); color: #091739; box-shadow: inset 0 1px #d1d6df; }
.ms-docedit-table th { box-sizing: border-box; height: 32px; padding: 6px 8px; border: 0; box-shadow: inset 0 -1px #d1d6df; color: #5f6d79; font-weight: 400; text-align: right; white-space: nowrap; }
.ms-docedit-table td { box-sizing: border-box; height: 28px; padding: 2px 8px; border: 0; box-shadow: inset 0 -1px #eef1f6; text-align: right; vertical-align: middle; }
.ms-docedit-row:hover, .ms-docedit-row:focus-within { background: #f1f4f9; }
.ms-docedit-table .ms-docedit-cell-seq { width: 72px; padding-right: 32px; color: #7e8b97; text-align: center; }
.ms-docedit-table .ms-docedit-cell-name { width: 600px; text-align: left; }
.ms-docedit-table .ms-docedit-cell-space { width: auto; padding: 0; }
.ms-docedit-table .ms-docedit-cell-name .ms-pick { width: 100%; box-sizing: border-box; }
.ms-docedit-table .ms-docedit-cell-quantity { width: 120px; }
.ms-docedit-table .ms-docedit-cell-discount { width: 80px; }
/* «Без НДС» целиком, как у МойСклада (на 80 px выходило «Без Н»; учебный Свод на настоящих данных, 29.09.2026). */
.ms-docedit-table .ms-docedit-cell-vat { width: 100px; }
.ms-docedit-table .ms-docedit-cell-price, .ms-docedit-table .ms-docedit-cell-sum { width: 120px; white-space: nowrap; }
.ms-docedit-table .ms-docedit-cell-available { width: 100px; }
.ms-docedit-table .ms-docedit-cell-remove { width: 28px; padding: 0; text-align: center; }
.ms-docedit-table .ms-docedit-num { box-sizing: border-box; width: 100%; height: 24px; padding: 1px 3px; text-align: right; font: inherit; }
.ms-docedit-table .ms-sel { width: 100%; max-width: 100%; box-sizing: border-box; }
.ms-docedit-remove { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; padding: 0; margin: 0; border: 0; border-radius: 4px;
  background: transparent; color: #5f6d79; cursor: pointer; opacity: 0; }
.ms-docedit-row:hover .ms-docedit-remove, .ms-docedit-row:focus-within .ms-docedit-remove, .ms-docedit-remove:focus-visible { opacity: 1; }
.ms-docedit-remove:hover { color: #091739; background: #e7eaf0; }
.ms-docedit-remove:focus-visible { outline: 1px solid #091739; outline-offset: -1px; }
.ms-docedit-remove:active { background: #d1d6df; }
.ms-docedit-add { display: flex; align-items: center; flex-wrap: wrap; gap: 0; min-height: 32px; padding: 0; box-shadow: inset 0 -1px #eef1f6; font: 400 14px/20px var(--docedit-font); }
.ms-docedit-add-button { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 48px; width: 48px; height: 28px; padding: 0; border: 0; background: transparent; color: #036ce5; cursor: pointer; }
.ms-docedit-add-button:hover { color: #0b7cff; }
.ms-docedit-add-button:active { color: #005dc9; }
.ms-docedit-add-button:focus-visible { outline: 1px solid #091739; outline-offset: -2px; border-radius: 4px; }
.ms-docedit-add-search { display: flex; align-items: center; width: 480px; max-width: calc(100% - 48px); }
.ms-docedit-add .ms-docedit-add-search .ms-pick.ms-lookup { box-sizing: border-box; width: 100%; height: 24px; border-radius: 8px; background: #fff; }
.ms-docedit-add .ms-docedit-add-search .ms-lookup > input.ms-input { box-sizing: border-box; height: 22px; width: 100%; padding: 0 16px; font: 400 14px/normal var(--docedit-font); }
.ms-docedit-add-search [data-ms-lookup-open] { display: none; }
.ms-docedit-add-quantity { margin-left: auto; padding: 0 10px; font: 700 14px/18px var(--docedit-font); }
.ms-docedit .ms-docedit-bottom { display: flex; align-items: flex-start; justify-content: space-between; margin-top: 24px; gap: 50px; }
.ms-docedit textarea.ms-docedit-comment { box-sizing: border-box; flex: 1 1 auto; width: auto; max-width: 100%; height: 64px; min-height: 64px; margin: 0; padding: 3px; border: 1px solid #bfbfbf; border-radius: 0; background: #fff; color: #222; font: 400 12px/14px Arial, sans-serif; resize: vertical; }
.ms-docedit textarea.ms-docedit-comment:focus { border-color: #bfbfbf; outline: 0; }
.ms-docedit .ms-docedit-totals { flex: 0 0 auto; width: auto; min-width: 280px; padding-right: 10px; color: #222; font: 400 14px/18px var(--docedit-font); }
.ms-docedit .ms-docedit-totals > div { display: flex; justify-content: space-between; gap: 20px; margin: 0; }
.ms-docedit .ms-docedit-totals > div + div { margin-top: 8px; }
.ms-docedit .ms-docedit-totals .ms-card-subtotal { font-size: 20px; line-height: 24px; font-weight: 700; }
.ms-docedit.is-locked .ms-docedit-remove, .ms-docedit.is-locked .ms-docedit-add { display: none; }
.ms-docedit-notready { max-width: 760px; }
.ms-docedit-notready h1, .ms-docimport h1 { margin: 10px 0 12px; font: 400 18px/24px Arial, sans-serif; }
.ms-docedit-notready p { margin: 0 0 12px; line-height: 1.45; }

@media (max-width: 900px) {
  .ms-docedit { padding: 16px; }
  .ms-docedit .ms-docedit-heading { overflow: visible; }
  .ms-docedit .ms-docedit-fields { max-width: 100%; }
  .ms-docedit .ms-card-field-column { flex: 1 1 100%; min-width: 0; }
  .ms-docedit .ms-docedit-fields .ms-card-field-column { display: block; width: 100%; }
  .ms-docedit .ms-docedit-fields .ms-docedit-field { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3px; margin-bottom: 10px; }
  .ms-docedit .ms-card-field { grid-template-columns: 1fr; row-gap: 3px; }
  .ms-docedit .ms-card-label { height: auto; padding-top: 0; }
  .ms-docedit .ms-card-value { min-width: 0; }
  .ms-docedit .ms-card-value .ms-select, .ms-docedit .ms-card-value .ms-pick, .ms-docedit-textarea { width: 100%; max-width: 100%; }
  .ms-docedit-table, .ms-docedit-table tbody { display: block; width: 100%; }
  .ms-docedit-table thead { display: none; }
  .ms-docedit .ms-docedit-remove { opacity: 1; }
  .ms-docedit .ms-docedit-add-search { width: auto; flex: 1; min-width: 0; }
  .ms-docedit .ms-docedit-add-quantity { width: 100%; }
  .ms-docedit .ms-docedit-table { table-layout: auto; }
  .ms-docedit-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 12px; padding: 10px 0; border-bottom: 1px solid #e4e4e4; }
  .ms-docedit-table .ms-docedit-row > td { display: flex; align-items: center; justify-content: space-between; gap: 6px; width: auto; min-width: 0; height: auto;
    padding: 0; border: 0; text-align: left; }
  .ms-docedit-row > .ms-docedit-cell-name { grid-column: 1 / -1; min-width: 0; }
  .ms-docedit-row > .ms-docedit-cell-seq { grid-column: 1 / -1; justify-content: flex-start; color: #888; }
  .ms-docedit-row > .ms-docedit-cell-seq::before { content: "Позиция"; }
  .ms-docedit-row > .ms-docedit-cell-remove { justify-content: flex-end; }
  .ms-docedit-row > td::before { white-space: nowrap; }
  .ms-docedit .ms-docedit-row > td > .ms-docedit-num { flex: 0 1 96px; width: auto; min-width: 48px; }
  .ms-docedit-row > .ms-docedit-cell-quantity::before { content: "Кол-во"; color: #888; }
  .ms-docedit-row > .ms-docedit-cell-price::before { content: "Цена, ₽"; color: #888; }
  .ms-docedit-row > .ms-docedit-cell-discount::before { content: "Скидка, %"; color: #888; }
  .ms-docedit-row > .ms-docedit-cell-vat::before { content: "НДС, %"; color: #888; }
  .ms-docedit-row > .ms-docedit-cell-available::before { content: "Доступно"; color: #888; }
  .ms-docedit-row > .ms-docedit-cell-sum::before { content: "Сумма, ₽"; color: #888; }
  .ms-docedit .ms-docedit-bottom { flex-direction: column; gap: 16px; }
  .ms-docedit textarea.ms-docedit-comment { width: 100%; flex: none; }
  .ms-docedit .ms-docedit-totals { align-self: stretch; width: auto; }
}

/* Полная панель документа и дополнительные поля позиций, волна 25. */
.ms-docedit .ms-docedit-position-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ms-docedit-modern:has([data-docedit-tabs]) .ms-docedit-position-tools { position: static; margin: 8px 0; min-height: 34px; }
.ms-docedit-position-tools .ms-docedit-vat-mode { margin: 0 0 0 auto; padding: 0; display: flex; gap: 12px; }
.ms-docedit-position-tools > label { display: inline-flex; align-items: center; gap: 4px; white-space: nowrap; }
.ms-docedit .ms-docedit-position-search { width: 180px; }
.ms-docedit .ms-docedit-discount-all { width: 58px; }
.ms-docedit [hidden] { display: none !important; }
.ms-docedit-table .ms-docedit-cell-mark { min-width: 90px; width: 110px; max-width: 200px; overflow-wrap: anywhere; }
.ms-docedit-table .ms-docedit-cell-cost { min-width: 108px; text-align: right; }
.ms-docedit-table .ms-docedit-cell-gtd { min-width: 160px; }
.ms-docedit-table .ms-docedit-cell-rnpt { min-width: 190px; }
.ms-docedit-table .ms-docedit-cell-country { min-width: 160px; }
.ms-docedit-cell-gtd input, .ms-docedit-cell-rnpt input, .ms-docedit-cell-country input { width: 100%; min-width: 0; }
.ms-docedit-stock-overhead { display: flex; align-items: center; gap: 8px; margin: 12px 0; }
.ms-docedit-stock-overhead input { width: 110px; text-align: right; }
.ms-docedit-stock-overhead select { min-width: 110px; }
/* Цвета МойСклада (живая отгрузка 19293, 10.10.2026): подпись #222, долг перед нами — сумма #f00. */
.ms-docedit-agent-balance { color: #222; margin-top: 5px; font-size: 12px; }
.ms-docedit-agent-balance[hidden] { display: none; }
.ms-docedit-agent-balance .is-debt { color: #f00; }
/* «Баланс (мы должны)» — зелёным, как в МойСкладе (rgb(132, 171, 15), проба закупки 10.10.2026). */
.ms-docedit-agent-balance .is-credit { color: #84ab0f; }
.ms-docedit-payment-state { font-size: 13px; color: #666; white-space: nowrap; }
.ms-docedit-payment-state.paid { color: #328230; }
.ms-docedit-field-key-shipmentAddress .ms-card-value { display: flex; gap: 4px; }
.ms-docedit-field-key-shipmentAddress .ms-docedit-address { flex: 1; min-width: 0; }
.ms-docedit-field-key-incomingNumber .ms-card-value { display: flex; align-items: center; gap: 6px; }
.ms-docedit-field-key-incomingNumber input[name="incomingNumber"] { width: 130px; }
.ms-docedit-address-dialog, .ms-docedit-tool-dialog, .ms-docedit-import-dialog { border: 1px solid #b5b5b5; border-radius: 4px; padding: 22px; background: white; box-shadow: 0 5px 28px #0004; max-height: 85vh; overflow: auto; color: #333; }
.ms-docedit-address-dialog { width: 510px; }
.ms-docedit-address-dialog label { display: grid; grid-template-columns: 140px 1fr; align-items: center; gap: 12px; margin: 8px 0; }
.ms-docedit-address-dialog input { width: 100%; }
.ms-docedit-tool-dialog { width: 430px; }
.ms-docedit-tool-dialog label { display: flex; align-items: center; gap: 12px; }
.ms-docedit-import-dialog { width: 850px; }
.ms-docedit-import-dialog .ms-docimport-columns { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 15px 0; }
.ms-docedit-import-dialog .ms-docimport-columns label { display: flex; flex-direction: column; gap: 5px; }
.ms-docedit-import-dialog table { width: 100%; border-collapse: collapse; margin: 12px 0; }
.ms-docedit-import-dialog td, .ms-docedit-import-dialog th { padding: 6px 8px; border-bottom: 1px solid #ddd; text-align: left; }
.ms-docedit-import-dialog [data-import-preview] { max-height: 35vh; overflow: auto; }
@media print {
  .ms-docedit-toolbar, .ms-docedit-add, .ms-docedit-remove { display: none !important; }
}


/* Настройки НДС и распределение оплаты по основаниям. */
.ms-docedit-vat-mode { display: flex; align-items: center; gap: 12px; margin: 16px 0; }

.ms-docedit-allocations { margin: 16px 0; }
.ms-docedit-allocations h2 { font-size: 16px; }
.ms-docedit-allocation { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 8px 0; }
.ms-docedit-allocation > a, .ms-docedit-allocation > span:first-child { min-width: 220px; }
.ms-docedit-allocation input { max-width: 160px; }

/* Инвентаризация: учётные числа доступны для чтения, факт вводит кладовщик. */
.ms-docedit-inventory-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 10px; }
.ms-docedit-inventory-tools label { display: flex; align-items: center; gap: 6px; }
.ms-docedit-inventory-tools .ms-btn { margin: 0; }
.ms-docedit [data-docedit-calculated] { background: #f5f6f7; color: #555; border-color: transparent; }
.ms-docedit-cell-calculatedQuantity, .ms-docedit-cell-difference { width: 110px; }
.ms-docedit-type-inventory .ms-docedit-table th { white-space: normal; }
.ms-docedit [data-inventory-status].is-error { color: #b53018; }
.ms-docedit [data-docedit-difference].is-negative { color: #b53018; }
.ms-docedit [data-docedit-difference].is-positive { color: #23753a; }
.ms-docedit-type-inventory .ms-docedit-totals > div + div { margin-top: 8px; }
@media (max-width: 900px) {
  .ms-docedit-type-inventory .ms-docedit-cell-calculatedQuantity::before { content: "По учёту"; color: #888; }
  .ms-docedit-type-inventory .ms-docedit-cell-quantity::before { content: "Факт"; }
  .ms-docedit-type-inventory .ms-docedit-cell-difference::before { content: "Разница"; color: #888; }
  .ms-docedit-type-inventory .ms-docedit-cell-sum::before { content: "Сумма разницы, ₽"; }
}

/* Допполя и складской резерв/ожидание редактора. */
.ms-docedit-hold-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 10px 0; }
.ms-docedit-table .ms-docedit-cell-hold { width: 100px; white-space: normal; }
.ms-docedit-cell-hold [data-docedit-hold-note]:not(:empty) { display: block; font-size: 11px; color: #888; }
.ms-docedit-cell-hold small:empty { display: none; }
.ms-docedit-cell-hold small { display: block; font-size: 11px; margin-top: 4px; }
.ms-docedit-cell-hold [data-docedit-hold-warning] { color: #946000; }
.ms-docedit-cell-hold input[hidden] { display: none; }
/* Допполя — как у формы МойСклада (attributes-list, волна 31): без заголовка и черты; N столбцов (личное «Число
   дополнительных полей в строке»), поле i — в столбце i mod N; столбцы через 50 px, в каждом своя сетка «подпись
   слева — поле справа» (подпись по самой длинной + 10 px), строки столбцов друг от друга не зависят; поля 250×21,
   многострочное 258×35; флажок без «Да»; подсказка — значок «?» левее подписи (замер заказа 10.10.2026). */
.ms-docedit-attributes { margin: 20px 0; padding: 0; border-top: 0; }
.ms-docedit-attributes > h2 { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); }
.ms-docedit-attr-grid { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 12px 50px; }
/* Столбец допполей — по ширине своих полей (до 258 px): столбец одних флажков узкий, следующий начинается через 50 px, как у
   МойСклада (живая сверка заказа 02614, 14.10.2026: «Причина отмены заказа» с x 763, у Свода было 1005). */
.ms-docedit-attr-column { display: grid; grid-template-columns: max-content fit-content(258px); column-gap: 10px; row-gap: 12px; align-items: start; min-width: 0; }
.ms-docedit-attr { display: contents; }
.ms-docedit-attr > .ms-card-label { position: relative; display: flex; align-items: center; min-height: 21px; padding-top: 0; white-space: nowrap; grid-column: 1; }
.ms-docedit-attr > :not(.ms-card-label) { grid-column: 2; }
.ms-docedit-attr-help { position: absolute; left: -25px; top: 50%; display: inline-flex; width: 16px; height: 16px; margin-top: -8px; color: #8d9aa8; cursor: help; }
.ms-docedit-attr-help svg { width: 16px; height: 16px; }
.ms-docedit-attr-check { display: flex; align-items: center; min-height: 21px; }
.ms-docedit-attr-check > input[type="checkbox"] { margin: 0; }
.ms-docedit .ms-docedit-attr .ms-docedit-textarea { width: 258px; max-width: 100%; min-height: 35px; height: 35px; resize: both; }
.ms-docedit-attr .ms-lookup { width: 258px; max-width: 100%; }
/* Старый вид, все формы (живая сверка приёмки 06763, 18.10.2026, масштаб Chrome 192,5 %): допполя МойСклада — таблица GWT сразу
   под таблицей полей (у той в конце строка-промежуток 10 px) и в 10 px над вкладками, у каждой строки снизу свой промежуток
   10 px; подпись — 4 px от верха и 15 px до поля, строкой 12 px; многострочное поле — 250 × 30 + поля 3 + рамка (при любом
   масштабе как у МойСклада), строчный блок: ячейка под ним на 1,65 px выше поля (нижний вынос строки 11 px). Было: блок в 20 px
   от полей, подпись по центру 21 px, поле 258 × 35 — строка на 11 px ниже, колонки на 4–8 px левее. */
.ms-docedit.ms-docedit-classic .ms-docedit-attributes { margin: 10px 0 20px; }
.ms-docedit.ms-docedit-classic .ms-docedit-attr-column { column-gap: 15px; row-gap: 10px; }
.ms-docedit.ms-docedit-classic .ms-docedit-attr > .ms-card-label { align-items: flex-start; min-height: 0; padding-top: 4px; line-height: 12px; }
.ms-docedit.ms-docedit-classic .ms-docedit-attr .ms-docedit-textarea { box-sizing: content-box; width: 250px; height: 30px; min-height: 30px; padding: 3px; }
/* Тот же нижний вынос строки — у любого поля допполя (выбор 21 → строка 22,67; возврат покупателя af200f63). */
.ms-docedit.ms-docedit-classic .ms-docedit-attr > :not(.ms-card-label) { margin-bottom: 1.65px; }
/* Отгрузка (старый вид, живая сверка 19673, 14.10.2026): допполя МойСклада — таблицы GWT: подпись + 15 px до поля, флажок
   у верха строки, многострочное поле 257,33 × 37,33 (при масштабе 1,5; с 18.10.2026 — общим правилом старого вида выше: 250 × 30
   + поля и рамка); блок в 12 px под шапкой (у Свода было 20 — на 8 ниже), «Другие поля» под ним — на прежнем месте. */
/* 18.10.2026 (сверка e90208c8 при масштабе 192,5 %): у МойСклада допполя отгрузки — под панелью с адресом, на 3,12 px ниже
   таблицы полей (13,12 вместо 10), «Другие поля» — в 20 px под ними (строкой 20 px), вкладки — в 15 px под «Другими полями». */
.ms-docedit.ms-docedit-classic.ms-docedit-type-demand .ms-docedit-attributes { margin: 13.12px 0 20px; }
.ms-docedit.ms-docedit-classic .ms-docedit-other > summary { line-height: 20px; }
.ms-docedit.ms-docedit-classic .ms-docedit-other:not([open]) { margin-bottom: -5px; }
/* Возврат покупателя — та же таблица GWT (живая сверка возврата 00052, 14.10.2026): строка допполя с y 342,7. С 18.10.2026 —
   общими правилами старого вида выше (10 px под полями, 20 до вкладок; прежние 8,7 / 25,3 и 14 подгоняли масштаб 1,5). */
.ms-docedit-classic:is(.ms-docedit-type-demand,.ms-docedit-type-salesreturn) .ms-docedit-attr-column { column-gap: 15px; }
.ms-docedit-classic:is(.ms-docedit-type-demand,.ms-docedit-type-salesreturn) .ms-docedit-attr-check { align-items: flex-start; }
/* Новый вид: допполя — в 10 px под шапкой; многострочное поле у МойСклада — строчный блок, ячейка под ним 38,67 px при поле
   35, и следующие строки ниже на 3,67 px (живая сверка заказа 02614, 14.10.2026: блок стоял на 10 px ниже, строки — на 3–4 выше). */
.ms-docedit-modern .ms-docedit-attributes { margin-top: 10px; }
.ms-docedit.ms-docedit-modern .ms-docedit-attr .ms-docedit-textarea { margin-bottom: 3.67px; }
.ms-docedit-attr-readonly { white-space: pre-wrap; overflow-wrap: anywhere; }
.ms-docedit-field-error, .ms-docedit-attr.is-invalid > .ms-card-label { color: #b32424; }
@media (max-width: 620px) { .ms-docedit-attr-grid { display: block; } .ms-docedit-attr-column + .ms-docedit-attr-column { margin-top: 12px; } }
@media (max-width: 900px) {
  .ms-docedit-table .ms-docedit-row > .ms-docedit-cell-hold { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 96px; width: auto; min-width: 0; }
  .ms-docedit-type-customerorder .ms-docedit-cell-hold::before { content: "Резерв"; color: #888; }
  .ms-docedit-type-purchaseorder .ms-docedit-cell-hold::before { content: "Ожидание"; color: #888; }
  .ms-docedit-table .ms-docedit-row > .ms-docedit-cell-available { width: auto; }
  .ms-docedit-cell-hold > input { grid-column: 2; justify-self: end; }
  .ms-docedit-cell-hold > small, .ms-docedit-cell-hold > span { grid-column: 1 / -1; }
}

/* Предпросмотр Excel: колонки и результаты читаются без растягивания страницы. */
.ms-docimport form, .ms-docimport details { margin: 16px 0; }
.ms-docimport-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin: 12px 0; }
.ms-docimport-columns label { display: grid; gap: 6px; min-width: 0; }
.ms-docimport-columns > label > select, .ms-docimport-columns > label > .ms-sel { width: 100%; max-width: 100%; }
.ms-docimport-scroll { overflow: auto; max-height: 65vh; margin: 12px 0; }
.ms-docimport table { width: 100%; border-collapse: collapse; }
.ms-docimport th, .ms-docimport td { padding: 8px 12px; border-bottom: 1px solid #dfe3e8; text-align: left; vertical-align: top; }
.ms-docimport th { position: sticky; top: 0; background: #f3f5f7; }
.ms-docimport tr[data-import-status]:not([data-import-status="found"]) { background: #fff4e8; }
.ms-docimport-count { display: inline-block; margin-right: 20px; }

/* Загрузка Excel принадлежит семейству GWT: цвет фокуса задаёт общий модуль. */
.ms-docimport > p { max-width: 960px; line-height: 18px; }
.ms-docimport form > label { display: inline-flex; align-items: center; gap: 10px; }
.ms-docimport input[type="file"] { max-width: 100%; font-size: 12px; }
.ms-docimport input[type="file"]::file-selector-button { height: 28px; margin-right: 10px; padding: 0 10px; border: 1px solid #ccc; border-radius: 3px; background: linear-gradient(#fff, #e6e6e6); color: #222; font: 12px Arial, sans-serif; cursor: pointer; }
.ms-docimport input[type="file"]::file-selector-button:hover { background: linear-gradient(#fff, #f7f7f7); }
.ms-docimport input[type="file"]::file-selector-button:active { background: #f2f2f2; }
@media (max-width: 900px) {
  .ms-docedit .ms-card-value, .ms-docedit .ms-docedit-input:not([type="date"]):not([type="datetime-local"]) { width: 100%; }
  .ms-docedit .ms-docedit-fields .ms-card-label { height: 21px; }
  .ms-docedit-table .ms-docedit-row > td { box-shadow: none; }
  .ms-docedit-table .ms-docedit-cell-calculatedQuantity, .ms-docedit-table .ms-docedit-cell-difference { width: auto; }
  .ms-docedit .ms-docedit-totals { min-width: 0; padding-right: 0; }
  .ms-docimport form > label { flex-wrap: wrap; max-width: 100%; }
}

/* Без таблицы комментарий не растягивается на весь экран. */
.ms-docedit-bottom:not(:has(.ms-docedit-totals)) .ms-docedit-comment { flex: 0 1 640px; }
@media (min-width: 901px) {
  .ms-docedit-type-inventory .ms-docedit-cell-calculatedQuantity,
  .ms-docedit-type-inventory .ms-docedit-cell-quantity { width: 180px; }
  .ms-docedit-type-inventory .ms-docedit-table th { white-space: nowrap; }
}
@media (max-width: 900px) {
  .ms-docedit-bottom:not(:has(.ms-docedit-totals)) .ms-docedit-comment { flex: none; }
}

/* Остаток ширины справа, как в эталоне; при меньшем окне место получает название. */
@media (min-width: 901px) and (max-width: 1512px) {
  .ms-docedit-table .ms-docedit-cell-name { width: auto; }
  .ms-docedit-table .ms-docedit-cell-space { display: none; }
  .ms-docedit-table .ms-docedit-cell-seq { width: 48px; padding-right: 8px; }
  .ms-docedit-table .ms-docedit-cell-quantity, .ms-docedit-table .ms-docedit-cell-hold, .ms-docedit-table .ms-docedit-cell-available { width: 80px; }
  .ms-docedit-table .ms-docedit-cell-price, .ms-docedit-table .ms-docedit-cell-sum { width: 100px; }
  .ms-docedit-type-inventory .ms-docedit-cell-calculatedQuantity, .ms-docedit-type-inventory .ms-docedit-cell-quantity { width: 160px; }
}
@media (max-width: 900px) {
  .ms-docedit-table .ms-docedit-row > .ms-docedit-cell-space { display: none; }
}

/* Стык с W1: служебные оболочки ячеек имеют ту же высоту, что прежние поля.
 * Носители ms-control-source остаются под клипом общего модуля; рамки рисует W1. */
.ms-docedit [data-docedit-row] input.ms-docedit-num { height: 24px; padding: 1px 3px; font: inherit; }
.ms-docedit-table [data-ms-cell] > .ms-sel { height: 24px; padding: 1px 3px; font: inherit; }
.ms-docedit-table [data-ms-cell] > .ms-sel > .ms-sel-text { height: 20px; }
.ms-docedit .ms-docedit-table [data-ms-cell] > .ms-lookup { height: 24px; }
.ms-docedit .ms-docedit-table [data-ms-cell] > .ms-lookup > .ms-input { height: 20px; font: inherit; }
.ms-docedit [data-docedit-row] input[data-docedit-calculated][readonly] { background: transparent; border-color: transparent; color: #9fa7af; }
@media (max-width: 900px) {
  .ms-docedit .ms-card-value > .ms-sel { width: 100%; max-width: 100%; }
  .ms-docedit .ms-docedit-row > td > .ms-sel { flex: 0 1 96px; width: auto; min-width: 48px; }
}

.ms-docimport form > label.ms-check { gap: 5px; }

/* Наведение на строку показывает границы всех её доступных ячеек, как у React-таблицы.
 * Фокус, ошибка и недоступность сохраняют состояния общего элемента W1. */
.ms-docedit-row:is(:hover, :focus-within) [data-ms-cell]:where(:not(.is-invalid)) >
:is(input:not(.ms-control-source), .ms-sel, .ms-lookup):where(:not(:focus-within, :disabled, [readonly], [hidden], [aria-invalid="true"], .is-invalid, .is-disabled)) {
  border-color: #d1d6df; background: #fff;
}

.ms-docedit-hold-warnings { margin: 6px 0; color: #946000; white-space: pre-line; font: 12px/18px Arial, sans-serif; }
@media (max-width: 900px) {
  .ms-docedit .ms-card-value > .ms-pick.ms-lookup,
  .ms-docedit .ms-docedit-attr > .ms-pick.ms-lookup { width: 100%; max-width: 100%; }
}

/* V1, волна 19: геометрия отдельных видов, измеренная службой /probe по эталонам.
 * Шапка остаётся на x=40, край классической таблицы — x=10; это разные отступы. */
.ms-docedit { --docedit-table-width: 1230px; }
.ms-docedit-type-invoicein { --docedit-table-width: 1105px; }
.ms-docedit-type-invoiceout, .ms-docedit-type-internalorder { --docedit-table-width: 1040px; }
.ms-docedit-type-purchaseorder { --docedit-table-width: 1190px; }
.ms-docedit-type-supply { --docedit-table-width: 1700px; }
.ms-docedit-type-purchasereturn { --docedit-table-width: 1135px; }
.ms-docedit-type-salesreturn { --docedit-table-width: 1795px; }
.ms-docedit-type-enter { --docedit-table-width: 1710px; }
.ms-docedit-type-inventory { --docedit-table-width: 1245px; }
.ms-docedit-type-loss { --docedit-table-width: 1145px; }
.ms-docedit-type-move { --docedit-table-width: 1140px; }
.ms-docedit .ms-docedit-state-note { position: absolute; width: 1px; height: 1px; clip-path: inset(50%); overflow: hidden; }
.ms-docedit-menu-narrow { display: none; }
.ms-docedit .ms-docedit-toolbar > .ms-card-action-menu + .ms-card-action-menu { margin-left: -1px; }
.ms-docedit .ms-docedit-toolbar > details > summary { margin-right: 0; }
.ms-docedit :is(.ms-card-action-options, .ms-card-print-options) {
  box-sizing: border-box; max-width: calc(100vw - 16px); min-width: min(182px, calc(100vw - 16px));
  transform: translateX(var(--docedit-menu-shift, 0px)); overflow: auto; overscroll-behavior: contain;
}
.ms-docedit :is(.ms-card-action-options, .ms-card-print-options) :is(button, a) { white-space: normal; overflow-wrap: anywhere; }
.ms-docedit .ms-docedit-heading > .ms-docedit-hold-flag { order: 10; margin-left: 0; white-space: nowrap; }
.ms-docedit-hold-flag { display: inline-flex; align-items: center; gap: 5px; }

.ms-docedit-tabs { display: flex; align-items: flex-end; gap: 0; height: 24px; margin: 20px 0 0; overflow-x: auto; }
.ms-docedit-tab { box-sizing: border-box; display: inline-flex; align-items: center; gap: 8px; flex: 0 0 auto;
  height: 24px; margin: 0; padding: 0 10px; border: 1px solid transparent; border-bottom-color: #186999;
  border-radius: 0; background: #fff; color: #186999; font: 400 13px Arial, sans-serif; text-decoration: none;
  white-space: nowrap; cursor: pointer; }
.ms-docedit-tab.on { border-color: #186999; border-bottom-color: #fff; color: #222; font-weight: 700; }
.ms-docedit-tab:focus-visible { outline: 1px solid #091739; outline-offset: -2px; }
.ms-docedit-modern .ms-docedit-tabs { gap: 16px; height: 43px; margin-top: 25px; box-shadow: inset 0 -1px #ced7e3; }
.ms-docedit-modern .ms-docedit-tab { height: 43px; padding: 0 0 11px; border: 0; position: relative; color: #222; font: 400 14px/20px var(--docedit-font); }
.ms-docedit-modern .ms-docedit-tab::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 3px; border-radius: 1.5px; background: transparent; }
.ms-docedit-modern .ms-docedit-tab.on::after { background: #036ce5; }
.ms-docedit-modern .ms-docedit-tab:hover { color: #036ce5; }
.ms-docedit-position-tools { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; min-height: 36px; margin: 0 0 8px; }
.ms-docedit-position-tools .ms-btn { margin: 0; }
.ms-docedit-modern .ms-docedit-position-tools .ms-btn { height: 32px; min-height: 0; padding: 0 8px; background: transparent; border: 0; box-shadow: none; color: #036ce5; font: 400 14px/20px var(--docedit-font); }
.ms-docedit-modern .ms-docedit-position-tools .ms-btn:disabled { color: #c0c0c0; }
.ms-docedit-modern .ms-docedit-position-tools [data-docedit-pick] { height: 30px; border: 1px solid #036ce5; border-radius: 6px; padding: 0 12px; }
.ms-docedit-modern .ms-docedit-position-tools .ms-btn:not(:disabled):hover { color: #0b7cff; background: #f1f4f9; }
.ms-docedit-selection { margin-right: auto; display: inline-flex; gap: 8px; align-items: center; }
.ms-docedit-modern .ms-docedit-positions { margin-top: 8px; }
.ms-docedit-linked { margin-top: 16px; }
.ms-docedit-linked-scroll { overflow: auto; }
.ms-docedit-empty { margin: 16px 0; color: #888; }
.ms-docedit .ms-docedit-vat-mode { display: flex; justify-content: flex-end; align-items: center; gap: 20px; margin: 12px 0 0; }
.ms-docedit .ms-docedit-vat-mode .ms-check { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.ms-docedit .ms-docedit-totals { box-sizing: border-box; min-width: 0; width: 302.55px; padding: 0 10px 0 0; }
.ms-docedit .ms-docedit-totals .ms-card-subtotal { font: 400 14px/18px var(--docedit-font); }
.ms-docedit .ms-docedit-totals .ms-card-vat-total { line-height: 18px; }
.ms-docedit .ms-docedit-totals .ms-card-grand { font: 700 20px/24px var(--docedit-font); letter-spacing: -.125px; white-space: nowrap; }
/* <strong> внутри давал «bolder» — 900 вместо 700 МойСклада (живая сверка заказа 02614, 14.10.2026). */
.ms-docedit .ms-docedit-totals .ms-card-grand strong { font-weight: inherit; }
.ms-docedit .ms-docedit-totals > div { gap: 12px; }
.ms-docedit .ms-docedit-totals > div > :first-child { white-space: nowrap; }
.ms-docedit .ms-docedit-cell-seq { position: relative; }
.ms-docedit .ms-docedit-cell-seq [data-docedit-select] { position: absolute; left: 8px; top: 6px; opacity: 0; }
.ms-docedit-row:is(:hover, :focus-within, .is-selected) [data-docedit-select] { opacity: 1; }
.ms-docedit-row.is-selected { background: #dff0fe; }
.ms-docedit .ms-docedit-cell-seq [data-docedit-select-all] { vertical-align: middle; }
@media (min-width: 901px) {
  .ms-docedit-classic .ms-docedit-positions { width: min(var(--docedit-table-width), calc(100vw - 20px)); margin-left: -30px; margin-top: 10px; }
  .ms-docedit-classic .ms-docedit-table { width: 100%; }
  .ms-docedit-classic .ms-docedit-table .ms-docedit-cell-name { width: auto; }
  .ms-docedit-classic .ms-docedit-table .ms-docedit-cell-space { display: none; }
  .ms-docedit-classic .ms-docedit-table .ms-docedit-cell-seq { width: 72px; }
  .ms-docedit-classic .ms-docedit-bottom, .ms-docedit-classic .ms-docedit-vat-mode { width: min(calc(var(--docedit-table-width) - 60px), calc(100vw - 80px)); }
  /* Волна 37 (живая сверка отгрузки, счёта, возврата МойСклада 12.10.2026): ширины столбцов позиций — как у него, без
     растянутых «пустых» столбцов: номер с картинкой 76, наименование 505, маркировка, цена, сумма и себестоимости 95, НДС и
     скидка 65, ГТД 170, РНПТ 205, страна 190, меню строки 29; таблица — сумма видимых столбцов (столбец НДС или
     себестоимости прибавляет свою ширину, как у МойСклада: отгрузка с НДС — 1295). Инвентаризация — свои ширины. */
  .ms-docedit-classic:not(.ms-docedit-type-inventory) .ms-docedit-positions { width: max-content; max-width: calc(100vw - 20px); }
  .ms-docedit-classic:not(.ms-docedit-type-inventory) .ms-docedit-table { width: 1px; }
  .ms-docedit-classic:not(.ms-docedit-type-inventory) .ms-docedit-table .ms-docedit-cell-seq { width: 76px; }
  .ms-docedit-classic:not(.ms-docedit-type-inventory) .ms-docedit-table .ms-docedit-cell-name { width: 505px; }
  .ms-docedit-classic:not(.ms-docedit-type-inventory) .ms-docedit-table :is(.ms-docedit-cell-mark, .ms-docedit-cell-price, .ms-docedit-cell-sum, .ms-docedit-cell-unitCost, .ms-docedit-cell-cost) { width: 95px; min-width: 0; max-width: none; }
  .ms-docedit-classic:not(.ms-docedit-type-inventory) .ms-docedit-table :is(.ms-docedit-cell-vat, .ms-docedit-cell-discount) { width: 65px; }
  .ms-docedit-classic:not(.ms-docedit-type-inventory) .ms-docedit-table .ms-docedit-cell-gtd { width: 170px; min-width: 0; }
  .ms-docedit-classic:not(.ms-docedit-type-inventory) .ms-docedit-table .ms-docedit-cell-rnpt { width: 205px; min-width: 0; }
  .ms-docedit-classic:not(.ms-docedit-type-inventory) .ms-docedit-table .ms-docedit-cell-country { width: 190px; min-width: 0; }
  .ms-docedit-classic:not(.ms-docedit-type-inventory) .ms-docedit-table .ms-docedit-cell-remove { width: 29px; }
}
@media (max-width: 900px) {
  .ms-docedit .ms-docedit-pager { order: 5; margin-left: 0; }
  .ms-docedit-menu-wide { display: none; }
  .ms-docedit-menu-narrow { display: inline; }
  .ms-docedit .ms-docedit-table .ms-docedit-cell-seq { display: flex; justify-content: flex-start; gap: 6px; padding-left: 24px; }
  .ms-docedit .ms-docedit-cell-seq [data-docedit-select] { opacity: 1; top: 0; left: 0; }
  .ms-docedit-position-tools { justify-content: flex-start; }
  .ms-docedit .ms-docedit-totals { width: min(302.55px, 100%); align-self: flex-end; padding: 0; }
  .ms-docedit .ms-docedit-vat-mode { flex-wrap: wrap; justify-content: flex-start; gap: 10px; }
  .ms-docedit-linked table { min-width: 580px; }
}
.ms-docedit-packing { box-sizing: border-box; width: 760px; max-width: calc(100vw - 24px); max-height: calc(100vh - 24px); padding: 20px; border: 1px solid #bfbfbf; border-radius: 3px; color: #222; background: #fff; font: 12px Arial, sans-serif; }
.ms-docedit-packing::backdrop { background: #0003; }
.ms-docedit-packing h2 { margin: 0 0 16px; font-size: 18px; }
.ms-docedit-packing-scroll { max-height: 65vh; overflow: auto; }
.ms-docedit-packing table { width: 100%; border-collapse: collapse; }
.ms-docedit-packing th, .ms-docedit-packing td { padding: 6px; border-bottom: 1px solid #d1d6df; text-align: right; }
.ms-docedit-packing th:first-child, .ms-docedit-packing td:first-child { text-align: left; }
.ms-docedit-packing input.ms-input { width: 90px; text-align: right; }
.ms-docedit-packing .is-complete { background: #dff3df; }
/* V2: размеры новых складских колонок сняты с заголовков ms_card_* / ms_*_card.
 * Чтение учёта отделено от вводимых чисел, в том числе при наведении на строку. */
.ms-docedit .ms-docedit-stock-cell input[readonly] { background: #f0f0f0; color: #888; border-color: transparent; cursor: default; }
.ms-docedit .ms-docedit-cell-reason .ms-docedit-reason { box-sizing: border-box; display: block; width: 100%; height: 24px; min-height: 24px; margin: 0; padding: 1px 3px; font: inherit; border: 1px solid transparent; border-radius: 4px; background: transparent; resize: vertical; }
.ms-docedit .ms-docedit-row:is(:hover, :focus-within) .ms-docedit-reason { border-color: #d1d6df; background: #fff; }
.ms-docedit .ms-docedit-cell-reason .ms-docedit-reason:focus { outline: 0; border-color: #091739; background: #fff; }
.ms-docedit .ms-docedit-cell-reason .ms-docedit-reason[aria-invalid="true"] { border-color: red; }
.ms-docedit-stock-currency, .ms-docedit-stock-overhead { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin: 10px 0; font: 12px/21px Arial, sans-serif; }
.ms-docedit .ms-docedit-stock-currency input, .ms-docedit .ms-docedit-stock-overhead input { box-sizing: border-box; width: 250px; height: 21px; background: #f0f0f0; color: #888; border: 1px solid #bfbfbf; }
@media (min-width: 901px) {
  .ms-docedit[data-docedit-stock="1"] .ms-docedit-cell-available,
  .ms-docedit[data-docedit-stock="1"] .ms-docedit-cell-stock { width: 55px; padding-left: 3px; padding-right: 3px; }
  .ms-docedit-type-purchaseorder .ms-docedit-cell-shipped { width: 85px; }
  .ms-docedit-type-move .ms-docedit-table .ms-docedit-cell-stock,
  .ms-docedit-type-move .ms-docedit-table .ms-docedit-cell-stockTo { width: 110px; padding-left: 3px; padding-right: 3px; }
  .ms-docedit-type-move .ms-docedit-table th.ms-docedit-cell-stock,
  .ms-docedit-type-move .ms-docedit-table th.ms-docedit-cell-stockTo { white-space: normal; padding-top: 2px; padding-bottom: 2px; line-height: 14px; }
  .ms-docedit .ms-docedit-table .ms-docedit-cell-reason { width: 170px; }
  .ms-docedit .ms-docedit-table th.ms-docedit-cell-reason { white-space: normal; }
}
@media (max-width: 900px) {
  .ms-docedit .ms-docedit-stock-cell::before, .ms-docedit .ms-docedit-cell-reason::before { content: attr(data-label); color: #888; white-space: normal; }
  .ms-docedit-type-move .ms-docedit-stock-cell, .ms-docedit .ms-docedit-cell-reason { grid-column: 1 / -1; }
  .ms-docedit .ms-docedit-cell-reason .ms-docedit-reason { width: min(170px, 55%); }
  .ms-docedit-stock-currency input, .ms-docedit-stock-overhead input { max-width: 100%; }
}
@media (min-width: 1300px) {
  .ms-docedit-modern:has([data-docedit-tabs], [data-doc-form-tabs]) [data-docedit-panel="positions"] { position: relative; }
  .ms-docedit-modern:has([data-docedit-tabs], [data-doc-form-tabs]) .ms-docedit-position-tools { position: static; justify-content: flex-start; min-height: 32px; margin: 8px 0; }
  .ms-docedit-modern:has([data-docedit-tabs], [data-doc-form-tabs]) .ms-docedit-position-actions { position: absolute; right: 0; top: -52px; margin: 0; gap: 20px; }
}
@media (max-width: 900px) {
  .ms-docedit-table thead { display: block; }
  .ms-docedit-table thead tr { display: flex; }
  .ms-docedit-table thead th:not(.ms-docedit-cell-seq) { display: none; }
  .ms-docedit-table thead .ms-docedit-cell-seq { width: auto; display: flex; align-items: center; gap: 6px; padding: 6px 0; }
  .ms-docedit-table thead .ms-docedit-cell-seq::after { content: 'Все позиции'; }
  /* Волна 35: у старого вида поиск, «Скидка» и выбор живут в меню «Наименование» — на узком экране оно остаётся. */
  .ms-docedit-procurement-stock .ms-docedit-table thead th.ms-docedit-cell-name,
  .ms-docedit-type-salesreturn .ms-docedit-table thead th.ms-docedit-cell-name { display: flex; align-items: center; width: auto; padding: 6px 0 6px 16px; }
}
.ms-docedit-position-actions { display: flex; justify-content: flex-end; align-items: center; gap: 8px; margin: 5px 0; }
/* Ссылки над таблицей у МойСклада — без полей, вровень с верхом вкладок, через 20 px; «Добавить из справочника» — рамка,
   поле 16 px, скругление 8 (живая сверка заказа 02614, 14.10.2026: у Свода поля 8, зазор 8 + 10, ниже на 6 px). */
.ms-docedit-modern .ms-docedit-position-actions .ms-btn { height: 32px; min-height: 0; margin: 0; padding: 0; background: transparent; border: 0; box-shadow: none; color: #036ce5; font: 400 14px/20px var(--docedit-font); }
.ms-docedit-modern .ms-docedit-position-actions [data-docedit-pick] { box-sizing: border-box; height: 30px; border: 1px solid #036ce5; border-radius: 8px; padding: 0 16px; }
.ms-docedit-position-tools { justify-content: flex-start; }

/* W29 E5: состояния — states.md §3/7, ms_tree_2_docs §5. Зелёный замерен в
 * ms_card_customerorder, персиковый — в ms_card_customerorder_ro. Красный взят
 * из общего --status-red-01-bg; точное соответствие двух последних цветов
 * состояниям ожидания/недостачи требует живого эталона (в снимках нет intransit). */
.ms-docedit-row[data-supply-state="available"] .ms-docedit-cell-available { background: #eaf3d3; }
.ms-docedit-row[data-supply-state="expected"] .ms-docedit-cell-available { background: #ffe6d5; }
.ms-docedit-row[data-supply-state="shortage"] .ms-docedit-cell-available { background: #ffdcdc; }
.ms-docedit-row[data-supply-state="shipped"] .ms-docedit-cell-available { background: transparent; }
.ms-docedit .ms-docedit-vat-mode { margin: 0 0 0 auto; flex: 0 0 auto; width: auto; }
/* Новый вид (заказ, живая сверка 02614, 14.10.2026): переключатель НДС — в начале места 279 px перед шестерёнкой (там же
   «Цена включает НДС»), 8 px до подписи 14 px #091739; номер строки — тёмный, справа на 68-м пикселе строки. */
.ms-docedit-modern .ms-docedit-position-tools .ms-docedit-vat-mode { box-sizing: border-box; width: 279px; justify-content: flex-start; padding-left: 8px; gap: 8px; margin-right: 12px; }
.ms-docedit-modern .ms-docedit-position-tools .ms-docedit-vat-mode .ms-check { gap: 8px; font-size: 14px; color: #091739; }
.ms-docedit-modern .ms-docedit-table tbody .ms-docedit-cell-seq { color: #091739; text-align: right; padding-right: 44px; }
/* Ручка перетаскивания — поверх ячейки слева (видна под мышью), места у номера не занимает. */
.ms-docedit.ms-docedit-modern td.ms-docedit-cell-seq .ms-docedit-grip { position: absolute; top: 50%; left: 0; margin-top: -9px; }
/* Переключатели НДС — только в форме нового вида (React, ms_card_customerorder); в классических формах МойСклада
   обычные флажки 13×13 (контрольный повтор C2 волны 29, R2). */
.ms-docedit-modern .ms-docedit-vat-mode input[type="checkbox"] {
  width: 28px; height: 16px; border: 0; border-radius: 12px; padding: 0;
  background: #cbd0db; position: relative; transition: none;
}
.ms-docedit-modern .ms-docedit-vat-mode input[type="checkbox"]::after {
  content: ''; position: absolute; top: 1px; left: 1px; width: 14px; height: 14px; border-radius: 50%; background: white;
}
.ms-docedit-modern .ms-docedit-vat-mode input[type="checkbox"]:checked { background: #036ce5; }
.ms-docedit-modern .ms-docedit-vat-mode input[type="checkbox"]:checked::after { left: 13px; }
.ms-docedit-modern .ms-docedit-vat-mode input[type="checkbox"]:hover { background: #e7eaf0; }
.ms-docedit-modern .ms-docedit-vat-mode input[type="checkbox"]:checked:hover { background: #0b7cff; }
.ms-docedit-modern .ms-docedit-vat-mode input[type="checkbox"]:disabled { background: #e5e8ed; }
.ms-docedit-modern .ms-docedit-vat-mode input[type="checkbox"]:checked:disabled { background: #68a7ef; }
.ms-docedit-modern .ms-docedit-vat-mode input[type="checkbox"]:focus-visible { outline: 1px solid #091739; outline-offset: 2px; }
.ms-docedit-position-tools label:has([data-docedit-discount-all]) { display: inline-flex; gap: 5px; align-items: center; }
.ms-docedit-position-tools label:has([data-docedit-discount-scope]) .ms-sel { width: 116px; }
.ms-docedit .ms-docedit-position-search { min-width: 200px; }
/* Наименование позиции без наведения — тёмное, как у МойСклада (#091739; повтор C1 волны 29, N2). */
.ms-docedit-product { display: block; padding: 2px 5px; color: #091739; text-decoration: none; white-space: normal; }
.ms-docedit-product:hover { color: #0b7cff; text-decoration: underline; }
/* Волна 35 (живая сверка отгрузки 12.10.2026): код товара жирным; у старого вида — тёмным, наименование — синей ссылкой
   (МойСклад: code-view 700 #222, link #186999). Волна 37: на широком экране ссылкой оно становится под мышью, в покое —
   тёмное, как у МойСклада (его span.link появляется у строки под курсором) — правила таблицы старого вида ниже. */
.ms-docedit-product-code { font-weight: 700; }
.ms-docedit-classic .ms-docedit-product { color: #186999; }
.ms-docedit-classic .ms-docedit-product .ms-docedit-product-code { color: #222; }
.ms-docedit-classic .ms-docedit-product:hover { color: #f88001; text-decoration: none; }
.ms-docedit-classic .ms-docedit-product:hover .ms-docedit-product-name { text-decoration: underline; }
.ms-docedit [data-docedit-unit] { margin-left: 4px; color: #666; }
.ms-docedit-row-menu, .ms-docedit-column-menu { display: inline-block; }
.ms-docedit-row-menu summary, .ms-docedit-column-menu summary { list-style: none; cursor: pointer; white-space: nowrap; }
.ms-docedit-row-menu summary::-webkit-details-marker, .ms-docedit-column-menu summary::-webkit-details-marker { display: none; }
.ms-docedit-row-menu .ms-card-action-options, .ms-docedit-column-menu .ms-card-action-options { z-index: 90; min-width: 210px; width: max-content; }
.ms-docedit-row-menu .ms-card-action-options button, .ms-docedit-column-menu .ms-card-action-options button {
  display: block; box-sizing: border-box; width: 100%; padding: 4px 12px; border: 0; background: white; color: #222; text-align: left; white-space: nowrap; cursor: pointer; font: 12px/15px Arial, sans-serif;
}
.ms-docedit-row-menu .ms-card-action-options button:hover, .ms-docedit-column-menu .ms-card-action-options button:hover { background: #dcdcdc; }
.ms-docedit .ms-docedit-grip { border: 0; background: transparent; color: #9fa7af; cursor: grab; padding: 0 2px; visibility: hidden; }
.ms-docedit-row:is(:hover, :focus-within) .ms-docedit-grip { visibility: visible; }
.ms-docedit-row[data-dragging="true"] { opacity: .6; }
.ms-docedit-row-menu summary { padding: 2px 5px; }
.ms-docedit-cell-remove:has(.ms-docedit-row-menu) > [data-docedit-remove] { display: none; }
.ms-docedit .ms-docedit-row-menu summary { line-height: 20px; }
.ms-docedit-catalog { box-sizing: border-box; width: 960px; max-width: calc(100vw - 32px); max-height: calc(100vh - 32px); padding: 20px; border: 1px solid #bfbfbf; background: white; color: #222; font: 12px Arial, sans-serif; }
.ms-docedit-catalog::backdrop { background: #0003; }
.ms-docedit-catalog h2 { font-size: 18px; margin: 0 0 15px; }
.ms-docedit-catalog-search input { width: 360px; max-width: 100%; }
.ms-docedit-catalog-body { display: grid; grid-template-columns: 200px 1fr; gap: 16px; margin: 15px 0; min-height: 230px; }
.ms-docedit-catalog-body nav, .ms-docedit-catalog-list { max-height: 55vh; overflow: auto; }
.ms-docedit-folder { display: block; padding: 6px; width: 100%; border: 0; background: white; text-align: left; color: #186999; cursor: pointer; }
.ms-docedit-folder:hover { background: #fffb8c; }
.ms-docedit-catalog table { width: 100%; border-collapse: collapse; }
.ms-docedit-catalog td, .ms-docedit-catalog th { padding: 6px; border-bottom: 1px solid #d1d6df; text-align: left; }
.ms-docedit-catalog td input.ms-input { width: 65px; text-align: right; }
.ms-docedit-catalog tbody tr:hover { background: #f1f4f9; }
.ms-docedit-packing .is-shortage { background: #ffdcdc; }
.ms-docedit-packing .is-excess { background: #ffe6d5; }
.ms-docedit-packing [data-packing-copy-text] { display: block; width: 100%; min-height: 100px; }
.ms-docedit .ms-card-print-options { width: max-content; }
.ms-docedit .ms-card-print-options a { white-space: nowrap; }

.ms-docedit-table .ms-docedit-column-hidden { display: none !important; }
/* W30 X4. Размеры классической семьи сняты с ms_card_supply/purchaseorder и ms_*_card склада. */
.ms-docedit-procurement-stock { --docedit-font: Arial, sans-serif; --classic-comment: 663px; --classic-gap: 65px; }
.ms-docedit-procurement-stock:is(.ms-docedit-type-loss,.ms-docedit-type-move,.ms-docedit-type-enter) { --classic-comment: 503px; }
.ms-docedit-procurement-stock.ms-docedit-type-move { --classic-comment: 668px; }
.ms-docedit-procurement-stock.ms-docedit-type-purchaseorder { --classic-comment: 718px; }
.ms-docedit-procurement-stock.ms-docedit-type-inventory { --classic-comment: 787px; }
/* Волна 35, живой замер МойСклада 12.10.2026 (окно 2048): комментарий отгрузки 727 px, счёта покупателю — 568 px.
   Отгрузка, живая сверка 14.10.2026 (19673 и новая): комментарий — ширина таблицы позиций без 567,67 px (подвал МС шириной с
   таблицу, поле 655 + рамка и поля): без НДС 1230 → 662,33, с НДС 1295 → 727,33 (тот самый замер 12.10). Ширину таблицы
   даёт m_docedit.js (watchTableWidth), до него — 1230. */
.ms-docedit-procurement-stock.ms-docedit-type-demand { --classic-comment: calc(var(--docedit-table-real, 1230px) - 567.67px); }
/* Волна 40: у внутреннего заказа МойСклада комментарий тоже 568 px (ms_internalorder_card: 40 + 568 + 65 = итоги с x 673). */
.ms-docedit-procurement-stock:is(.ms-docedit-type-invoiceout,.ms-docedit-type-internalorder) { --classic-comment: 568px; }
/* Волна 40: поля шапки — общие 250 px (поле с кнопкой 228 + 22, m_docedit_head.css) и общий промежуток колонок 50 px, как у
   МойСклада (виджет 250 + 50 до следующей подписи). Было: колонка 228 и промежуток 70/72 — подогнанные под выступающий
   карандаш; правая колонка стояла на 2 px левее эталона. */
.ms-docedit-procurement-stock:is(.ms-docedit-type-purchaseorder,.ms-docedit-type-supply,.ms-docedit-type-purchasereturn) .ms-card-column-1 > .ms-docedit-field-key-contract > :is(.ms-card-label,.ms-card-value) { margin-top: 26px; }
.ms-docedit-procurement-stock:is(.ms-docedit-type-purchaseorder,.ms-docedit-type-supply,.ms-docedit-type-purchasereturn) .ms-docedit-field-key-project > :is(.ms-card-label,.ms-card-value) { margin-top: 7px; }
.ms-docedit-procurement-stock .ms-docedit-field-key-deliveryPlannedMoment > :is(.ms-card-label,.ms-card-value),
.ms-docedit-procurement-stock .ms-docedit-field-key-incomingNumber > :is(.ms-card-label,.ms-card-value) { margin-top: 26px; }
/* Внутренний заказ (волна 40, ms_internalorder_card): «План. дата приемки» — сразу под «Организацией» (y 199 → 230). */
.ms-docedit-procurement-stock.ms-docedit-type-internalorder .ms-docedit-field-key-deliveryPlannedMoment > :is(.ms-card-label,.ms-card-value) { margin-top: 0; }
/* Заказ поставщику (повтор C5 волны 30, N1): план. дата слева под контрагентом, проект справа под договором — отступы
   меняются вместе с полями, строки остаются на шаге МойСклада 57/114 px (ms_card_purchaseorder). */
.ms-docedit-procurement-stock.ms-docedit-type-purchaseorder .ms-card-column-0 > .ms-docedit-field-key-deliveryPlannedMoment > :is(.ms-card-label,.ms-card-value) { margin-top: 7px; }
.ms-docedit-procurement-stock.ms-docedit-type-purchaseorder .ms-card-column-1 > .ms-docedit-field-key-project > :is(.ms-card-label,.ms-card-value) { margin-top: 26px; }
/* Без контрагента строки «Баланс» нет (новые заказ поставщику, приёмка, возврат поставщику; живая сверка 13.10.2026): третья
   строка — на 31 ниже «Контрагента» в обеих колонках (88 от «Организации»); с «Балансом» — 114, правила выше. */
.ms-docedit-procurement-stock:is(.ms-docedit-type-purchaseorder,.ms-docedit-type-supply,.ms-docedit-type-purchasereturn):has([data-head-balance][hidden]) :is(.ms-card-column-0,.ms-card-column-1) > :is(.ms-docedit-field-key-project,.ms-docedit-field-key-deliveryPlannedMoment,.ms-docedit-field-key-incomingNumber) > :is(.ms-card-label,.ms-card-value) { margin-top: 0; }
/* Счёт поставщика (живая сверка 00001, 18.10.2026), строки как у заказа поставщику: слева организация, контрагент, «План. дата
   оплаты», под ней сразу «Входящий номер от …»; справа склад, договор (напротив контрагента), проект (напротив даты). Было: договор
   и проект подряд под складом, номер — справа. */
.ms-docedit-procurement-stock.ms-docedit-type-invoicein .ms-card-column-1 > :is(.ms-docedit-field-key-contract,.ms-docedit-field-key-project) > :is(.ms-card-label,.ms-card-value) { margin-top: 26px; }
.ms-docedit-procurement-stock.ms-docedit-type-invoicein .ms-card-column-0 > .ms-docedit-field-key-paymentPlannedMoment > :is(.ms-card-label,.ms-card-value) { margin-top: 7px; }
.ms-docedit-procurement-stock.ms-docedit-type-invoicein .ms-card-column-0 > .ms-docedit-field-key-incomingNumber > :is(.ms-card-label,.ms-card-value) { margin-top: 0; }
.ms-docedit-procurement-stock.ms-docedit-type-invoicein:has([data-head-balance][hidden]) :is(.ms-card-column-0 > .ms-docedit-field-key-paymentPlannedMoment,.ms-card-column-1 > .ms-docedit-field-key-project) > :is(.ms-card-label,.ms-card-value) { margin-top: 0; }
/* Столбец полей — по самому широкому полю, как ячейка таблицы МойСклада (строка «Входящий номер от …» 316 px в левой колонке
   счёта поставщика сдвигает правую колонку, а не наезжает на неё). */
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-facturein) .ms-docedit-fields .ms-card-field-column { grid-template-columns: max-content minmax(250px, max-content); }
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-paymentin,.ms-docedit-type-facturein) .ms-docedit-fields .ms-docedit-field-key-incomingNumber > .ms-card-value { width: max-content; }
/* Строка «Входящий номер от …» — высотой своих полей (20,03), а не 21, как строки с полем выбора: у счёта поставщика она
   последняя, и вкладки стояли на 0,8 px ниже. */
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-paymentin,.ms-docedit-type-facturein) .ms-docedit-field-key-incomingNumber > .ms-card-label { height: auto; }
/* Счёт организации (поле без кнопки) — 250 px у всех видов: правило «250 без кнопки» общее с волны 40 (прежние особые правила
   заказа поставщику, отгрузки и счёта покупателю — повторы C5 волны 30 и волна 35 — им покрыты). */
/* Третья колонка отгрузки: подписи с x 814, адрес и комментарий с x 922 (МойСклад, окно 2048) — колонка подписей 98 px.
   Волна 40: колонка поля 250 и промежуток 50 — вторая кончается на x 761, сдвиг третьей 3 px (было 6,62 при колонке 228 + 70). */
.ms-docedit.ms-docedit-procurement-stock.ms-docedit-type-demand .ms-docedit-fields .ms-card-field-column.ms-card-column-2 { margin-left: 3px; grid-template-columns: 98px 280px; }
/* «Входящий номер» 164 px + «от» + дата — у приёмки, счёта поставщика и (волна 40) входящего платежа (ms_finance_card). */
:is(.ms-docedit-procurement-stock,.ms-docedit-type-paymentin,.ms-docedit-type-facturein) .ms-docedit-field-key-incomingNumber .ms-head-control { align-items: center; gap: 4px; }
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-paymentin,.ms-docedit-type-facturein) .ms-docedit-field-key-incomingNumber input.ms-docedit-input[name="incomingNumber"] { width: 164px; flex: 0 0 164px; }
/* Приёмка и счёт поставщика (живая сверка приёмки 06763, 18.10.2026, масштаб 192,5 %): у МойСклада строка — таблица из трёх
   ячеек с 5 px справа у каждой: поле 163,12 × 15 + поля 2 + рамка (168,15 × 20,03), «от», календарь 120 × 19 + рамка
   (121,04 × 20,03); по ней и ширина столбца полей. Было: поле 164 и календарь 122 × 22 с рамкой внутри, промежутки 4 —
   «от» и дата на 6 px левее и календарь на 2 px выше и ниже. Ширина поля у МойСклада — не в пикселях, а size="22" шрифтом
   Arial 12 (163,12 при 192,5 %, при 150 % — уже): так же и здесь, иначе на другом масштабе поле разойдётся. */
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-paymentin,.ms-docedit-type-facturein) .ms-docedit-fields .ms-docedit-field-key-incomingNumber .ms-card-value { align-items: flex-start; }
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-paymentin,.ms-docedit-type-facturein) .ms-docedit-field-key-incomingNumber .ms-head-control { gap: 5px; padding-right: 5px; }
.ms-docedit.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-paymentin,.ms-docedit-type-facturein) .ms-docedit-field-key-incomingNumber input.ms-docedit-input[name="incomingNumber"] { box-sizing: content-box; width: auto; min-width: 0; max-width: none; height: 15px; padding: 2px; flex: 0 0 auto; font: 12px Arial; }
/* Узкий экран: строка «Входящий номер от …» по ширине окна и переносится (правило m_docedit_head.css), а не по содержимому —
   иначе на 320 px она выходила за край на 9–14 px. */
@media (max-width: 900px) {
  .ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-paymentin,.ms-docedit-type-facturein) .ms-docedit-fields .ms-docedit-field-key-incomingNumber > .ms-card-value { width: auto; max-width: 100%; }
}
/* Календарь в полях старого вида — 120 × 19 + рамка, как b-calendar МойСклада (и «План. дата оплаты»/«приемки» — счёт поставщика
   00001, заказ 05259, 18.10.2026; было 122 × 22 с рамкой внутри). */
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-paymentin,.ms-docedit-type-facturein) .ms-docedit-fields .ms-dt:not(.ms-dt-title) { width: auto; height: auto; }
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-paymentin,.ms-docedit-type-facturein) .ms-docedit-fields .ms-dt:not(.ms-dt-title) > .ms-date { box-sizing: content-box; width: 120px; height: 19px; }
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-paymentin,.ms-docedit-type-facturein) .ms-docedit-fields .ms-dt:not(.ms-dt-title) :is(.ms-date > .ms-input,.ms-date-open) { height: 19px; }
/* Колонка полей старого вида — с отступом справа на свою долю растяжения таблицы полей МойСклада (m_docedit.js, classicGeometry;
   та же сверка: вторая колонка приёмки 06763 с x 441,22, а не 422). */
.ms-docedit.ms-docedit-classic .ms-docedit-fields > .ms-card-field-column { margin-right: var(--docedit-col-extra, 0px); }
.ms-docedit-procurement-stock .ms-docedit-table :is(th,td) { height: 30px; padding: 3px 5px; font-family: Arial,sans-serif; }
.ms-docedit-procurement-stock .ms-docedit-table th { padding-top: 3px; padding-bottom: 3px; }
.ms-docedit.ms-docedit-procurement-stock .ms-docedit-table th:is(.ms-docedit-cell-stock,.ms-docedit-cell-stockTo) { line-height: 13px; }
.ms-docedit-procurement-stock .ms-docedit-table :is(.ms-docedit-cell-price,.ms-docedit-cell-sum) { width: 95px; }
.ms-docedit-procurement-stock .ms-docedit-table :is(.ms-docedit-cell-discount,.ms-docedit-cell-vat) { width: 65px; }
.ms-docedit-procurement-stock .ms-docedit-table .ms-docedit-cell-seq { padding: 0; width: 76px; }
/* Узкий экран (до 900 px), 12.10.2026: строки позиций старого вида — те же карточки «подпись — значение», что у остальных
   форм. Ширины столбцов МойСклада (95/65/76 px), высота 30 px и поля 3/5 px — только для таблицы широкого экрана: иначе ячейка
   НДС оставалась 65 px и поле сжималось до 6 px («20%», «без НДС» не видно), цена и скидка — до 48 px, флажок строки
   ложился на «Позиция». Поле НДС не уже самой длинной ставки: у старого вида «без НДС» без стрелки — 56 px, у заказа
   «Без НДС» со стрелкой — 84 px. Ячейки с data-label (себестоимость, маркировка, остатки) — со своей подписью. */
@media (max-width: 900px) {
  .ms-docedit-procurement-stock .ms-docedit-table .ms-docedit-row > td { width: auto; height: auto; padding: 0; }
  .ms-docedit-procurement-stock .ms-docedit-table .ms-docedit-row > td.ms-docedit-cell-seq { padding-left: 24px; }
  .ms-docedit .ms-docedit-table .ms-docedit-row > td.ms-docedit-cell-vat > .ms-sel { min-width: 84px; }
  .ms-docedit-classic .ms-docedit-table .ms-docedit-row > td.ms-docedit-cell-vat > .ms-sel { min-width: 56px; }
  .ms-docedit .ms-docedit-table .ms-docedit-row > td[data-label]::before { content: attr(data-label); color: #888; }
}
.ms-docedit-procurement-stock .ms-docedit-column-menu > summary { box-sizing: border-box; padding: 0 10px; height: 23px; line-height: 21px; border: 1px solid #ccc; border-radius: 3px; background: linear-gradient(#fff,#e6e6e6); color: #186999; }
.ms-docedit-procurement-stock .ms-docedit-column-menu > summary:hover { background: linear-gradient(#fff,#f7f7f7); }
/* Волна 35: «Скидка» старого вида — такая же кнопка без стрелки, открывает «Скидка/наценка». */
.ms-docedit-procurement-stock th > .ms-docedit-column-open { box-sizing: border-box; margin: 0; padding: 0 10px; height: 23px; line-height: 21px; border: 1px solid #ccc; border-radius: 3px; background: linear-gradient(#fff,#e6e6e6); color: #186999; font: inherit; cursor: pointer; white-space: nowrap; }
.ms-docedit-procurement-stock th > .ms-docedit-column-open:hover { background: linear-gradient(#fff,#f7f7f7); }
.ms-docedit-procurement-stock .ms-docedit-position-actions[hidden] { display: none; }
.ms-docedit-procurement-stock .ms-docedit-add { box-sizing: border-box; min-height: 40px; padding: 7px 30px; gap: 20px; border-bottom: 1px solid #186999; }
.ms-docedit-procurement-stock .ms-docedit-add-button { display: none; }
.ms-docedit-procurement-stock .ms-docedit-add-search { flex: 0 0 507px; width: 507px; }
.ms-docedit-procurement-stock .ms-docedit-add-search .ms-lookup,
.ms-docedit-procurement-stock .ms-docedit-add-search .ms-lookup > input.ms-input { box-sizing: border-box; width: 100%; height: 26px; border-radius: 0; font: 14px Arial,sans-serif; }
.ms-docedit-procurement-stock .ms-docedit-add > .ms-btn,
.ms-docedit-procurement-stock .ms-docedit-import-menu > summary { box-sizing: border-box; height: 26px; min-height: 26px; margin: 0; font: 12px/24px Arial,sans-serif; white-space: nowrap; }
.ms-docedit-procurement-stock .ms-docedit-import-menu { margin-left: auto; }
.ms-docedit-procurement-stock .ms-docedit-import-menu .ms-card-action-options { right: 0; left: auto; min-width: 160px; }
.ms-docedit-procurement-stock .ms-docedit-position-tools { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; width: 260px; padding: 8px; margin: 0; white-space: normal; }
.ms-docedit-procurement-stock .ms-docedit-bottom { justify-content: flex-start; gap: var(--classic-gap); margin-top: 20px; }
.ms-docedit-procurement-stock .ms-docedit-bottom .ms-docedit-comment { box-sizing: border-box; flex: 0 0 var(--classic-comment); width: var(--classic-comment); height: 83px; min-height: 83px; }
.ms-docedit-procurement-stock .ms-docedit-bottom .ms-docedit-totals { flex: 0 0 340px; width: 340px; padding: 5px 0 0; font: 12px Arial,sans-serif; }
/* С «Суммой» в таблице позиций (живая сверка закупок и склада 18.10.2026, масштаб 192,5 %) подвал — по правилу МойСклада:
   итоги 340 px правым краем в 8 px от правого края «Суммы», полоса комментария — до 73 px левее итогов (m_docedit.js,
   --docedit-sum-right); поле — во всю полосу + поля 3 и рамка (шире полосы, как у МойСклада: приёмка 727,03, заказ 717,03),
   высота 75 + поля, рамка #e4e4e4. Было: ширина по виду документа — 663 у приёмки с личными столбцами ГТД, РНПТ, Страна. */
@media (min-width: 901px) {
  .ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn).has-sum-right .ms-docedit-bottom { display: grid; grid-template-columns: max(0px, calc(var(--docedit-sum-right) - 421px)) 73px 340px; gap: 0; align-items: start; justify-content: start; }
  .ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn).has-sum-right .ms-docedit-bottom .ms-docedit-comment { grid-column: 1; box-sizing: content-box; width: 100%; height: 75px; min-height: 75px; padding: 3px; border-color: #e4e4e4; }
  .ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn).has-sum-right .ms-docedit-bottom .ms-docedit-totals { grid-column: 3; }
}
.ms-docedit-procurement-stock .ms-docedit-totals :is(.ms-card-subtotal,.ms-card-grand) { font: 700 18px/21px Arial,sans-serif; letter-spacing: normal; margin: 0; padding: 0; }
.ms-docedit-procurement-stock .ms-docedit-totals:has(.ms-card-subtotal) .ms-card-grand { margin-top: 20px; }
/* Волна 35: «Прибыль:» отгрузки — мелкая серая строка сразу под «Итого:» (МойСклад: 10px, #808080, живой замер 12.10.2026). */
.ms-docedit.ms-docedit-procurement-stock .ms-docedit-totals > .ms-docedit-profit { margin-top: 1px; font: 10px/11px Arial,sans-serif; color: #808080; }
.ms-docedit.ms-docedit-procurement-stock .ms-docedit-totals .ms-docedit-vat-mode { display: block; width: 340px; margin: 0; padding: 0; }
.ms-docedit-procurement-stock .ms-docedit-totals .ms-docedit-vat-mode .ms-check { display: flex; width: 100%; height: 15px; margin: 0; font: 12px/15px Arial,sans-serif; }
.ms-docedit-procurement-stock .ms-docedit-vat-mode .ms-check:has([data-docedit-vat-included]:disabled) { display: none; }
.ms-docedit-procurement-stock .ms-docedit-totals:has([data-docedit-vat-enabled]:not(:checked)) .ms-card-grand { margin-top: 15px; }
.ms-docedit-procurement-stock .ms-docedit-vat-mode [data-docedit-vat-total] { margin-left: auto; }
.ms-docedit-procurement-stock .ms-docedit-totals .ms-card-vat-total[hidden] { display: none; }
.ms-docedit-procurement-stock .ms-docedit-totals .ms-docedit-add-quantity { display: block; margin: 40px 0 0; padding: 0; font: 12px/24px Arial,sans-serif; }
.ms-docedit-type-inventory .ms-docedit-totals .ms-docedit-add-quantity { margin-top: 30px; }
.ms-docedit-procurement-stock .ms-docedit-totals .ms-docedit-stock-overhead { display: flex; flex-wrap: nowrap; white-space: nowrap; gap: 5px; border-top: 1px solid #ccc; padding-top: 10px; margin-top: 0; font: 12px/21px Arial,sans-serif; }
/* Отгрузка, живая сверка 19673 (14.10.2026): рамка комментария #e4e4e4; «Прибыль» вплотную под «Итого». С 18.10.2026 (сверка
   e90208c8 при масштабе 192,5 %) остальное — общими блоками итогов МойСклада ниже: прежние особые отступы отгрузки (19,3 / 35 /
   4,3 px) подгоняли старые строки 21/15/24 и при новых давали «Итого» на 6 px ниже. «Прибыль» — строкой обычной высоты. */
.ms-docedit-procurement-stock.ms-docedit-type-demand .ms-docedit-bottom .ms-docedit-comment { border-color: #e4e4e4; }
.ms-docedit.ms-docedit-procurement-stock.ms-docedit-type-demand .ms-docedit-totals > .ms-docedit-profit { margin-top: 0; line-height: normal; }
.ms-docedit-procurement-stock .ms-docedit-stock-overhead input.ms-input { flex: 0 0 56px; width: 56px; height: 21px; background: #fff; color: #222; }
.ms-docedit-procurement-stock .ms-docedit-stock-overhead :is(select,.ms-sel) { min-width: 0; width: 85px; flex: 0 0 85px; }
/* Итоги старого вида — блоками МойСклада (живая сверка приёмки 06763, 18.10.2026, масштаб Chrome 192,5 %): верх вровень с
   комментарием; «Промежуточный итог» и «Итого» — строкой обычной высоты (20,26 при 18 px); строки НДС — 14,81 и 5 px под
   каждой (флажок на 1,3 ниже верха строки); «Итого» — через 15 px; «Кол-во» — строкой обычной высоты и 10 px до черты;
   «Накладные расходы» — поле 50 × 15 + поля 2 и рамка, подписи по середине строки. Было: отступ 5 сверху, строки 21/15/24 —
   «Промежуточный итог» на 6 px ниже, «Цена включает НДС» на 4 выше, «Кол-во» на 2 ниже, поле накладных на 3 выше. */
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn) .ms-docedit-bottom .ms-docedit-totals { padding: 0; }
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn) .ms-docedit-totals :is(.ms-card-subtotal,.ms-card-grand) { line-height: normal; }
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn) .ms-docedit-totals .ms-docedit-vat-mode { display: flow-root; }
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn) .ms-docedit-totals .ms-docedit-vat-mode .ms-check { align-items: flex-start; height: 14.81px; margin-bottom: 5px; }
.ms-docedit.ms-docedit-procurement-stock .ms-docedit-totals .ms-docedit-vat-mode .ms-check > input { margin-top: 1.3px; }
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn) .ms-docedit-totals:has(.ms-card-subtotal) .ms-card-grand { margin-top: 15px; }
/* Без промежуточного итога (оприходование, списание…) у МойСклада над «Итого» — две пустые строки НДС по 5 px поля, итог
   на 5 px ниже верха (живая сверка оприходования, 18.10.2026). */
.ms-docedit.ms-docedit-procurement-stock .ms-docedit-totals:not(:has(.ms-card-subtotal)) > .ms-card-grand { margin-top: 5px; }
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn) .ms-docedit-totals .ms-docedit-add-quantity { padding-bottom: 10px; line-height: normal; }
/* Без строки накладных у МойСклада всё равно стоит её пустая полоса с полем 10 px сверху (заказ поставщику 05259): задачи ниже
   на 10 px. */
.ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn) .ms-docedit-totals > .ms-docedit-add-quantity:last-child { margin-bottom: 10px; }
.ms-docedit.ms-docedit-procurement-stock .ms-docedit-totals .ms-docedit-stock-overhead { align-items: center; line-height: normal; }
.ms-docedit.ms-docedit-procurement-stock .ms-docedit-stock-overhead input.ms-input { box-sizing: content-box; flex: 0 0 auto; width: 50px; height: 15px; padding: 2px; }
/* Строка добавления — как b-delivery-actionbar МойСклада (та же сверка): поля 7 30 3, строка 28,15 и черта; поиск — 500 × 20 +
   поля 2 2 2 3 и рамка (506,03 × 25,03), кнопки — 24 + рамка. Было: 40 px, поиск 507 × 26, кнопки 26 — строка на 1,2 выше,
   комментарий на 0,7 ниже. */
/* Только широкий экран: на узком строка добавления переносится и поиск сужается по прежним правилам. */
@media (min-width: 901px) {
  .ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn) .ms-docedit-add { box-sizing: content-box; align-items: flex-start; min-height: 0; height: 28.15px; padding: 7px 30px 3px; }
  .ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn) .ms-docedit-add-search { flex: 0 0 auto; width: auto; }
  .ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn) :is(.ms-docedit-add > .ms-btn,.ms-docedit-import-menu > summary) { box-sizing: content-box; height: 24px; min-height: 0; }
  /* X6, повтор C6: рамка принадлежит полю, поэтому оболочка поиска не съедает два пикселя; слева 3 px. С 18.10.2026 размер —
     как у МойСклада при любом масштабе (500 × 20 + поля и рамка; при масштабе 1 — те же 507 × 26) и у всех видов старой
     семьи. Меню Lookup остаётся общим. */
  .ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn) .ms-docedit-add .ms-docedit-add-search .ms-pick.ms-lookup { width: auto; height: auto; border: 0; }
  .ms-docedit:is(.ms-docedit-procurement-stock,.ms-docedit-type-salesreturn) .ms-docedit-add .ms-docedit-add-search .ms-lookup > input.ms-input {
    box-sizing: content-box; flex: 0 0 auto; width: 500px; height: 20px; padding: 2px 2px 2px 3px; border: 1px solid #bfbfbf;
  }
}
/* Ссылка «по цене» приёмки: прежний select и весь выбор/клавиатура — m_controls.
   field-sizing подстраивает подчёркивание под текст выбранного способа. */
:is(.ms-docedit-type-supply,.ms-docedit-type-demand) .ms-docedit-stock-overhead .ms-sel {
  --ms-control-foreground: #186999;
  flex: 0 0 auto; width: auto; height: 16px; border: 0; background: transparent; color: #186999; line-height: 16px;
}
:is(.ms-docedit-type-supply,.ms-docedit-type-demand) .ms-docedit-stock-overhead .ms-sel > .ms-sel-text {
  flex: none; field-sizing: content; width: auto; height: 15px; padding: 0; border: 0; border-bottom: 1px dashed currentColor;
  background: transparent; color: inherit; font: 12px/16px Arial,sans-serif; cursor: pointer;
}
:is(.ms-docedit-type-supply,.ms-docedit-type-demand) .ms-docedit-stock-overhead .ms-sel > :is(.ms-sel-arrow,.ms-sel-clear) { display: none; }
:is(.ms-docedit-type-supply,.ms-docedit-type-demand) .ms-docedit-stock-overhead .ms-sel:not(.is-disabled):hover { --ms-control-foreground: #f88001; color: #f88001; }
:is(.ms-docedit-type-supply,.ms-docedit-type-demand) .ms-docedit-stock-overhead .ms-sel.is-disabled { --ms-control-foreground: #888; color: #888; }
.ms-docedit-procurement-stock .ms-docedit-inventory-tools { margin: 10px 30px; }
.ms-docedit-procurement-stock .ms-docedit-inventory-pager { padding: 6px 30px; }
.ms-docedit-procurement-stock .ms-docedit-inventory-tools + .ms-docedit-muted { display: none; }
/* X8: фильтр позиций инвентаризации над таблицей; значения полей и меню — общие m_controls/Lookup. */
.ms-docedit.ms-docedit-type-inventory .ms-docedit-positions > .ms-docedit-position-tools {
  display: flex; flex-direction: row; justify-content: flex-start; align-items: center; gap: 15px;
  width: auto; height: 28px; min-height: 28px; margin: 0 30px 5px; padding: 0;
}
.ms-docedit-type-inventory [data-inventory-filter-toggle] { box-sizing: border-box; width: 68.31px; padding: 0 13px; }
.ms-docedit.ms-docedit-type-inventory .ms-docedit-position-tools > [data-inventory-filter-toggle] { height: 28px; min-height: 28px; line-height: 26px; }
.ms-docedit-type-inventory [data-inventory-filter-toggle][aria-expanded="true"] { background: linear-gradient(#e6e6e6,#d6d6d6); box-shadow: inset 0 1px 3px #333; }
.ms-docedit.ms-docedit-type-inventory .ms-docedit-position-search { box-sizing: border-box; flex: 0 0 206px; width: 206px; height: 21px; padding: 2px; border-radius: 3px; }
/* Строка «Фильтр» инвентаризации — как у МойСклада (живая сверка 00053, 18.10.2026, масштаб 192,5 %): строка 30,15 без поля
   снизу (строка-распорка таблицы теперь своя), кнопка 26 + рамка, поиск 200 × 15 + поля 2 и рамка в 4 px от верха строки.
   Было: 28 + 5 снизу, кнопка 28, поиск 206 × 21 — таблица на 2,9 px ниже. */
@media (min-width: 901px) {
  .ms-docedit.ms-docedit-type-inventory .ms-docedit-positions > .ms-docedit-position-tools { align-items: flex-start; height: 30.15px; min-height: 0; margin-bottom: 0; }
  .ms-docedit.ms-docedit-type-inventory .ms-docedit-position-tools > [data-inventory-filter-toggle] { box-sizing: content-box; width: auto; height: 26px; min-height: 0; line-height: 26px; }
  .ms-docedit.ms-docedit-type-inventory .ms-docedit-position-search { box-sizing: content-box; flex: 0 0 auto; width: 200px; height: 15px; margin-top: 4px; }
}
.ms-docedit-inventory-filter { display: flex; flex-wrap: wrap; align-items: flex-end; margin: 0 10px 10px; padding: 4px 15px 10px 20px; border: 0; border-radius: 3px; background: #e3e3e3; }
.ms-docedit-inventory-filter-actions { display: flex; flex: 0 0 250px; align-items: center; margin: 0 7px 5px; }
.ms-docedit-inventory-filter-actions [data-inventory-find] { padding: 0 21px; }
.ms-docedit-inventory-filter-actions [data-inventory-clear] { padding: 0 12px; }
.ms-docedit-inventory-filter-fields { display: contents; }
.ms-docedit-inventory-filter-fields > label, .ms-docedit-inventory-filter-group { width: 250px; flex: 0 0 250px; padding: 6px 7px; }
.ms-docedit-inventory-filter-fields label:not(.ms-check) { display: flex; flex-direction: column; gap: 2px; }
.ms-docedit-inventory-filter-fields .ms-check { display: flex; align-items: center; gap: 5px; margin-top: 4px; }
.ms-docedit.ms-docedit-type-inventory .ms-docedit-inventory-filter-fields :is(.ms-input,.ms-sel,.ms-lookup,.ms-dt) { box-sizing: border-box; width: 250px; }
.ms-docedit.ms-docedit-type-inventory .ms-docedit-inventory-filter-fields .ms-lookup > .ms-input { width: 100%; }
.ms-docedit-type-inventory .ms-docedit-add > :is([data-inventory-fill],[data-inventory-catalog]) { height: 26px; min-height: 26px; margin: 0; font: 12px/24px Arial,sans-serif; white-space: nowrap; }
/* Листалка позиций — как b-paginator МойСклада (живая сверка инвентаризации 00053, 18.10.2026): с x 40 в 10 px под строкой
   добавления, значки 13 px (у «««» и «›» 4 px справа), счёт 11 px по середине поля 100 с полями 8 — те же правила, что у
   листалки файлов (m_docedit_head.css); доступная стрелка — темнее. Было: «‹ счёт ›» 12 px, без «««/»»». */
.ms-docedit.ms-docedit-type-inventory .ms-docedit-inventory-pager { display: flex; align-items: center; gap: 0; margin: 10px 30px 0; padding: 0; height: 13px; font: 11px/13px Arial,sans-serif; white-space: nowrap; }
.ms-docedit-type-inventory .ms-docedit-inventory-pager > button.ms-card-lower-page { width: 13px; height: 13px; padding: 0; background: transparent; cursor: pointer; }
.ms-docedit-type-inventory .ms-docedit-inventory-pager > button.ms-card-lower-page:not(:disabled) { border-color: #bbb; color: #555; }
.ms-docedit-type-inventory .ms-docedit-inventory-pager > button.ms-card-lower-page:disabled { cursor: default; }
.ms-docedit-type-inventory [data-inventory-status] { margin: 5px 30px; }
.ms-docedit-inventory-price-choice { display: flex; align-items: center; gap: 10px; margin: 12px 0; }
@media (max-width: 1100px) {
  .ms-docedit-procurement-stock .ms-docedit-bottom { flex-wrap: wrap; gap: 20px; }
  .ms-docedit-procurement-stock .ms-docedit-bottom .ms-docedit-comment { flex-basis: min(var(--classic-comment), 100%); }
  .ms-docedit-procurement-stock .ms-docedit-add-search { flex-basis: min(507px, 100%); }
}
.ms-docedit-columns-button { border: 0; padding: 0; background: transparent; color: #186999; cursor: pointer; font: 16px Arial, sans-serif; }
.ms-docedit-columns-button:hover { color: #f88001; }
.ms-docedit-modern .ms-docedit-columns-button { flex: 0 0 24px; margin-left: 12px; color: #036ce5; }
.ms-docedit-columns-panel { z-index: 140; color: #222; font: 12px/18px Arial, sans-serif; }
.ms-docedit-columns-panel > button { margin-top: 10px; }
.ms-docedit-columns-panel > p:empty { display: none; }
.ms-docedit-table .ms-docedit-cell-unitCost { width: 120px; text-align: right; }
/* X6: классические складские таблицы. Количество и упаковка — отдельные 55/65 px,
   как в ms_loss_card/ms_move_card; ширины служебного края и прослеживаемости — по /probe. */
@media (min-width: 901px) {
  .ms-docedit-warehouse { --base-width: 0px; --slot-width: 0px; --slot-to-width: 0px; --weight-width: 0px; --volume-width: 0px; }
  .ms-docedit-warehouse:has(th.ms-docedit-cell-baseQuantity:not(.ms-docedit-column-hidden)) { --base-width: 110px; }
  .ms-docedit-warehouse:has(th.ms-docedit-cell-slot:not(.ms-docedit-column-hidden)) { --slot-width: 170px; }
  .ms-docedit-warehouse:has(th.ms-docedit-cell-slotTo:not(.ms-docedit-column-hidden)) { --slot-to-width: 170px; }
  .ms-docedit-warehouse:has(th.ms-docedit-cell-weight:not(.ms-docedit-column-hidden)) { --weight-width: 110px; }
  .ms-docedit-warehouse:has(th.ms-docedit-cell-volume:not(.ms-docedit-column-hidden)) { --volume-width: 110px; }
  /* 10 px под вкладками, как у всех форм старого вида: прежние 12 заменяли строку-распорку таблицы МойСклада, которая с
     18.10.2026 есть у Свода (m_docedit_head.css), — таблица стояла на 1,8 px ниже (живая сверка оприходования). */
  .ms-docedit-warehouse .ms-docedit-positions { margin-top: 10px; width: min(calc(var(--docedit-table-width) + var(--base-width) + var(--slot-width) + var(--slot-to-width) + var(--weight-width) + var(--volume-width)), calc(100vw - 20px)); }
  .ms-docedit-warehouse .ms-docedit-table .ms-docedit-cell-name { width: auto; padding: 2px 0; }
  .ms-docedit-warehouse .ms-docedit-table .ms-docedit-cell-quantity { width: 55px; }
  .ms-docedit-warehouse .ms-docedit-table .ms-docedit-cell-unit { width: 65px; text-align: left; }
  .ms-docedit-warehouse .ms-docedit-cell-unit .ms-head-unit { margin-left: 0; }
  .ms-docedit-warehouse .ms-docedit-table .ms-docedit-cell-remove { width: 29px; padding: 0; }
  .ms-docedit-warehouse .ms-docedit-table .ms-docedit-cell-gtd { width: 170px; }
  .ms-docedit-warehouse .ms-docedit-table .ms-docedit-cell-rnpt { width: 205px; }
  .ms-docedit-warehouse .ms-docedit-table .ms-docedit-cell-country { width: 190px; }
  .ms-docedit-warehouse .ms-docedit-table :is(.ms-docedit-cell-slot,.ms-docedit-cell-slotTo) { width: 170px; text-align: left; }
  .ms-docedit-warehouse .ms-docedit-table :is(.ms-docedit-cell-baseQuantity,.ms-docedit-cell-weight,.ms-docedit-cell-volume) { width: 110px; }
  .ms-docedit-warehouse .ms-docedit-table th.ms-docedit-cell-reason { text-align: left; }
  .ms-docedit-warehouse .ms-docedit-add { height: 40px; min-height: 40px; padding-top: 7px; padding-bottom: 6px; }
  .ms-docedit-type-inventory .ms-docedit-table .ms-docedit-cell-seq { width: 61px; }
  .ms-docedit-type-inventory .ms-docedit-table .ms-docedit-cell-calculatedQuantity { width: 145px; }
  .ms-docedit-type-inventory .ms-docedit-table :is(.ms-docedit-cell-quantity,.ms-docedit-cell-sum) { width: 125px; }
  .ms-docedit-type-inventory .ms-docedit-table .ms-docedit-cell-difference { width: 95px; }
  .ms-docedit-type-inventory .ms-docedit-positions { margin-top: 10px; }
  .ms-docedit-type-inventory .ms-docedit-positions > .ms-docedit-position-tools { flex-direction: row; justify-content: flex-start; width: auto; height: 26px; min-height: 26px; margin: 0 30px 7px; padding: 0; }
}
/* Замер ms_card_salesreturn: строка команд 40px; комментарий 568×83, итоги 340px через 65px. */
.ms-docedit-type-salesreturn .ms-docedit-position-actions[hidden] { display: none; }
/* Волна 36 (живая сверка нового возврата МойСклада 12.10.2026): у нового возврата нет столбца НДС (как и себестоимости —
   doc_edit.php), допполе «Причина возврата» — на 35 px ниже строки «Проект», как у МойСклада. */
.ms-docedit-type-salesreturn.is-new :is(th, td).ms-docedit-cell-vat { display: none; }
.ms-docedit-type-salesreturn .ms-docedit-add { box-sizing: border-box; height: 40px; padding: 7px 30px; gap: 20px; border-bottom: 1px solid #186999; }
.ms-docedit-type-salesreturn .ms-docedit-add-button { display: none; }
.ms-docedit-type-salesreturn .ms-docedit-add-search { flex: 0 0 507px; width: 507px; }
.ms-docedit-type-salesreturn .ms-docedit-add-search .ms-lookup,
.ms-docedit-type-salesreturn .ms-docedit-add-search .ms-lookup > input.ms-input { box-sizing: border-box; width: 100%; height: 26px; border-radius: 0; }
.ms-docedit-type-salesreturn .ms-docedit-add > .ms-btn { height: 26px; min-height: 26px; box-sizing: border-box; margin: 0; font: 12px/24px Arial, sans-serif; white-space: nowrap; }
.ms-docedit-type-salesreturn .ms-docedit-add > [data-docedit-import] { margin-left: auto; }
/* «Импорт ▾» возврата — меню, как у закупок (m_docedit.js, 18.10.2026). */
.ms-docedit-type-salesreturn .ms-docedit-import-menu { margin-left: auto; }
.ms-docedit-type-salesreturn .ms-docedit-import-menu .ms-card-action-options { right: 0; left: auto; min-width: 160px; }
.ms-docedit.ms-docedit-type-salesreturn .ms-docedit-import-menu > summary { margin: 0; column-gap: 0; font: 12px/24px Arial, sans-serif; white-space: nowrap; }
.ms-docedit-type-salesreturn .ms-docedit-position-tools { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; width: 260px; padding: 8px; margin: 0; white-space: normal; }
.ms-docedit-type-salesreturn .ms-docedit-bottom { display: flex; justify-content: flex-start; gap: 65px; margin-top: 20px; align-items: flex-start; }
.ms-docedit-type-salesreturn .ms-docedit-bottom .ms-docedit-comment { box-sizing: border-box; flex: 0 0 568px; width: 568px; height: 83px; min-height: 83px; padding: 3px; border: 1px solid #e4e4e4; font: 12px Arial, sans-serif; }
.ms-docedit-type-salesreturn .ms-docedit-bottom .ms-docedit-totals { flex: 0 0 340px; width: 340px; padding: 0; font: 12px Arial, sans-serif; }
.ms-docedit-type-salesreturn .ms-docedit-totals .ms-card-subtotal,
.ms-docedit-type-salesreturn .ms-docedit-totals .ms-card-grand { font: 700 18px/21px Arial, sans-serif; letter-spacing: normal; margin: 0; padding: 0; }
.ms-docedit-type-salesreturn .ms-docedit-totals .ms-card-grand { margin-top: 20px; }
.ms-docedit.ms-docedit-type-salesreturn .ms-docedit-totals .ms-docedit-vat-mode { display: flow-root; width: 340px; margin: 0; padding: 0; }
.ms-docedit-type-salesreturn .ms-docedit-totals .ms-docedit-vat-mode .ms-check { display: flex; width: 100%; height: 15px; margin: 0 0 5px; font: 12px/15px Arial, sans-serif; }
.ms-docedit-type-salesreturn .ms-docedit-vat-mode [data-docedit-vat-total] { margin-left: auto; }
.ms-docedit-type-salesreturn .ms-docedit-totals .ms-card-vat-total[hidden] { display: none; }
.ms-docedit-type-salesreturn .ms-docedit-totals .ms-docedit-add-quantity { display: block; margin: 44px 0 0; padding: 0; font: 12px/15px Arial, sans-serif; }
/* Живая сверка возврата 00052 (14.10.2026): «Кол-во» в 135 px от верха итогов, панель итогов МойСклада 169,4 px. С 18.10.2026
   (сверка af200f63 при масштабе 192,5 %) итоги возврата — общими блоками МойСклада, как у закупок и склада: «Кол-во» в 40 px
   под «Итого», высота панели — по содержимому (прежние 37,3 px и 169,4 подгоняли старые строки). */
.ms-docedit.ms-docedit-type-salesreturn .ms-docedit-totals .ms-docedit-add-quantity { margin-top: 40px; }
@media (max-width: 1100px) {
  .ms-docedit-type-salesreturn .ms-docedit-bottom { flex-wrap: wrap; gap: 20px; }
  .ms-docedit-type-salesreturn .ms-docedit-bottom .ms-docedit-comment { flex-basis: min(568px, 100%); max-width: 100%; }
  .ms-docedit-type-salesreturn .ms-docedit-add { height: auto; min-height: 40px; flex-wrap: wrap; }
  .ms-docedit-type-salesreturn .ms-docedit-add-search { flex-basis: min(507px, 100%); }
}

/* Волна 35 (11.10.2026, живая сверка нового заказа покупателя в МойСкладе по просьбе Михаила). Панель позиций: серая плашка
   «Все 0 | Расценить · Сохранить цены · Скидка» (фон #f1f4f9, скругление 8px, высота 28px), поиск 312×28 с рамкой #bec6d7
   и лупой; в шапке таблицы шеврон только у «Наименование», «Цена», «Скидка». */
/* Сильнее общих правил вкладок (:has, в том числе на ширине от 1300px) — иначе плашка получала поля 8px и высоту 32/34px. */
.ms-docedit.ms-docedit-modern:has([data-docedit-tabs], [data-doc-form-tabs]) .ms-docedit-position-tools, .ms-docedit.ms-docedit-modern .ms-docedit-position-tools { gap: 0; min-height: 28px; margin: 9px 0 10px; }
.ms-docedit-modern .ms-docedit-pos-pill { box-sizing: border-box; display: inline-flex; align-items: center; height: 28px; padding: 0 6px 0 12px; border-radius: 8px; background: #f1f4f9; color: #091739; font: 400 14px/20px var(--docedit-font); white-space: nowrap; }
.ms-docedit-modern .ms-docedit-pos-pill [data-docedit-all-count] { color: #091739; }
.ms-docedit-modern .ms-docedit-pos-sep { flex: none; width: 1px; height: 16px; margin: 0 0 0 12px; background: #bec6d7; }
.ms-docedit-modern .ms-docedit-position-tools .ms-docedit-pos-pill .ms-btn { height: 28px; margin: 0 0 0 6px; padding: 0 6px; border-radius: 6px; font: 400 14px/20px var(--docedit-font); }
.ms-docedit-modern .ms-docedit-position-tools .ms-docedit-pos-pill .ms-btn:not(:disabled):hover { background: #e3e8f1; color: #0b7cff; }
.ms-docedit-modern .ms-docedit-pos-pill .ms-docedit-selection { display: inline-flex; align-items: center; gap: 6px; margin-left: 12px; }
.ms-docedit-modern .ms-docedit-pos-pill .ms-docedit-selection[hidden] { display: none; }
.ms-docedit-modern .ms-docedit-pos-search { position: relative; display: inline-flex; align-items: center; flex: none; margin-left: 32px; }
.ms-docedit.ms-docedit-modern .ms-docedit-pos-search .ms-docedit-position-search { box-sizing: border-box; width: 312px; min-width: 0; height: 28px; margin: 0; padding: 6px 36px 6px 12px; border: 0; border-radius: 8px; outline: 1px solid #bec6d7; outline-offset: -1px; background: #fff; box-shadow: none; color: #091739; font: 400 14px/16px var(--docedit-font); }
.ms-docedit.ms-docedit-modern .ms-docedit-pos-search .ms-docedit-position-search:focus { outline-color: #036ce5; }
.ms-docedit-modern .ms-docedit-pos-search .ms-docedit-position-search::placeholder { color: #9fa7af; opacity: 1; }
.ms-docedit-modern .ms-docedit-pos-search .ms-docedit-position-search::-webkit-search-cancel-button { display: none; }
.ms-docedit-modern .ms-docedit-pos-search > svg { position: absolute; right: 10px; top: 6px; width: 16px; height: 16px; color: #5f6d79; pointer-events: none; }
/* Шапка столбца с меню у МойСклада: подпись, 4 px, место значка 20 px (уголок 12 в середине), поле ячейки 8 — уголок в 12 px
   от края; подпись, не влезшая в узкий столбец, режется многоточием («Скид…» у «Скидки» в 80 px; живая сверка заказа 02614,
   14.10.2026: у Свода подпись и уголок стояли на 4 px правее, «Скидка» целиком). */
.ms-docedit-modern .ms-docedit-column-menu summary, .ms-docedit-modern .ms-docedit-column-open { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; box-sizing: border-box; color: #5f6d79; font: 400 12px/20px var(--docedit-font); }
.ms-docedit-modern .ms-docedit-column-open { appearance: none; margin: 0; padding: 0; border: 0; background: none; cursor: pointer; }
.ms-docedit-modern .ms-docedit-column-menu summary:hover, .ms-docedit-modern .ms-docedit-column-open:hover { color: #036ce5; }
.ms-docedit-modern .ms-docedit-chevron { flex: none; width: 12px; height: 12px; margin: 0 4px; }
.ms-docedit-modern .ms-docedit-column-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ms-docedit-modern th > .ms-docedit-column-menu { max-width: 100%; }
.ms-docedit-modern th.ms-docedit-cell-name .ms-docedit-column-menu { display: block; }
/* Волна 36 (живая сверка заказа МойСклада 12.10.2026): «···» строки — в конце ячейки наименования (8 px от края),
   полупрозрачное; отдельного столбца «Убрать» у заказа нет; код товара — жирным серым #5f6d79. */
.ms-docedit-modern :is(th, td).ms-docedit-cell-remove { display: none; }
.ms-docedit-modern td.ms-docedit-cell-name { position: relative; padding-right: 32px; }
.ms-docedit-modern td.ms-docedit-cell-name > .ms-docedit-row-menu { position: absolute; top: 50%; right: 8px; transform: translateY(-50%); }
.ms-docedit-modern td.ms-docedit-cell-name > .ms-docedit-row-menu > summary { display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; padding: 0; color: #091739; opacity: .5; line-height: 20px; }
.ms-docedit-modern td.ms-docedit-cell-name > .ms-docedit-row-menu > summary:hover,
.ms-docedit-modern td.ms-docedit-cell-name > .ms-docedit-row-menu[open] > summary { opacity: 1; }
.ms-docedit-modern td.ms-docedit-cell-name > .ms-docedit-row-menu .ms-card-action-options { left: auto; right: 0; }
.ms-docedit-modern .ms-docedit-product .ms-docedit-product-code { color: #5f6d79; }
.ms-docedit-modern th.ms-docedit-cell-name .ms-docedit-column-menu summary { display: flex; justify-content: space-between; padding-right: 0; }
.ms-docedit-modern .ms-docedit-column-menu .ms-card-action-options { min-width: 0; padding: 6px 0; border: 0; border-radius: 8px; background: #fff; box-shadow: 0 2px 12px rgba(9, 23, 57, .16); }
.ms-docedit-modern .ms-docedit-column-menu .ms-card-action-options button { display: block; width: 100%; padding: 8px 18px; border: 0; background: none; color: #091739; font: 400 14px/20px var(--docedit-font); text-align: left; }
.ms-docedit-modern .ms-docedit-column-menu .ms-card-action-options button:hover { background: #f1f4f9; }

/* Строки заказа МойСклада: после номера — картинка товара 22×22 (как в карточке), скидка — со знаком «%». */
.ms-docedit-modern .ms-docedit-cell-seq .ms-docedit-row-image { position: absolute; left: 43px; top: 50%; display: flex; align-items: center; justify-content: center; width: 22px; height: 22px; margin-top: -11px; pointer-events: none; }
.ms-docedit-modern .ms-docedit-cell-seq .ms-docedit-row-image img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; }
/* Волна 37 (живая сверка отгрузки, счёта и возврата МойСклада 12.10.2026): у старого вида картинка — свой столбец
   «Изображение» 31 px сразу после номера (45–76 px от края таблицы), миниатюра до 26 px, у левого края, по центру строки. */
.ms-docedit-classic .ms-docedit-cell-seq .ms-docedit-row-image { position: absolute; left: 45px; top: 50%; display: flex; align-items: center; width: 31px; height: 26px; margin-top: -13px; pointer-events: none; }
.ms-docedit-classic .ms-docedit-cell-seq .ms-docedit-row-image img { display: block; width: auto; height: auto; max-width: 26px; max-height: 26px; }
/* Столбец картинки — у правого края ячейки номера: 45–76 px при номере 76 px, у инвентаризации (61 px) — 30–61 px. */
.ms-docedit-classic .ms-docedit-cell-seq .ms-docedit-row-image { left: auto; right: 0; }
/* НДС строки старого вида — как у МойСклада (живая сверка отгрузки 12.10.2026): значение текстом по правому краю
   («без НДС», «20%»), без стрелки (у него поле НДС строки — тоже без стрелки); список открывается щелчком по полю. */
.ms-docedit-classic td.ms-docedit-cell-vat .ms-sel { padding: 0; }
.ms-docedit-classic td.ms-docedit-cell-vat .ms-sel > .ms-sel-text { padding: 0 2px; text-align: right; }
.ms-docedit-classic td.ms-docedit-cell-vat .ms-sel > .ms-sel-arrow { display: none; }
/* Волна 37: таблица позиций старого вида — по правилам самого МойСклада (стиль его таблицы b-inlineeditor-table на странице
   документа; живая сверка приёмки, отгрузки, возврата и списания 12.10.2026). Ячейки: поле справа 5 px, сверху и снизу 3 px,
   строка 30 px, линия под строкой #bfbfbf, под шапкой — #186999; подписи шапки 11 px #222, текстовые столбцы — по левому
   краю; кнопки шапки без заливки, рамка #ddd (#bfbfbf под мышью), текст 11 px, уголок 8×4; значения 12/14 px #222 в 3 px
   от края поля (его div-viewer); номер строки 11 px у правого края своего столбца (40 px от края таблицы); наименование —
   от края ячейки, тёмным. Строка под мышью — жёлтая #fffb8c: номер сменяется флажком, у полей ввода — рамка #bfbfbf на
   белом, наименование — синей ссылкой, слева — точки перетаскивания, справа — «⋮» меню строки; выбранная — #e4f1fa; поле в
   работе — рамка #3ec5ff, фон #ecfcff. Остаток — простым текстом, единица — своим столбцом 65 px после количества,
   скидка — со знаком «%». На узком экране таблица остаётся прежней (карточки строк). */
/* Уголок кнопок шапки и «Импорт» — залитый треугольник 9 × 4, как у МойСклада (живая сверка приёмки 18.10.2026; был тонкий
   «⌄», у «Импорт» — знак «▾» шрифтом). Рисунок свой. */
.ms-docedit-classic .ms-docedit-arrow { display: inline-block; flex: none; width: 9px; height: 4px; margin-left: 5px; vertical-align: middle;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='4' viewBox='0 0 9 4'%3E%3Cpath d='M1 0h7L4.5 4z' fill='%231a72a6'/%3E%3C/svg%3E") no-repeat 50% 50%; }
@media (min-width: 901px) {
  .ms-docedit.ms-docedit-classic .ms-docedit-table { box-shadow: none; color: #222; font: 400 12px/14px Arial, sans-serif; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table :is(th, td) { height: 30px; padding: 3px 5px 3px 0; border: 0; border-bottom: 1px solid #bfbfbf; box-shadow: none; vertical-align: middle; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table th { border-bottom-color: #186999; color: #222; font: 400 11px/14px Arial, sans-serif; }
  /* Строки позиций — по содержимому, как у МойСклада: поле 23 + поля 3 и 3 + черта в точку экрана (29,52 при 192,5 %), с
     наименованием в две строки — 32,52 (живая сверка счёта поставщика 00001, 18.10.2026: у Свода было не меньше 30 — третья
     строка ниже на 0,5, десятая — на 5). Шапка — 30. */
  .ms-docedit.ms-docedit-classic .ms-docedit-table tbody td { height: auto; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table :is(th, td):is(.ms-docedit-cell-gtd, .ms-docedit-cell-rnpt, .ms-docedit-cell-country, .ms-docedit-cell-reason, .ms-docedit-cell-slot, .ms-docedit-cell-slotTo, .ms-docedit-cell-unit) { text-align: left; }
  .ms-docedit.ms-docedit-classic.ms-docedit-type-move .ms-docedit-table th:is(.ms-docedit-cell-stock, .ms-docedit-cell-stockTo) { padding-top: 1px; padding-bottom: 1px; line-height: 13px; }
  /* Кнопки шапки: «Наименование», «Маркировка», «Цена» (меню) и «Скидка» (окно). Высота 23 вместе с рамкой, как у
     МойСклада (замер заказа поставщику 13.10.2026): 22 + рамка давали 24 на экране без масштаба, и строка шапки — 31 вместо 30. */
  .ms-docedit.ms-docedit-classic .ms-docedit-table th .ms-docedit-column-menu > summary,
  .ms-docedit.ms-docedit-classic .ms-docedit-table th > .ms-docedit-column-open {
    box-sizing: border-box; display: inline-flex; align-items: center; height: 23px; margin: 0; padding: 0 10px; border: 1px solid #ddd; border-radius: 3px;
    background: none; color: #186999; font: 400 11px/18px Arial, sans-serif; white-space: nowrap; vertical-align: middle;
  }
  .ms-docedit.ms-docedit-classic .ms-docedit-table th .ms-docedit-column-menu > summary:hover,
  .ms-docedit.ms-docedit-classic .ms-docedit-table th .ms-docedit-column-menu[open] > summary,
  .ms-docedit.ms-docedit-classic .ms-docedit-table th > .ms-docedit-column-open:hover { border-color: #bfbfbf; background: none; }
  /* Номер с картинкой: без полей; номер, флажок (под мышью — вместо номера) и точки перетаскивания — на своих местах. */
  .ms-docedit.ms-docedit-classic .ms-docedit-table .ms-docedit-cell-seq { padding: 0; text-align: right; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table th.ms-docedit-cell-seq { padding-right: 36px; }
  .ms-docedit.ms-docedit-classic td.ms-docedit-cell-seq [data-docedit-seq] { position: absolute; top: 50%; right: 36px; margin-top: -7px; color: #222; font-size: 11px; line-height: 14px; }
  .ms-docedit.ms-docedit-classic td.ms-docedit-cell-seq [data-docedit-select] { top: 50%; right: 36px; left: auto; margin: -7px 0 0; }
  .ms-docedit.ms-docedit-classic .ms-docedit-row:is(:hover, .is-selected) [data-docedit-seq] { visibility: hidden; }
  .ms-docedit.ms-docedit-classic td.ms-docedit-cell-seq .ms-docedit-grip { position: absolute; top: 50%; left: 0; width: 12px; height: 18px; margin-top: -9px; padding: 0; color: transparent; font-size: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='18' viewBox='0 0 10 18'%3E%3Cg fill='%23bfbfbf'%3E%3Ccircle cx='3' cy='3' r='1'/%3E%3Ccircle cx='7' cy='3' r='1'/%3E%3Ccircle cx='3' cy='7' r='1'/%3E%3Ccircle cx='7' cy='7' r='1'/%3E%3Ccircle cx='3' cy='11' r='1'/%3E%3Ccircle cx='7' cy='11' r='1'/%3E%3Ccircle cx='3' cy='15' r='1'/%3E%3Ccircle cx='7' cy='15' r='1'/%3E%3C/g%3E%3C/svg%3E") no-repeat 2px 0; }
  /* Строка под мышью и выбранная. */
  .ms-docedit.ms-docedit-classic .ms-docedit-table .ms-docedit-row.is-selected { background: #e4f1fa; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table .ms-docedit-row:hover { background: #fffb8c; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table .ms-docedit-row:focus-within:not(:hover, .is-selected) { background: transparent; }
  /* Наименование: код жирным, наименование тёмным; под мышью — синей ссылкой (у МойСклада span.link), подчёркнутой под курсором. */
  .ms-docedit.ms-docedit-classic .ms-docedit-table :is(th, td).ms-docedit-cell-name { padding: 2px 0; text-align: left; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table .ms-docedit-product { padding: 0; color: #222; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table .ms-docedit-row:hover .ms-docedit-product { color: #186999; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table .ms-docedit-product:hover { color: #186999; }
  /* Архивный товар (живая сверка счёта поставщика 00001, 18.10.2026): код и наименование серые #999, перед кодом — плашка «A»
     (белая буква на #999, поля 0 2 px, до кода 3 px; без кода — перед наименованием); строка из-за неё переносится, как у
     МойСклада. */
  .ms-docedit.ms-docedit-classic .ms-docedit-table .ms-docedit-product.is-archived,
  .ms-docedit.ms-docedit-classic .ms-docedit-table .ms-docedit-row:hover .ms-docedit-product.is-archived,
  .ms-docedit.ms-docedit-classic .ms-docedit-table .ms-docedit-product.is-archived .ms-docedit-product-code { color: #999; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table .ms-docedit-product.is-archived > :first-child::before { content: 'A'; margin-right: 3px; padding: 0 2px; background: #999; color: #fff; font-weight: 400; }
  /* Поля строк — как div-viewer МойСклада: без рамки, текст в 3 px от края поля; рамка — у строки под мышью и при вводе. */
  .ms-docedit.ms-docedit-classic .ms-docedit-table [data-ms-cell] > :is(input:not(.ms-control-source), .ms-sel, .ms-lookup) { height: 23px; border-radius: 0; color: #222; vertical-align: top; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table [data-docedit-row] input.ms-docedit-num { height: 23px; padding: 0 2px; }
  .ms-docedit.ms-docedit-classic .ms-docedit-row:is(:hover, :focus-within) [data-ms-cell]:where(:not(.is-invalid)) >
  :is(input:not(.ms-control-source), .ms-sel, .ms-lookup):where(:not(:focus-within, :disabled, [readonly], [hidden], [aria-invalid="true"], .is-invalid, .is-disabled)) { border-color: #bfbfbf; background: #fff; }
  .ms-docedit.ms-docedit-classic [data-ms-cell] > :is(input:not(.ms-control-source), .ms-sel, .ms-lookup):where(:not([aria-invalid="true"], .is-invalid)):focus-within { border-color: #3ec5ff; background: #ecfcff; }
  .ms-docedit.ms-docedit-classic td.ms-docedit-cell-name > .ms-lookup:focus-within { border-color: #bfbfbf; background: #fff; }
  .ms-docedit.ms-docedit-classic .ms-docedit-stock-cell input[readonly] { background: transparent; color: #222; }
  .ms-docedit.ms-docedit-classic .ms-docedit-cell-reason .ms-docedit-reason { height: 23px; min-height: 23px; padding: 0 2px; border-radius: 0; resize: none; }
  .ms-docedit.ms-docedit-classic .ms-docedit-row:is(:hover, :focus-within) .ms-docedit-reason { border-color: #bfbfbf; background: #fff; }
  .ms-docedit.ms-docedit-classic .ms-docedit-cell-reason .ms-docedit-reason:focus { border-color: #3ec5ff; background: #ecfcff; }
  /* Числа без поля ввода — в 8 px от правого края (5 + 3), подписи слева — в 3 px. «Сумма» строки с 13.10.2026 — поле,
     как цена (у инвентаризации — по-прежнему текст «Суммы разницы»); «Себест. единицы» возврата без отгрузки — поле с 30.10.2026. */
  .ms-docedit.ms-docedit-classic .ms-docedit-table td:is(.ms-docedit-cell-sum:not([data-ms-cell]), .ms-docedit-cell-cost, .ms-docedit-cell-unitCost:not([data-ms-cell]), .ms-docedit-cell-difference, .ms-docedit-cell-available, .ms-docedit-cell-baseQuantity, .ms-docedit-cell-weight, .ms-docedit-cell-volume) { padding-right: 8px; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table td:is(.ms-docedit-cell-unit, .ms-docedit-cell-slot, .ms-docedit-cell-slotTo) { padding-left: 3px; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table td.ms-docedit-cell-unit .ms-head-unit { color: #222; font: inherit; }
  /* Количество и единица (у отгрузки, счёта, приёмки, возврата — один столбец 120 px): число в первых 55 px, единица — с 731-го,
     как у МойСклада два столбца 55 и 65 px; подпись «Кол-во» — над числом. */
  .ms-docedit.ms-docedit-classic:not(.ms-docedit-warehouse) .ms-docedit-table th.ms-docedit-cell-quantity { padding-right: 70px; }
  .ms-docedit.ms-docedit-classic:not(.ms-docedit-warehouse) .ms-docedit-table td.ms-docedit-cell-quantity { padding-right: 0; text-align: left; white-space: nowrap; }
  .ms-docedit.ms-docedit-classic:not(.ms-docedit-warehouse) .ms-docedit-table td.ms-docedit-cell-quantity > input[data-docedit-qty] { width: 50px; vertical-align: top; }
  .ms-docedit.ms-docedit-classic:not(.ms-docedit-warehouse) .ms-docedit-table td.ms-docedit-cell-quantity > :is(.ms-head-unit, [data-docedit-unit]) {
    display: inline-block; box-sizing: border-box; width: 65px; margin: 0 0 0 5px; padding: 0 3px; overflow: hidden; color: #222; font: 400 12px/23px Arial, sans-serif;
    text-overflow: ellipsis; vertical-align: top;
  }
  .ms-docedit.ms-docedit-classic:not(.ms-docedit-warehouse) .ms-docedit-table td.ms-docedit-cell-quantity > :is(.ms-head-unit, [data-docedit-unit]):empty { display: none; }
  /* Скидка — со знаком «%», как «0%» у МойСклада. */
  .ms-docedit.ms-docedit-classic .ms-docedit-table td.ms-docedit-cell-discount { position: relative; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table td.ms-docedit-cell-discount::after { content: "%"; position: absolute; top: 50%; right: 8px; margin-top: -7px; color: #222; font: 400 12px/14px Arial, sans-serif; pointer-events: none; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table td.ms-docedit-cell-discount > input.ms-docedit-num { padding-right: 12px; }
  /* «⋮» меню строки — значок МойСклада 24×24: под мышью у строки, рамка под курсором, синяя заливка у открытого меню. */
  /* «Столбцы» в шапке — значок МойСклада 16×9: шестерёнка и уголок вниз (#006a8b), от левого края ячейки. */
  .ms-docedit.ms-docedit-classic .ms-docedit-table th.ms-docedit-cell-remove { text-align: left; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table th .ms-docedit-columns-button { display: block; width: 16px; height: 9px; color: transparent; font-size: 0; line-height: 0;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='9' viewBox='0 0 16 9'%3E%3Cg fill='%23006a8b'%3E%3Ccircle cx='4.5' cy='4.5' r='3.2'/%3E%3Crect x='3.6' width='1.8' height='9'/%3E%3Crect y='3.6' width='9' height='1.8'/%3E%3Crect x='3.6' width='1.8' height='9' transform='rotate(45 4.5 4.5)'/%3E%3Crect x='3.6' width='1.8' height='9' transform='rotate(-45 4.5 4.5)'/%3E%3Cpath d='M11 2h5l-2.5 2.6z'/%3E%3C/g%3E%3Ccircle cx='4.5' cy='4.5' r='1.3' fill='%23fff'/%3E%3C/svg%3E") no-repeat 0 0; }
  .ms-docedit.ms-docedit-classic .ms-docedit-table td.ms-docedit-cell-remove { position: relative; padding-left: 0; text-align: left; }
  /* Поверх ячейки, как кнопка МойСклада (её нет в самой строке): строка остаётся 30 px, а не 31–42 px от значка 24 px. */
  .ms-docedit.ms-docedit-classic .ms-docedit-table td.ms-docedit-cell-remove > .ms-docedit-row-menu { position: absolute; top: 50%; left: 0; display: block; width: 24px; height: 24px; margin-top: -12px; }
  .ms-docedit.ms-docedit-classic .ms-docedit-row-menu > summary { box-sizing: border-box; display: block; width: 24px; height: 24px; padding: 0; border-radius: 3px; color: transparent; font-size: 0; line-height: 0; visibility: hidden;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='%23186999'%3E%3Ccircle cx='12' cy='6' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='12' cy='18' r='2'/%3E%3C/g%3E%3C/svg%3E") no-repeat 50% 50%; }
  .ms-docedit.ms-docedit-classic .ms-docedit-row:is(:hover, :focus-within) .ms-docedit-row-menu > summary,
  .ms-docedit.ms-docedit-classic .ms-docedit-row-menu[open] > summary { visibility: visible; }
  .ms-docedit.ms-docedit-classic .ms-docedit-row-menu > summary:hover { box-shadow: inset 0 0 0 1px #186999; }
  .ms-docedit.ms-docedit-classic .ms-docedit-row-menu[open] > summary { box-shadow: none;
    background: #186999 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='%23fff'%3E%3Ccircle cx='12' cy='6' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='12' cy='18' r='2'/%3E%3C/g%3E%3C/svg%3E") no-repeat 50% 50%; }
}
.ms-docedit-modern td.ms-docedit-cell-discount { position: relative; }
.ms-docedit-modern td.ms-docedit-cell-discount::after { content: "%"; position: absolute; right: 8px; top: 50%; margin-top: -10px; color: #091739; font: 400 12px/20px var(--docedit-font); pointer-events: none; }
/* Поля строки заказа — как обёртка поля МойСклада (живая сверка 13.10.2026): рамка в 4 px от края ячейки, 112 × 24 (скидка —
   72), число — под правым краем заголовка (ячейка + 112); прежде поля стояли в 8 px и числа были на 4 px левее заголовка.
   У скидки число до «%» — по-прежнему на ячейка + 62, «%» — на ячейка + 72, как «0%» у МойСклада. */
.ms-docedit.ms-docedit-modern .ms-docedit-table td[data-ms-cell]:is(.ms-docedit-cell-quantity, .ms-docedit-cell-price, .ms-docedit-cell-discount, .ms-docedit-cell-sum) { padding-left: 4px; padding-right: 4px; }
.ms-docedit.ms-docedit-modern td.ms-docedit-cell-discount input { padding-right: 13px; }
/* Ставка НДС строки нового вида (живая сверка заказа МойСклада 22.10.2026): поле тоже в 4 px от краёв ячейки, значение по
   правому краю и без стрелки — и в покое, и под мышью; список открывается щелчком по полю, как у старого вида. */
.ms-docedit.ms-docedit-modern .ms-docedit-table td[data-ms-cell].ms-docedit-cell-vat { padding-left: 4px; padding-right: 4px; }
.ms-docedit.ms-docedit-modern td.ms-docedit-cell-vat .ms-sel > .ms-sel-text { padding: 0 3px; text-align: right; }
.ms-docedit.ms-docedit-modern td.ms-docedit-cell-vat .ms-sel > .ms-sel-arrow { display: none; }
/* «Единица измерения» заказа — столбец МойСклада goodPack (живая сверка и эталон 14.10.2026): 100 px сразу после
   «Количества», заголовка нет; «шт» — от левого края ячейки без отступа, 12/20 px, #091739. */
.ms-docedit.ms-docedit-modern .ms-docedit-table :is(th, td).ms-docedit-cell-unit { width: 100px; min-width: 40px; padding-left: 0; text-align: left; }
.ms-docedit.ms-docedit-modern .ms-docedit-table td.ms-docedit-cell-unit .ms-head-unit { display: block; margin-left: 0; color: #091739; font: 400 12px/20px var(--docedit-font); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Шапка формы МойСклада: дата документа — всегда в рамке #bfbfbf (у карточки только для чтения — без неё), пустой номер
   нового документа — тоже в рамке; заполненный номер — текстом, рамка при наведении и вводе. Дата в рамке — только у
   нового вида (заказ): у старого вида МойСклада дата без рамки (живой замер отгрузки 12.10.2026, border 0). */
.ms-docedit-modern [data-ms-controls] .ms-dt-title > .ms-date, .ms-docedit-modern .ms-dt-title > .ms-date { border-color: #bfbfbf; }
.ms-docedit .ms-docedit-heading .ms-docedit-number:placeholder-shown { border-color: #bfbfbf; }

/* Комментарий и «Внешний код» заказа МойСклада: поле 14px с отступами 12px 6px, подсказка #bfbfbf прямым шрифтом;
   «Внешний код» — синяя ссылка 14px без треугольника. */
.ms-docedit.ms-docedit-modern textarea.ms-docedit-comment { height: 61px; min-height: 61px; padding: 12px 6px; font: 400 14px/18px var(--docedit-font); }
.ms-docedit-modern textarea.ms-docedit-comment::placeholder { color: #bfbfbf; font-style: normal; opacity: 1; }
.ms-docedit-modern .ms-head-external { margin-top: 28px; }
.ms-docedit-modern .ms-head-external > summary { display: inline-block; list-style: none; color: #036ce5; font: 400 14px/20px var(--docedit-font); }
.ms-docedit-modern .ms-head-external > summary::-webkit-details-marker { display: none; }
/* Низ вкладки «Позиции» нового вида (живая сверка заказа 02614, 14.10.2026): комментарий и «Внешний код» — левым столбцом,
   ссылка в 28 px под полем (у Свода стояла под итогами, на 15 px ниже, и была видна на всех вкладках — у МойСклада только
   на «Позициях»); итоги — сеткой «подпись — сумма»: подписи прижаты вправо к столбцу сумм, столбцы через 20 px, строки через 8,
   до комментария 60 px (у Свода подписи стояли слева, зазор 50). */
.ms-docedit-modern .ms-docedit-bottom-main { display: flex; flex-direction: column; flex: 1 1 auto; align-self: stretch; min-width: 0; }
.ms-docedit.ms-docedit-modern .ms-docedit-bottom-main > textarea.ms-docedit-comment { flex: none; width: 100%; }
.ms-docedit-modern .ms-docedit-bottom-main > .ms-head-external { align-self: flex-start; }
.ms-docedit.ms-docedit-modern .ms-docedit-totals { display: grid; grid-template-columns: max-content max-content; justify-content: end; align-content: start; column-gap: 20px; row-gap: 8px; width: auto; min-width: 0; text-align: right; }
.ms-docedit.ms-docedit-modern .ms-docedit-totals > div { display: contents !important; }
@media (min-width: 901px) { .ms-docedit.ms-docedit-modern .ms-docedit-bottom { gap: 60px; } }

/* «Договор» до выбора контрагента у МойСклада — серое поле во всю ширину без стрелки и «+». */
.ms-docedit .ms-docedit-field-key-contract.is-waiting-agent .ms-lookup > button { display: none; }
.ms-docedit .ms-docedit-field-key-contract.is-waiting-agent .ms-lookup > input.ms-input { width: 100%; background: #f0f0f0; color: #888; }

/* Вкладки заказа МойСклада: прозрачные, значок 20px и 10px до подписи; нижняя линия вкладок видна под всеми вкладками. */
.ms-docedit-modern .ms-docedit-tabs .ms-docedit-tab { gap: 10px; background: transparent; }
.ms-docedit-modern .ms-docedit-tab .ms-icon { width: 20px; height: 20px; color: #222; }
/* Место значка у МойСклада по рисунку: «Позиции» 16 px, «Связанные документы» 18, прочие 20 (живая сверка заказа 02614,
   14.10.2026: у Свода всем 20, и вкладки уезжали вправо до 12 px). Рисунок тот же — сужено только место под ним. */
.ms-docedit-modern .ms-docedit-tab .ms-icon-tab-positions { margin: 0 -2px; }
.ms-docedit-modern .ms-docedit-tab .ms-icon-tab-document { margin: 0 -1px; }
.ms-docedit-modern .ms-docedit-tab:hover .ms-icon { color: #036ce5; }

/* Окна МойСклада «НДС» и «Скидка/наценка» (живая сверка 11.10.2026): панель 285px с отступами 15px, заголовок 20px,
   строки выбора 40px с голубой подсветкой выбранной (#dff0fa, скругление 5px), кнопки снизу. */
.ms-docedit-ms-dialog-panel.ms-dialog-panel { height: auto; min-height: 0; padding: 0 15px 15px; }
.ms-docedit-ms-dialog-panel .ms-dialog-head { height: 53px; padding: 15px 30px 15px 0; }
.ms-docedit-ms-dialog-body { font: 400 12px/14px "Helvetica Neue", Helvetica, Arial, "Lucida Grande", sans-serif; color: #222; }
.ms-docedit-ms-dialog-text { margin: 0 0 12px; }
.ms-docedit-ms-dialog-actions { display: flex; gap: 10px; margin-top: 14px; }
.ms-docedit-ms-dialog-right { justify-content: flex-end; margin-top: 24px; }
.ms-docedit-ms-dialog-actions .ms-btn { min-width: 34px; height: 28px; margin: 0; }
.ms-docedit-ms-dialog-status { min-height: 14px; margin: 8px 0 0; color: #b32424; }
/* Волна 38: «Сохранение изменений» — окно сообщений МойСклада без затемнения, 439×169: текст «Данные были изменены. /
   Сохранить изменения?» тремя строками по 14 px, кнопки «Да | Нет | Отмена» 27 px справа через 25 px (живая сверка 12.10.2026). */
.ms-docedit-save-dialog .ms-docedit-ms-dialog-panel.ms-dialog-panel { padding-bottom: 22px; }
.ms-docedit-save-dialog .ms-docedit-ms-dialog-text { margin: 0; line-height: 14px; }
.ms-docedit-save-dialog .ms-docedit-ms-dialog-right { margin: 25px 10px 0 0; }
.ms-docedit-save-dialog .ms-docedit-ms-dialog-actions .ms-btn { min-width: 0; height: 26px; padding: 0 10px; }
.ms-docedit-discount-choice { box-sizing: border-box; display: flex; align-items: center; height: 40px; margin: 0 0 5px; padding: 0 5px; border-radius: 5px; cursor: pointer; }
.ms-docedit-discount-choice.on { background: #dff0fa; }
.ms-docedit-discount-choice input[type="radio"] { margin: 0 7px 0 0; }
.ms-docedit-discount-choice b { width: 88px; font-weight: 600; }
.ms-docedit-discount-choice .ms-input { box-sizing: border-box; width: 45px; height: 20px; margin-right: 5px; padding: 0 3px; border: 1px solid #bfbfbf; border-radius: 0; text-align: right; }

/* Вкладки нового документа: «Привязать документ», «Файл», «Задача» и «Написать» — на месте, неактивны до сохранения. */
.ms-doc-form-panel[data-doc-form-static] { padding: 10px 0 0; }
.ms-doc-form-panel[data-doc-form-static] .ms-card-extra-tools .ms-btn { display: inline-flex; align-items: center; gap: 5px; }
.ms-doc-form-notes-new { max-width: 1240px; font: 400 14px/20px var(--docedit-font); color: #091739; }
.ms-doc-form-notes-head { display: flex; align-items: center; gap: 8px; margin: 0 0 10px; }
.ms-doc-form-notes-head h2 { margin: 0; font: 700 14px/20px var(--docedit-font); }
.ms-doc-form-notes-head .ms-btn { display: inline-flex; align-items: center; gap: 5px; margin-left: auto; }
.ms-doc-form-notes-new textarea { box-sizing: border-box; display: block; width: 100%; height: 72px; padding: 8px 12px; border: 1px solid #d1d6df; border-radius: 8px; background: #f1f4f9; resize: vertical; font: 400 12px/16px var(--docedit-font); }
.ms-doc-form-notes-actions { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.ms-doc-form-notes-cancel { border: 0; background: none; box-shadow: none; color: #9fa7af; }

/* Узкий экран (до 900 px, 13.10.2026): страница без выхода вбок и на 320 px. Итоги старого вида и возврата (340 px по
   МойСкладу) не шире строки и не выше своих строк (низ формы там — столбцом, и «flex: 340px» давал итогам 340 px высоты —
   пустое место), «Накладные расходы» переносятся; третья колонка полей отгрузки — без сдвига; у заказа плашка «Все 0 |
   Расценить…» и поиск позиций не шире строки, а «Проверить комплектацию · Импортировать · Добавить из справочника»
   переносятся (прижатые вправо, на 320–375 px они уходили за ЛЕВЫЙ край). В карточке строки число без поля (сумма,
   себестоимость, доступно, разница) не умещалось рядом с подписью («Себест. единицы» + «70 000,00» — 329 px на 320; число
   догружается после открытия): подпись переносится, а не влезшее число уходит строкой ниже, вправо. Широкий экран — как был. */
@media (max-width: 900px) {
  .ms-docedit-position-actions { flex-wrap: wrap; }
  .ms-docedit .ms-docedit-table .ms-docedit-row > td:is(.ms-docedit-cell-sum, .ms-docedit-cell-available, .ms-docedit-cell-difference, [data-label]):not(:has(input, select, textarea)) { flex-wrap: wrap; justify-content: flex-end; }
  .ms-docedit .ms-docedit-table .ms-docedit-row > td:is(.ms-docedit-cell-sum, .ms-docedit-cell-available, .ms-docedit-cell-difference, [data-label]):not(:has(input, select, textarea))::before { margin-right: auto; white-space: normal; }
  .ms-docedit-procurement-stock .ms-docedit-bottom .ms-docedit-totals,
  .ms-docedit-type-salesreturn .ms-docedit-bottom .ms-docedit-totals { flex: none; max-width: 100%; }
  .ms-docedit.ms-docedit-procurement-stock .ms-docedit-totals .ms-docedit-vat-mode,
  .ms-docedit.ms-docedit-type-salesreturn .ms-docedit-totals .ms-docedit-vat-mode { width: auto; }
  .ms-docedit-procurement-stock .ms-docedit-totals .ms-docedit-stock-overhead { flex-wrap: wrap; }
  .ms-docedit.ms-docedit-procurement-stock.ms-docedit-type-demand .ms-docedit-fields .ms-card-field-column.ms-card-column-2 { margin-left: 0; }
  .ms-docedit-modern .ms-docedit-pos-pill { flex-wrap: wrap; height: auto; min-height: 28px; max-width: 100%; white-space: normal; }
  .ms-docedit-modern .ms-docedit-pos-search { flex: 0 1 312px; min-width: 0; margin-left: 0; }
  .ms-docedit.ms-docedit-modern .ms-docedit-pos-search .ms-docedit-position-search { width: 100%; }
}
/* Расходные документы (отгрузка, списание, возврат поставщику, перемещение): количество больше остатка — красным, как у
   МойСклада (класс error, #f00; живая сверка 13.10.2026, stockView в m_docedit.js). */
.ms-docedit.ms-docedit .ms-docedit-table td input[data-docedit-qty].is-over-stock { color: #f00; }
