/* Inventario por presentaciones, importación y equivalencias. Solo tokens de tokens.css; sin animaciones nuevas. */
.stock-equivalence { margin: calc(var(--space-1) * -1) 0 var(--space-2); color: var(--text-secondary); font-size: var(--text-sm); font-variant-numeric: tabular-nums; }
.stock-split { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-3); margin: 0 0 var(--space-2); color: var(--text-secondary); font-size: var(--text-xs); }
.stock-split span:last-child { color: var(--text); font-weight: var(--weight-semibold); }
.receive-equivalence { grid-column: 1 / -1; margin: 0; min-height: 1.4em; color: var(--text); font-variant-numeric: tabular-nums; }
.receive-equivalence:empty { display: none; }
/* Carrito: presentaciones como botones bajo cada resultado. */
.sale-result-group { display: grid; gap: var(--space-1); padding-bottom: var(--space-1); border-bottom: 1px solid var(--border); }
.sale-result-group:last-child { border-bottom: 0; }
.sale-result-boxes { display: flex; flex-wrap: wrap; gap: var(--space-2); padding: 0 var(--space-2) var(--space-1) calc(46px + var(--space-3)); }
.sale-result-boxes .button { min-height: var(--touch); }
.line-equivalence { display: block; margin-top: 2px; color: var(--text-secondary); font-size: var(--text-xs); font-variant-numeric: tabular-nums; }
/* Diálogo de presentaciones. */
.presentation-list-wrap { grid-column: 1 / -1; display: grid; gap: var(--space-2); }
.presentation-list { list-style: none; margin: 0; padding: 0; display: grid; }
.presentation-row { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-2) 0; border-top: 1px solid var(--border); }
.presentation-row > span { display: grid; gap: 2px; min-width: 0; }
.presentation-row small { color: var(--text-secondary); font-size: var(--text-xs); overflow-wrap: anywhere; }
.presentation-row.is-inactive strong { color: var(--muted); text-decoration: line-through; }
.presentation-row .button { flex: none; min-height: var(--touch); }
.presentation-preview { grid-column: 1 / -1; margin: 0; min-height: 1.4em; }
.edit-dialog .subhead { grid-column: 1 / -1; margin: var(--space-2) 0 0; }
/* Importación. */
.import-help { margin: 0; grid-column: 1 / -1; }
.import-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.import-preview { grid-column: 1 / -1; display: grid; gap: var(--space-3); min-width: 0; }
.import-preview:empty { display: none; }
.import-summary { display: grid; gap: 2px; padding: var(--space-3); border-radius: var(--radius-medium); background: var(--surface-inset); }
.import-summary.is-ok { background: var(--success-soft); }
.import-summary.is-warning { background: var(--warning-soft); }
.import-summary span { color: var(--text-secondary); font-size: var(--text-sm); }
.import-errors { padding: var(--space-3); border-radius: var(--radius-medium); background: var(--danger-soft); }
.import-errors h4 { margin: 0 0 var(--space-2); font-size: var(--text-sm); }
.import-errors ul { margin: 0; padding-left: var(--space-4); display: grid; gap: var(--space-1); font-size: var(--text-sm); }
.import-mapping summary { cursor: pointer; min-height: var(--touch); display: flex; align-items: center; }
.import-preview .table-scroll { max-height: 360px; overflow: auto; }
@media (max-width: 560px) {
  .sale-result-boxes { padding-left: var(--space-2); }
  .presentation-row { flex-wrap: wrap; }
  .presentation-row .button { flex: 1 1 100%; justify-content: center; }
}

/* Línea de pedido con «Cómo lo pide»: producto, presentación y cantidad; la equivalencia ocupa toda la fila.
   En celular el producto va solo en su fila para que el nombre no se corte. */
[data-order-lines] .order-line { grid-template-columns: minmax(0, 1fr) 96px; }
[data-order-lines] .order-line:has([data-line-presentation]:not([hidden])) { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) 96px; }
[data-order-lines] .order-line [data-line-equivalence] { grid-column: 1 / -1; }
[data-order-lines] .order-line [data-line-equivalence]:empty { display: none; }
@media (max-width: 600px) {
  [data-order-lines] .order-line:has([data-line-presentation]:not([hidden])) { grid-template-columns: minmax(0, 1fr) 84px; }
  [data-order-lines] .order-line:has([data-line-presentation]:not([hidden])) > label:first-child { grid-column: 1 / -1; }
}
