/* global.css - Fundo animado AFService */
body {
    background-color: #03050a !important;
    position: relative;
    overflow-x: hidden;
}

body::before {
    content: ""; position: fixed; inset: 0;
    background-image: radial-gradient(#16203a 1.5px, transparent 1.5px);
    background-size: 35px 35px;
    z-index: -2;
    animation: afLoginPulseDots 4s ease-in-out infinite alternate;
}

body::after {
    content: ""; position: fixed; top: -50%; left: -50%; width: 200vw; height: 200vh;
    background-image: radial-gradient(rgba(6, 182, 212, .15) 2px, transparent 2px);
    background-size: 80px 80px;
    z-index: -1;
    animation: afLoginStreamLights 30s linear infinite;
    pointer-events: none;
}

@keyframes afLoginPulseDots { 
    0% { opacity: .2; } 
    100% { opacity: .7; } 
}

@keyframes afLoginStreamLights { 
    0% { transform: translate(0, 0); } 
    100% { transform: translate(80px, 80px); } 
}

/* Deixar fundos sólidos transparentes para revelar a animação */
.bg-dark, .bg-darker, .bg-black, .bg-\[\#0a0a0a\] {
    background-color: transparent !important;
}

/* Opcional: Adicionar um leve desfoque ou fundo muito translúcido em cartões para legibilidade */
.bg-\[\#111\] {
    background-color: rgba(17, 17, 17, 0.7) !important;
    backdrop-filter: blur(10px);
}
