.emptyBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.emptySvg .book {
  fill: #2563eb;
  animation: floatIcon 3s ease-in-out infinite;
}

.emptySvg .doc {
  fill: #facc15;
  animation: floatIcon 3s ease-in-out infinite;
  animation-delay: 0.4s;
}

.emptySvg .seal {
  fill: #ef4444;
  animation: pulseSeal 2s infinite ease-in-out;
}

.emptySvg .line {
  stroke: white;
  stroke-width: 2;
  opacity: 0.8;
}

@keyframes floatIcon {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-4px);
  }
  100% {
    transform: translateY(0px);
  }
}

@keyframes pulseSeal {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
/*Asesores icon*/
.emptyBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.emptySvg .person {
  fill: #2563eb;
  animation: floatIcon 3s ease-in-out infinite;
}

.emptySvg .card {
  fill: #facc15;
  animation: floatIcon 3s ease-in-out infinite;
  animation-delay: 0.4s;
}

.emptySvg .badge {
  fill: #10b981;
  animation: pulseBadge 2s infinite ease-in-out;
}

.emptySvg .line {
  stroke: white;
  stroke-width: 2;
  opacity: 0.9;
}

@keyframes floatIcon {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-5px);
  }
  100% {
    transform: translateY(0px);
  }
}

@keyframes pulseBadge {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.12);
  }
  100% {
    transform: scale(1);
  }
}
/*clientes icon*/
.emptySvg .user {
  fill: #2563eb;
  animation: floatIcon 3s ease-in-out infinite;
}

.emptySvg .docClient {
  fill: #facc15;
  animation: floatIcon 3s ease-in-out infinite;
  animation-delay: 0.4s;
}

.emptySvg .idBadge {
  fill: #ef4444;
  animation: pulseBadge 2s infinite ease-in-out;
}
/*usuarios icon*/
.emptySvg .userIcon {
  fill: #2563eb;
  animation: floatIcon 3s ease-in-out infinite;
}

.emptySvg .shield {
  fill: #facc15;
  animation: floatIcon 3s ease-in-out infinite;
  animation-delay: 0.4s;
}

.emptySvg .lock {
  fill: #10b981;
  animation: pulseBadge 2s infinite ease-in-out;
}
/*envio icon*/
.emptySvg .boxIcon {
  fill: #2563eb;
  animation: floatIcon 3s ease-in-out infinite;
}

.emptySvg .truckIcon {
  fill: #10b981;
  animation: floatIcon 3s ease-in-out infinite;
  animation-delay: 0.4s;
}

.emptySvg .pinIcon {
  fill: #f59e0b;
  animation: pulseBadge 2s infinite ease-in-out;
}
/*ventas icon*/
.emptySvg .invoiceIcon {
  fill: #2563eb;
  animation: floatIcon 3s ease-in-out infinite;
}

.emptySvg .moneyIcon {
  fill: #10b981;
  animation: floatIcon 3s ease-in-out infinite;
  animation-delay: 0.3s;
}

.emptySvg .chartIcon {
  fill: #f59e0b;
  animation: pulseBadge 2s infinite ease-in-out;
}

/*icon de producto*/
/* CONTENEDOR VACÍO */
.emptyBox {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

/* SVG BASE */
.emptySvg .docCip {
  fill: #2563eb;
  animation: floatIcon 3s ease-in-out infinite;
}

.emptySvg .paperCip {
  fill: #facc15;
  animation: floatIcon 3s ease-in-out infinite;
  animation-delay: 0.4s;
}

.emptySvg .sealCip {
  fill: #ef4444;
  animation: pulseSeal 2s infinite ease-in-out;
}

.emptySvg .checkLine {
  stroke: white;
  stroke-width: 2;
  stroke-linecap: round;
}

/* ANIMACIONES */
@keyframes floatIcon {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-6px);
  }
  100% {
    transform: translateY(0px);
  }
}

@keyframes pulseSeal {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
/*icon ingresos*/
/* INGRESOS EMPTY */
.walletIcon {
  fill: #2563eb;
  animation: floatIcon 3s ease-in-out infinite;
}

.walletTop {
  fill: #60a5fa;
  animation: floatIcon 3s ease-in-out infinite;
  animation-delay: 0.3s;
}

.coinIcon {
  fill: #f59e0b;
  animation: pulseSeal 2s infinite ease-in-out;
}

.lineWhite {
  stroke: white;
  stroke-width: 2;
  stroke-linecap: round;
}

/* GASTOS EMPTY */
.cardIcon {
  fill: #ef4444;
  animation: floatIcon 3s ease-in-out infinite;
}

.ticketIcon {
  fill: #fca5a5;
  animation: floatIcon 3s ease-in-out infinite;
  animation-delay: 0.3s;
}

.sealExpense {
  fill: #f59e0b;
  animation: pulseSeal 2s infinite ease-in-out;
}

.lineWhite {
  stroke: white;
  stroke-width: 2;
  stroke-linecap: round;
}
/* icon pagos */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.empty-pagos-icon {
  animation: float 3s ease-in-out infinite;
}

@keyframes float {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-6px);
  }
}

.arrow-down {
  animation: pulse 1.4s infinite;
}

