.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}
}

/* V19 - selector de período del panel y acciones documentales de ventas */
.dashboard-sales-period{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:14px 18px;background:#fff;border:1px solid #eadce3;border-radius:16px}.dashboard-sales-period>div{display:flex;flex-direction:column;gap:3px}.dashboard-sales-period strong{color:#791249;font-size:16px}.dashboard-sales-period small{color:#7e7479}.dashboard-sales-period select{min-width:170px;border:1px solid #e4d4dc;border-radius:10px;padding:10px 34px 10px 12px;background:#fff;color:#5d173d;font-weight:700}.sale-document-actions{min-width:225px;white-space:normal!important;display:flex;flex-direction:column;align-items:flex-start!important;gap:6px}.sale-document-actions .document-action{display:inline-flex;align-items:center;justify-content:flex-start;width:100%;padding:7px 10px;border:1px solid #e4c9d7;border-radius:8px;background:#fff7fb;color:#85164f;font-weight:700;line-height:1.2}.sale-document-actions .document-action:hover{background:#f4dfe9}@media(max-width:760px){.dashboard-sales-period{align-items:stretch;flex-direction:column}.dashboard-sales-period select{width:100%}.sale-document-actions{min-width:190px}}

/* V21 - Informes de inventario y reposición */
.v21-tabs{flex-wrap:wrap}
.v21-filter-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin:0 0 18px;padding:18px;background:#fff;border:1px solid #eadfe5;border-radius:16px;box-shadow:0 8px 24px rgba(41,21,31,.05)}
.v21-filter-grid label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:700;color:#5c4651}
.v21-filter-grid input,.v21-filter-grid select,.v21-period-row select{height:42px;border:1px solid #dbcdd4;border-radius:10px;padding:0 12px;background:#fff;color:#2e2228}
.v21-report-kpis{margin-bottom:18px}
.v21-period-row{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin:-4px 0 16px}
.v21-period-row strong{font-size:13px;color:#5c4651}
.v21-period-row select{min-width:150px}
@media(max-width:1100px){.v21-filter-grid{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:720px){.v21-filter-grid{grid-template-columns:1fr}.v21-period-row{justify-content:stretch;flex-direction:column;align-items:stretch}}


/* V21.1 - Centro de Inteligencia Comercial y corrección de botones */
.commercial-intelligence-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:0 0 18px}.commercial-intelligence-head h2{margin:0;color:var(--plum-strong);font-size:25px}.commercial-intelligence-head p{margin:5px 0 0;color:var(--muted)}
.commercial-filter-grid{display:grid!important;grid-template-columns:repeat(3,minmax(180px,1fr))!important;gap:14px!important;padding:20px!important;margin-bottom:20px!important}.commercial-filter-grid label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase}.commercial-filter-grid input,.commercial-filter-grid select{height:48px;border:1px solid var(--line);border-radius:11px;background:#fff;padding:0 13px;color:var(--text);font-size:14px;text-transform:none}.commercial-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
/* Mantener las celdas dentro de la tabla: no convertir TD en flex */
td.sale-document-actions{display:table-cell!important;min-width:210px!important;width:230px!important;vertical-align:middle!important;white-space:normal!important;padding:10px 16px!important}
td.sale-document-actions .document-action{display:block!important;width:100%!important;min-height:36px!important;margin:0 0 7px!important;padding:7px 11px!important;text-align:left!important;box-sizing:border-box!important}td.sale-document-actions .document-action:last-child{margin-bottom:0!important}
@media(max-width:1000px){.commercial-filter-grid{grid-template-columns:repeat(2,minmax(160px,1fr))!important}.commercial-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.commercial-intelligence-head{align-items:stretch;flex-direction:column}.commercial-filter-grid{grid-template-columns:1fr!important}.commercial-kpis{grid-template-columns:1fr}}

/* V22 · Configuración y cuadratura de caja */
.v22-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.v22-config-grid .card{padding:20px}.v22-receipt-card{grid-column:1/-1}.v22-option-row,.v22-add-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;margin:10px 0}.v22-receipt-preview{margin-top:18px;border:1px dashed #dcb8ca;border-radius:14px;padding:30px;text-align:center;background:#fff8fb;color:#7b2a58;font-weight:700}.v22-period-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.v22-period-tabs button{border:0;border-radius:10px;padding:10px 14px;background:#f5edf2;color:#57223f;font-weight:700}.v22-period-tabs button.active{background:#e486af;color:#fff}.v22-cash-dates{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;align-items:end}.v22-cash-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.v22-cash-kpis>div,.v22-cash-result{border:1px solid #efd1df;background:#fff8fb;border-radius:16px;padding:16px}.v22-cash-kpis span,.v22-cash-result span{display:block;color:#80586d;font-size:13px}.v22-cash-kpis strong,.v22-cash-result strong{display:block;font-size:22px;margin-top:5px}.v22-cash-body{display:grid;grid-template-columns:1fr 1fr;gap:14px}.v22-cash-body>section{border:1px solid #efd1df;border-radius:16px;padding:16px}.v22-cash-body label{display:block;margin:10px 0}.v22-cash-body input,.v22-cash-body textarea{width:100%}.v22-method-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0dce5}.v22-cash-result{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:14px 0}.negative{color:#b42318}.positive{color:#0c7a43}@media(max-width:900px){.v22-config-grid,.v22-cash-body{grid-template-columns:1fr}.v22-cash-dates{grid-template-columns:1fr}.v22-cash-kpis,.v22-cash-result{grid-template-columns:repeat(2,1fr)}}
