body { background: #f5f5f5; }
.view { display: none; }
.view-active { display: flex !important; }
.view-hidden { display: none !important; }
.view-active.d-none { display: none !important; }

/* Animaciones con transiciones CSS */
.view {
  transition: opacity 0.3s ease, transform 0.3s ease;
}
#view-login.view-active {
  opacity: 1;
  transform: translateX(0);
}
#view-login:not(.view-active) {
  opacity: 0;
  transform: translateX(-30px);
}
#view-main.view-active {
  opacity: 1;
  transform: translateX(0);
}
#view-main:not(.view-active) {
  opacity: 0;
  transform: translateX(30px);
}

.sidebar .nav-link {
  border-radius: 6px;
  padding: 8px 12px;
  color: #333;
  font-size: 0.9rem;
  transition: all 0.15s;
}
.sidebar .nav-link:hover {
  background: #e9ecef;
}
.sidebar .nav-link.active {
  background: #0d6efd;
  color: #fff;
}
#statusBadge {
  font-size: 0.7rem;
  padding: 3px 10px;
}
.envio-aprobado { border-left: 4px solid #198754; }
.envio-rechazado { border-left: 4px solid #dc3545; }
.envio-error { border-left: 4px solid #ffc107; }
.xml-preview {
  background: #1e1e1e;
  color: #d4d4d4;
  border-radius: 6px;
  padding: 12px;
  font-family: 'Cascadia Code','Fira Code',monospace;
  font-size: 0.78rem;
  max-height: 400px;
  overflow: auto;
  white-space: pre-wrap;
  word-break: break-all;
}
.stat-card {
  border-radius: 10px;
  border: none;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  transition: transform 0.15s;
}
.stat-card:hover {
  transform: translateY(-2px);
}
.stat-card .stat-number {
  font-size: 2rem;
  font-weight: 700;
}
.stat-card .stat-label {
  font-size: 0.8rem;
  opacity: 0.7;
}
.modo-selector .btn {
  font-size: 0.85rem;
  min-width: 100px;
}
.modo-selector .btn.active {
  box-shadow: 0 0 0 2px #0d6efd;
}
