/* ===== SPLASH ===== */
#splash-screen {
  position: fixed;
  inset: 0;
  background: linear-gradient(155deg, #050816 0%, #0f2558 50%, #1c4fd8 100%);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 35px;
  font-family: "Roboto", sans-serif;
  color: white;
}

/* ===== CONTENEDOR ===== */
.corporate-ai-container {
  width: 320px;
  text-align: center;
  animation: fadeIn .8s ease-out both;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ===== MARCA ===== */
.brand {
  margin-bottom: 25px;
}

.brand-accent {
  width: 55px;
  height: 3px;
  background: linear-gradient(90deg, #42a5f5, #90caf9);
  margin: 0 auto 12px auto;
  border-radius: 2px;
  opacity: .9;
}

.brand-name {
  font-size: 15px;
  letter-spacing: 3px;
  font-weight: 500;
  text-transform: uppercase;
  opacity: .85;
}

/* ===== CARD ===== */
.dashboard-card {
  height: 150px;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 18px;
  backdrop-filter: blur(6px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
  position: relative;
  overflow: hidden;
}

/* Línea inferior elegante */
.dashboard-card::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #42a5f5, transparent);
  animation: slideAccent 4s linear infinite;
}

@keyframes slideAccent {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

/* ===== NÚCLEO IA MINIMAL ===== */
.ai-core {
  position: relative;
  width: 60px;
  height: 60px;
  margin-bottom: 20px;
}

.core-glow {
  position: absolute;
  width: 60px;
  height: 60px;
  background: radial-gradient(circle, rgba(66,165,245,.25) 0%, transparent 70%);
  border-radius: 50%;
  animation: softPulse 3s ease-in-out infinite;
}

.core-dot {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 12px;
  background: #90caf9;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 12px rgba(144,202,249,.7);
}

@keyframes softPulse {
  0%,100% { transform: scale(1); opacity: .6; }
  50% { transform: scale(1.2); opacity: 1; }
}

/* ===== LÍNEA DE PROCESAMIENTO ===== */
.processing-line {
  width: 160px;
  height: 2px;
  background: linear-gradient(90deg, transparent, #4fc3f7, transparent);
  animation: scan 3s linear infinite;
}

@keyframes scan {
  0% { background-position: -200px 0; }
  100% { background-position: 200px 0; }
}

/* ===== SPINNER ===== */
.spinner {
  border: 2px solid rgba(255,255,255,.2);
  border-top: 2px solid #42a5f5;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* ===== TEXTO ===== */
.loading-text {
  font-size: 12px;
  letter-spacing: 4px;
  text-transform: uppercase;
  opacity: .75;
  animation: fadeText 1.5s ease-in-out infinite alternate;
}

@keyframes fadeText {
  from { opacity: .4; }
  to { opacity: .9; }
}