@keyframes pulse {
  0% {
    opacity: 0.3;
    transform: translateY(-5px);
  }
  50% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0.3;
    transform: translateY(-5px);
  }
}
/*icon gasto2*/
/* BOTON LINEAL PROFESIONAL */
.btnPdfLine {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 10px;
  text-decoration: none;
  color: #2563eb;
  border: 1.8px solid #2563eb;
  background: transparent;
  transition: all 0.25s ease;
  position: relative;
  overflow: hidden;
  animation: fadeInSoft 0.35s ease;
}

/* Hover elegante */
.btnPdfLine:hover {
  background: #2563eb;
  color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(37, 99, 235, 0.25);
}

/* Click */
.btnPdfLine:active {
  transform: scale(0.96);
}

/* SVG */
.btnPdfLine .pdfSvg {
  width: 18px;
  height: 18px;
  fill: currentColor;
  transition: transform 0.3s ease;
}

/* Rotación leve en hover */
.btnPdfLine:hover .pdfSvg {
  transform: rotate(-5deg) scale(1.05);
}

/* Animación aparición */
@keyframes fadeInSoft {
  from {
    opacity: 0;
    transform: translateY(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*iconpago*/
.btnPdfLine {
  padding: 4px 8px;
  border: 1px solid #7c3aed;
  border-radius: 6px;
  background: rgba(124, 58, 237, 0.08);
  transition: all 0.2s;
}

.btnPdfLine:hover {
  background: rgba(124, 58, 237, 0.15);
  transform: translateY(-1px);
}

.pdfSvg {
  opacity: 0.9;
}
/*ICOSEARCH*/
.btnPdfLine {
  padding: 4px 8px;
  border: 1px solid #7c3aed;
  border-radius: 6px;
  background: rgba(124, 58, 237, 0.08);
  transition: all 0.2s;
}

.btnPdfLine:hover {
  background: rgba(124, 58, 237, 0.15);
  transform: translateY(-1px);
}

.pdfSvg {
  opacity: 0.9;
}
/* Animación suave al recargar la tabla */
#inRows {
  transition: opacity 0.35s ease;
}

#inRows.loading {
  opacity: 0.45;
  pointer-events: none;
}

#inRefresh.loading {
  opacity: 0.7;
  cursor: wait;
}

#inRefresh.loading::after {
  content: " ↻";
  animation: spin 1.4s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/**/
select.pendiente {
  background: #fef3c7;
}
select.enviado {
  background: #dbeafe;
}
select.entregado {
  background: #dcfce7;
}
select.cancelado {
  background: #fee2e2;
}

/* Botones de acción unificados - estilo minimalista y profesional */
.btn-action {
  width: 34px;
  height: 34px;
  padding: 0;
  margin: 0 4px;
  background: #f8fafc; /* fondo muy claro, combina con tu tabla */
  border: 1px solid #e2e8f0; /* borde sutil gris */
  border-radius: 8px;
  color: #475569; /* gris oscuro por defecto */
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: all 0.18s ease; /* transición rápida y natural */
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.btn-action:hover {
  background: #f1f5f9;
  border-color: #cbd5e1;
  color: #1e293b;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

.btn-action:active {
  transform: translateY(0);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

/* Editar - azul corporativo suave (combina con tu header #062a56) */
.btn-edit-venta,
.btn-edit-envio,
.btn-edit-producto,
.btn-edit-client,
.btn-edit-asesora,
.btn-edit-usuarios,
.btn-edit-pagos,
.btn-edit-ingreso,
.btn-edit-gastos,
.btn-edit-cip,
.btn-edit-ciar,
.btn-edit-curso {
  color: #2563eb; /* azul medio */
}

.btn-edit,
.btn-edit-envio,
.btn-edit-producto,
.btn-edit-client,
.btn-edit-asesora,
.btn-edit-usuarios,
.btn-edit-pagos,
.btn-edit-ingreso,
.btn-edit-gastos,
.btn-edit-cip,
.btn-edit-ciar,
.btn-edit-curso :hover {
  background: #dbeafe;
  border-color: #93c5fd !important;
  color: #1d4ed8;
}

/* Eliminar - rojo suave, no tan agresivo */
.btn-delete {
  color: #ef4444; /* rojo medio (menos chillón que #d90000) */
}

.btn-delete:hover {
  background: #fee2e2;
  border-color: #fca5a5;
  color: #dc2626;
}
/* Imprimir – verde suave (para diferenciar, pero sutil) */
.btn-print {
  color: #059669; /* verde esmeralda discreto */
}

.btn-print:hover {
  background: #d1fae5;
  border-color: #34d399;
  color: #047857;
}

input,
select {
  border: 1px solid #062a56;
  transition: all 0.15s ease;
}

.tabs-card {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.tabs-card .tab {
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 500;
  border-radius: 10px;
  border: 1.5px solid #e2e8f0;
  background: #fff;
  color: #64748b;
  cursor: pointer;
  transition: all 0.18s ease;
}
.tabs-card .tab.active {
  border-color: #062a56;
  color: #fff;
  background: #062a56;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(6, 42, 86, 0.25);
}
.tabs-card .tab:not(.active):hover {
  border-color: #062a56;
  color: #062a56;
  transform: translateY(-1px);
}
.tabs-card .tab:active {
  transform: translateY(0) scale(0.97);
}
