
* { box-sizing: border-box; }
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }

.card {
  background: rgba(30, 41, 59, 0.6);
  border: 1px solid rgba(51, 65, 85, 0.5);
  border-radius: 12px;
  backdrop-filter: blur(12px);
}

.tab-btn {
  color: #94a3b8;
  background: transparent;
}
.tab-btn:hover {
  color: #e2e8f0;
  background: rgba(51, 65, 85, 0.4);
}
.tab-btn.active {
  color: #fff;
  background: rgba(37, 99, 235, 0.2);
  border: 1px solid rgba(59, 130, 246, 0.3);
}

.status-badge {
  padding: 2px 10px;
  border-radius: 9999px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.status-en-transito { background: rgba(59,130,246,0.15); color: #60a5fa; }
.status-cerrado { background: rgba(34,197,94,0.15); color: #4ade80; }
.status-cancelado { background: rgba(239,68,68,0.15); color: #f87171; }
.status-confirmado { background: rgba(168,85,247,0.15); color: #c084fc; }
.status-por-confirmar { background: rgba(251,191,36,0.15); color: #fbbf24; }
.status-rechazado { background: rgba(239,68,68,0.15); color: #f87171; }
.status-desviado { background: rgba(251,146,60,0.15); color: #fb923c; }
.status-aceptado { background: rgba(34,197,94,0.15); color: #4ade80; }
.status-bajo-reclamo { background: rgba(251,191,36,0.15); color: #fbbf24; }
.status-pagado { background: rgba(34,197,94,0.15); color: #4ade80; }
.status-pago-rechazado { background: rgba(239,68,68,0.15); color: #f87171; }

.doc-present { color: #4ade80; }
.doc-missing { color: #f87171; opacity: 0.5; }

.change-new_row { border-left: 3px solid #4ade80; }
.change-deleted_row { border-left: 3px solid #f87171; }
.change-cell_change { border-left: 3px solid #60a5fa; }
.change-new_column { border-left: 3px solid #c084fc; }
.change-structural { border-left: 3px solid #fbbf24; }

table { width: 100%; }
th { 
  padding: 8px 12px; 
  text-align: left; 
  font-size: 11px; 
  font-weight: 600; 
  color: #94a3b8; 
  text-transform: uppercase; 
  letter-spacing: 0.05em;
  border-bottom: 1px solid rgba(51,65,85,0.5);
  white-space: nowrap;
}
td {
  padding: 8px 12px;
  font-size: 13px;
  border-bottom: 1px solid rgba(51,65,85,0.3);
  white-space: nowrap;
}
tr:hover td { background: rgba(51,65,85,0.2); }

.animate-fade-in {
  animation: fadeIn 0.3s ease-out;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.kpi-card {
  background: rgba(30, 41, 59, 0.6);
  border: 1px solid rgba(51, 65, 85, 0.5);
  border-radius: 12px;
  padding: 16px;
  transition: all 0.2s;
}
.kpi-card:hover {
  border-color: rgba(59, 130, 246, 0.3);
  transform: translateY(-1px);
}
