/* Себестоимость: выбор товаров и загрузка из Excel (таблица — в app.css, «Себестоимость»). */
.pick { position: relative; }
.pick-menu { position: absolute; right: 0; top: calc(100% + 4px); z-index: 30; width: 340px; padding: 8px;
  display: flex; flex-direction: column; gap: 6px; background: var(--surface); border: 1px solid var(--line);
  border-radius: 12px; box-shadow: 0 16px 40px rgba(0, 0, 0, .18); }
.pick-menu input[type="search"] { border: 1px solid var(--line); border-radius: 8px; padding: 6px 8px; background: var(--surface); }
.pick-list { max-height: 50vh; overflow: auto; display: flex; flex-direction: column; }
.pick-list label { display: flex; align-items: center; gap: 8px; padding: 4px 6px; border-radius: 6px; cursor: pointer; }
.pick-list label:hover { background: var(--surface-2); }
.pick-list .product { min-width: 0; }
.pick-list .product-pic { width: 28px; height: 28px; }
.pick-foot { display: flex; gap: 6px; justify-content: space-between; border-top: 1px solid var(--line); padding-top: 6px; }

.grid.costs th.fact, .grid.costs td.fact { border-right: 2px solid var(--line); }
.grid.costs td.below { background: var(--warn-bg); color: var(--bad); }
.grid.costs td.price .from { display: block; font-size: 11px; color: var(--muted); font-weight: 400; }

.xl-dialog { width: min(640px, calc(100vw - 32px)); position: relative; }
.xl-dialog h3 { margin: 18px 0 8px; font-size: 14px; }
.xl-dialog .small { font-size: 12px; margin: 0 0 8px; }
.xl-close { position: absolute; top: 14px; right: 14px; border: 0; background: none; font-size: 20px;
  color: var(--muted); cursor: pointer; }
.xl-drop { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 28px 16px;
  border: 2px dashed var(--line); border-radius: 12px; cursor: pointer; text-align: center; }
.xl-drop:hover, .xl-drop.over { border-color: var(--accent); background: var(--accent-soft); }
.xl-drop input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.xl-drop-icon { font-size: 24px; color: var(--muted); }
.xl-drop small { color: var(--muted); }
.xl-result { margin-top: 12px; }
.xl-table { margin: 0; max-height: 260px; border: 1px solid var(--line); border-radius: 8px; }
.xl-table td:nth-child(2) { text-align: left; max-width: 260px; overflow: hidden; text-overflow: ellipsis; }
.xl-table tr.err td { color: var(--bad); }
.xl-table tr.same td { color: var(--muted); }
.xl-dialog .mn-actions { justify-content: space-between; margin-top: 16px; }
