/* Loader para PROYECTOS BIOMÉDICOS */
    #bioLoaderOverlay {
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.7);
      display: none;
      align-items: center;
      justify-content: center;
      z-index: 1060; /* por encima del contenido, debajo/igual que modal bootstrap */
    }

    #bioLoaderOverlay .bio-loader-box {
      background: #ffffff;              /* Caja del loader en blanco */
      border-radius: 18px;
      padding: 18px 22px;
      box-shadow: 0 18px 45px rgba(15, 23, 42, 0.9);
      text-align: center;
      color: #020617;                   /* Texto oscuro */
      min-width: 260px;
    }

    #bioLoaderOverlay .spinner {
      width: 32px;
      height: 32px;
      border-radius: 999px;
      border: 3px solid rgba(148, 163, 184, 0.4);
      border-top-color: #be4573;
      animation: spinBio 0.9s linear infinite;
      margin: 0 auto 10px;
    }

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

    /* Estilo del modal de librerías/proyectos biomédicos */
    #librariesModal .modal-content {
      border-radius: 18px;
      border: 1px solid rgba(148, 163, 184, 0.45);
      background: #ffffff;             /* Fondo blanco del modal */
      color: #020617;                  /* Texto oscuro dentro del modal */
      box-shadow: 0 22px 55px rgba(15, 23, 42, 0.95); /* Alrededor oscuro */
    }

    #librariesModal .modal-header {
      border-bottom-color: rgba(148, 163, 184, 0.35);
      background: #f9fafb;             /* Encabezado claro */
      color: #020617;
    }

    #librariesModal .modal-title {
      font-size: 1.05rem;
      font-weight: 600;
    }

    #librariesModal .modal-body p {
      color: #374151;                  /* Texto ligeramente gris oscuro */
    }

    #librariesModal .modal-footer {
      border-top-color: rgba(148, 163, 184, 0.25);
      background: #f9fafb;
    }

    #librariesModal .btn-secondary {
      background-color: #0f172a;
      border-color: #0f172a;
    }

    #librariesModal .btn-secondary:hover {
      background-color: #111827;
      border-color: #111827;
    }

    /* Tarjetas de librerías en el modal */
    .lib-grid {
      display: flex;
      justify-content: center;
      gap: 16px;
      flex-wrap: wrap;
      margin-top: 10px;
      margin-bottom: 6px;
    }

    .lib-card {
      width: 150px;
      min-height: 150px;
      background: #ffffff;               /* Tarjetas en blanco */
      border-radius: 18px;
      border: 1px solid rgba(148, 163, 184, 0.5);
      box-shadow: 0 14px 32px rgba(15, 23, 42, 0.25);
      padding: 10px 10px 12px;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
      color: #020617;                    /* Texto oscuro dentro de la tarjeta */
    }

    .lib-card-icon {
      font-size: 2.2rem;
      margin-bottom: 6px;
      color: #38bdf8;
    }

    .lib-card-title {
      font-size: 0.95rem;
      font-weight: 600;
      margin-bottom: 6px;
    }

    .lib-card-actions {
      display: flex;
      gap: 6px;
      justify-content: center;
    }

    .btn-lib {
      font-size: 0.78rem;
      padding: 4px 10px;
      border-radius: 999px;
      border: none;
      background: #be4573;
      color: #ffffff;
      text-decoration: none;
      transition: background 0.15s ease, transform 0.15s ease;
      display: inline-block;
    }

    .btn-lib:hover {
      background: #7e2748;
      text-decoration: none;
      transform: translateY(-1px);
    }

    .btn-lib-secondary {
      background: #0f172a;
    }

    .btn-lib-secondary:hover {
      background: #111827;
    }