/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: transparent;
}

::-webkit-scrollbar-thumb {
    background: #2d3748;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #4a5568;
}

body::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:
        radial-gradient(circle at 15% 50%, rgba(231, 76, 60, 0.05), transparent 25%),
        radial-gradient(circle at 85% 30%, rgba(46, 204, 113, 0.05), transparent 25%);
    z-index: 0;
    pointer-events: none;
}

/* Animations */
@keyframes pulse-red {
    0% {
        transform: scale(1);
        text-shadow: 0 0 10px rgba(231, 76, 60, 0.5);
    }

    50% {
        transform: scale(1.02);
        text-shadow: 0 0 30px rgba(231, 76, 60, 0.9);
    }

    100% {
        transform: scale(1);
        text-shadow: 0 0 10px rgba(231, 76, 60, 0.5);
    }
}

.overtime-active #total-cost {
    color: #E74C3C;
    animation: pulse-red 2s infinite;
}

@keyframes pop {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

.animate-pop {
    animation: pop 0.2s ease-out;
}