.sales-navigation { width: 100%; padding: 8px; margin-bottom: 22px; border-radius: 15px; }
.sales-navigation button { min-height: 46px; padding: 0 18px; font-size: 14px; color: var(--plum-strong); background: var(--pink-soft); }
.sales-navigation button.active { color: #fff; background: linear-gradient(135deg, var(--plum-strong), #8b4772); }
.purchase-product-filters { display: grid; grid-template-columns: repeat(3, minmax(150px, 1fr)); gap: 10px; }
.purchase-product-filters select:nth-of-type(4) { grid-column: span 2; }
.purchase-product-filters .button { width: 100%; }
.sales-history-hidden { display: none !important; }
.embedded-sale-card { padding: 24px; overflow: visible; }
.embedded-sale-form h2 { margin: 0 0 14px; color: var(--plum-strong); font-size: 20px; }
.sale-filter-grid { display: grid; grid-template-columns: repeat(3, minmax(160px, 1fr)); gap: 12px; }
.sale-filter-grid select, .sale-filter-grid input, .sale-price-grid input, .sale-footer-grid input, .sale-footer-grid select {
  width: 100%; min-height: 46px; border: 1px solid var(--line); border-radius: 10px; background: #fff; padding: 0 14px;
}
.sale-selection-note { margin: 14px 0; padding: 16px 20px; border: 1px dashed #efd6dc; border-radius: 12px; background: var(--pink-pale); color: var(--plum-strong); }
.sale-price-grid { display: grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 24px; align-items: end; }
.sale-price-grid label { display: grid; grid-template-columns: auto minmax(120px, 1fr); align-items: center; gap: 10px; }
.embedded-sale-form > .button-secondary { width: min(470px, 100%); margin-bottom: 18px; }
.sale-empty { color: var(--muted); margin: 14px 0 28px; }
.sale-lines { margin: 14px 0 22px; border: 1px solid var(--line); border-radius: 10px; }
.sale-footer-grid { display: grid; grid-template-columns: 1fr 1fr 1fr minmax(280px, 1fr); gap: 12px; align-items: center; }
.embedded-sale-total { margin-top: 16px; text-align: right; color: var(--plum-strong); font-size: 16px; }
.embedded-sale-total strong { font-size: 22px; }
.balance-table .exercise-row td,
.balance-table .equal-totals-row td {
  border-top: 1px solid var(--plum-strong);
  background: #f8e4ee;
  color: var(--plum);
  font-weight: 800;
}
.balance-table .equal-totals-row td {
  border-top-width: 2px;
  border-bottom: 2px solid var(--plum-strong);
}
.balance-table .total-row td:first-child,
.balance-table .exercise-row td:first-child,
.balance-table .equal-totals-row td:first-child {
  text-transform: uppercase;
  letter-spacing: .02em;
}
.table-scroll .book-total-row td {
  border-top: 2px solid var(--plum-strong);
  background: #f8e4ee;
  color: var(--plum);
  font-weight: 800;
}
.table-scroll .book-total-row td:first-child {
  text-transform: uppercase;
  letter-spacing: .03em;
}
@media (max-width: 860px) {
  .purchase-product-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .purchase-product-filters select:nth-of-type(4) { grid-column: span 1; }
  .sale-filter-grid, .sale-price-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sale-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .sales-navigation { overflow-x: auto; }
  .sales-navigation button { white-space: nowrap; }
  .purchase-product-filters { grid-template-columns: 1fr; }
  .embedded-sale-card { padding: 16px; }
  .sale-filter-grid, .sale-price-grid, .sale-footer-grid { grid-template-columns: 1fr; }
  .sale-price-grid label { grid-template-columns: 1fr; }
}

/* V16.1 - precio manual en ventas */
.sale-line-price {
  min-width: 105px;
  width: 120px;
  text-align: right;
}


/* V18 - Fecha de emisión y precios editables */
.sale-date-field { display: grid; gap: 5px; color: var(--muted); font-size: 11px; }
.sale-date-field span { font-weight: 700; color: var(--plum-strong); }
.sale-date-field input { width: 100%; min-height: 46px; border: 1px solid var(--line); border-radius: 10px; background: #fff; padding: 0 14px; color: var(--text); }
.sale-line-list-price, .sale-line-price { min-width: 110px; width: 125px; text-align: right; }

/* V18.2 - fecha superior y comprobante imprimible */
.sale-form-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}
.sale-form-heading h2{margin:0!important}
.sale-date-top{display:grid;gap:6px;min-width:210px;color:var(--plum-strong);font-size:12px;font-weight:700}
.sale-date-top input{width:100%;min-height:44px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 12px}
.sale-receipt-overlay{position:fixed;inset:0;z-index:1000;background:rgba(47,41,48,.55);display:grid;place-items:center;padding:22px;overflow:auto}
.sale-receipt{width:min(760px,100%);background:#fff;border-radius:18px;box-shadow:0 24px 70px rgba(0,0,0,.25);padding:28px}
.sale-receipt header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:2px solid var(--plum-strong);padding-bottom:16px}
.sale-receipt h2{margin:0;color:var(--plum-strong);font-size:24px}
.sale-receipt header p{margin:5px 0 0;color:var(--muted);font-weight:700;letter-spacing:.08em}
.receipt-meta{text-align:right;display:grid;gap:5px}.receipt-meta strong{font-size:18px;color:var(--plum-strong)}.receipt-meta span{color:var(--muted)}
.receipt-info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:18px 0}.receipt-info p{margin:0;font-size:13px}
.receipt-lines{border:1px solid var(--line);border-radius:10px}.receipt-lines table{width:100%}
.receipt-total{display:flex;justify-content:flex-end;align-items:baseline;gap:18px;margin-top:20px;color:var(--plum-strong)}.receipt-total span{font-weight:800}.receipt-total strong{font-size:28px}
.receipt-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}
@media(max-width:600px){.sale-form-heading{align-items:stretch;flex-direction:column}.sale-date-top{min-width:0}.sale-receipt{padding:18px}.sale-receipt header{flex-direction:column}.receipt-meta{text-align:left}.receipt-info{grid-template-columns:1fr}}
@media print{
  body *{visibility:hidden!important}
  .sale-receipt-overlay,.sale-receipt-overlay *{visibility:visible!important}
  .sale-receipt-overlay{position:absolute;inset:0;background:#fff;padding:0;display:block}
  .sale-receipt{width:100%;max-width:none;box-shadow:none;border-radius:0;padding:14mm}
  .receipt-actions{display:none!important}
}
