﻿@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


.timetable-day-animate {
    opacity: 0;
    animation: fadeInUp 0.8s ease forwards;
}

.timetable-table-animate {
    animation: fadeInUp 0.8s ease 0.2s both;
}

/* Base row style */
.timetable-event-row {
    position: relative;
    transition: background 0.3s;
    background: #fff;
    overflow: hidden;
}

/* Blinking light blue for soon-to-start events */
.timetable-event-soon {
    animation: blinkBlue 1.2s linear infinite;
}

@keyframes blinkBlue {
    0%, 100% {
        background-color: #e3f2fd;
    }

    50% {
        background-color: #bbdefb;
    }
}

/* Red for finished events */
.timetable-event-finished {
    background-color: #ffebee !important;
    color: #b71c1c !important;
}

/* Progress bar for ongoing events */
.timetable-event-progress {
    background-color: #e8f5e9 !important;
}

.timetable-event-progress-bar {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(90deg, #81c784 0%, #388e3c 100%);
    z-index: 0;
    transition: width 1s linear;
    opacity: 0.3;
    pointer-events: none;
}

.timetable-event-content {
    position: relative;
    z-index: 1;
}