/* ============================================================
   OPERATIONS — toolbar, detail grid
   ============================================================ */

.toolbar {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-3);
}

@media (min-width: 768px) {
  .toolbar {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.toolbar__filters {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-2);
  flex: 1;
}

@media (min-width: 640px) {
  .toolbar__filters {
    grid-template-columns: 2fr 1fr;
  }
}

@media (min-width: 1024px) {
  .toolbar__filters {
    grid-template-columns: 2.5fr 1.25fr 1fr 1fr;
  }
}

/* ---------- Layout con menú lateral de filtros ---------- */

.ops-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  align-items: start;
}

@media (min-width: 1024px) {
  .ops-layout {
    grid-template-columns: 16.5rem 1fr;
  }
}

.ops-filters {
  overflow: hidden;
}

.ops-filters__body { display: flex; flex-direction: column; gap: var(--space-1); }

@media (min-width: 1024px) {
  .ops-filters {
    position: sticky;
    top: calc(var(--header-height) + var(--space-4));
  }
}

.ops-filters #btn-reset {
  width: 100%;
  margin-top: var(--space-2);
}

.ops-main {
  min-width: 0;
}

/* ---------- Rango de monto (dual range slider) ---------- */

.range-slider {
  position: relative;
  height: 1.25rem;
  margin-top: var(--space-2);
}

.amount-range-filter { padding-top: var(--space-3); border-top: 1px solid var(--border-color); }
.range-number-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-2); }
.range-number-fields label { min-width: 0; }
.range-number-fields label > span { display: block; margin-bottom: var(--space-1); color: var(--text-secondary); font-size: var(--text-xs); }
.range-number-fields .form-input { min-width: 0; padding-right: var(--space-2); padding-left: var(--space-2); font-size: var(--text-xs); }

.range-slider__track {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--bg-tertiary);
  border-radius: var(--radius-full);
  transform: translateY(-50%);
}

.range-slider__fill {
  position: absolute;
  top: 50%;
  height: 4px;
  background: var(--accent);
  border-radius: var(--radius-full);
  transform: translateY(-50%);
}

.range-slider__input {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 4px;
  margin: 0;
  background: transparent;
  pointer-events: none;
  -webkit-appearance: none;
  appearance: none;
  transform: translateY(-50%);
}

.range-slider__input::-webkit-slider-thumb {
  pointer-events: auto;
  -webkit-appearance: none;
  appearance: none;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  background: var(--accent);
  border: 2px solid var(--bg-primary);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
}

.range-slider__input::-moz-range-thumb {
  pointer-events: auto;
  width: 0.875rem;
  height: 0.875rem;
  border-radius: 50%;
  background: var(--accent);
  border: 2px solid var(--bg-primary);
  box-shadow: var(--shadow-sm);
  cursor: pointer;
  border: none;
}

.range-slider__input::-moz-range-track {
  background: transparent;
}

.range-slider__values {
  display: flex;
  justify-content: space-between;
  font-size: var(--text-xs);
  color: var(--text-secondary);
  margin-top: var(--space-2);
}

/* ---------- Envíos múltiples (nueva orden) ---------- */

.shipment-row {
  padding: var(--space-3);
  background: var(--bg-tertiary);
  border-radius: var(--radius-md);
}

.shipment-remove {
  margin-top: var(--space-2);
  color: var(--danger);
}

/* Edición completa e historial auditable */
.operation-edit-summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); padding: var(--space-3); margin-bottom: var(--space-4); border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--border-color)); border-radius: var(--radius-lg); background: var(--accent-soft); }
.operation-edit-summary > span:first-child { display: inline-flex; width: 1.25rem; height: 1.25rem; color: var(--accent); }
.operation-edit-summary svg { width: 100%; height: 100%; }
.operation-edit-summary p { margin: 0; color: var(--text-secondary); font-size: var(--text-xs); }
.operation-history { padding-top: var(--space-4); margin-top: var(--space-4); border-top: 1px solid var(--border-color); }
.operation-history__heading { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-3); }
.operation-history__heading > div { display: flex; flex-direction: column; }
.operation-history__heading span { color: var(--text-secondary); font-size: var(--text-xs); }
.operation-history__list { display: grid; gap: var(--space-3); }
.operation-history__entry { padding: var(--space-3); border: 1px solid var(--border-color); border-radius: var(--radius-lg); background: var(--bg-secondary); }
.operation-history__meta { display: flex; align-items: center; justify-content: space-between; gap: var(--space-2); padding-bottom: var(--space-2); margin-bottom: var(--space-2); border-bottom: 1px solid var(--border-color); }
.operation-history__meta span, .operation-history__entry p { color: var(--text-secondary); font-size: var(--text-xs); }
.operation-history__entry ul { display: grid; gap: var(--space-2); margin: 0; padding: 0; list-style: none; }
.operation-history__entry li { display: grid; grid-template-columns: minmax(6rem, 0.8fr) minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: var(--space-2); font-size: var(--text-xs); }
.operation-history__entry li::after { content: "→"; grid-column: 3; grid-row: 1; color: var(--text-tertiary); }
.operation-history__entry li > span { color: var(--text-secondary); }
.operation-history__entry li > del { grid-column: 2; overflow: hidden; color: var(--danger); text-overflow: ellipsis; white-space: nowrap; }
.operation-history__entry li > strong { grid-column: 4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.operation-history__entry p { margin: var(--space-3) 0 0; }

@media (max-width: 640px) {
  .ops-filters__body { padding: var(--space-3); }
  .operation-edit-summary { grid-template-columns: auto 1fr; }
  .operation-edit-summary > .badge { grid-column: 1 / -1; width: max-content; }
  .operation-history__entry li { grid-template-columns: 1fr auto 1fr; }
  .operation-history__entry li > span { grid-column: 1 / -1; }
  .operation-history__entry li > del { grid-column: 1; }
  .operation-history__entry li::after { grid-column: 2; grid-row: 2; }
  .operation-history__entry li > strong { grid-column: 3; }
}

/* p-0 utility para tablas pegadas al card */
.new-order-client-picker { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--space-2); align-items: stretch; }
.detal-workspace { display: grid; grid-template-columns: minmax(15rem, 18rem) minmax(0, 1fr); gap: var(--space-4); align-items: start; }
.detal-main { min-width: 0; }
.detal-filters { position: sticky; top: calc(var(--header-height, 4rem) + var(--space-3)); }
.detal-filter-actions { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-2); }
.detal-filter-actions .btn { width: 100%; }

@media (max-width: 520px) {
  .new-order-client-picker { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .detal-workspace { grid-template-columns: 1fr; }
  .detal-filters { position: static; }
}
