.bookings {
    font-family: sans-serif;
    margin: 0 auto;
    max-width: 600px;
}

.centered {
    text-align: center;
}

.calendar {
    display: flex;
    flex-direction: column;
}
.calendar-header {
    text-align: center;
    margin-bottom: 10px;
}
.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 5px;
}
.day-name, .day-cell, .available-cell, .available-cell-manual, .blocked-cell, .past-cell {
    text-align: center;
    padding: 10px;
}
.day-name {
    font-weight: bold;
    background: #eee;
}
.day-cell {
    background: #f9f9f9;
    border: 1px solid #ccc;
    position: relative;
    cursor: pointer;
}

.available-cell {
    background: #1cb170;
    cursor: pointer;
    color:white;
    position: absolute;
    inset: 0;
    z-index: 1;
}

.available-cell-manual {
    background: #5285ec;
    color: white;
    cursor: pointer;
    position: absolute;
    inset: 0;
    z-index: 1;
}

.past-cell {
    background: #efc15f;
    cursor: pointer;
    position: absolute;
    inset: 0;
    z-index: 1;
}

.blocked-cell {
    background: #f9f9f9;
    position: absolute;
    inset: 0;
    z-index: 2;
}

.empty-cell {
    background: transparent;
    border: none;
}
.nav-links {
    display: flex;
    justify-content: space-between;
    margin-bottom: 10px;
}

.trainerTimeOff td, .trainerTimeOff th {
    padding: 5px;
}

@media (max-width: 500px) {
    .day-name, .day-cell, .available-cell, .available-cell-manual, .blocked-cell, .past-cell {
        padding: 6px;
        font-size: 12px;
    }
}