/* Правка в ячейке (js/inline-edit.js) */
.ie { display: inline-flex; align-items: center; gap: 4px; max-width: 100%; min-width: 0; vertical-align: middle; position: relative; }
.ie.long { display: flex; flex-wrap: wrap; }
.ie-v { cursor: text; border-radius: 4px; padding: 1px 3px; margin: -1px -3px; min-width: 24px; min-height: 18px;
  box-shadow: inset 0 -1px 0 transparent; overflow-wrap: anywhere; }
.ie-v:hover, .ie-v:focus-visible { outline: none; background: var(--accent-soft); box-shadow: inset 0 -1px 0 var(--accent); }
td .ie-v .mk-none { cursor: text; }
.ie.man .ie-v { color: var(--ink); font-weight: 500; }
.ie-pen { color: var(--accent); margin-left: 3px; vertical-align: -1px; flex: none; }
.ie-spin { width: 11px; height: 11px; margin-left: 4px; vertical-align: -1px; color: var(--accent); }
.ie.busy .ie-v { opacity: .6; cursor: progress; }
.ie-in { width: 100%; min-width: 60px; font: inherit; font-size: 13px; padding: 3px 6px; border-radius: 5px;
  border: 1px solid var(--accent); background: var(--panel); color: var(--ink); box-shadow: 0 0 0 3px var(--accent-soft); }
input.ie-in.tnum { text-align: right; }
textarea.ie-in { resize: vertical; min-height: 44px; }
.ie-u { color: var(--faint); font-size: 12px; white-space: nowrap; }
.ie-back { border: 0; background: none; padding: 0 2px; font: inherit; font-size: 11px; color: var(--muted);
  text-decoration: underline dotted; cursor: pointer; white-space: nowrap; flex: none; }
.ie-back:hover { color: var(--accent); }
td.num .ie { justify-content: flex-end; flex-wrap: wrap; }
td.num .ie-back { white-space: normal; text-align: right; flex: 0 1 auto; min-width: 0; }   /* узкая колонка «Цена»: «Вернуть авто» в две строки, а не обрезано */
.tbl td.mk .ie-v { cursor: text; }
.tbl td.mk:has(.ie) { cursor: default; }
.ie-hint { color: var(--muted); }
.ie-hint svg { color: var(--accent); flex: none; }
/* шапка ТЗ — поля в две колонки */
.tzh-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 18px; }
.tzh-row { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 8px; padding: 6px 4px; border-bottom: 1px solid var(--line);
  align-items: baseline; font-size: 13.5px; }
.tzh-row .lbl { color: var(--muted); }
.tzh-row.mk { background: var(--mk); box-shadow: inset 0 0 0 1px var(--mk-line); border-radius: 4px; }
.tzf td { vertical-align: top; }

/* список с поиском при правке в ячейке (материал, лот) */
.ie-pick { position: fixed; z-index: 60; min-width: 340px; max-width: 520px; max-height: 300px;
  overflow-y: auto; background: var(--panel); border: 1px solid var(--line); border-radius: 8px; box-shadow: var(--shadow, 0 6px 20px rgba(0,0,0,.18));
  padding: 4px; display: flex; flex-direction: column; text-align: left; }
.ie-opt { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; border: 0; background: none; font: inherit;
  font-size: 13px; color: var(--ink); text-align: left; padding: 6px 8px; border-radius: 6px; cursor: pointer; white-space: normal; }
.ie-opt small { color: var(--muted); font-size: 11px; }
.ie-opt:hover, .ie-opt.hi { background: var(--accent-soft); }

/* поля ТЗ: длинные значения (состав материалов, упаковка) — до 3 строк, полный текст в подсказке и при правке */
.tzf td .ie-v { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* одна таблица заказа: длинные материалы и технологии — до 2 строк, целиком в подсказке и при правке */
td.pmat .ie-v, td.pname .clamp2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* узкое окно: шапка ТЗ — одна колонка */
@media (max-width: 760px) {
  .tzh-grid { grid-template-columns: minmax(0, 1fr); }
  .tzh-row { grid-template-columns: 110px minmax(0, 1fr); }
}
