.price-up {
    animation: flashGreen 2s ease-in-out;
}

.price-down {
    animation: flashRed 2s ease-in-out;
}

@keyframes flashGreen {
    0% {
        background-color: transparent;
    }
    20% {
        background-color: rgba(76, 175, 80, 0.4);
    }
    100% {
        background-color: transparent;
    }
}

@keyframes flashRed {
    0% {
        background-color: transparent;
    }
    20% {
        background-color: rgba(244, 67, 54, 0.4);
    }
    100% {
        background-color: transparent;
    }
}

/* Update notification */
.update-notification {
    position: fixed;
    top: 20px;
    right: 20px;
    background: #4CAF50;
    color: white;
    padding: 12px 24px;
    border-radius: 4px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    z-index: 10000;
    opacity: 0;
    transform: translateY(-20px);
    transition: all 0.3s ease-in-out;
    font-weight: 500;
}

.update-notification.show {
    opacity: 1;
    transform: translateY(0);
}

/* Connection status indicator (optional) */
.connection-status {
    position: fixed;
    bottom: 20px;
    right: 20px;
    padding: 8px 16px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    z-index: 9999;
    display: none;
}

.connection-status.connected {
    background: #4CAF50;
    color: white;
}

.connection-status.disconnected {
    background: #f44336;
    color: white;
    display: block;
}

.connection-status.checking {
    background: #FF9800;
    color: white;
    display: block;
}

/* Pulse animation for live indicator */
@keyframes pulse {
    0%, 100% {
        opacity: 1;
    }
    50% {
        opacity: 0.5;
    }
}

.live-indicator {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #4CAF50;
    margin-right: 8px;
    animation: pulse 2s infinite;
}

/* Flash animations for price changes */
.flash-green {
    animation: flashGreen 1.2s ease-out;
}

.flash-red {
    animation: flashRed 1.2s ease-out;
}

@keyframes flashGreen {
    0% {
        background-color: rgba(76, 175, 80, 0.6);
    }
    100% {
        background-color: transparent;
    }
}

@keyframes flashRed {
    0% {
        background-color: rgba(244, 67, 54, 0.6);
    }
    100% {
        background-color: transparent;
    }
}

/* Default colors for gainers/losers */
.gainers-table .green {
    color: #4CAF50;
    font-weight: bold;
}

.losers-table .red {
    color: #f44336;
    font-weight: bold;
}

/* Remove duplicate/conflicting animations */
/* Keep only the new ones above */