/* Scrollbar */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: #0f172a; }
::-webkit-scrollbar-thumb { background: #334155; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #16a34a; }

/* Animações */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes slideUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}

.fade-in  { animation: fadeIn  0.3s ease forwards; }
.slide-up { animation: slideUp 0.4s ease forwards; }

/* Tab system */
.tab-content         { display: none; }
.tab-content.active  { display: block; animation: fadeIn 0.3s ease; }

/* Campo de futebol */
.pitch-pattern {
    background-color: #065f46;
    background-image: repeating-linear-gradient(
        0deg, transparent, transparent 10%,
        rgba(255,255,255,0.04) 10%, rgba(255,255,255,0.04) 20%
    );
}

/* Pulse animação de alerta */
@keyframes pulse-red {
    0%, 100% { box-shadow: 0 0 0 0 rgba(220,38,38,.7); }
    50%       { box-shadow: 0 0 0 6px rgba(220,38,38,0); }
}
.out-of-position { animation: pulse-red 2s infinite; }

/* Pulse animação genérica (status ao vivo) */
@keyframes pulse {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.3; }
}

/* Focus global verde */
input:focus, select:focus, textarea:focus {
    outline: none;
}
