We call pattern any non-constant solution of a semilinear elliptic equation with Neumann boundary conditions. A classical theorem of Casten, Holland [20] and Matano [50] states that stable patterns do not exist in convex domains. In this article, we show that the assumptions of convexity of the domain and stability of the pattern in this theorem can be relaxed in several directions. In particular, we propose a general criterion for the non-existence of patterns, dealing with possibly non-convex domains and unstable patterns. Our results unfold the interplay between the geometry of the domain, the stability of patterns, and the C 1 norm of the nonlinearity.In addition, we establish several gradient estimates for the patterns of (1). We prove a general nonlinear Cacciopoli inequality (or an inverse Poincaré inequality), stating that the L 2 -norm of the gradient of a solution is controlled by the L 2 -norm of f (u), with a constant that only depends on the domain. This inequality holds for non-homogeneous equations. We also give several flatness estimates.Our approach relies on the introduction of what we call the Robincurvature Laplacian. This operator is intrinsic to the domain and contains much information on how the geometry of the domain affects the shape of the solutions.Finally, we extend our results to unbounded domains. It allows us to improve the results of our previous paper [54] and to extend some results on De Giorgi's conjecture to a larger class of domains.