/* Ajustes comprobados en QA; conserva la paleta y los componentes actuales. */
:root, .quotation-ui { --muted: #5f6979; --green: #106f32; }
.mfa-cancel-form button { color: #5f6979; }
.password-control { gap: 8px; }
.password-control input { flex: 1; width: 0; padding-right: 12px !important; }
.password-control .password-toggle { position: static; flex: none; min-height: 40px; }
.quotation-pos .catalog-photo-placeholder small { color: #334155; }
.quotation-pos .quantity-stepper input { width: 100% !important; }
.partner-form-actions { position: static; }
.touch-check { display: grid; place-items: center; width: 40px; min-height: 40px; cursor: pointer; }
.visually-hidden-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 480px) {
  .catalog-bulk .bulk-price-filter { min-height: 40px; }
  .catalog-bulk .bulk-filters { align-items: stretch; }
  .catalog-bulk .bulk-filters .field { flex: 0 1 auto; width: 100%; }
  .quotation-ui .topbar { display: grid; grid-template-columns: 40px minmax(0, 1fr); }
  .quotation-ui .topbar > div:first-of-type { margin: 0; min-width: 0; }
  .quotation-ui .user-actions { grid-column: 1 / -1; justify-content: flex-end; flex-wrap: wrap; }
  .quotation-ui a[href]:not(.skip-link):not(.brand):not(.security-link):not([hidden]), .login-page a[href]:not([hidden]) {
    display: inline-flex; align-items: center; min-width: 40px; min-height: 40px;
  }
  .quotation-ui button, .login-page button, .mfa-enrollment-page button,
  .quotation-ui summary, .mfa-enrollment-page summary { min-width: 40px; min-height: 40px; }
  .quotation-ui input:not([type=hidden]):not([type=checkbox]):not([type=radio]),
  .quotation-ui select { min-height: 40px; }
  .quotation-ui summary, .mfa-enrollment-page summary { padding-block: 10px; }
  .quotation-ui .check-field label, .quotation-ui .image-remove,
  .quotation-ui .confirmation-check, .quotation-ui .check-label { min-width: 40px; min-height: 40px; }
  .quotation-ui .check-field label { display: flex; align-items: center; }
  .quotation-pos .cart-line { grid-template-columns: minmax(120px, 132px) minmax(0, 1fr) 40px; }
  .quotation-pos .cart-remove { width: 40px; height: 40px; }
  .mfa-cancel-form button { padding: 10px; }
}
.proforma-done { display: grid; gap: 6px; margin: 0 0 12px; padding: 12px; border: 1px solid #9fd8b0; border-left: 4px solid #106f32; border-radius: 8px; background: #eefbf1; color: #0f3d22; }
.proforma-done strong { font-size: 15px; }
.proforma-done small { color: #3d5a47; }
.proforma-done-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.proforma-done-actions form { margin: 0; }

/* Precio negociado en el carrito del POS */
.cart-line{max-height:220px}
.cart-price{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;margin-top:-2px}
.cart-price label{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--muted)}
.cart-price-field{display:inline-flex;align-items:center;border:1px solid #c7d1df;border-radius:8px;background:#fff;overflow:hidden}
.cart-price-field span{padding:0 7px;font-weight:800;color:var(--navy);background:#eef2f7;align-self:stretch;display:grid;place-items:center}
.cart-line .cart-price-field input{width:92px;border:0;border-radius:0;padding:7px 8px;font-weight:800;color:var(--navy);text-align:right}
.cart-line.has-negotiated-price .cart-price-field{border-color:#d9a400;box-shadow:0 0 0 2px #ffe8a3}
.cart-line .cart-price-note{display:inline;margin:0;font-size:11px;color:#8a6400}
.cart-line .cart-price-note[hidden]{display:none}
.cart-price-note .link-button{font-size:11px;padding:0;color:var(--violet)}

/* Seguimiento de proformas */
.proforma-filters input[type=search]{width:100%;padding:12px;border-radius:9px;border:1px solid #cbd5e1;font:inherit;background:#fff}
.follow-up-preview{color:var(--muted);display:inline-block;max-width:280px;white-space:normal}
.proforma-summary .receipt-header{padding:18px 20px 14px}
.proforma-summary .receipt-header h2{margin:0 0 4px}
.proforma-summary .receipt-header p{margin:0;color:var(--muted)}
.proforma-follow-ups .empty{padding:0 20px 8px}
.follow-up-entry{margin:0 20px 12px;padding:12px 14px;border:1px solid var(--line);border-left:4px solid #183f75;border-radius:9px;background:#fafbfd}
.follow-up-entry.is-closing{border-left-color:var(--green);background:#f3fbf5}
.follow-up-entry header{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;font-size:13px;color:var(--muted)}
.follow-up-entry header strong{color:var(--navy)}
.follow-up-entry p{margin:8px 0 0;line-height:1.5;white-space:normal}
.follow-up-amount{color:var(--green);font-weight:750}
.follow-up-reference{background:#eef1f6;color:var(--navy);border-radius:6px;padding:2px 8px;font-weight:700}
.follow-up-form{border-top:1px solid var(--line)}
.follow-up-form h3{margin:0 0 12px}
.follow-up-form textarea{min-height:84px}
.follow-up-form input[type=text]{width:100%;border:1px solid #cfd7e3;border-radius:8px;padding:11px 12px;font:inherit}
.follow-up-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
.follow-up-form .check-field{display:flex;gap:10px;align-items:flex-start;font-weight:650;margin:4px 0}
.follow-up-form .check-field input{width:20px;height:20px;margin:2px 0 0;flex:none}
@media(max-width:640px){.follow-up-grid{grid-template-columns:1fr}.follow-up-entry{margin:0 12px 12px}}

/* Compras: productos en mal estado */
.damage-panel .panel-heading p{margin:4px 0 0;color:var(--muted)}
.damage-entry{margin:0 20px 14px;padding:12px 14px;border:1px solid var(--line);border-left:4px solid #d39b1d;border-radius:9px;background:#fffbf2}
.damage-entry.damage-restocked{border-left-color:var(--green);background:#f3fbf5}
.damage-entry.damage-written_off{border-left-color:var(--danger);background:#fdf5f5}
.damage-entry header{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between}
.damage-entry p{margin:8px 0 0;line-height:1.5}
.damage-note{color:var(--text)}
.damage-resolve-form{display:grid;gap:10px;margin-top:12px;padding-top:12px;border-top:1px dashed #e0c98f}
.damage-resolve-form fieldset{border:0;padding:0;margin:0;display:grid;gap:6px}
.damage-resolve-form legend{font-weight:750;margin-bottom:4px}
.damage-choice{display:flex;gap:8px;align-items:flex-start;font-weight:600}
.damage-choice input{width:18px;height:18px;margin:2px 0 0;flex:none}
.damage-observation{display:grid;gap:6px;font-weight:750}
.damage-observation input{width:100%;border:1px solid #cfd7e3;border-radius:8px;padding:11px 12px;font:inherit}
.damage-resolve-form .button{justify-self:start}
@media(max-width:640px){.damage-entry{margin:0 12px 12px}}

/* Notas de clientes y proveedores */
.selected-customer-note,.selected-customer-habit{display:block;margin-top:4px;font-size:12px;line-height:1.4;white-space:normal}
.selected-customer-note{color:#7a5200;background:#fff6e2;border-radius:6px;padding:4px 8px}
.selected-customer-habit{color:var(--navy);font-weight:700}
.partner-note{color:#7a5200}
.partner-habit{color:var(--navy);font-weight:650}
.supplier-note{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:#fff6e2;color:#7a5200;font-size:13px;line-height:1.45}

/* Ventas / Créditos */
.sales-tabs{display:flex;gap:6px;margin:0 0 14px;border-bottom:2px solid var(--line)}
.sales-tabs a{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;font-weight:750;color:var(--muted);text-decoration:none;border-bottom:3px solid transparent;margin-bottom:-2px}
.sales-tabs a.active{color:var(--navy);border-bottom-color:var(--violet)}
.tab-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;font-size:11px;font-weight:800;color:#fff}
.tab-badge.danger{background:var(--danger)}
.tab-badge.warning{background:#c58a00}
.credit-alert{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 14px;padding:12px 16px;border-radius:10px;border:1px solid #f0d58f;background:#fff8e6;color:#6b4a00}
.credit-alert.has-overdue{border-color:#f0b7b7;background:#fdf0f0;color:#8b1e1e}
.credit-alert a{color:inherit;font-weight:750;text-decoration:underline}
.credit-metrics .metric-danger strong{color:var(--danger)}
.credit-metrics .metric-warning strong{color:#a06c00}
.credit-metrics small{display:block;color:var(--muted);margin-top:4px}
.credit-filters input[type=date],.credit-filters input[type=text],.sale-filters select{width:100%;padding:12px;border-radius:9px;border:1px solid #cbd5e1;font:inherit;background:#fff}
.status.credit-state-overdue{background:#fdeaea;color:var(--danger)}
.status.credit-state-due_soon{background:#fff1d7;color:#765014}
.status.credit-state-current{background:#eef3ff;color:#183f75}
.status.credit-state-paid{background:#e7f7ec;color:var(--green)}
.credit-row.credit-overdue td:first-child{box-shadow:inset 4px 0 0 var(--danger)}
.credit-row.credit-due_soon td:first-child{box-shadow:inset 4px 0 0 #d39b1d}
.credit-table tfoot th{text-align:left;padding:12px;border-top:2px solid var(--line)}
.sale-filters .field{flex:0 1 280px}
.currency-equivalent{display:block;margin-top:4px;color:var(--muted);font-size:13px;font-weight:650}
