html {
    scroll-behavior: smooth;
}

body {
    background-color: #F1F5F9;
    color: #191c1e;
}

.material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24;
    display: inline-block;
    vertical-align: middle;
}

.card-shadow {
    box-shadow: 0px 4px 20px -2px rgba(0, 0, 0, 0.05);
}

.input-focus-ring:focus {
    outline: none;
    border-color: #4f46e5;
    box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
}

.hero-pattern {
    background-image: radial-gradient(circle at 2px 2px, #e2e8f0 1px, transparent 0);
    background-size: 32px 32px;
}

@keyframes dropToast {
    0% {
        transform: translateY(-150%) scale(0.9);
        opacity: 0;
    }

    70% {
        transform: translateY(10%) scale(1.02);
        opacity: 1;
    }

    100% {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

.animate-toast {
    animation: dropToast 0.5s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}

/* Oculta scrollbar nos modais mas permite rolagem */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

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