/*
 * Adaptadores cromáticos de módulos.
 *
 * Los archivos funcionales conservan únicamente layout y comportamiento. Esta
 * hoja traduce sus componentes especializados a los tokens del tema Vitrion.
 */

/* Operaciones de inventario ---------------------------------------------- */
.operation-launch-number {
  background: var(--brand-soft-strong);
  color: var(--brand-dark);
}
.operation-launch-card p,
.operation-list-item div span,
.empty-state-inline,
.operation-choice-card small,
.operation-summary-list dt,
.count-result-grid span,
.operation-line-item span,
.count-system-value span {
  color: var(--text-muted);
}
.operation-list-item,
.operation-line-item,
.operation-more-options {
  border-color: var(--border);
  background: var(--surface-muted);
}
.operation-choice-card,
.reason-choice,
.payment-mode-option {
  border-color: var(--border-strong);
  background: var(--surface-raised);
  color: var(--text-secondary);
}
.operation-choice-card:has(input:checked),
.reason-choice:has(input:checked),
.payment-mode-option:has(input:checked) {
  border-color: var(--brand);
  background: var(--brand-soft);
  color: var(--brand-dark);
  box-shadow: 0 0 0 2px rgb(43 196 178 / 16%);
}
.availability-card,
.adjustment-result-card,
.count-difference-card {
  background: var(--brand-soft);
  color: var(--brand-dark);
}
.operation-more-options summary,
.operation-danger-card > summary { color: var(--brand-dark); }
.operation-help,
.operation-note,
.operation-summary-list div,
.count-result-grid div {
  background: var(--surface-muted);
  color: var(--text-secondary);
}
.operation-danger-card,
.operation-reversal-card,
.operation-reject-card { border-color: var(--danger-border); }
.count-sticky-actions {
  background: rgb(14 34 50 / 92%);
  box-shadow: var(--shadow-sm);
}
.status-pill {
  background: #263a48;
  color: var(--text-secondary);
}
.status-confirmed,
.status-approved {
  background: var(--success-soft);
  color: var(--success);
}
.status-pending,
.status-submitted,
.status-draft,
.operation-pending-badge {
  background: var(--warning-soft);
  color: var(--warning);
}
.status-rejected,
.status-reversed,
.status-voided {
  background: var(--danger-soft);
  color: var(--danger);
}

/* Compras y cuentas por pagar ------------------------------------------- */
.purchase-finance-summary > div,
.purchase-payment-card,
.purchase-payment-summary {
  border-color: var(--border);
  background: var(--surface-muted);
}
.purchase-finance-summary span,
.purchase-payment-card span,
.purchase-payment-summary span,
.purchase-payment-summary small,
.payment-mode-option small {
  color: var(--text-muted);
}
.purchase-payment-summary {
  border-color: var(--success-border);
  background: var(--success-soft);
}
.purchase-payment-pending-note {
  border-color: var(--warning-border);
  background: var(--warning-soft);
  color: var(--warning);
}
.purchase-payable-status-pending {
  background: var(--warning-soft);
  color: var(--warning);
}
.purchase-payable-status-partial {
  background: var(--info-soft);
  color: var(--info);
}
.purchase-payable-status-paid {
  background: var(--success-soft);
  color: var(--success);
}
.purchase-payable-status-voided {
  background: var(--danger-soft);
  color: var(--danger);
}

/* FIFO ------------------------------------------------------------------- */
.fifo-preview-line,
.fifo-allocation-list > div {
  border-color: var(--border);
  background: var(--surface-muted);
}
.fifo-allocation-list span { color: var(--text-muted); }
.fifo-total {
  background: var(--brand-soft);
  color: var(--brand-dark);
}

/* Estados, auditoría y bloques auxiliares ------------------------------- */
.audit-card,
.timeline-card,
.user-card,
.category-card,
.product-card,
.receipt-card,
.customer-card,
.sale-list-card,
.operation-launch-card,
.operations-history-card,
.count-line-card,
.count-submit-card,
.count-approval-card,
.operation-approval-card,
.operation-reject-card {
  color: var(--text);
}

/* Garantía de contraste en controles interactivos ----------------------- */
input[type="radio"],
input[type="checkbox"] { accent-color: var(--brand-strong); }

button:disabled,
.button[aria-disabled="true"] {
  box-shadow: none;
  filter: saturate(.55);
}

@media print {
  .operation-list-item,
  .operation-line-item,
  .operation-summary-list div,
  .count-result-grid div,
  .purchase-finance-summary > div,
  .purchase-payment-card,
  .purchase-payment-summary,
  .fifo-preview-line,
  .fifo-allocation-list > div {
    background: #fff !important;
    color: #111 !important;
    border-color: #bbb !important;
  }
}
