body { font-family: 'Inter', sans-serif; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: hidden; }
::selection { background-color: #dcfce7; color: #14532d; }
.sem-barra-rolagem { -ms-overflow-style: none; scrollbar-width: none; }
.sem-barra-rolagem::-webkit-scrollbar { display: none; }

/* ANIMAÇÕES DE REVELAÇÃO */
.revelar { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.5, 0, 0, 1); }
.revelar.ativo { opacity: 1; transform: translateY(0); }
.atraso-100 { transition-delay: 0.1s; }
.atraso-200 { transition-delay: 0.2s; }
.atraso-300 { transition-delay: 0.3s; }

@keyframes pulsoVerde {
    0% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0.7); }
    70% { box-shadow: 0 0 0 10px rgba(22, 163, 74, 0); }
    100% { box-shadow: 0 0 0 0 rgba(22, 163, 74, 0); }
}
.animar-pulso { animation: pulsoVerde 2s infinite; }

details summary::-webkit-details-marker { display: none; }
details[open] summary ~ * { animation: deslizarParaBaixo 0.3s ease-in-out; }
@keyframes deslizarParaBaixo { 0% { opacity: 0; transform: translateY(-10px); } 100% { opacity: 1; transform: translateY(0); } }

.padrao-grade { background-image: linear-gradient(to right, #e5e7eb 1px, transparent 1px), linear-gradient(to bottom, #e5e7eb 1px, transparent 1px); background-size: 24px 24px; }
.modal-overlay { background-color: rgba(0, 0, 0, 0.5); backdrop-filter: blur(4px); }
