/* ============================
   🌐 ESTILOS GLOBALES in2strides
   ============================ */

body {
  font-family: 'Roboto', sans-serif;
  background-color: #f9fafb;
  color: #1f2937;
}

/* ---------- 🔹 Menú lateral ---------- */
aside {
  transition: transform 0.3s ease-in-out;
}
aside nav a {
  display: block;
  padding: 6px 0;
  color: #1d4ed8;
  text-decoration: none;
}
aside nav a:hover {
  text-decoration: underline;
}

/* ---------- 💬 Toasts (flashes) ---------- */
.toast {
  animation: fadein 0.5s, fadeout 0.5s 3.5s;
  min-width: 240px;
  border-radius: 6px;
}
@keyframes fadein {
  from { opacity: 0; transform: translateY(-10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes fadeout {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-10px); }
}

/* ---------- ⚡ Transiciones ---------- */
main {
  transition: opacity 0.3s ease;
}
.fade-enter {
  opacity: 0;
}
.fade-enter-active {
  opacity: 1;
}

/* ---------- 🌀 Loader Global ---------- */
#loader {
  position: fixed;
  top: 0; left: 0; width: 100%; height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  background-color: rgba(255, 255, 255, 0.8);
  z-index: 1000;
}
.spinner {
  border: 4px solid #ddd;
  border-top: 4px solid #1d4ed8;
  border-radius: 50%;
  width: 48px;
  height: 48px;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  to { transform: rotate(360deg); }
}

/* ---------- 🦶 Footer ---------- */
footer {
  font-size: 0.75rem;
  color: #9ca3af;
  background-color: #ffffff;
  border-top: 1px solid #e5e7eb;
}